:root{
  --ink:#0B2545; --ink-2:#13315C;
  --blue:#1F6FEB; --blue-2:#1858BF;
  --paper:#FFFFFF; --bone:#F7F8FB; --hair:#E6E9EF;
  --muted:#5A6478; --ok:#10B981; --warn:#C84B31;
  --amber:#F59E0B; --amber-bg:#FEF3C7; --amber-fg:#92400E;
  --tg:#229ED9;
  --shadow: 0 1px 2px rgba(11,37,69,.04), 0 8px 24px rgba(11,37,69,.06);

  /* WordPress/WooCommerce readiness */
  --color-primary:#1F6FEB;
  --color-accent:#10B981;
  --color-bg:#FFFFFF;
  --color-surface:#F7F8FB;
  --color-text:#0B2545;
  --color-muted:#5A6478;
  --color-border:#E6E9EF;
  --font-base:'Inter',system-ui,-apple-system,sans-serif;
  --font-heading:'Newsreader',serif;
  --radius:12px;
  --spacing:24px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:'Inter',system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body{font-size:16px;line-height:1.5}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit;font-size:inherit}
input,select,textarea{font-family:inherit;font-size:16px}
img{max-width:100%;display:block}
.serif{font-family:'Newsreader',serif;font-weight:500;letter-spacing:-0.01em}
.container{max-width:1280px;margin:0 auto;padding:0 20px}
@media (min-width:720px){.container{padding:0 28px}}

/* ============ ANNOUNCEMENT BAR ============ */
.announce{background:var(--ink);color:#EAF1FF;font-size:13px;text-align:center;padding:10px 16px;display:flex;align-items:center;justify-content:center;gap:14px;position:relative;min-height:40px}
.announce .dot{width:6px;height:6px;border-radius:50%;background:#5DE1A6;box-shadow:0 0 0 4px rgba(93,225,166,.18);flex:none}
.announce .full{display:inline}
.announce .short{display:none}
.announce a{color:#86B6FF;font-weight:500;text-decoration:underline;text-underline-offset:2px}
.announce .x{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;color:#9DB3D6;border-radius:6px;font-size:14px}
.announce .x:hover{background:rgba(255,255,255,.08);color:#fff}
@media (max-width:720px){
  .announce{font-size:12px;padding:6px 40px 6px 12px;min-height:28px;line-height:1.3}
  .announce .full{display:none}
  .announce .short{display:inline}
  .announce .x{right:4px;width:28px;height:28px}
}

/* ============ HEADER / NAV ============ */
header.nav{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.94);backdrop-filter:saturate(160%) blur(10px);border-bottom:1px solid var(--hair)}
.navrow{display:flex;align-items:center;justify-content:space-between;height:64px}
@media (min-width:720px){.navrow{height:74px}}
.logo{display:flex;align-items:center;gap:10px;font-weight:700;font-size:19px;letter-spacing:-.01em}
.logo img{width:34px;height:34px;object-fit:contain}
.logo b{color:var(--ink);font-weight:700}
.logo i{color:var(--blue);font-style:normal;font-weight:500}
nav.primary{display:none;gap:4px}
nav.primary a{padding:10px 14px;border-radius:8px;font-size:14px;font-weight:500;color:#2A3656;transition:.15s}
nav.primary a:hover{background:var(--bone);color:var(--ink)}
nav.primary a.active{color:var(--blue)}
@media (min-width:980px){nav.primary{display:flex}}
.toolbar{display:flex;gap:2px;align-items:center}
.iconbtn{width:44px;height:44px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;color:#2A3656;transition:.15s;position:relative}
.iconbtn:hover{background:var(--bone);color:var(--ink)}
.cart-count{position:absolute;top:6px;right:6px;background:var(--blue);color:#fff;font-size:10px;font-weight:600;min-width:16px;height:16px;border-radius:10px;display:flex;align-items:center;justify-content:center;padding:0 4px}
.hamburger{display:inline-flex}
@media (min-width:980px){.hamburger{display:none}}

/* Mobile drawer */
.mob-scrim{position:fixed;inset:0;background:rgba(11,37,69,.4);z-index:55;opacity:0;pointer-events:none;transition:.2s}
.mob-scrim.show{opacity:1;pointer-events:auto}
.mob-nav{position:fixed;top:0;right:0;bottom:0;width:min(85vw,360px);background:#fff;z-index:56;transform:translateX(100%);transition:.25s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;box-shadow:-12px 0 40px rgba(11,37,69,.18)}
.mob-nav.show{transform:translateX(0)}
.mob-nav header{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--hair)}
.mob-nav nav{flex:1;padding:12px;overflow-y:auto}
.mob-nav nav a{display:block;padding:16px 18px;font-size:18px;font-weight:500;color:var(--ink);border-radius:10px;min-height:48px}
.mob-nav nav a:hover,.mob-nav nav a.active{background:var(--bone);color:var(--blue)}
.mob-nav .tg-cta{margin:16px;padding:14px;background:var(--tg);color:#fff;border-radius:12px;display:flex;align-items:center;gap:10px;font-weight:600;font-size:15px;justify-content:center;min-height:48px}

/* ============ HERO ============ */
.hero{position:relative;padding:48px 0 72px;overflow:hidden;border-bottom:1px solid var(--hair)}
@media (min-width:720px){.hero{padding:64px 0 88px}}
.hero::before{content:"";position:absolute;inset:0;background:
  radial-gradient(900px 480px at 80% 20%, rgba(31,111,235,.08), transparent 60%),
  linear-gradient(180deg, #FBFCFE, #fff);z-index:0}
.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1fr;gap:32px;align-items:center}
@media (min-width:980px){.hero-grid{grid-template-columns:1.1fr 1fr;gap:48px}}
.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--blue);font-weight:600}
.eyebrow .bar{width:24px;height:1px;background:var(--blue)}
h1.hero-title{font-size:clamp(34px,8vw,72px);line-height:1.02;letter-spacing:-.025em;font-weight:700;margin:16px 0 18px}
h1.hero-title em{font-style:italic;font-family:'Newsreader',serif;font-weight:500;color:var(--blue)}
.hero p.lede{font-size:16px;line-height:1.55;color:var(--muted);max-width:520px;margin:0 0 28px}
@media (min-width:720px){.hero p.lede{font-size:17px;margin:0 0 32px}}
.cta-row{display:flex;gap:12px;align-items:stretch;flex-direction:column}
@media (min-width:560px){.cta-row{flex-direction:row;align-items:center;flex-wrap:wrap}}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 22px;border-radius:10px;font-weight:600;font-size:14.5px;letter-spacing:.01em;transition:.18s;border:1px solid transparent;min-height:48px;text-align:center}
.btn.primary{background:var(--ink);color:#fff}
.btn.primary:hover{background:#000}
.btn.ghost{background:#fff;color:var(--ink);border-color:var(--hair)}
.btn.ghost:hover{border-color:var(--ink)}
.btn.blue{background:var(--blue);color:#fff}
.btn.blue:hover{background:var(--blue-2)}
.btn.tg{background:var(--tg);color:#fff}
.btn.tg:hover{background:#1B86B8}
@media (max-width:560px){.cta-row .btn{width:100%}}
.hero-stats{display:flex;gap:18px;margin-top:36px;padding-top:24px;border-top:1px solid var(--hair);max-width:520px}
@media (min-width:720px){.hero-stats{gap:32px;margin-top:48px;padding-top:28px}}
.hero-stats .s{flex:1;min-width:0}
.hero-stats .num{font-family:'Newsreader',serif;font-size:24px;font-weight:600;letter-spacing:-.02em}
@media (min-width:720px){.hero-stats .num{font-size:30px}}
.hero-stats .lbl{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-top:4px;line-height:1.3}
@media (min-width:720px){.hero-stats .lbl{font-size:12px}}
.hero-vial{position:relative;height:380px;display:flex;align-items:center;justify-content:center}
@media (min-width:720px){.hero-vial{height:560px}}
.hero-vial .ring{position:absolute;border-radius:50%;border:1px solid rgba(31,111,235,.2)}
.hero-vial .ring.r1{width:480px;height:480px;border-style:dashed;animation:slowSpin 60s linear infinite}
@media (max-width:720px){.hero-vial .ring.r1{width:300px;height:300px}}
@keyframes slowSpin{to{transform:rotate(360deg)}}
.hero-vial img{position:relative;height:280px;width:auto;filter:drop-shadow(0 30px 60px rgba(11,37,69,.15))}
@media (min-width:720px){.hero-vial img{height:480px}}
.hero-tag{position:absolute;background:#fff;border:1px solid var(--hair);border-radius:8px;padding:4px 10px;display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:500;box-shadow:var(--shadow);white-space:nowrap}
.hero-tag .dotg{width:7px;height:7px;border-radius:50%;background:var(--ok)}
.hero-tag.t1{top:8%;left:0%}
.hero-tag.t2{bottom:14%;right:-4%}
.hero-tag.t3{top:46%;right:-8%}
@media (max-width:720px){
  .hero-tag.t1,.hero-tag.t2,.hero-tag.t3{display:none}
  .hero-pills{display:flex;gap:6px;flex-wrap:wrap;justify-content:center;margin-top:14px}
  .hero-pills .p{font-size:11px;padding:4px 10px;background:#fff;border:1px solid var(--hair);border-radius:999px;color:var(--ink);font-weight:500;display:inline-flex;align-items:center;gap:5px}
  .hero-pills .p .dotg{width:6px;height:6px;border-radius:50%;background:var(--ok)}
}
@media (min-width:720px){.hero-pills{display:none}}

/* ============ SHOP / PRODUCTS ============ */
.block{padding:64px 0}
@media (min-width:720px){.block{padding:96px 0}}
.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:32px;flex-wrap:wrap}
.section-head h2{margin:8px 0 0;font-family:'Newsreader',serif;font-weight:500;font-size:clamp(28px,5vw,44px);letter-spacing:-.02em;line-height:1.1}
.section-head p.sub{color:var(--muted);font-size:15px;margin:8px 0 0;max-width:540px;line-height:1.55}

.presale-bar{background:var(--amber-bg);border:1px solid var(--amber);color:var(--amber-fg);border-radius:12px;padding:14px 16px;font-size:13.5px;line-height:1.5;display:flex;gap:10px;align-items:flex-start;margin-bottom:24px}
.presale-bar svg{flex:none;color:var(--amber);margin-top:2px}
.presale-bar b{font-weight:600}
@media (max-width:560px){.presale-bar{font-size:13px;padding:12px 14px}}

.product-rail{position:relative}
.product-grid{display:grid;grid-template-columns:1fr;gap:18px}
@media (min-width:720px){.product-grid{grid-template-columns:repeat(2,1fr);gap:24px}}
/* Mobile carousel mode */
@media (max-width:719px){
  .product-grid.carousel{display:flex;grid-template-columns:none;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 20px 20px;margin:0 -20px;scroll-padding-left:20px;-webkit-overflow-scrolling:touch}
  .product-grid.carousel::-webkit-scrollbar{display:none}
  .product-grid.carousel{scrollbar-width:none}
  .product-grid.carousel .pcard{flex:0 0 calc(100vw - 56px);max-width:340px;scroll-snap-align:center}
}
.rail-arrow{position:absolute;top:48%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;background:#fff;border:1px solid var(--hair);box-shadow:0 4px 12px rgba(11,37,69,.12);display:none;align-items:center;justify-content:center;color:var(--ink);z-index:3}
.rail-arrow:disabled{opacity:.35;cursor:default}
.rail-arrow.l{left:4px} .rail-arrow.r{right:4px}
@media (max-width:719px){.rail-arrow{display:flex}}
.rail-dots{display:none;justify-content:center;gap:6px;margin-top:14px}
.rail-dots .d{width:6px;height:6px;border-radius:50%;background:var(--hair);transition:.2s}
.rail-dots .d.on{background:var(--blue);width:18px;border-radius:3px}
@media (max-width:719px){.rail-dots{display:flex}}

.pcard{background:#fff;border:1px solid var(--hair);border-radius:16px;overflow:hidden;display:flex;flex-direction:column;transition:.2s;position:relative}
.pcard:hover{border-color:#C9D2E0;box-shadow:var(--shadow)}
.pcard .imgwrap{position:relative;background:linear-gradient(180deg,#FAFBFD,#fff);height:220px;display:flex;align-items:center;justify-content:center;padding:20px;border-bottom:1px solid var(--hair)}
.pcard .imgwrap img{height:200px;width:auto;object-fit:contain;transition:.3s}
.pcard:hover .imgwrap img{transform:translateY(-4px) scale(1.04)}
.presale-badge{position:absolute;top:12px;left:12px;background:var(--amber-bg);color:var(--amber-fg);border:1px solid var(--amber);font-size:11px;padding:4px 10px;border-radius:999px;font-weight:600;display:inline-flex;align-items:center;gap:5px;cursor:help;z-index:2}
.presale-badge:hover .tip,.presale-badge:focus .tip{opacity:1;pointer-events:auto;transform:translateY(0)}
.presale-badge .tip{position:absolute;top:calc(100% + 8px);left:0;width:240px;background:var(--ink);color:#EAF1FF;font-size:12px;padding:10px 12px;border-radius:8px;line-height:1.45;font-weight:400;opacity:0;pointer-events:none;transform:translateY(-4px);transition:.18s;z-index:5}
.purity-badge{position:absolute;top:12px;right:12px;background:var(--blue);color:#fff;font-size:10.5px;padding:4px 10px;border-radius:999px;font-weight:600;letter-spacing:.04em}
.pcard .body{padding:18px 20px 20px;display:flex;flex-direction:column;flex:1}
.product-name-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:4px}
.pcard .name{font-size:17px;font-weight:600;letter-spacing:-.01em;margin:0}
.product-badge{display:inline-flex;align-items:center;font-size:10.5px;font-weight:600;padding:3px 9px;border-radius:999px;letter-spacing:.03em;flex:none}
.limited-stock-badge{background:var(--amber-bg);color:var(--amber-fg);border:1px solid var(--amber)}
.pcard .meta{font-size:12.5px;color:var(--muted);margin-bottom:14px}
.pricing{display:flex;gap:8px;margin-bottom:14px;flex-wrap:wrap}
.price-opt{flex:1;min-width:120px;background:var(--bone);border:1px solid var(--hair);border-radius:10px;padding:10px 12px;display:flex;flex-direction:column;gap:2px;cursor:pointer;transition:.15s;position:relative}
.price-opt:hover{border-color:#C9D2E0}
.price-opt.selected{border-color:var(--blue);background:#F2F7FF;box-shadow:0 0 0 3px rgba(31,111,235,.1)}
.price-opt .qty{font-size:11.5px;color:var(--muted);font-weight:500;text-transform:uppercase;letter-spacing:.06em}
.price-opt .price{font-size:17px;font-weight:600;letter-spacing:-.01em;color:var(--ink)}
.price-opt .save{position:absolute;top:-7px;right:-6px;background:var(--ok);color:#fff;font-size:9.5px;padding:2px 7px;border-radius:999px;font-weight:600}
.pcard .order{margin-top:auto;width:100%;padding:13px;background:var(--ink);color:#fff;border-radius:10px;font-weight:600;font-size:14px;display:flex;align-items:center;justify-content:center;gap:8px;min-height:46px}
.pcard .order:hover{background:var(--blue)}

/* Coming soon */
.coming-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:16px}
@media (min-width:720px){.coming-grid{grid-template-columns:repeat(4,1fr);gap:18px}}
.cscard{background:#fff;border:1px solid var(--hair);border-radius:14px;overflow:hidden;position:relative}
.cscard .imgwrap{position:relative;background:#F4F6FA;height:120px;display:flex;align-items:center;justify-content:center;padding:14px;border-bottom:1px solid var(--hair);overflow:hidden}
@media (min-width:720px){.cscard .imgwrap{height:170px;padding:18px}}
.cscard .imgwrap img{height:100%;width:auto;object-fit:contain;filter:blur(10px) saturate(.85);opacity:.85;transform:scale(1.05)}
.cscard .badge-cs{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:rgba(11,37,69,.92);color:#fff;font-size:11px;letter-spacing:.06em;text-transform:uppercase;font-weight:600;padding:6px 12px;border-radius:999px;backdrop-filter:blur(4px)}
.cscard .body{padding:14px 14px 14px;display:flex;flex-direction:column;gap:10px}
.cscard .name{font-size:14px;font-weight:600;color:var(--ink);text-align:center}
@media (min-width:720px){.cscard .name{font-size:15px}}
.cscard .notify{padding:10px;background:var(--bone);color:var(--muted);border:1px solid var(--hair);border-radius:8px;font-size:12px;font-weight:500;text-align:center;display:flex;align-items:center;justify-content:center;gap:6px;min-height:40px;cursor:not-allowed}
.cscard .notify.on{background:#fff;color:var(--tg);border-color:#B5E0F0;cursor:pointer}
.cscard .notify.on:hover{border-color:var(--tg);background:#F0F9FF}
.sold-out-label{padding:10px;background:var(--bone);color:var(--muted);border:1px solid var(--hair);border-radius:8px;font-size:12px;font-weight:500;text-align:center;display:flex;align-items:center;justify-content:center;min-height:40px;cursor:default;opacity:.6;letter-spacing:.04em;text-transform:uppercase;font-size:11px}

/* ============ POPUPS / MODALS ============ */
.scrim{position:fixed;inset:0;background:rgba(11,37,69,.55);backdrop-filter:blur(4px);z-index:80;opacity:0;pointer-events:none;transition:.2s}
.scrim.show{opacity:1;pointer-events:auto}
.modal{position:fixed;inset:0;z-index:81;display:flex;align-items:center;justify-content:center;padding:16px;opacity:0;pointer-events:none;transition:.25s}
.modal.show{opacity:1;pointer-events:auto}
.modal .box{background:#fff;border-radius:18px;width:100%;max-width:480px;max-height:90vh;overflow-y:auto;padding:28px 24px;box-shadow:0 30px 80px rgba(11,37,69,.25);transform:translateY(8px) scale(.98);transition:.25s}
@media (min-width:560px){.modal .box{padding:32px 28px}}
.modal.show .box{transform:translateY(0) scale(1)}
.modal .ic{width:54px;height:54px;border-radius:14px;background:#F2F7FF;color:var(--blue);display:flex;align-items:center;justify-content:center;margin-bottom:14px}
.modal h3{margin:0 0 8px;font-size:22px;font-family:'Newsreader',serif;font-weight:500;letter-spacing:-.02em;line-height:1.15}
@media (min-width:560px){.modal h3{font-size:26px}}
.modal p.lede{margin:0 0 18px;color:var(--muted);font-size:15px;line-height:1.55}
.modal .opts{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:8px}
@media (max-width:480px){.modal .opts{grid-template-columns:1fr}}
.modal .opts button{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:14px;background:#fff;border:1.5px solid var(--hair);border-radius:12px;text-align:left;font-size:14px;font-weight:600;color:var(--ink);transition:.15s;min-height:88px}
.modal .opts button:hover{border-color:var(--blue);background:#F2F7FF}
.modal .opts button .flagbig{width:44px;height:32px;display:inline-flex;border-radius:4px;overflow:hidden;border:1px solid var(--hair)}
.modal .skip{margin:18px auto 0;display:block;color:var(--muted);font-size:13px;font-weight:500;padding:8px 12px;border-radius:6px;min-height:36px}
.modal .skip:hover{color:var(--ink)}
.eu-offline{padding:18px;background:linear-gradient(180deg,#FFF8E6,#FFFEFB);border:1px solid #F0DCA1;border-radius:14px;margin-top:8px}
.eu-offline .h{display:flex;align-items:center;gap:10px;font-weight:600;color:#7A5C00;margin-bottom:8px;font-size:15px}
.eu-offline p{margin:0 0 14px;font-size:13.5px;color:#5A4400;line-height:1.55}
.eu-offline .row{display:flex;flex-direction:column;gap:8px}
.eu-offline .back-link{margin-top:12px;display:block;text-align:center;color:var(--muted);font-size:13px;padding:8px;min-height:36px}

/* Age modal */
.age-modal .box{max-width:540px}
.age-modal .stamp{display:inline-flex;align-items:center;gap:10px;background:#F2F7FF;color:var(--blue);font-size:11.5px;font-weight:600;padding:6px 12px;border-radius:999px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:14px}
.age-modal h3{font-size:24px;line-height:1.15}
@media (min-width:560px){.age-modal h3{font-size:28px}}
.age-modal .body{font-size:14.5px;line-height:1.6;color:var(--ink-2)}
.age-modal .body p{margin:0 0 12px}
.age-modal .body ol{margin:0 0 16px;padding-left:22px}
.age-modal .body ol li{margin-bottom:4px}
.age-modal .actions{display:flex;flex-direction:column;gap:10px;margin-top:18px}
@media (min-width:480px){.age-modal .actions{flex-direction:row}}
.age-modal .actions .btn{flex:1;min-height:52px;font-size:15px}
.age-modal .legal{margin:14px 0 0;font-size:11.5px;color:var(--muted);text-align:center;line-height:1.5}

/* ============ DRAWER (cart) ============ */
.drawer{position:fixed;top:0;right:0;bottom:0;width:min(94vw,440px);background:#fff;z-index:62;transform:translateX(100%);transition:.3s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;box-shadow:-12px 0 40px rgba(11,37,69,.18)}
.drawer.show{transform:translateX(0)}
.drawer header{padding:20px 24px;border-bottom:1px solid var(--hair);display:flex;justify-content:space-between;align-items:center}
.drawer header h3{margin:0;font-size:18px;font-weight:600;letter-spacing:-.01em}
.drawer header h3 small{color:var(--muted);font-weight:400;font-size:13px;margin-left:8px}
.drawer .items{flex:1;overflow-y:auto;padding:8px 16px}
.drawer .empty{padding:48px 24px;text-align:center;color:var(--muted);font-size:14px}
.drawer .citem{display:flex;gap:14px;padding:16px 8px;border-bottom:1px solid var(--hair)}
.drawer .citem .thumb{width:64px;height:64px;background:var(--bone);border-radius:10px;display:flex;align-items:center;justify-content:center;flex:none;padding:6px}
.drawer .citem .thumb img{max-height:100%;width:auto}
.drawer .citem .info{flex:1;min-width:0}
.drawer .citem .info b{display:block;font-weight:500;font-size:14.5px;letter-spacing:-.005em;margin-bottom:2px}
.drawer .citem .info span{font-size:12.5px;color:var(--muted)}
.drawer .citem .qty{display:inline-flex;align-items:center;gap:8px;margin-top:8px;background:var(--bone);border:1px solid var(--hair);border-radius:8px;padding:2px}
.drawer .citem .qty button{width:26px;height:26px;border-radius:6px;font-weight:600;color:var(--muted)}
.drawer .citem .qty button:hover{background:#fff;color:var(--ink)}
.drawer .citem .qty span{min-width:18px;text-align:center;font-size:13px;font-weight:600}
.drawer .citem .price{font-size:14.5px;font-weight:600;letter-spacing:-.01em}
.drawer .citem .x{margin-left:auto;color:var(--muted);width:28px;height:28px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:14px}
.drawer .citem .x:hover{color:var(--warn);background:var(--bone)}
.drawer footer{padding:20px 24px;border-top:1px solid var(--hair);background:#fff}
.drawer .totalrow{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}
.drawer .totalrow .l{color:var(--muted);font-size:13px}
.drawer .totalrow .v{font-weight:600;font-size:22px;letter-spacing:-.01em}
.drawer .checkout{width:100%;padding:16px;background:var(--ink);color:#fff;border-radius:10px;font-weight:600;font-size:14.5px;display:flex;align-items:center;justify-content:center;gap:10px;min-height:52px}
.drawer .checkout:hover{background:var(--blue)}
.drawer .note{font-size:11.5px;color:var(--muted);text-align:center;margin-top:10px;line-height:1.5}

/* ============ FOOTER ============ */
footer.site{background:var(--ink);color:#9DB3D6;padding:48px 0 24px;font-size:14px}
.foot-grid{display:grid;grid-template-columns:1fr;gap:32px;margin-bottom:32px}
@media (min-width:720px){.foot-grid{grid-template-columns:1.5fr 1fr 1fr 1fr;gap:40px}}
footer.site .lead{font-size:14.5px;line-height:1.6;color:#C9D9F2;max-width:380px}
.foot-lead{margin-top:14px}
footer.site h5{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#fff;margin:0 0 14px;font-weight:600}
footer.site ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}
footer.site ul a{display:inline-block;padding:4px 0;min-height:32px;line-height:1.5}
footer.site ul a:hover{color:#fff}
footer.site .tg-link{display:inline-flex;align-items:center;gap:10px;padding:12px 18px;background:rgba(34,158,217,.18);border:1px solid rgba(34,158,217,.4);border-radius:10px;color:#fff;font-weight:500;font-size:14px;min-height:48px}
footer.site .tg-link:hover{background:var(--tg)}
footer.site .copy{border-top:1px solid rgba(255,255,255,.08);padding-top:20px;font-size:12px;color:#7B91B5;display:flex;flex-direction:column;gap:8px;justify-content:space-between}
@media (min-width:720px){footer.site .copy{flex-direction:row;align-items:center}}

/* ============ TOAST ============ */
.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(20px);background:var(--ink);color:#fff;padding:12px 20px;border-radius:10px;font-size:13.5px;display:flex;align-items:center;gap:8px;box-shadow:0 12px 40px rgba(11,37,69,.3);z-index:90;opacity:0;pointer-events:none;transition:.25s;font-weight:500}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
.toast svg{color:var(--ok)}

/* ============ CHECKOUT (full-page) ============ */
.checkout-page{position:fixed;inset:0;background:#FAFBFD;z-index:85;overflow:auto;display:flex;flex-direction:column;opacity:0;pointer-events:none;transition:.25s}
.checkout-page.show{opacity:1;pointer-events:auto}
.checkout-bar{background:#fff;border-bottom:1px solid var(--hair);padding:14px 16px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:5;gap:12px}
@media (min-width:720px){.checkout-bar{padding:18px 28px}}
.checkout-bar .back{display:inline-flex;align-items:center;gap:8px;font-size:13.5px;color:var(--muted);font-weight:500;padding:8px 12px;border-radius:8px;min-height:40px}
.checkout-bar .back:hover{background:var(--bone);color:var(--ink)}
.checkout-bar .mid-logo{display:none}
@media (min-width:720px){.checkout-bar .mid-logo{display:flex}}
.checkout-bar .secure{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--muted);font-weight:500}
.checkout-bar .secure svg{color:var(--ok);width:14px;height:14px}
@media (max-width:560px){.checkout-bar .secure span{display:none}}

.checkout-grid{flex:1;max-width:1180px;margin:0 auto;width:100%;padding:24px 16px 100px;display:grid;grid-template-columns:1fr;gap:24px;align-items:flex-start}
@media (min-width:920px){.checkout-grid{grid-template-columns:1.4fr 1fr;gap:36px;padding:32px 28px 64px}}
.co-section{background:#fff;border:1px solid var(--hair);border-radius:14px;padding:22px;margin-bottom:16px}
@media (min-width:720px){.co-section{padding:28px}}
.co-section h3{margin:0 0 4px;font-size:17px;letter-spacing:-.01em;display:flex;align-items:center;gap:10px}
.co-section h3 .num{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:var(--ink);color:#fff;font-size:12px;font-weight:600}
.co-section .lede{margin:0 0 16px;color:var(--muted);font-size:13.5px;line-height:1.55;padding-left:34px}
.co-form{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding-left:34px}
.co-form .full{grid-column:1 / -1}
@media (max-width:640px){.co-form{padding-left:0;grid-template-columns:1fr}}
.co-form label{display:block;font-size:11px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.1em;margin-bottom:6px}
.co-form input,.co-form select{width:100%;padding:13px 14px;border:1px solid var(--hair);border-radius:10px;font-size:16px;outline:none;background:#fff;transition:.15s;min-height:48px}
.co-form input:focus,.co-form select:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(31,111,235,.15)}

.crypto-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding-left:34px}
@media (max-width:640px){.crypto-grid{grid-template-columns:1fr;padding-left:0}}
.crypto-opt{position:relative;background:#fff;border:1.5px solid var(--hair);border-radius:12px;padding:14px;display:flex;flex-direction:column;align-items:flex-start;gap:8px;cursor:pointer;transition:.15s;text-align:left;min-height:96px}
.crypto-opt:hover{border-color:#C9D2E0;background:#FAFBFD}
.crypto-opt.selected{border-color:var(--blue);background:#F2F7FF;box-shadow:0 0 0 3px rgba(31,111,235,.1)}
.crypto-opt .icon{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:14px;flex:none}
.crypto-opt .ticker{font-weight:600;font-size:14.5px;letter-spacing:-.005em}
.crypto-opt .name{font-size:11.5px;color:var(--muted);margin-top:-4px}
.crypto-opt .check{position:absolute;top:10px;right:10px;width:18px;height:18px;border-radius:50%;border:1.5px solid var(--hair);background:#fff}
.crypto-opt.selected .check{background:var(--blue);border-color:var(--blue)}
.crypto-opt.selected .check::after{content:"";position:absolute;top:3px;left:3px;width:10px;height:10px;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><polyline points='20 6 9 17 4 12'/></svg>");background-size:contain;background-repeat:no-repeat}

.summary{position:relative}
@media (min-width:920px){.summary{position:sticky;top:96px}}
.summary-card{background:#fff;border:1px solid var(--hair);border-radius:14px;padding:20px}
@media (min-width:720px){.summary-card{padding:24px}}
.summary h4{margin:0 0 14px;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:600}
.summary-line{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid var(--hair);align-items:center}
.summary-line:last-of-type{border-bottom:none}
.summary-line .thumb{width:44px;height:44px;background:var(--bone);border-radius:8px;display:flex;align-items:center;justify-content:center;flex:none;padding:4px}
.summary-line .thumb img{max-width:100%;max-height:100%}
.summary-line .det{flex:1;font-size:13.5px;min-width:0}
.summary-line .det b{font-weight:500;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.summary-line .det span{color:var(--muted);font-size:12px}
.summary-line .amt{font-weight:600;font-size:13.5px;white-space:nowrap}
.summary-totals{padding:14px 0 0;font-size:13.5px;display:flex;flex-direction:column;gap:8px}
.summary-totals .r{display:flex;justify-content:space-between;gap:10px}
.summary-totals .r.muted{color:var(--muted)}
.summary-totals .r.total{margin-top:6px;padding-top:14px;border-top:1px solid var(--hair);font-size:18px;font-weight:600;letter-spacing:-.01em}
.summary-totals .r.crypto{font-family:'JetBrains Mono','Menlo',monospace;color:var(--blue);font-size:13px;font-weight:500}
.place-btn{width:100%;padding:16px;background:var(--ink);color:#fff;border-radius:10px;font-weight:600;font-size:14.5px;display:flex;align-items:center;justify-content:center;gap:10px;margin-top:16px;transition:.15s;min-height:52px}
.place-btn:hover:not(:disabled){background:var(--blue)}
.place-btn:disabled{background:var(--bone);color:var(--muted);cursor:not-allowed}
.place-note{font-size:11.5px;color:var(--muted);text-align:center;margin-top:10px;line-height:1.5}
.norway-notice{display:flex;align-items:center;gap:12px;background:#EEF4FF;border:1px solid #C3D7FF;border-radius:10px;padding:12px 16px;margin-bottom:18px}
.norway-flag{font-size:24px;flex:none;line-height:1}
.norway-notice-title{display:block;font-size:13px;font-weight:600;color:var(--ink);margin-bottom:2px}
.norway-notice-sub{display:block;font-size:12px;color:var(--muted);line-height:1.4}
.tos-note{font-size:12px;color:var(--muted);text-align:center;margin:12px 0 4px;line-height:1.5}
.tos-note a{color:var(--muted);text-decoration:underline;text-underline-offset:2px}
.tos-note a:hover{color:var(--ink)}

/* Sticky mobile cart bar */
.mob-cart-bar{position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid var(--hair);padding:12px 16px;display:none;align-items:center;justify-content:space-between;gap:12px;z-index:6;box-shadow:0 -4px 16px rgba(11,37,69,.08)}
@media (max-width:919px){.mob-cart-bar.show{display:flex}}
.mob-cart-bar .ttl{font-size:12px;color:var(--muted)}
.mob-cart-bar .v{font-weight:600;font-size:18px;letter-spacing:-.01em;color:var(--ink)}

/* Pay screen */
.pay-wrap{max-width:880px;margin:24px auto 64px;padding:0 16px;display:flex;flex-direction:column;gap:16px}
@media (min-width:720px){.pay-wrap{padding:0 28px;gap:18px}}
.pay-hero{background:#fff;border:1px solid var(--hair);border-radius:16px;padding:24px;display:flex;gap:18px;align-items:center;flex-direction:column;text-align:center}
@media (min-width:640px){.pay-hero{flex-direction:row;text-align:left;padding:32px}}
.pay-hero h2{font-family:'Newsreader',serif;font-weight:500;font-size:24px;letter-spacing:-.02em;margin:0 0 6px;line-height:1.2}
@media (min-width:720px){.pay-hero h2{font-size:28px}}
.pay-hero .sub{color:var(--muted);font-size:13.5px;line-height:1.55;margin:0}
.pay-amounts{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}
@media (max-width:480px){.pay-amounts{grid-template-columns:1fr}}
.pay-amount{background:var(--bone);border:1px solid var(--hair);border-radius:12px;padding:14px}
.pay-amount .l{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-weight:600;margin-bottom:4px}
.pay-amount .v{font-family:'JetBrains Mono','Menlo',monospace;font-size:17px;font-weight:600;color:var(--ink);word-break:break-all}

.pay-card{background:#fff;border:1px solid var(--hair);border-radius:16px;padding:22px}
@media (min-width:720px){.pay-card{padding:28px}}
.pay-card h3{margin:0 0 6px;font-size:17px;letter-spacing:-.01em;display:flex;align-items:center;gap:10px}
.pay-card h3 .num{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:var(--ink);color:#fff;font-size:12px;font-weight:600;flex:none}
.pay-card .muted{color:var(--muted);font-size:13.5px;line-height:1.55;margin:0 0 14px}
.addr-block{background:var(--bone);border:1px solid var(--hair);border-radius:10px;padding:12px;margin-top:8px;display:flex;flex-direction:column;gap:10px}
.addr-line{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.addr-line .a{flex:1;min-width:0;font-family:'JetBrains Mono','Menlo',monospace;font-size:13px;word-break:break-all;color:var(--ink)}
.addr-line .a.truncated{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.addr-line .copy,.addr-line .toggle{padding:8px 12px;background:#fff;border:1px solid var(--hair);border-radius:8px;font-size:12px;font-weight:500;flex:none;min-height:36px}
.addr-line .copy:hover,.addr-line .toggle:hover{border-color:var(--blue);color:var(--blue)}
.qr-box{display:flex;justify-content:center;padding:8px}
.qr-box svg{background:#fff;border:1px solid var(--hair);border-radius:10px;padding:10px;width:160px;height:160px}
.net-pill{display:inline-flex;align-items:center;gap:6px;background:#F2F7FF;border:1px solid #C7DEFF;color:var(--blue);font-size:12px;padding:4px 10px;border-radius:999px;font-weight:500;margin-top:4px}

details.crypto-guide{background:#F2F7FF;border:1px solid #C7DEFF;border-radius:14px;padding:0;margin-top:8px;overflow:hidden}
details.crypto-guide summary{padding:16px 18px;font-weight:600;font-size:14px;color:var(--blue);cursor:pointer;display:flex;align-items:center;gap:10px;list-style:none;min-height:48px}
details.crypto-guide summary::-webkit-details-marker{display:none}
details.crypto-guide summary .arr{margin-left:auto;transition:.2s}
details.crypto-guide[open] summary .arr{transform:rotate(180deg)}
.step-list{list-style:none;padding:0 18px 18px;margin:0;counter-reset:s}
.step-list li{counter-increment:s;padding:12px 0 12px 40px;border-top:1px solid rgba(31,111,235,.15);position:relative;font-size:13.5px;line-height:1.55;color:var(--ink-2)}
.step-list li::before{content:counter(s);position:absolute;left:0;top:13px;width:26px;height:26px;border-radius:50%;background:#fff;border:1px solid #C7DEFF;color:var(--blue);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:11.5px}
.step-list li b{font-weight:600;color:var(--ink)}

/* I have paid button */
.paid-btn{position:relative;overflow:hidden;padding:16px 24px;background:linear-gradient(135deg,#1F6FEB,#0B2545);color:#fff;border-radius:12px;font-weight:600;font-size:14.5px;display:inline-flex;align-items:center;justify-content:center;gap:10px;box-shadow:0 4px 16px rgba(31,111,235,.3);transition:.2s;min-height:52px;width:100%}
.paid-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 24px rgba(31,111,235,.4)}
.paid-btn:active:not(:disabled){transform:translateY(0)}
.paid-btn:disabled{cursor:default;opacity:.95}
.paid-btn.done{background:linear-gradient(135deg,#10B981,#047857);box-shadow:0 4px 16px rgba(16,185,129,.3)}
.paid-btn .spin{width:16px;height:16px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:paid-spin .8s linear infinite}
@keyframes paid-spin{to{transform:rotate(360deg)}}
.paid-btn .check{display:inline-flex;animation:paid-pop .4s cubic-bezier(.34,1.56,.64,1) both}
@keyframes paid-pop{0%{transform:scale(0)}60%{transform:scale(1.3)}100%{transform:scale(1)}}
.confetti-layer{position:fixed;inset:0;pointer-events:none;z-index:200;overflow:hidden}
.confetti-piece{position:absolute;width:10px;height:14px;top:-20px;animation:confetti-fall linear forwards}
@keyframes confetti-fall{0%{transform:translateY(-20px) rotate(0);opacity:1}100%{transform:translateY(110vh) rotate(720deg);opacity:.7}}

/* ── Payment verification disclaimer ── */
.verify-notice{background:#FFFBEB;border:1px solid #FCD34D;border-radius:12px;padding:16px;margin-bottom:18px}
.verify-notice-row{display:flex;gap:12px;align-items:flex-start;margin-bottom:14px}
.verify-notice-row svg{color:#D97706;flex:none;margin-top:2px;width:18px;height:18px}
.verify-notice-row b{display:block;font-size:13.5px;color:#92400E;margin-bottom:3px}
.verify-notice-row p{margin:0;font-size:12.5px;color:#B45309;line-height:1.5}
.verify-email-box{background:#fff;border:1px solid #FCD34D;border-radius:10px;padding:14px 16px;font-size:13px;line-height:1.6;color:var(--ink)}
.verify-email-box p{margin:0 0 8px}
.verify-email-box ul{margin:0 0 10px;padding-left:20px}
.verify-email-box ul li{margin-bottom:4px}
.verify-subject{font-size:12px;color:var(--muted);padding:8px 12px;background:var(--bone);border-radius:7px;border:1px solid var(--hair)}
.verify-subject span{font-weight:600;color:var(--ink);font-family:'JetBrains Mono','Menlo',monospace}
.verify-checks{display:flex;flex-direction:column;gap:10px;margin-bottom:16px}
.verify-row{display:flex;align-items:flex-start;gap:12px;cursor:pointer;padding:12px;border:1px solid var(--hair);border-radius:10px;transition:border-color .15s,background .15s;-webkit-tap-highlight-color:transparent}
.verify-row:hover{border-color:var(--blue);background:#F2F7FF}
.verify-row span{font-size:13.5px;line-height:1.5;color:var(--ink-2);user-select:none}
.verify-box{width:20px;height:20px;border-radius:5px;border:2px solid var(--hair);background:#fff;display:flex;align-items:center;justify-content:center;flex:none;transition:border-color .15s,background .15s;margin-top:1px}
.verify-box.checked{background:var(--blue);border-color:var(--blue);color:#fff}
.verify-box.checked svg{width:12px;height:12px}
.verify-hint{text-align:center;font-size:12.5px;color:var(--muted);margin-bottom:12px;margin-top:-4px}
@media(max-width:480px){
  .verify-notice-row{flex-direction:column;gap:8px}
  .verify-row{padding:10px}
}

.thankyou{max-width:560px;margin:48px auto;padding:36px 24px;background:#fff;border:1px solid var(--hair);border-radius:18px;text-align:center}
.thankyou .ic{width:72px;height:72px;border-radius:50%;background:#10B981;color:#fff;display:flex;align-items:center;justify-content:center;margin:0 auto 18px;animation:paid-pop .5s cubic-bezier(.34,1.56,.64,1) both}
.thankyou h2{font-family:'Newsreader',serif;font-weight:500;font-size:28px;letter-spacing:-.02em;margin:0 0 10px}
.thankyou p{color:var(--muted);font-size:14.5px;line-height:1.6;margin:0 0 14px}
.thankyou .tg{display:inline-flex;margin-top:12px}
