/* ---------- shop: cart button, drawer, shop pages ---------- */
.cart-btn{
  position:relative;display:inline-flex;align-items:center;justify-content:center;
  width:42px;height:42px;border-radius:50%;cursor:pointer;
  background:var(--glass-bg);border:1px solid var(--glass-border);color:var(--ink);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  transition:background .25s ease,transform .25s ease;
}
.cart-btn:hover{background:rgba(255,255,255,.8);transform:translateY(-2px)}
.header.on-dark .cart-btn{color:var(--cream);border-color:rgba(246,242,216,.22)}
.cart-count{
  position:absolute;top:-4px;right:-4px;min-width:19px;height:19px;padding:0 5px;border-radius:99px;
  background:var(--burgundy);color:var(--cream);font:800 .66rem/19px 'Manrope',sans-serif;text-align:center;
}
.cart-count[hidden]{display:none}

body.cd-open{overflow:hidden}
.cdrawer{position:fixed;inset:0;z-index:2000;opacity:0;transition:opacity .25s ease}
.cdrawer[hidden]{display:none}
.cdrawer.in{opacity:1}
.cdrawer-scrim{position:absolute;inset:0;background:rgba(20,14,6,.55);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}
.cdrawer-panel{
  position:absolute;top:0;right:0;bottom:0;width:min(440px,100%);
  background:var(--cream);color:var(--ink);box-shadow:-30px 0 70px rgba(0,0,0,.25);
  transform:translateX(100%);transition:transform .26s cubic-bezier(.3,.7,.2,1);
  display:flex;flex-direction:column;
}
.cdrawer.in .cdrawer-panel{transform:none}
.cdrawer-in{display:flex;flex-direction:column;min-height:0;height:100%;overflow:auto;-webkit-overflow-scrolling:touch}
.cd-head{display:flex;align-items:center;justify-content:space-between;padding:1.4rem 1.5rem 1rem;border-bottom:1px solid var(--glass-border);position:sticky;top:0;background:var(--cream);z-index:1}
.cd-head h2{font-family:var(--font-display);font-weight:600;font-size:1.45rem;letter-spacing:-.01em}
.cd-head small{font:600 .72rem 'Manrope',sans-serif;letter-spacing:.08em;color:var(--ink-soft);margin-left:.5rem}
.cd-x{position:relative;width:38px;height:38px;border-radius:50%;border:1px solid var(--glass-border);background:transparent;cursor:pointer}
.cd-x span{position:absolute;left:10px;right:10px;top:50%;height:2px;background:var(--ink);border-radius:2px}
.cd-x span:first-child{transform:rotate(45deg)}.cd-x span:last-child{transform:rotate(-45deg)}

.cd-empty{padding:3rem 1.5rem;text-align:center;display:flex;flex-direction:column;align-items:center;gap:1.4rem;color:var(--ink-soft)}
.cd-lines{list-style:none;padding:.4rem 1.5rem}
.cd-line{display:grid;grid-template-columns:76px 1fr auto;gap:.9rem;padding:1.1rem 0;border-bottom:1px solid var(--glass-border);align-items:start}
.cd-img{display:block;background:var(--cream-2);border-radius:14px;aspect-ratio:1;overflow:hidden}
.cd-img img{width:100%;height:100%;object-fit:contain;display:block}
.cd-info{display:flex;flex-direction:column;gap:.25rem;min-width:0}
.cd-name{font-family:var(--font-display);font-weight:600;font-size:1.05rem;text-decoration:none}
.cd-opt{font-size:.8rem;color:var(--ink-soft)}
.cd-row{display:flex;align-items:center;gap:.9rem;margin-top:.5rem;flex-wrap:wrap}
.cd-price{font:700 .92rem 'Manrope',sans-serif;white-space:nowrap}
.cd-rm,.cd-link{background:none;border:none;padding:0;cursor:pointer;font:600 .8rem var(--font-body);color:var(--ink-soft);text-decoration:underline;text-underline-offset:3px}
.cd-link{text-align:center;display:block;margin:.4rem auto 0;font-size:.88rem}
.cd-rm:hover,.cd-link:hover{color:var(--burgundy)}

.stepper{display:inline-flex;align-items:center;border:1px solid var(--glass-border);border-radius:99px;background:rgba(255,255,255,.55)}
.stepper button{width:32px;height:32px;border:none;background:none;border-radius:50%;cursor:pointer;font:600 1.05rem var(--font-body);color:var(--ink)}
.stepper button:disabled{opacity:.3;cursor:default}
.stepper span{min-width:28px;text-align:center;font:700 .9rem 'Manrope',sans-serif}
.stepper-lg button{width:40px;height:40px;font-size:1.2rem}
.stepper-lg span{min-width:38px;font-size:1rem}

.cd-foot,.cd-form{padding:1.2rem 1.5rem 1.8rem;margin-top:auto;display:flex;flex-direction:column;gap:.9rem}
.cd-totals{display:flex;flex-direction:column;gap:.5rem}
.cd-totals div{display:flex;justify-content:space-between;font-size:.95rem}
.cd-totals dt{color:var(--ink-soft)}
.cd-totals dd{font-weight:600}
.cd-grand{padding-top:.7rem;margin-top:.2rem;border-top:1px solid var(--glass-border)}
.cd-grand dt,.cd-grand dd{font-family:var(--font-display);font-size:1.3rem;font-weight:600;color:var(--ink)}
.cd-fine{font-size:.76rem;color:var(--ink-soft);line-height:1.5}
.cd-pay{width:100%;justify-content:space-between}
.cdrawer .cta,.pdp-buy .cta{order:0}
.cd-pay:disabled{opacity:.6;cursor:wait;transform:none}

.cd-form label{display:flex;flex-direction:column;gap:.35rem;font:700 .7rem 'Manrope',sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft)}
.cd-form input:not(.hp){
  font:500 1rem var(--font-body);letter-spacing:0;text-transform:none;color:var(--ink);
  padding:.8rem .9rem;border-radius:12px;border:1px solid var(--glass-border);background:rgba(255,255,255,.7);
}
.cd-form input.bad{border-color:var(--burgundy);background:#fff3f1}
.cd-2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.8rem}
.cd-form label{min-width:0}
.cd-form input:not(.hp){width:100%;min-width:0}
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;opacity:0}
.cd-err{min-height:1.2em;color:var(--burgundy);font-size:.86rem;font-weight:600}

/* ---------- shop pages ---------- */
.shop-main{max-width:1180px;margin:0 auto;padding:8rem 6% 5rem;min-height:70vh}
.shop-hero{text-align:center;display:flex;flex-direction:column;align-items:center;gap:1rem;margin-bottom:3rem}
.shop-hero h1{font-family:var(--font-display);font-weight:600;font-size:clamp(2.4rem,6vw,4rem);letter-spacing:-.02em;color:var(--burgundy)}
.shop-hero p{max-width:34rem;color:var(--ink-soft);line-height:1.6}
.shop-grid{list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.4rem}
.scard{display:flex;flex-direction:column;text-decoration:none;border-radius:22px;overflow:hidden;background:rgba(255,255,255,.55);border:1px solid var(--glass-border);height:100%;transition:transform .3s ease,box-shadow .3s ease}
.scard:hover{transform:translateY(-6px);box-shadow:0 22px 44px rgba(43,36,22,.14)}
.scard-shot{display:grid;place-items:center;aspect-ratio:1/1.05;background:var(--pas,var(--accent-soft));padding:1.2rem}
.scard-shot{overflow:hidden}
.scard-shot{position:relative}
.scard-shot img{position:absolute;inset:1.2rem;width:calc(100% - 2.4rem);height:calc(100% - 2.4rem);object-fit:contain;transition:transform .5s ease}
.scard:hover .scard-shot img{transform:scale(1.05)}
.scard-body{display:flex;flex-direction:column;gap:.35rem;padding:1.1rem 1.3rem 1.4rem}
.scard-name{font-family:var(--font-display);font-weight:600;font-size:1.25rem}
.scard-sub{font-size:.84rem;color:var(--ink-soft)}
.scard-row{display:flex;justify-content:space-between;align-items:baseline;margin-top:.3rem}
.scard-price{font:800 1rem 'Manrope',sans-serif}
.scard-sca{font:700 .72rem 'Manrope',sans-serif;letter-spacing:.1em;color:var(--pa,var(--accent))}
.scard-tag{font:700 .66rem 'Manrope',sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--burgundy);font-style:normal}

.pdp-back{display:inline-block;margin-bottom:1.6rem;font:600 .88rem var(--font-body);color:var(--ink-soft);text-decoration:none}
.pdp-back:hover{color:var(--burgundy)}
.pdp-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(2rem,5vw,5rem);align-items:start}
.pdp-shot{border-radius:28px;background:var(--pas,var(--accent-soft));display:grid;place-items:center;padding:2.5rem;aspect-ratio:1/1.08;position:sticky;top:6.5rem}
.pdp-shot{overflow:hidden;position:sticky}

.pdp-shot img{position:absolute;inset:2.5rem;width:calc(100% - 5rem);height:calc(100% - 5rem);object-fit:contain;filter:drop-shadow(0 30px 40px rgba(43,36,22,.28))}
.pdp-buy{display:flex;flex-direction:column;gap:1.3rem}
.pdp-kicker{font:700 .68rem 'Manrope',sans-serif;letter-spacing:.2em;text-transform:uppercase;color:var(--pa,var(--accent))}
.pdp-buy h1{font-family:var(--font-display);font-weight:600;font-size:clamp(2.2rem,5vw,3.4rem);letter-spacing:-.02em;line-height:1.05}
.pdp-meta{display:flex;flex-direction:column;gap:.25rem;font-size:.95rem;color:var(--ink-soft)}
.pdp-meta b{color:var(--ink);font-weight:600}
.opt{display:flex;flex-direction:column;gap:.55rem}
.opt-l{font:700 .72rem 'Manrope',sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft)}
.pills{display:grid;grid-template-columns:1fr;gap:.55rem}
.pills-2{grid-template-columns:1fr 1fr}
.pill{
  display:flex;align-items:center;justify-content:space-between;gap:.6rem;
  padding:.8rem 1rem;border-radius:10px;border:1px solid var(--glass-border);background:rgba(255,255,255,.55);
  font:600 .95rem var(--font-body);color:var(--ink);cursor:pointer;text-align:left;transition:all .2s ease;
}
button.pill:hover{border-color:var(--pa,var(--accent))}
.pill i{order:2;width:18px;height:18px;border-radius:50%;border:1.5px solid var(--ink-soft);flex:0 0 auto;display:grid;place-items:center}
.pill.on{background:var(--pas,var(--accent-soft));border-color:var(--pa,var(--accent))}
.pill.on i{border-color:var(--pa,var(--accent));background:var(--pa,var(--accent))}
.pill.on i::after{content:"";width:5px;height:9px;border:solid var(--cream);border-width:0 2px 2px 0;transform:translateY(-1px) rotate(45deg)}
.opt-qty{flex-direction:row;align-items:center;justify-content:space-between}
.pdp-price{display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid var(--glass-border);padding-top:1.1rem}
.pdp-price span{font:700 .72rem 'Manrope',sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft)}
.pdp-price b{font-family:var(--font-display);font-weight:600;font-size:1.9rem}
.pdp-tax{margin-top:-.8rem;color:var(--ink-soft);font-size:.78rem}
.pdp-add{width:100%;justify-content:space-between;padding-top:.55rem;padding-bottom:.55rem}
.pdp-specs{display:flex;flex-direction:column;gap:.8rem;padding-top:1.2rem;border-top:1px solid var(--glass-border);font-size:.92rem}
.pdp-specs div{display:grid;grid-template-columns:8rem 1fr;gap:1rem}
.pdp-specs dt{color:var(--ink-soft)}

.thanks .th-ref{font:600 .82rem 'Manrope',sans-serif;letter-spacing:.08em;color:var(--ink-soft);word-break:break-all}
.thanks .th-cta{display:flex;flex-direction:column;align-items:center;gap:1rem;margin-top:.6rem}
.thanks[data-status="APPROVED"] h1{color:var(--olive)}

.pm-buy{margin-top:1.1rem}

@media(max-width:900px){
  .pdp-grid{grid-template-columns:1fr}
  .pdp-shot{position:relative;top:auto;aspect-ratio:1/.9;padding:1.6rem}
  .pdp-shot img{inset:1.6rem;width:calc(100% - 3.2rem);height:calc(100% - 3.2rem)}
  .shop-main{padding-top:6.5rem}
}
@media(max-width:760px){
  .cart-btn{width:38px;height:38px}
  .pdp-specs div{grid-template-columns:1fr;gap:.2rem}
}
@media(prefers-reduced-motion:reduce){
  .cdrawer,.cdrawer-panel,.scard,.scard-shot img{transition:none}
}

/* ---------- checkout page: bare on purpose (no menu, no footer, no cart button) ---------- */
.co-header{justify-content:space-between}
.co-secure{display:inline-flex;align-items:center;gap:.45rem;font:700 .74rem 'Manrope',sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--olive)}
.co-lang{margin-left:auto}
.co-secure+.co-lang{margin-left:1rem}
.co-main{max-width:1080px;margin:0 auto;padding:6.6rem 5% 4rem;min-height:100vh}
.co-back{display:inline-block;margin-bottom:.8rem;font:600 .86rem var(--font-body);color:var(--ink-soft);text-decoration:none}
.co-back:hover{color:var(--burgundy)}
.co-title{font-family:var(--font-display);font-weight:600;font-size:clamp(2rem,4.5vw,2.8rem);letter-spacing:-.02em;margin-bottom:1.6rem}
.co-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:1.6rem;align-items:start}
.co-form{display:flex;flex-direction:column;gap:1rem}
.co-card{background:rgba(255,255,255,.62);border:1px solid var(--glass-border);border-radius:18px;padding:1.3rem 1.4rem 1.5rem;display:flex;flex-direction:column;gap:1rem}
.co-card h2{display:flex;align-items:center;gap:.7rem;font-family:var(--font-display);font-weight:600;font-size:1.25rem}
.co-card h2 i{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--olive);color:var(--cream);font:800 .78rem 'Manrope',sans-serif;font-style:normal}
.co-2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.9rem}

.fld{display:flex;flex-direction:column;gap:.35rem;min-width:0}
.fld label{font:700 .7rem 'Manrope',sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft)}
.fld input:not(.hp),.fld select{
  width:100%;min-width:0;font:500 1rem var(--font-body);color:var(--ink);padding:.85rem .95rem;border-radius:12px;
  border:1.5px solid var(--glass-border);background:#fffdf4;appearance:none;-webkit-appearance:none;
}
.fld select{background-image:linear-gradient(45deg,transparent 50%,var(--ink-soft) 50%),linear-gradient(135deg,var(--ink-soft) 50%,transparent 50%);background-position:calc(100% - 20px) 55%,calc(100% - 14px) 55%;background-size:6px 6px;background-repeat:no-repeat;padding-right:2.2rem}
.fld input:focus,.fld select:focus{outline:none;border-color:var(--olive);box-shadow:0 0 0 3px rgba(86,96,49,.18)}
.fld.bad input,.fld.bad select{border-color:var(--burgundy);background:#fff3f1}
.fld.bad .phone{border-color:var(--burgundy)}
.fh{font-size:.76rem;color:var(--ink-soft);line-height:1.4}
.fe{font-size:.82rem;font-weight:600;color:var(--burgundy);line-height:1.35}
.fe:empty{display:none}
.phone{display:flex;align-items:stretch;border:1.5px solid var(--glass-border);border-radius:12px;background:#fffdf4;overflow:hidden}
.phone:focus-within{border-color:var(--olive);box-shadow:0 0 0 3px rgba(86,96,49,.18)}
.phone .pre{display:inline-flex;align-items:center;gap:.45rem;padding:0 .8rem;background:var(--cream-2);font:700 .92rem 'Manrope',sans-serif;border-right:1px solid var(--glass-border)}
.phone input:not(.hp){border:none!important;box-shadow:none!important;background:transparent!important;border-radius:0}
.mailfix{font-size:.82rem;color:var(--ink);background:var(--cream-2);border-radius:10px;padding:.5rem .7rem}
.mailfix button{margin-left:.4rem;border:none;background:var(--olive);color:var(--cream);font:700 .76rem var(--font-body);padding:.25rem .65rem;border-radius:99px;cursor:pointer}

.co-how{font-size:.92rem;line-height:1.55;color:var(--ink-soft)}
.co-methods{display:flex;gap:.5rem;flex-wrap:wrap}
.co-methods span{font:700 .78rem 'Manrope',sans-serif;letter-spacing:.06em;padding:.4rem .85rem;border:1px solid var(--glass-border);border-radius:99px;background:#fffdf4}
.co-err{min-height:1.2em;color:var(--burgundy);font-weight:700;font-size:.9rem}
.co-card .cd-pay{margin-top:.1rem}
.co-fine{text-align:center}

.co-sum{position:sticky;top:5.6rem;background:rgba(255,255,255,.62);border:1px solid var(--glass-border);border-radius:18px;padding:1.1rem 1.3rem 1.3rem}
.co-sum summary{display:flex;justify-content:space-between;align-items:center;gap:1rem;cursor:default;list-style:none;font-family:var(--font-display);font-weight:600;font-size:1.2rem;padding-bottom:.6rem}
.co-sum summary::-webkit-details-marker{display:none}
.co-sum summary b{font:800 1rem 'Manrope',sans-serif;display:none}
.cs-lines{list-style:none;display:flex;flex-direction:column;border-top:1px solid var(--glass-border)}
.cs-line{display:grid;grid-template-columns:62px 1fr auto;gap:.8rem;padding:.95rem 0;border-bottom:1px solid var(--glass-border);align-items:start}
.cs-img{position:relative;background:var(--cream-2);border-radius:12px;aspect-ratio:1;display:block}
.cs-img img{position:absolute;inset:6px;width:calc(100% - 12px);height:calc(100% - 12px);object-fit:contain}
.cs-img b{position:absolute;top:-6px;right:-6px;min-width:20px;height:20px;border-radius:99px;background:var(--ink-soft);color:#fff;font:800 .68rem/20px 'Manrope',sans-serif;text-align:center;padding:0 5px}
.cs-info{display:flex;flex-direction:column;gap:.25rem;min-width:0}
.cs-name{font-family:var(--font-display);font-weight:600;font-size:1rem}
.co-sum .cd-totals{margin-top:.9rem}
.co-bulk{margin-top:1.1rem;padding:.9rem 1rem;border-radius:14px;background:var(--cream-2);display:flex;flex-direction:column;gap:.35rem}
.co-bulk b{font-size:.92rem}
.co-bulk p{font-size:.84rem;line-height:1.5;color:var(--ink-soft)}
.co-bulk .co-wa{margin:.2rem 0 0;text-align:left;color:var(--burgundy);font-weight:700}
.cd-bulk{display:block;text-align:center;margin-top:.7rem;font:600 .8rem var(--font-body);color:var(--burgundy);text-decoration:underline;text-underline-offset:3px}
.pdp-bulk{font:600 .82rem var(--font-body);color:var(--burgundy);text-decoration:underline;text-underline-offset:3px;margin-top:-.4rem}

@media(max-width:900px){
  .co-grid{grid-template-columns:1fr}
  .co-sum{order:-1;position:static}
  .co-sum summary{cursor:pointer}
  .co-sum summary b{display:inline}
  .co-sum summary span::after{content:" ▾";font-size:.8em;color:var(--ink-soft)}
  .co-sum details[open] summary span::after{content:" ▴"}
}
@media(max-width:560px){
  .co-main{padding-top:5.6rem}
  .co-2{grid-template-columns:1fr}
  .co-card{padding:1.1rem 1.1rem 1.3rem}
  .co-secure{font-size:.62rem;letter-spacing:.08em}
}

.pdp-how{margin-top:1.6rem;padding-top:1.2rem;border-top:1px solid var(--line,rgba(0,0,0,.12))}
.pdp-how h2{font:600 1.15rem/1.2 var(--serif,Georgia,serif);margin-bottom:.8rem;color:var(--pa)}
.pdp-how ol{list-style:none;counter-reset:s;display:flex;flex-direction:column;gap:.7rem}
.pdp-how li{counter-increment:s;position:relative;padding-left:2.2rem;font-size:.95rem;line-height:1.5;color:var(--ink-soft)}
.pdp-how li::before{content:counter(s);position:absolute;left:0;top:.05rem;width:1.5rem;height:1.5rem;border-radius:50%;background:var(--pas);color:var(--pa);font-weight:700;font-size:.8rem;display:grid;place-items:center}

.co-agree{margin-top:.5rem;font-size:.8rem}.co-agree a{color:inherit;text-underline-offset:3px}
