/* ===========================================================
   Tienda de libros · EUCLIDES × Lumbreras
   Estilo: DESIGN.md — editorial cálido (crema + coral + tinta)
   =========================================================== */

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500&family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap');

:root{
  /* color — DESIGN.md */
  --primary:#cc785c; --primary-active:#a9583e; --primary-soft:#e9c9bb; --primary-disabled:#e6dfd8;
  --ink:#141413; --body-strong:#252523; --body:#3d3d3a; --muted:#6c6a64; --muted-soft:#8e8b82;
  --hairline:#e6dfd8; --hairline-soft:#ebe6df;
  --canvas:#faf9f5; --surface-soft:#f5f0e8; --surface-card:#efe9de; --cream-strong:#e8e0d2;
  --dark:#181715; --dark-elev:#252320; --dark-soft:#1f1e1b;
  --on-primary:#ffffff; --on-dark:#faf9f5; --on-dark-soft:#a09d96;
  --teal:#5db8a6; --amber:#e8a55a; --success:#5db872; --warning:#d4a017; --error:#c64545;
  /* lumbreras */
  --lumbreras:#e8521f;

  /* type */
  --serif:'Cormorant Garamond', 'Tiempos Headline', Garamond, 'Times New Roman', serif;
  --sans:'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --mono:'JetBrains Mono', ui-monospace, monospace;

  /* spacing */
  --s-xxs:4px; --s-xs:8px; --s-sm:12px; --s-md:16px; --s-lg:24px; --s-xl:32px; --s-xxl:48px; --s-sec:96px;
  /* radius */
  --r-xs:4px; --r-sm:6px; --r-md:8px; --r-lg:12px; --r-xl:16px; --r-pill:9999px;

  --shadow-soft:0 1px 3px rgba(20,20,19,.06), 0 8px 24px rgba(20,20,19,.05);
  --shadow-card:0 1px 2px rgba(20,20,19,.05);
  --max:1240px;
}

*{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
body{
  margin:0; background:var(--canvas); color:var(--body);
  font-family:var(--sans); font-size:16px; line-height:1.55;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}
img{display:block; max-width:100%;}
a{color:inherit; text-decoration:none;}
button{font-family:inherit; cursor:pointer;}
::selection{background:var(--primary-soft); color:var(--ink);}

h1,h2,h3,h4{font-family:var(--serif); font-weight:500; color:var(--ink); margin:0; line-height:1.12; letter-spacing:-.01em; text-wrap:balance;}
.kicker{font-family:var(--sans); font-size:12px; font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:var(--primary); margin:0;}
.eyebrow{font-family:var(--sans); font-size:12px; font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:var(--muted);}

.wrap{max-width:var(--max); margin:0 auto; padding:0 32px;}
.tabular{font-variant-numeric:tabular-nums;}

/* ---------- buttons ---------- */
.btn{display:inline-flex; align-items:center; gap:8px; height:44px; padding:0 22px;
  border-radius:var(--r-md); font-size:14px; font-weight:600; border:1px solid transparent;
  transition:background .12s ease, transform .08s ease, border-color .12s ease; white-space:nowrap;}
.btn:active{transform:scale(.98);}
.btn-primary{background:var(--primary); color:var(--on-primary);}
.btn-primary:hover{background:var(--primary-active);}
.btn-ghost{background:transparent; color:var(--ink); border-color:var(--hairline);}
.btn-ghost:hover{background:var(--surface-card);}
.btn-dark{background:var(--dark-elev); color:var(--on-dark);}
.btn-dark:hover{background:#322f2a;}
.btn-sm{height:38px; padding:0 16px; font-size:13px;}
.btn-block{width:100%; justify-content:center;}

/* ---------- utility top strip ---------- */
.utility{background:var(--dark); color:var(--on-dark-soft); font-size:12.5px;}
.utility .wrap{display:flex; align-items:center; justify-content:space-between; height:38px; gap:16px;}
.utility a{color:var(--on-dark-soft);}
.utility .u-right{display:flex; align-items:center; gap:18px;}
.utility .u-credit{display:flex; align-items:center; gap:9px;}
.utility .u-credit span{color:var(--on-dark);}

/* ---------- nav ---------- */
.nav{position:sticky; top:0; z-index:40; background:rgba(250,249,245,.82); backdrop-filter:blur(12px);
  border-bottom:1px solid var(--hairline);}
.nav .wrap{display:flex; align-items:center; gap:28px; height:84px;}
.nav-logo{display:flex; align-items:center; gap:12px;}
.nav-logo img{height:52px; width:auto;}
.nav-links{display:flex; align-items:center; gap:4px; margin-left:8px;}
.nav-link{position:relative; padding:9px 13px; border-radius:var(--r-md); font-size:14px; font-weight:500; color:var(--body-strong);}
.nav-link:hover{background:var(--surface-card);}
.nav-link.has-menu{display:inline-flex; align-items:center; gap:5px;}
.nav-right{margin-left:auto; display:flex; align-items:center; gap:10px;}
.search-mini{display:flex; align-items:center; gap:8px; height:42px; padding:0 14px; background:var(--canvas);
  border:1px solid var(--hairline); border-radius:var(--r-pill); color:var(--muted); width:230px; transition:border-color .12s;}
.search-mini:focus-within{border-color:var(--primary);}
.search-mini input{border:none; background:transparent; outline:none; font-family:inherit; font-size:14px; color:var(--ink); width:100%;}

/* mega menu */
.mega{position:absolute; top:100%; left:50%; transform:translateX(-50%) translateY(6px);
  background:var(--canvas); border:1px solid var(--hairline); border-radius:var(--r-lg);
  box-shadow:var(--shadow-soft); padding:10px; min-width:300px; opacity:0; visibility:hidden;
  transition:opacity .14s ease, transform .14s ease; z-index:60;}
.has-dd:hover .mega{opacity:1; visibility:visible; transform:translateX(-50%) translateY(4px);}
.has-dd{position:relative;}
.mega a{display:flex; flex-direction:column; gap:1px; padding:9px 12px; border-radius:var(--r-sm);}
.mega a:hover{background:var(--surface-card);}
.mega a b{font-size:14px; font-weight:600; color:var(--ink);}
.mega a small{font-size:12px; color:var(--muted);}
.mega .mega-grp{font-size:11px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--muted-soft); padding:10px 12px 4px;}

/* ---------- book cover (CSS generated) ---------- */
.cover{position:relative; aspect-ratio:1/1.42; border-radius:4px 7px 7px 4px; overflow:hidden;
  background:var(--cv-bg,#1f2a3d); color:var(--cv-fg,#fff); box-shadow:var(--shadow-card);
  display:flex; flex-direction:column; isolation:isolate;}
.cover::before{content:''; position:absolute; left:0; top:0; bottom:0; width:9px;
  background:rgba(0,0,0,.16); border-right:1px solid rgba(255,255,255,.08); z-index:3;}
.cover.has-photo::before{display:none;}
.cover.has-photo{background:#fff;}
.cover-img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover;}
.cv-pad{position:relative; z-index:2; padding:16px 15px 15px 20px; height:100%; display:flex; flex-direction:column;}
.cv-kicker{font-family:var(--sans); font-size:8.5px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--cv-accent,#cc785c); margin-bottom:auto;}
.cv-title{font-family:var(--serif); font-weight:600; line-height:1; letter-spacing:-.01em; font-size:clamp(20px,3vw,30px); text-wrap:balance;}
.cv-sub{font-family:var(--sans); font-size:9px; font-weight:500; color:var(--cv-fg,#fff); opacity:.7; margin-top:5px;}
.cv-rule{height:2px; width:34px; background:var(--cv-accent,#cc785c); margin:11px 0 9px;}
.cv-foot{display:flex; align-items:center; justify-content:space-between; font-family:var(--sans); font-size:8px; font-weight:600; letter-spacing:.05em; opacity:.78;}
.cv-orn{position:absolute; right:-26px; bottom:-26px; width:120px; height:120px; opacity:.10; z-index:1;}

/* ---------- product card ---------- */
.card{display:flex; flex-direction:column; gap:0; border-radius:var(--r-lg); overflow:hidden;
  transition:transform .14s ease;}
.card-cover{padding:18px 18px 0;}
.card-body{padding:14px 18px 18px; display:flex; flex-direction:column; gap:3px; flex:1;}
.card-col{font-size:11px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:var(--primary);}
.card-title{font-family:var(--serif); font-size:21px; font-weight:600; color:var(--ink); line-height:1.12; letter-spacing:-.01em;}
.card-meta{font-size:12.5px; color:var(--muted); margin-top:1px;}
.card-foot{display:flex; align-items:center; justify-content:space-between; margin-top:12px;}
.price{font-family:var(--sans); font-weight:600; color:var(--ink); font-size:17px;}
.price small{font-weight:500; color:var(--muted); font-size:12px;}
.card-add{display:inline-flex; align-items:center; justify-content:center; width:38px; height:38px; border-radius:var(--r-md);
  background:var(--canvas); border:1px solid var(--hairline); color:var(--ink); transition:background .12s, color .12s;}
.card a.card-add:hover{background:var(--primary); border-color:var(--primary); color:#fff;}
.card:hover{transform:translateY(-3px);}

/* card variant: editorial (default) = cream card */
.card.v-editorial{background:var(--surface-card); border:1px solid var(--hairline);}
/* card variant: framed = canvas + hairline */
.card.v-framed{background:var(--canvas); border:1px solid var(--hairline); box-shadow:var(--shadow-card);}
/* card variant: minimal = no chrome, cover floats */
.card.v-minimal{background:transparent;}
.card.v-minimal .card-cover{padding:0;}
.card.v-minimal .card-body{padding:13px 2px 4px;}

/* ---------- collection grid density ---------- */
.grid{display:grid; gap:26px; grid-template-columns:repeat(var(--cols,4), 1fr);}
@media(max-width:1100px){ .grid{grid-template-columns:repeat(3,1fr);} }
@media(max-width:780px){ .grid{grid-template-columns:repeat(2,1fr); gap:18px;} }

/* ---------- sections ---------- */
.section{padding:var(--s-sec) 0;}
.section-sm{padding:64px 0;}
.sec-head{display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:40px;}
.sec-head h2{font-size:clamp(30px,4vw,46px);}
.sec-head p{max-width:46ch; color:var(--body); margin:8px 0 0;}

/* ---------- badges ---------- */
.badge{display:inline-flex; align-items:center; gap:6px; padding:5px 12px; border-radius:var(--r-pill);
  font-size:12px; font-weight:600;}
.badge-cream{background:var(--surface-card); color:var(--ink);}
.badge-coral{background:var(--primary); color:#fff; font-size:11px; letter-spacing:.12em; text-transform:uppercase;}
.badge-dark{background:var(--dark-elev); color:var(--on-dark);}

/* ---------- footer ---------- */
.footer{background:var(--dark); color:var(--on-dark-soft); padding:72px 0 40px;}
.footer a{color:var(--on-dark-soft);}
.footer a:hover{color:var(--on-dark);}
.foot-grid{display:grid; grid-template-columns:1.6fr 1fr 1fr 1fr; gap:40px;}
.foot-brand img{height:40px; margin-bottom:18px;}
.foot-col h5{font-family:var(--sans); font-size:12px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:var(--on-dark); margin:0 0 16px;}
.foot-col a{display:block; font-size:14px; padding:5px 0;}
.foot-bottom{display:flex; align-items:center; justify-content:space-between; gap:20px;
  margin-top:56px; padding-top:24px; border-top:1px solid rgba(255,255,255,.1); font-size:13px;}

/* lumbreras mark */
.lum{display:inline-flex; align-items:center; gap:8px;}
.lum-mark{width:26px; height:26px; border-radius:5px; background:var(--lumbreras); display:grid; place-items:center; flex:none;}
.lum-mark svg{width:15px; height:15px;}
.lum-name{display:flex; flex-direction:column; line-height:1; }
.lum-name b{font-size:13px; font-weight:700; letter-spacing:-.01em;}
.lum-name span{font-size:9px; letter-spacing:.18em; text-transform:uppercase; opacity:.8;}

.nav-link-on{background:var(--surface-card); color:var(--ink);}
.cart-badge{position:absolute; top:-3px; right:-3px; min-width:18px; height:18px; padding:0 4px;
  background:var(--primary); color:#fff; border-radius:9999px; font-size:11px; font-weight:700;
  display:none; place-items:center; line-height:1;}
.cv-orn-wrap{position:absolute; inset:0; z-index:1;}
.toast{position:fixed; left:50%; bottom:28px; transform:translateX(-50%) translateY(20px);
  background:var(--dark); color:var(--on-dark); padding:13px 22px; border-radius:var(--r-pill);
  font-size:13.5px; font-weight:500; box-shadow:var(--shadow-soft); opacity:0; pointer-events:none;
  transition:opacity .18s ease, transform .18s ease; z-index:200;}
.toast.show{opacity:1; transform:translateX(-50%) translateY(0);}

@media(max-width:960px){
  .nav-links,.search-mini{display:none;}
  .foot-grid{grid-template-columns:1fr 1fr;}
  .wrap{padding:0 20px;}
  .section{padding:64px 0;}
}

/* ── Cart Drawer ─────────────────────────────────────────── */
.cart-overlay{position:fixed;inset:0;z-index:900;pointer-events:none;}
.cart-overlay.open{pointer-events:auto;}
.cart-backdrop{position:absolute;inset:0;background:rgba(24,23,21,.52);opacity:0;transition:opacity .28s;}
.cart-overlay.open .cart-backdrop{opacity:1;}
.cart-panel{
  position:absolute;top:0;right:0;bottom:0;width:420px;max-width:96vw;
  background:var(--canvas);display:flex;flex-direction:column;
  transform:translateX(100%);transition:transform .3s cubic-bezier(.4,0,.2,1);
  box-shadow:-6px 0 48px rgba(24,23,21,.16);
}
.cart-overlay.open .cart-panel{transform:translateX(0);}

.cart-head{
  display:flex;align-items:center;justify-content:space-between;
  padding:22px 24px 18px;border-bottom:1px solid var(--hairline);flex-shrink:0;
}
.cart-head h3{font-size:21px;margin:0;}
.cart-close{
  width:36px;height:36px;border-radius:50%;border:1px solid var(--hairline);
  background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;
  color:var(--muted);transition:background .12s, color .12s;
}
.cart-close:hover{background:var(--surface-soft);color:var(--ink);}

.cart-items{flex:1;overflow-y:auto;padding:12px 24px;}
.cart-empty{padding:64px 0;text-align:center;color:var(--muted);}
.cart-empty svg{opacity:.22;margin:0 auto 14px;display:block;}
.cart-empty p{font-size:15px;margin:0;}

.cart-item{display:flex;gap:14px;align-items:flex-start;padding:16px 0;border-bottom:1px solid var(--hairline-soft);}
.cart-item:last-child{border-bottom:none;}
.cart-item-thumb{
  width:52px;height:70px;border-radius:var(--r-sm);overflow:hidden;flex-shrink:0;
  border:1px solid var(--hairline);background:var(--surface-soft);
}
.cart-item-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.cart-item-thumb .cover{box-shadow:none;border-radius:0;width:100%;height:100%;}
.cart-item-body{flex:1;min-width:0;}
.cart-item-title{
  font-size:13.5px;font-weight:600;color:var(--ink);line-height:1.3;margin-bottom:2px;
  overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;
}
.cart-item-col{font-size:11.5px;color:var(--muted);margin-bottom:10px;}
.cart-item-row{display:flex;align-items:center;gap:8px;}
.cart-qty{display:flex;align-items:center;border:1px solid var(--hairline);border-radius:var(--r-md);overflow:hidden;}
.cart-qty button{
  width:28px;height:28px;border:none;background:transparent;cursor:pointer;
  color:var(--ink);font-size:15px;line-height:1;transition:background .1s;flex-shrink:0;
}
.cart-qty button:hover{background:var(--surface-soft);}
.cart-qty span{width:26px;text-align:center;font-size:13px;font-variant-numeric:tabular-nums;color:var(--ink);}
.cart-item-price{margin-left:auto;text-align:right;flex-shrink:0;}
.cart-item-price .line{font-size:14px;font-weight:700;color:var(--ink);}
.cart-item-price .unit{font-size:11px;color:var(--muted);}
.cart-item-del{
  background:none;border:none;cursor:pointer;color:var(--muted);
  padding:4px;border-radius:4px;transition:color .1s;flex-shrink:0;
}
.cart-item-del:hover{color:var(--primary);}

.cart-foot{
  padding:18px 24px 24px;border-top:1px solid var(--hairline);
  background:var(--canvas);flex-shrink:0;
}
.cart-subtotal{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:16px;}
.cart-subtotal span{font-size:14px;color:var(--muted);}
.cart-subtotal strong{font-size:24px;font-weight:700;color:var(--ink);font-family:var(--sans);}
.cart-note{font-size:12px;color:var(--muted);text-align:center;margin-top:10px;}

/* ── Checkout Full-Screen Modal ───────────────────────────── */
.co-overlay{
  position:fixed;inset:0;z-index:1000;
  background:rgba(24,23,21,.62);
  display:flex;align-items:center;justify-content:center;padding:16px;
  opacity:0;pointer-events:none;transition:opacity .24s;
}
.co-overlay.open{opacity:1;pointer-events:auto;}
.co-modal{
  background:var(--canvas);border-radius:var(--r-xl);
  width:100%;max-width:540px;max-height:92vh;
  display:flex;flex-direction:column;
  box-shadow:0 28px 80px rgba(24,23,21,.3);
  transform:scale(.96) translateY(14px);
  transition:transform .28s cubic-bezier(.4,0,.2,1);
}
.co-overlay.open .co-modal{transform:scale(1) translateY(0);}

/* header */
.co-header{
  display:flex;align-items:center;justify-content:space-between;
  padding:18px 24px 14px;border-bottom:1px solid var(--hairline);flex-shrink:0;
}
.co-back-btn{
  display:flex;align-items:center;gap:5px;border:none;background:none;
  font-size:13.5px;color:var(--muted);cursor:pointer;padding:6px 8px;
  border-radius:var(--r-sm);transition:color .12s,background .12s;white-space:nowrap;
}
.co-back-btn:hover{color:var(--ink);background:var(--surface-soft);}
.co-steps-ind{display:flex;align-items:center;gap:5px;}
.co-dot{
  width:26px;height:26px;border-radius:50%;border:2px solid var(--hairline);
  font-size:12px;font-weight:600;color:var(--muted);
  display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0;
}
.co-dot.active{background:var(--primary);border-color:var(--primary);color:#fff;}
.co-dot.done{background:var(--ink);border-color:var(--ink);color:#fff;}
.co-dot.done::after{content:'✓';font-size:11px;}
.co-dot.done span{display:none;}
.co-dash{width:20px;height:2px;background:var(--hairline);flex-shrink:0;}
.co-close-btn{
  width:32px;height:32px;border-radius:50%;border:1px solid var(--hairline);
  background:none;cursor:pointer;display:flex;align-items:center;justify-content:center;
  color:var(--muted);transition:background .12s;flex-shrink:0;
}
.co-close-btn:hover{background:var(--surface-soft);color:var(--ink);}

/* body */
.co-body{flex:1;overflow-y:auto;padding:24px 28px 8px;}
.co-title{font-size:21px;font-family:var(--serif);color:var(--ink);margin:0 0 4px;}
.co-sub{font-size:14px;color:var(--muted);margin:0 0 20px;}

/* step 1 — summary */
.co-sum-item{display:flex;gap:12px;align-items:center;padding:11px 0;border-bottom:1px solid var(--hairline-soft);}
.co-sum-item:last-child{border-bottom:none;}
.co-sum-thumb{width:42px;height:57px;border-radius:4px;overflow:hidden;flex-shrink:0;border:1px solid var(--hairline);background:var(--surface-soft);}
.co-sum-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.co-sum-info{flex:1;min-width:0;}
.co-sum-name{font-size:13.5px;font-weight:600;color:var(--ink);overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;}
.co-sum-meta{font-size:12px;color:var(--muted);margin-top:2px;}
.co-sum-price{font-size:14px;font-weight:700;color:var(--ink);white-space:nowrap;}
.co-total-row{display:flex;justify-content:space-between;align-items:baseline;
  padding:16px 0 0;margin-top:6px;border-top:2px solid var(--ink);}
.co-total-row span{font-size:14px;color:var(--muted);}
.co-total-row strong{font-size:28px;font-weight:700;color:var(--ink);font-family:var(--sans);}

/* step 2 — form */
.co-field{margin-bottom:18px;}
.co-field label{display:block;font-size:13px;font-weight:600;color:var(--body-strong);margin-bottom:7px;}
.co-field input{
  width:100%;height:46px;padding:0 14px;border:1.5px solid var(--hairline);
  border-radius:var(--r-md);font-family:var(--sans);font-size:15px;color:var(--ink);
  background:var(--canvas);outline:none;transition:border-color .15s;
}
.co-field input:focus{border-color:var(--primary);}
.co-field input::placeholder{color:var(--muted-soft);}
.co-field-hint{font-size:12px;color:var(--muted);margin-top:5px;}
.co-err{font-size:12px;color:var(--error);margin-top:4px;display:none;}

/* step 3 — payment methods */
.pay-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:4px;}
.pay-card{
  border:2px solid var(--hairline);border-radius:var(--r-lg);
  padding:28px 16px 20px;text-align:center;cursor:pointer;
  transition:transform .15s,border-color .15s,box-shadow .15s;background:var(--canvas);
}
.pay-card:hover{transform:translateY(-3px);box-shadow:0 8px 28px rgba(24,23,21,.12);}
.pay-card-yape{border-color:#8c3dab;}
.pay-card-yape:hover{border-color:#6d2e8a;}
.pay-card-plin{border-color:#5db8a6;}
.pay-card-plin:hover{border-color:#3a9c8a;}
.pay-card-icon{height:56px;display:flex;align-items:center;justify-content:center;margin-bottom:12px;}
.pay-card-icon img{height:100%;object-fit:contain;}
.pay-card-name{font-size:16px;font-weight:700;color:var(--ink);}
.pay-card-hint{font-size:12px;color:var(--muted);margin-top:4px;}

/* yape & plin brand pills for method indicator */
.badge-yape{background:#6d2e8a;color:#fff;padding:3px 10px;border-radius:var(--r-pill);font-size:12px;font-weight:600;}
.badge-plin{background:linear-gradient(135deg,#5db8a6,#3fc6e8);color:#fff;padding:3px 10px;border-radius:var(--r-pill);font-size:12px;font-weight:600;}

/* step 4 — QR */
.co-qr-wrap{text-align:center;padding-bottom:8px;}
.co-qr-amount{font-size:38px;font-weight:700;color:var(--ink);margin-bottom:4px;font-family:var(--sans);}
.co-qr-label{font-size:13px;color:var(--muted);margin:0 0 20px;}
.co-qr-img{
  max-width:272px;width:100%;border-radius:var(--r-xl);
  margin:0 auto 12px;display:block;
  box-shadow:0 6px 28px rgba(24,23,21,.14);
}
.co-qr-note{font-size:13px;color:var(--muted);}

/* footer */
.co-foot{padding:16px 28px 24px;flex-shrink:0;border-top:1px solid var(--hairline);}

@media(max-width:600px){
  .co-modal{max-height:96vh;border-radius:var(--r-lg);}
  .co-body{padding:20px 20px 8px;}
  .co-foot{padding:14px 20px 20px;}
  .co-header{padding:16px 20px 12px;}
  .pay-grid{grid-template-columns:1fr 1fr;}
}
