/* Elina — shared chrome: header, cart drawer, checkout layout.
   Page-specific styling stays in each page's own <style> block. */

:root{
  --ink:#2A2118;
  --muted:#8A785F;
  --soft:#6B5B47;
  --line:#EADFCC;
  --line2:#E0D2B9;
  --paper:#FFFCF7;
  --panel:#F8F2E8;
  --gold:#C8892F;
  --gold-ink:#A5711F;
  --wine:#7A2E2E;
  --green:#3F7A45;
  --danger:#B03A3A;
  --radius:12px;
}

*{box-sizing:border-box;}
body{margin:0;background:var(--paper);font-family:'Inter',sans-serif;color:var(--ink);-webkit-font-smoothing:antialiased;}
img{max-width:100%;display:block;}
a{color:inherit;}

/* ---------------- header ---------------- */
.hdr{position:sticky;top:0;z-index:40;background:rgba(255,252,247,.94);backdrop-filter:blur(10px);border-bottom:1px solid #EDE2D2;}
.hdr-in{max-width:1120px;margin:0 auto;padding:14px 20px;display:grid;grid-template-columns:44px 1fr 44px;align-items:center;}
.hdr-logo{font-family:'Cormorant Garamond',serif;font-weight:700;font-size:29px;letter-spacing:2px;text-transform:uppercase;text-decoration:none;color:var(--ink);line-height:1;text-align:center;}
.hdr-logo small{display:block;font-family:'Inter',sans-serif;font-size:9px;letter-spacing:3.2px;font-weight:600;color:#A08A6A;margin-top:5px;}
.icon-btn{position:relative;border:0;background:transparent;color:var(--ink);cursor:pointer;padding:6px;display:inline-flex;justify-self:end;}
.cart-count{position:absolute;top:-2px;right:-3px;min-width:18px;height:18px;border-radius:99px;background:var(--wine);color:#FFF6E9;font-size:11px;font-weight:700;display:grid;place-items:center;padding:0 5px;}

/* ---------------- buttons ---------------- */
.btn{display:flex;align-items:center;justify-content:center;width:100%;border:0;border-radius:14px;font-family:'Inter',sans-serif;font-weight:700;font-size:16px;padding:16px;cursor:pointer;text-decoration:none;letter-spacing:.2px;}
.btn-primary{background:linear-gradient(180deg,#8E3737,#6E2727);color:#FFF6E9;box-shadow:0 14px 28px -12px rgba(122,46,46,.7);}
.btn-primary:hover{filter:brightness(1.06);}
.btn:disabled{opacity:.6;cursor:default;}
.note{font-size:12.5px;color:var(--muted);text-align:center;margin:10px 0 0;}

/* ---------------- quantity stepper ---------------- */
.qty{display:inline-flex;align-items:center;border:1.5px solid var(--line2);border-radius:12px;overflow:hidden;background:#fff;}
.qty button{width:40px;height:44px;border:0;background:transparent;font-size:19px;color:var(--wine);cursor:pointer;font-weight:600;}
.qty button:disabled{color:#CFC0A6;cursor:not-allowed;}
.qty span{min-width:36px;text-align:center;font-weight:700;font-size:15px;}
.qty-sm{margin-top:9px;}
.qty-sm button{width:32px;height:32px;font-size:16px;}
.qty-sm span{min-width:28px;font-size:13.5px;}

/* ---------------- cart drawer ---------------- */
.scrim{position:fixed;inset:0;background:rgba(30,22,14,.5);backdrop-filter:blur(2px);z-index:90;opacity:0;pointer-events:none;transition:opacity .2s;}
.scrim[data-on="1"]{opacity:1;pointer-events:auto;}
.drawer{position:fixed;top:0;right:0;bottom:0;width:min(420px,100%);background:var(--paper);z-index:91;display:flex;flex-direction:column;transform:translateX(100%);transition:transform .24s ease;box-shadow:-20px 0 60px -20px rgba(0,0,0,.4);}
.drawer[data-on="1"]{transform:none;}
.drawer-hd{display:flex;align-items:center;justify-content:space-between;padding:20px 22px 14px;}
.drawer-hd h2{font-family:'Cormorant Garamond',serif;font-size:24px;margin:0;font-weight:700;}
.drawer-x{border:0;background:#F1E7D7;width:32px;height:32px;border-radius:50%;font-size:16px;cursor:pointer;color:var(--soft);line-height:1;}
.reserve{background:var(--panel);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:9px 22px;font-size:12.5px;font-weight:600;color:var(--soft);}
.reserve span{font-variant-numeric:tabular-nums;color:var(--wine);}
.drawer-body{flex:1;overflow-y:auto;padding:18px 22px;}
.drawer-ft{border-top:1px solid var(--line);padding:18px 22px calc(18px + env(safe-area-inset-bottom));background:var(--panel);}

.cline{display:grid;grid-template-columns:72px 1fr auto;gap:14px;align-items:start;}
.cline-img{position:relative;border-radius:11px;overflow:hidden;border:1px solid var(--line);background:#F3EADC;aspect-ratio:1;}
.cline-img img{width:100%;height:100%;object-fit:cover;}
.cline-qty{position:absolute;top:-6px;right:-6px;min-width:20px;height:20px;border-radius:99px;background:var(--wine);color:#FFF6E9;font-size:11px;font-weight:700;display:grid;place-items:center;padding:0 5px;}
.cline-name{font-weight:700;font-size:14.5px;line-height:1.3;}
.cline-sub{font-size:12.5px;color:var(--muted);margin-top:3px;}
.cline-p{text-align:right;font-weight:700;font-size:14.5px;white-space:nowrap;}
.cline-p s{display:block;font-weight:500;font-size:12.5px;color:var(--muted);}

.totals{margin:0 0 14px;}
.trow{display:flex;justify-content:space-between;gap:16px;padding:4px 0;font-size:14px;color:var(--soft);}
.trow.save{color:var(--green);font-weight:600;}
.trow.big{font-weight:800;font-size:17px;color:var(--wine);border-top:1px solid var(--line);margin-top:8px;padding-top:10px;}
.trow .free{color:var(--green);font-weight:700;}

/* ---------------- checkout page ---------------- */
.co{display:grid;grid-template-columns:1fr 1fr;min-height:calc(100vh - 66px);}
.co-left{border-right:1px solid var(--line);}
.co-left-in{max-width:520px;margin-left:auto;padding:34px 34px 60px;}
.co-right{background:var(--panel);}
.co-right-in{max-width:520px;margin-right:auto;padding:34px 34px 60px;position:sticky;top:66px;}
@media(max-width:900px){
  .co{grid-template-columns:1fr;}
  .co-left{border-right:0;order:2;}
  .co-right{order:1;border-bottom:1px solid var(--line);}
  .co-left-in,.co-right-in{max-width:none;margin:0;padding:24px 20px 40px;position:static;}
}
.co h2{font-family:'Cormorant Garamond',serif;font-size:25px;font-weight:700;margin:26px 0 14px;}
.co h2:first-child{margin-top:0;}

/* floating-label fields */
.f{position:relative;margin:0 0 12px;}
.f input,.f select{width:100%;border:1.5px solid var(--line2);border-radius:11px;padding:22px 13px 8px;font-family:inherit;font-size:14.5px;background:#fff;color:var(--ink);appearance:none;}
.f select{padding-right:34px;}
.f input:focus,.f select:focus{outline:none;border-color:var(--gold);}
.f label{position:absolute;left:14px;top:15px;font-size:14px;color:var(--muted);pointer-events:none;transition:all .13s ease;}
.f input:focus + label,
.f input:not(:placeholder-shown) + label,
.f select:focus + label,
.f select:valid + label{top:7px;font-size:11px;color:var(--muted);}
.f select + label{top:7px;font-size:11px;}
.f .caret{position:absolute;right:14px;top:23px;width:10px;height:6px;color:var(--muted);pointer-events:none;}
.f.bad input,.f.bad select{border-color:var(--danger);}
.fmsg{display:block;color:var(--danger);font-size:12.5px;font-weight:600;margin:5px 0 0;}
.f2{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.f3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;}
@media(max-width:520px){.f2,.f3{grid-template-columns:1fr;}}
.chk{display:flex;gap:9px;align-items:flex-start;font-size:13.5px;color:var(--soft);margin:0 0 16px;cursor:pointer;line-height:1.45;}
.chk input{margin-top:2px;accent-color:var(--wine);}
.err{color:var(--danger);font-size:13.5px;font-weight:600;margin:0;display:none;}
.err[data-on="1"]{display:block;margin:0 0 8px;}

/* order summary */
.sum-line{display:grid;grid-template-columns:66px 1fr auto;gap:14px;align-items:start;padding:0 0 16px;}
.sum-img{position:relative;border-radius:11px;overflow:hidden;border:1px solid var(--line);background:#F3EADC;aspect-ratio:1;}
.sum-img img{width:100%;height:100%;object-fit:cover;}
.sum-qty{position:absolute;top:-6px;right:-6px;min-width:20px;height:20px;border-radius:99px;background:var(--wine);color:#FFF6E9;font-size:11px;font-weight:700;display:grid;place-items:center;padding:0 5px;}
.sum-name{font-weight:700;font-size:14.5px;line-height:1.3;}
.sum-sub{font-size:12.5px;color:var(--muted);margin-top:3px;}
.sum-p{text-align:right;font-weight:700;font-size:14.5px;white-space:nowrap;}
.sum-p s{display:block;font-weight:500;font-size:12.5px;color:var(--muted);}
.sum-coup{display:flex;gap:9px;margin:4px 0 0;}
.sum-coup input{flex:1;border:1.5px solid var(--line2);border-radius:11px;padding:13px;font-family:inherit;font-size:14px;background:#fff;color:var(--ink);}
.sum-coup button{border:1.5px solid var(--gold);background:#fff;color:var(--gold-ink);border-radius:11px;padding:0 22px;font-weight:700;font-size:14px;cursor:pointer;font-family:inherit;}
.sum-rows{border-top:1px solid var(--line);margin-top:14px;padding-top:12px;}
.sum-save{background:#EAF5EB;color:var(--green);font-weight:700;font-size:13px;text-align:center;padding:9px;border-radius:10px;margin-top:12px;letter-spacing:.3px;}
