/* TapNow premium theme: midnight emerald, neutral stone accents, soft off-white. Loaded last on every page. */
:root{--night:#041612;--emer:#0a2c23;--gold:#9a9188;--gold2:#e2ddd6;--goldg:linear-gradient(135deg,#f4f2ee 0%,#d6d0c8 45%,#aea69c 100%);
  --mint:#1fb88f;--deep:#0b4a3a;--ink:#062a21;--paper:#fcfcfa;--soft:#f3f2ef;--line:#e3e0da;--txt:#18261f;--acc:#0b3d30;
  --serif:"Frank Ruhl Libre",Heebo,serif;--shadow:0 40px 80px -50px rgba(4,22,18,.45),0 12px 30px -20px rgba(4,22,18,.25)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--paper:#081713;--soft:#0b1f19;--line:#1f3a31;--txt:#e3ece7;--acc:#8fe6cb;--gold:#bcb4aa}}

body{background:var(--paper);font-weight:400;letter-spacing:.005em;-webkit-font-smoothing:antialiased}
body::after{content:"";position:fixed;inset:0;z-index:100;pointer-events:none;opacity:.035;mix-blend-mode:multiply;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
::selection{background:var(--gold2);color:var(--night)}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.wrap{max-width:1160px}

/* Type */
h1,h2,.sbody h3,.vi h3,.prod h3,.contact h2{font-family:var(--serif);font-weight:700;letter-spacing:-.015em}
h1{font-weight:900;line-height:1.02}
h2{font-size:clamp(34px,5vw,58px);line-height:1.08;margin-bottom:22px}
h2::after{content:"";display:block;width:56px;height:2px;margin-top:20px;background:var(--goldg);border-radius:2px}
.contact h2::after{margin-inline:auto}
.kicker{color:var(--gold);font-size:12px;letter-spacing:.38em;margin-bottom:12px;display:flex;align-items:center;gap:12px}
.kicker::before{content:"";width:28px;height:1px;background:var(--gold)}
.contact .kicker{justify-content:center}
section{padding:120px 0}
.alt{background:var(--soft)}

/* Lighting: hero, contact (and product page heroes) */
.hero,.contact{color:#f4f1ea;background:
  radial-gradient(48% 60% at 78% 8%,rgba(52,214,170,.30),transparent 62%),
  radial-gradient(40% 50% at 8% 95%,rgba(154,145,136,.16),transparent 65%),
  radial-gradient(90% 70% at 50% 120%,rgba(10,60,46,.9),transparent 70%),
  linear-gradient(175deg,#072820 0%,#041612 55%,#030f0c 100%);
  box-shadow:inset 0 -1px 0 rgba(154,145,136,.35)}
.hero::before,.contact::before{background:radial-gradient(26% 30% at 24% 28%,rgba(255,255,255,.07),transparent 70%),radial-gradient(28% 32% at 76% 64%,rgba(52,214,170,.16),transparent 70%),radial-gradient(22% 26% at 58% 18%,rgba(234,214,166,.10),transparent 70%);filter:blur(40px)}
.hero::after{background:repeating-radial-gradient(circle at 78% 30%,transparent var(--r),rgba(234,214,166,.10) calc(var(--r) + 1px),transparent calc(var(--r) + 3px),transparent calc(var(--r) + 120px));-webkit-mask-image:radial-gradient(circle at 78% 30%,#000 5%,transparent 55%);mask-image:radial-gradient(circle at 78% 30%,#000 5%,transparent 55%)}
.contact::after{background:repeating-radial-gradient(circle at 50% 50%,transparent var(--r),rgba(234,214,166,.10) calc(var(--r) + 1px),transparent calc(var(--r) + 3px),transparent calc(var(--r) + 120px))}
.rip{border-width:1px;border-color:rgba(234,214,166,.55)}
.hero{padding-bottom:110px}

/* Nav */
nav{font-weight:500}
nav ul{gap:30px}
nav a{color:rgba(244,241,234,.78);transition:color .3s}
nav ul a{background:linear-gradient(var(--gold),var(--gold)) 100% 100%/0 1px no-repeat;padding-bottom:3px;transition:color .3s,background-size .4s}
nav a:hover{color:#fff;text-decoration:none}
nav ul a:hover{background-size:100% 1px}
.lmark{filter:drop-shadow(0 6px 20px rgba(52,214,170,.25))}

/* Hero */
.hero h1{background:linear-gradient(180deg,#ffffff 20%,#cfe7dd 100%);-webkit-background-clip:text;background-clip:text;color:transparent;padding-bottom:.08em}
.hero .lead{color:rgba(244,241,234,.76);font-weight:300;font-size:clamp(19px,2vw,23px)}
.chip{border:1px solid rgba(234,214,166,.35);background:rgba(255,255,255,.04);color:rgba(244,241,234,.9);font-weight:500;padding:8px 20px;backdrop-filter:blur(6px);transition:background .3s,border-color .3s,color .3s}
.chip:hover{border-color:var(--gold)}
.chip[aria-pressed=true]{background:var(--goldg);border-color:transparent;color:var(--night);font-weight:700}
.hint{color:rgba(244,241,234,.55);font-size:15px}
.stage::before{content:"";position:absolute;inset:-10% -5% 0;background:radial-gradient(45% 45% at 40% 60%,rgba(52,214,170,.22),transparent 70%);pointer-events:none}
.stand::after{background:radial-gradient(closest-side,rgba(0,0,0,.7),transparent)}
.phone{background:linear-gradient(145deg,#2a2a2a,#0d0d0d);box-shadow:0 40px 60px -20px rgba(0,0,0,.7),inset 0 0 0 1px rgba(255,255,255,.12)}
.screen{background:linear-gradient(170deg,#7ff0cf,#2fc79f)}
.hero .price{background:var(--goldg);color:var(--night);box-shadow:0 10px 30px -12px rgba(154,145,136,.7)}
.hero .pimg{background:rgba(255,255,255,.04);border:1px solid rgba(234,214,166,.4);box-shadow:0 50px 90px -40px rgba(0,0,0,.8)}
.hero .pen{color:var(--gold2);opacity:.9}

/* Trust strip */
.trust{background:var(--paper);border-bottom:1px solid var(--line);padding:0}
.trust ul{list-style:none;margin:0;padding:30px 0;display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.trust li{display:flex;align-items:center;gap:14px;font-size:15px;line-height:1.4;font-weight:500}
.trust li b{display:block;font-weight:700;font-size:16px;color:var(--acc)}
.trust svg{flex:none;width:42px;height:42px;padding:10px;border-radius:50%;border:1px solid var(--gold);color:var(--gold)}
@media (max-width:900px){.trust ul{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.trust ul{grid-template-columns:1fr;gap:14px;padding:24px 0}}

/* Product cards */
.shop-lead,.qo-lead{font-weight:300;opacity:.85;font-size:19px}
.prods{gap:30px}
.prod{border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow);transition:transform .6s cubic-bezier(.2,.7,.2,1),box-shadow .6s,border-color .6s}
.prod:hover{border-color:color-mix(in srgb,var(--gold) 60%,var(--line));box-shadow:0 50px 90px -45px rgba(4,22,18,.55),0 0 0 1px color-mix(in srgb,var(--gold) 25%,transparent)}
.pimg{border-radius:14px;background:var(--soft)}
.pno{color:var(--gold)}
.prod h3{font-size:27px}
.pprice b{font-family:var(--serif);font-weight:700}
.obtn{border-color:color-mix(in srgb,var(--acc) 35%,transparent);font-weight:500}
.obtn:hover{background:var(--night);border-color:var(--night);color:var(--gold2)}

/* Order builder */
.qo{border:1px solid transparent;background:linear-gradient(var(--paper),var(--paper)) padding-box,linear-gradient(140deg,var(--gold),var(--line) 30%,var(--line) 70%,var(--gold)) border-box;border-radius:28px;padding:40px;box-shadow:var(--shadow)}
.qo hr{border-top:1px solid var(--line)}
.bundles legend{font-family:var(--serif);font-size:22px}
.bundles legend i{color:var(--gold);font-family:Heebo,sans-serif;font-size:14px;letter-spacing:.14em}
.opt{border:1.5px solid var(--line);border-radius:16px;transition:border-color .3s,background .3s,box-shadow .3s,transform .15s}
.opt:hover{border-color:color-mix(in srgb,var(--gold) 70%,var(--line))}
.opt:has(input:checked){border-color:var(--acc);background:linear-gradient(135deg,color-mix(in srgb,var(--mint) 10%,var(--paper)),var(--paper) 80%);box-shadow:0 14px 30px -18px rgba(4,22,18,.45),inset 0 0 0 1px var(--acc)}
.opt-name{font-weight:700}
.opt-price{font-family:var(--serif);font-weight:700}
.opt-hot{background:var(--goldg);color:var(--night);font-weight:700;letter-spacing:.02em;box-shadow:0 6px 14px -6px rgba(120,112,104,.7)}
.slot{border:1px solid var(--line);background:var(--soft)}
.tab span{border-width:1px;font-weight:500}
.tab input:checked+span{background:var(--night);border-color:var(--night);color:var(--gold2)}
.qo-sum .tot b,.order-sum b{font-family:var(--serif);font-weight:700}
.qo .wa-btn,.wa-btn{background:linear-gradient(180deg,#25c064,#169a4c);box-shadow:0 16px 30px -16px rgba(22,154,76,.8),inset 0 1px 0 rgba(255,255,255,.25);transition:filter .3s,transform .2s}
.qo .wa-btn:hover,.wa-btn:hover{background:linear-gradient(180deg,#25c064,#169a4c);filter:brightness(1.08);transform:translateY(-1px)}

/* How it works */
.sbtn{border:1px solid var(--line);border-radius:16px;font-weight:700;transition:background .3s,color .3s,border-color .3s}
.sbtn i{background:transparent;border:1px solid var(--gold);color:var(--gold);font-weight:500}
.sbtn[aria-selected=true]{background:var(--night);border-color:var(--night);color:#f4f1ea}
.sbtn[aria-selected=true] i{background:var(--goldg);border-color:transparent;color:var(--night)}
.sbody{border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow)}
.bar{height:3px;background:var(--line)}
.bar span{background:var(--goldg)}

/* Why */
.vl::before{width:1px;background:linear-gradient(var(--gold),var(--line))}
.vdot{background:linear-gradient(145deg,#0c3a2e,#041612);border:1px solid var(--gold);color:var(--gold2);box-shadow:0 12px 26px -12px rgba(4,22,18,.7)}
.vdot::after{border-width:1px;border-color:var(--gold)}
.js-pop .vi:not(.in) .vdot{border-color:var(--line);color:var(--gold)}
.vi p b{color:var(--acc)}

/* Contact & footer */
.contact .sig{color:var(--gold2);font-weight:300;opacity:1}
.contact h2{color:#fff}
.btn{background:var(--goldg);color:var(--night);font-weight:700;letter-spacing:.04em;padding:16px 38px;box-shadow:0 18px 40px -18px rgba(154,145,136,.8);transition:transform .25s,box-shadow .25s}
.btn:hover{background:var(--goldg);color:var(--night);transform:translateY(-2px);box-shadow:0 24px 50px -18px rgba(154,145,136,.95)}
footer{background:#030f0c;color:rgba(244,241,234,.55);border-top:1px solid rgba(154,145,136,.3);padding:28px;font-size:14px;letter-spacing:.02em}
footer a{color:var(--gold2)!important}
.foot-links{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-bottom:12px}
.foot-links a{display:inline-block;padding:8px 18px;border:1px solid rgba(154,145,136,.45);border-radius:999px;text-decoration:none;font-size:14px}
.foot-links a:hover{text-decoration:underline}
footer p{margin:0}
.wa{box-shadow:0 14px 30px -10px rgba(0,0,0,.45),0 0 0 4px rgba(37,211,102,.15)}

/* Product / info pages */
.feats li{background:var(--paper);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);font-weight:400}
.feats b{font-family:var(--serif);font-weight:700}
form{border:1px solid var(--line);border-radius:26px;box-shadow:var(--shadow)}
input,textarea,select{border-width:1px}
input:focus,textarea:focus,select:focus{border-color:var(--gold)}
.code-note{background:color-mix(in srgb,var(--gold2) 22%,var(--paper));color:var(--txt);border-inline-start:3px solid var(--gold)}
.order-box,.pay-id{border-width:1px}
.back{color:var(--acc);text-decoration-color:var(--gold);text-underline-offset:4px}
@media (max-width:800px){section{padding:72px 0}.qo{padding:24px}.hero{padding-bottom:70px}nav ul{gap:14px}}
.hero .pen{text-align:right;font-size:13px;letter-spacing:.3em;text-transform:uppercase;font-weight:500}
.shop-lead,.qo-lead{margin-top:0}
/* Five cards: one row on wide screens, centered rows below */
#shop .wrap{max-width:1340px}
.prods{display:flex;flex-wrap:wrap;justify-content:center;gap:22px}
.prod{flex:1 1 230px;max-width:320px}
@media (max-width:560px){.prod{max-width:none}}
@media (max-width:640px){nav ul li:not(:has(a[href="#order"])){display:none}
  nav ul a[href="#order"]{border:1px solid var(--gold);border-radius:999px;padding:8px 20px;color:var(--gold2);background:none}}

/* Skip link (accessibility) */
.skip{position:absolute;top:-100px;inset-inline-start:12px;z-index:1000;background:#fff;color:#041612;padding:12px 20px;border-radius:10px;font-weight:700;text-decoration:none;box-shadow:0 6px 20px rgba(0,0,0,.25)}
.skip:focus{top:12px}
main:focus{outline:none}
.terms h3{margin:22px 0 6px;font-size:1.05em}
