/* Cart drawer, nav cart button and the shipping ticker: shared by the homepage
   and the compound pages. Served immutable: bump the ?v= where it is linked. */
/* ---------- cart ---------- */
.nav-cart{position:relative;display:inline-flex;align-items:center;justify-content:center;
  width:42px;height:42px;border-radius:11px;cursor:pointer;flex:none;
  background:var(--glass);border:1px solid var(--line-2);color:var(--text);transition:all .15s ease}
.nav-cart:hover{border-color:var(--cyan);color:var(--cyan)}
.nav-cart:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}
.nav-cart svg{width:19px;height:19px}
.nav-cart-count{position:absolute;top:-6px;right:-6px;min-width:19px;height:19px;padding:0 5px;
  display:flex;align-items:center;justify-content:center;border-radius:999px;
  font-family:'Space Grotesk';font-size:.65rem;font-weight:700;color:#04121A;
  background:linear-gradient(135deg,var(--cyan),var(--blue));box-shadow:0 3px 10px -2px rgba(37,228,200,.7)}
.cart-overlay{position:fixed;inset:0;z-index:90;background:rgba(4,7,14,.66);backdrop-filter:blur(3px);
  opacity:0;transition:opacity .28s ease}
.cart-overlay.on{opacity:1}
.cart-drawer{position:fixed;top:0;right:0;bottom:0;z-index:91;width:min(420px,100%);
  display:flex;flex-direction:column;background:var(--bg-2);border-left:1px solid var(--line);
  box-shadow:-24px 0 60px -30px rgba(0,0,0,.9);
  transform:translateX(100%);transition:transform .32s cubic-bezier(.2,.7,.2,1)}
.cart-drawer.on{transform:translateX(0)}
.cart-head{display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:20px 22px;border-bottom:1px solid var(--line);flex:none}
.cart-head h2{font-family:'Space Grotesk';font-size:1.15rem;font-weight:700}
.cart-close{width:34px;height:34px;border-radius:9px;cursor:pointer;font-size:1.3rem;line-height:1;
  background:none;border:1px solid var(--line-2);color:var(--muted);transition:all .15s ease}
.cart-close:hover{color:var(--text);border-color:var(--cyan)}
.cart-body{flex:1 1 auto;overflow-y:auto;padding:14px 22px}
.cart-empty{text-align:center;color:var(--muted);font-size:.9rem;padding:54px 10px}
.ci{position:relative;display:flex;gap:13px;padding:14px 0;border-bottom:1px solid var(--line)}
.ci:last-child{border-bottom:0}
.ci-img{flex:none;width:52px;height:68px;border-radius:9px;overflow:hidden;
  background:radial-gradient(circle at 50% 36%, rgba(37,228,200,.2), transparent 68%)}
.ci-img img{width:100%;height:100%;object-fit:contain}
.ci-main{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:4px}
.ci-name{font-family:'Space Grotesk';font-weight:600;font-size:.92rem;line-height:1.25;padding-right:26px}
.ci-var{font-family:'Geist Mono';font-size:.66rem;letter-spacing:.06em;color:var(--muted)}
.ci-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:3px}
.ci-qty{display:inline-flex;align-items:center;border:1px solid var(--line-2);border-radius:9px;overflow:hidden}
.ci-qty button{width:27px;height:27px;cursor:pointer;background:none;border:0;color:var(--muted);
  font-size:1rem;line-height:1;transition:all .15s ease}
.ci-qty button:hover{color:var(--cyan);background:var(--glass)}
.ci-qty span{min-width:26px;text-align:center;font-family:'Geist Mono';font-size:.76rem}
.ci-price{font-family:'Space Grotesk';font-weight:700;font-size:.95rem}
.ci-del{position:absolute;top:12px;right:0;width:24px;height:24px;border-radius:7px;
  display:flex;align-items:center;justify-content:center;line-height:1;font-size:1.05rem;
  background:none;border:0;cursor:pointer;color:var(--muted);transition:all .15s ease}
.ci-del:hover{color:#ff8a8a;background:rgba(255,138,138,.1)}
.ci-del:focus-visible{outline:2px solid var(--cyan);outline-offset:1px}
.cart-foot{flex:none;border-top:1px solid var(--line);padding:18px 22px 22px;background:rgba(7,11,20,.4)}
.cart-disc{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:8px;
  padding:8px 10px;border:1px solid rgba(37,228,200,.34);border-radius:8px;background:rgba(37,228,200,.07)}
.cart-disc span{flex:1 1 auto;min-width:0;font-size:.72rem;letter-spacing:.06em;line-height:1.45;
  text-transform:uppercase;color:var(--cyan)}
.cart-disc strong{flex:0 0 auto;font-family:'Geist Mono';font-size:.9rem;color:var(--cyan);white-space:nowrap}
.cart-disc[hidden]{display:none}
.cart-was{font-family:'Geist Mono';font-size:.95rem;color:var(--muted);text-decoration:line-through;margin-right:8px;font-weight:400}
.cart-sub{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:6px}
.cart-sub span{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.cart-sub strong{font-family:'Space Grotesk';font-size:1.5rem;font-weight:700}
.cart-note{font-size:.72rem;color:var(--muted);margin-bottom:14px;line-height:1.5}
/* shipping offers strip, directly under the nav */
/* A ticker, built on the same mechanics as the marquee under the hero: a
   max-content flex track holding the sequence twice, translated -50% so the
   second copy lands exactly where the first began. Scrolling also retires the
   alignment problem a centred strip had -- there is nothing to centre. */
.ship-bar{background:linear-gradient(90deg,rgba(37,228,200,.13),rgba(59,130,246,.13));
  border-bottom:1px solid var(--line);overflow:hidden;padding:17px 0}
.ship-bar-track{display:flex;width:max-content;animation:scroll 60s linear infinite}
.ship-bar-track span{display:flex;align-items:center;gap:56px;padding-right:56px;
  white-space:nowrap;font-size:17px;color:var(--text);letter-spacing:.01em}
.ship-bar-track b{color:var(--cyan);font-weight:600}
.ship-bar-track i{color:var(--muted);font-style:normal}
/* it carries real terms, so let people stop it to read them */
.ship-bar:hover .ship-bar-track{animation-play-state:paused}
@media(max-width:700px){
  .ship-bar{padding:11px 0}
  .ship-bar-track span{gap:26px;padding-right:26px;font-size:.84rem}
}
.cart-nudge{font-size:.8rem;color:var(--cyan);margin-bottom:12px;padding:9px 12px;border-radius:9px;
  background:rgba(37,228,200,.06);border:1px dashed rgba(37,228,200,.4)}
.cart-est{margin:10px 0 8px}
.cart-est label{display:block;font-size:.64rem;letter-spacing:.12em;text-transform:uppercase;
  color:var(--muted);margin-bottom:6px}
.cart-est input{width:100%;font-family:'Inter';font-size:.88rem;color:var(--text);outline:none;
  background:rgba(7,11,20,.6);border:1px solid var(--line-2);border-radius:9px;padding:9px 12px}
.cart-est input:focus{border-color:var(--cyan)}
.cart-est-out{font-size:.78rem;color:var(--muted);margin-top:8px}
.cart-est-out:empty{display:none}
.cart-est-opt{display:flex;justify-content:space-between;gap:10px;padding:4px 0}
.cart-est-opt b{color:var(--text);font-family:'Space Grotesk'}
.cart-est-opt.free b{color:var(--cyan)}
.cart-checkout{width:100%;justify-content:center;text-align:center}
.cart-checkout[aria-disabled="true"]{opacity:.4;pointer-events:none}
@media(max-width:480px){ .cart-drawer{width:100%} }
