/* ============================================================
   HAMZYSTORE — style.css  v4
   Font: Outfit + JetBrains Mono
   Theme: Void Black + Electric Indigo
============================================================ */
:root {
  --bg  : #030309;  --bg2: #060612;  --bg3: #09091a;
  --s1  : #0c0c1e;  --s2 : #0f0f26;  --s3 : #12122e;
  --bdr : rgba(99,102,241,.13);
  --bdr2: rgba(99,102,241,.30);
  --bdr3: rgba(99,102,241,.50);
  --ac  : #6366f1;  --ac2: #8b5cf6;  --ac3: #f59e0b;
  --ac4 : #22d3ee;  --ac5: #10b981;
  --tx  : #eef0ff;  --tx2: #7c7fa8;  --tx3: #3a3a5c;
  --ok  : #10b981;  --err: #f43f5e;  --warn: #f59e0b;
  --r   : 14px;     --r2 : 20px;
  --grd : linear-gradient(135deg,var(--ac2),var(--ac));
  --grd2: linear-gradient(135deg,var(--ac),var(--ac4));
  --grd3: linear-gradient(135deg,#4f46e5,#7c3aed 50%,#0ea5e9);
  --sh  : 0 8px 40px rgba(0,0,0,.7);
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Outfit',sans-serif;background:var(--bg);color:var(--tx);min-height:100vh;overflow-x:hidden;-webkit-font-smoothing:antialiased}
a{text-decoration:none;color:inherit;cursor:pointer}
::-webkit-scrollbar{width:4px}
::-webkit-scrollbar-track{background:var(--bg)}
::-webkit-scrollbar-thumb{background:var(--ac2);border-radius:4px}

/* ── TOAST ──────────────────────────────────────────────── */
#toast-box{position:fixed;top:1rem;right:1rem;z-index:9999;display:flex;flex-direction:column;gap:.4rem;pointer-events:none}
.toast{padding:.65rem 1.1rem;border-radius:12px;font-size:.82rem;font-weight:600;border-left:3px solid;backdrop-filter:blur(20px);animation:tIn .35s cubic-bezier(.21,1.02,.73,1);max-width:290px;box-shadow:0 4px 20px rgba(0,0,0,.5)}
.toast.ok  {background:rgba(16,185,129,.1);border-color:var(--ok); color:#6ee7b7}
.toast.err {background:rgba(244,63,94,.1); border-color:var(--err);color:#fda4af}
.toast.info{background:rgba(99,102,241,.1);border-color:var(--ac); color:#a5b4fc}
.toast.warn{background:rgba(245,158,11,.1);border-color:var(--ac3);color:#fcd34d}
@keyframes tIn{from{transform:translateX(110%);opacity:0}to{transform:translateX(0);opacity:1}}

/* ── LOADER ─────────────────────────────────────────────── */
#loader{position:fixed;inset:0;background:var(--bg);z-index:9000;display:flex;align-items:center;justify-content:center;transition:opacity .5s,visibility .5s}
#loader.out{opacity:0;visibility:hidden;pointer-events:none}
.ld-wrap{text-align:center}
.ld-logo-img{width:64px;height:64px;object-fit:contain;border-radius:14px;animation:ldPulse 1s ease infinite alternate;margin:0 auto .5rem;display:block}
@keyframes ldPulse{from{transform:scale(.9);opacity:.4}to{transform:scale(1.05);opacity:1}}
.ld-title{font-size:1.15rem;font-weight:800;background:var(--grd3);-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin:.4rem 0 1rem;letter-spacing:-.4px}
.ld-bar{width:160px;height:3px;background:var(--s1);border-radius:4px;overflow:hidden;margin:0 auto}
.ld-progress{height:100%;background:var(--grd3);animation:ldFill 2s cubic-bezier(.4,0,.2,1) forwards}
@keyframes ldFill{from{width:0}to{width:100%}}

/* ── BUTTONS ────────────────────────────────────────────── */
.btn-primary{background:var(--grd);color:#fff;border:none;border-radius:99px;padding:.7rem 1.85rem;font-size:.88rem;font-weight:700;cursor:pointer;font-family:'Outfit',sans-serif;transition:all .25s;display:inline-flex;align-items:center;gap:.4rem;letter-spacing:.1px}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(99,102,241,.4)}
.btn-primary:active{transform:translateY(0)}
.btn-primary:disabled{opacity:.4;cursor:not-allowed;transform:none}
.btn-ghost{background:transparent;color:var(--tx2);border:1px solid var(--bdr);border-radius:99px;padding:.7rem 1.85rem;font-size:.88rem;font-weight:600;cursor:pointer;font-family:'Outfit',sans-serif;transition:all .25s;display:inline-flex;align-items:center;gap:.4rem}
.btn-ghost:hover{border-color:var(--ac);color:var(--ac);background:rgba(99,102,241,.05)}
.btn-full{width:100%;justify-content:center}
.link-btn{background:none;border:none;color:var(--ac);font-size:.82rem;font-weight:600;cursor:pointer;font-family:'Outfit',sans-serif;transition:color .2s}
.link-btn:hover{color:var(--ac2)}
.mt{margin-top:.5rem}

/* ── NAV ────────────────────────────────────────────────── */
#nav{position:fixed;top:0;left:0;right:0;z-index:500;display:flex;align-items:center;gap:1.5rem;padding:.82rem 2rem;background:rgba(3,3,9,.88);backdrop-filter:blur(24px);border-bottom:1px solid var(--bdr);transition:box-shadow .3s}
#nav.scrolled{box-shadow:0 4px 40px rgba(0,0,0,.6)}
.nav-logo{font-size:1.1rem;font-weight:800;cursor:pointer;user-select:none;display:flex;align-items:center;gap:.42rem;white-space:nowrap}
.nav-logo-img{width:22px;height:22px;object-fit:contain;border-radius:5px}
.nav-ac{background:var(--grd3);-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.nav-links{display:flex;gap:.15rem;flex:1}
.nl{padding:.36rem .88rem;border-radius:99px;font-size:.84rem;font-weight:600;color:var(--tx2);transition:all .22s}
.nl:hover{color:var(--tx);background:rgba(99,102,241,.07)}
.nl.active{color:#a5b4fc;background:rgba(99,102,241,.12)}
.nav-end{margin-left:auto;display:flex;align-items:center;gap:.6rem}
.cart-btn{position:relative;background:var(--s1);border:1px solid var(--bdr);color:var(--tx2);border-radius:99px;padding:.36rem .78rem;cursor:pointer;display:flex;align-items:center;gap:.32rem;font-size:.8rem;transition:all .2s}
.cart-btn:hover{border-color:var(--ac);color:var(--ac)}
#cart-badge{background:var(--grd);color:#fff;border-radius:99px;font-size:.58rem;font-weight:800;padding:.04rem .4rem;min-width:17px;text-align:center}
.auth-btn{background:var(--grd);color:#fff;border:none;border-radius:99px;padding:.4rem 1rem;font-size:.8rem;font-weight:700;cursor:pointer;font-family:'Outfit',sans-serif;box-shadow:0 2px 12px rgba(99,102,241,.3);transition:all .2s}
.auth-btn:hover{transform:translateY(-1px);box-shadow:0 4px 18px rgba(99,102,241,.5)}
.hbg{display:none;flex-direction:column;gap:4px;background:none;border:none;cursor:pointer;padding:4px}
.hbg span{display:block;width:18px;height:2px;background:var(--tx2);border-radius:2px;transition:all .3s}

/* ── APP / PAGES ────────────────────────────────────────── */
#app{padding-top:62px;min-height:calc(100vh - 62px)}
.pg{display:none}.pg.active{display:block}

/* ── HERO ───────────────────────────────────────────────── */
.hero{max-width:1200px;margin:0 auto;padding:4rem 2rem 3.5rem;display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center;position:relative;overflow:hidden;min-height:88vh}
.hero-orb{position:absolute;width:550px;height:550px;border-radius:50%;background:radial-gradient(circle,rgba(99,102,241,.12) 0%,transparent 70%);top:-100px;right:-80px;pointer-events:none;animation:orbAnim 9s ease-in-out infinite}
.hero-orb2{width:280px;height:280px;background:radial-gradient(circle,rgba(34,211,238,.08) 0%,transparent 70%);bottom:-60px;left:-40px;animation:orbAnim 7s ease-in-out 2s infinite reverse}
@keyframes orbAnim{0%,100%{transform:scale(1) rotate(0deg)}50%{transform:scale(1.1) rotate(6deg)}}
.hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(99,102,241,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(99,102,241,.04) 1px,transparent 1px);background-size:50px 50px;mask-image:radial-gradient(ellipse 90% 80% at 50% 50%,black 20%,transparent 80%);pointer-events:none}
.hero-chip{display:inline-flex;align-items:center;gap:.5rem;background:rgba(99,102,241,.09);border:1px solid rgba(99,102,241,.28);color:#a5b4fc;padding:.3rem .95rem;border-radius:99px;font-size:.73rem;font-weight:700;letter-spacing:.5px;margin-bottom:1.35rem}
.chip-dot{width:6px;height:6px;border-radius:50%;background:var(--ac4);animation:blink 1.5s ease infinite}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.15}}
.hero-copy{position:relative;z-index:1}
.hero-copy h1{font-size:clamp(2.5rem,5vw,4.5rem);font-weight:900;line-height:1.07;letter-spacing:-2px;margin-bottom:1.1rem}
.hero-copy h1 em{font-style:normal;background:var(--grd3);-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.hero-copy p{color:var(--tx2);font-size:1rem;line-height:1.8;max-width:460px;margin-bottom:1.8rem}
.hero-btns{display:flex;gap:.85rem;flex-wrap:wrap}
.hero-cards{display:flex;flex-direction:column;gap:.75rem;align-items:flex-end;position:relative;z-index:1}
.hc{background:rgba(12,12,30,.85);border:1px solid var(--bdr);border-radius:14px;padding:.82rem 1.3rem;font-size:.86rem;font-weight:700;white-space:nowrap;backdrop-filter:blur(12px);animation:float 4.5s ease-in-out var(--hd,0s) infinite;color:var(--tx2);transition:border-color .2s}
.hc:hover{border-color:var(--bdr2);color:var(--tx)}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}

/* ── STRIP ──────────────────────────────────────────────── */
.strip{display:grid;grid-template-columns:repeat(4,1fr);background:var(--s1);border-top:1px solid var(--bdr);border-bottom:1px solid var(--bdr)}
.strip-item{padding:1.8rem;text-align:center;border-right:1px solid var(--bdr);transition:background .2s}
.strip-item:last-child{border-right:none}
.strip-item:hover{background:rgba(99,102,241,.03)}
.sn{font-size:2.1rem;font-weight:900;font-family:'JetBrains Mono',monospace;background:var(--grd3);-webkit-background-clip:text;-webkit-text-fill-color:transparent;display:block}
.sl{font-size:.76rem;color:var(--tx2);font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-top:.2rem;display:block}

/* ── SECTIONS ───────────────────────────────────────────── */
.sec{max-width:1200px;margin:0 auto;padding:3.5rem 1.5rem}
.sec-hd{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.85rem;gap:1rem}
.sec-hd h2{font-size:1.55rem;font-weight:800;white-space:nowrap;letter-spacing:-.4px}
.sec-line{flex:1;height:1px;background:linear-gradient(90deg,var(--bdr2),transparent)}
.empty-tx{color:var(--tx3);font-size:.875rem;padding:2rem;text-align:center}

/* ── CATEGORIES ─────────────────────────────────────────── */
.cat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.85rem}
.cat-card{background:var(--s1);border:1px solid var(--bdr);border-radius:var(--r2);padding:1.4rem 1rem;cursor:pointer;transition:all .25s;text-align:center;position:relative;overflow:hidden}
.cat-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--grd);opacity:0;transition:opacity .25s}
.cat-card:hover{transform:translateY(-4px);border-color:rgba(99,102,241,.35);box-shadow:0 16px 40px rgba(0,0,0,.5)}
.cat-card:hover::before{opacity:1}
.cc-ico{font-size:1.75rem;width:50px;height:50px;background:rgba(99,102,241,.09);border-radius:12px;display:flex;align-items:center;justify-content:center;margin:0 auto .75rem}
.cc-nm{font-size:.87rem;font-weight:700;margin-bottom:.3rem}
.cc-cnt{display:inline-block;background:rgba(99,102,241,.1);color:#a5b4fc;border-radius:99px;font-size:.66rem;font-weight:700;padding:.12rem .55rem}

/* ── PRODUCT CARDS ──────────────────────────────────────── */
.prod-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:1rem}
.prod-card{background:var(--s1);border:1px solid var(--bdr);border-radius:var(--r2);display:flex;flex-direction:column;cursor:pointer;transition:all .25s;overflow:hidden;position:relative}
.prod-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--grd);opacity:0;transition:opacity .25s}
.prod-card:hover{transform:translateY(-4px);border-color:rgba(99,102,241,.3);box-shadow:0 16px 40px rgba(0,0,0,.55)}
.prod-card:hover::before{opacity:1}
.pc-thumb{height:100px;display:flex;align-items:center;justify-content:center;font-size:2.5rem;background:var(--bg3);border-bottom:1px solid var(--bdr);position:relative;overflow:hidden}
.pc-thumb::after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at center,rgba(99,102,241,.07),transparent)}
.pc-gb-badge{position:absolute;bottom:5px;right:7px;font-size:.62rem;font-weight:800;font-family:'JetBrains Mono',monospace;background:rgba(0,0,0,.65);padding:.1rem .38rem;border-radius:6px;z-index:1}
.pc-body{padding:.95rem;flex:1;display:flex;flex-direction:column;gap:.32rem}
.pc-cat{font-size:.66rem;font-weight:700;color:#a5b4fc;text-transform:uppercase;letter-spacing:.5px}
.pc-nm{font-size:.88rem;font-weight:700;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.pc-dc{font-size:.72rem;color:var(--tx2);line-height:1.5;flex:1;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.pc-foot{display:flex;align-items:center;justify-content:space-between;padding:.6rem .95rem;border-top:1px solid var(--bdr);background:rgba(0,0,0,.2)}
.pc-price{font-size:.92rem;font-weight:800;background:var(--grd);-webkit-background-clip:text;-webkit-text-fill-color:transparent;font-family:'JetBrains Mono',monospace}
.pc-stk{font-size:.66rem;color:var(--tx3)}.pc-stk.low{color:var(--warn)}.pc-stk.out{color:var(--err)}

/* ── HOW TO BUY ─────────────────────────────────────────── */
.how-wrap{background:linear-gradient(180deg,var(--bg2),var(--bg));border-top:1px solid var(--bdr);border-bottom:1px solid var(--bdr);margin-top:1rem}
.steps{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}
.step{flex:1;min-width:120px;text-align:center;padding:1.5rem .75rem;display:flex;flex-direction:column;gap:.35rem}
.step-n{font-size:2rem;font-weight:900;background:var(--grd3);-webkit-background-clip:text;-webkit-text-fill-color:transparent;opacity:.25;font-family:'JetBrains Mono',monospace}
.step b{font-size:.88rem}.step p{font-size:.73rem;color:var(--tx2);line-height:1.55}
.step-arr{font-size:1.2rem;color:var(--tx3);flex-shrink:0}

/* ── PAGE HEAD ──────────────────────────────────────────── */
.pg-head{background:linear-gradient(135deg,var(--s2),var(--bg3));border-bottom:1px solid var(--bdr);padding:3rem 2rem;text-align:center;position:relative;overflow:hidden}
.pg-head::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 0%,rgba(99,102,241,.1),transparent 65%)}
.pg-head h1{font-size:1.9rem;font-weight:900;margin-bottom:.4rem;letter-spacing:-.4px;position:relative}
.pg-head p{color:var(--tx2);position:relative}

/* ── SHOP ───────────────────────────────────────────────── */
.shop-wrap{max-width:1200px;margin:0 auto;padding:2rem 1.5rem;display:grid;grid-template-columns:215px 1fr;gap:1.75rem}
.shop-aside{display:flex;flex-direction:column;gap:1rem}
.filter-box{background:var(--s1);border:1px solid var(--bdr);border-radius:var(--r);padding:1rem}
.fb-title{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--tx3);margin-bottom:.75rem}
.fopt{display:flex;align-items:center;gap:.5rem;font-size:.82rem;padding:.32rem .38rem;border-radius:8px;cursor:pointer;color:var(--tx2);transition:all .2s}
.fopt:hover,.fopt.on{color:var(--tx);background:rgba(99,102,241,.07)}
.fopt input{accent-color:var(--ac)}
.fsel{width:100%;background:var(--bg3);border:1px solid var(--bdr);color:var(--tx);border-radius:8px;padding:.42rem .75rem;font-family:'Outfit',sans-serif;font-size:.82rem;cursor:pointer;outline:none}
#pr{width:100%;accent-color:var(--ac);margin-bottom:.4rem}
.pr-val{font-size:.75rem;color:var(--tx2)}
.shop-main{min-width:0}
.shop-bar{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.15rem;gap:1rem;flex-wrap:wrap}
.search-wrap{display:flex;align-items:center;gap:.45rem;background:var(--s1);border:1px solid var(--bdr);border-radius:99px;padding:.42rem .92rem;flex:1;max-width:330px;transition:border-color .2s}
.search-wrap:focus-within{border-color:var(--ac)}
.search-wrap input{background:none;border:none;color:var(--tx);outline:none;font-family:'Outfit',sans-serif;font-size:.82rem;flex:1}
.search-wrap svg{color:var(--tx3);flex-shrink:0}
.cnt-txt{font-size:.75rem;color:var(--tx3)}
.cat-pills{display:flex;flex-wrap:wrap;gap:.45rem;margin-bottom:1.1rem}
.pill{background:var(--s1);border:1px solid var(--bdr);color:var(--tx2);border-radius:99px;padding:.32rem .85rem;font-size:.75rem;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap}
.pill:hover,.pill.on{background:rgba(99,102,241,.1);border-color:var(--ac);color:#a5b4fc}

/* ── TOP UP ─────────────────────────────────────────────── */
.topup-center{max-width:540px;margin:0 auto;padding:2rem 1.5rem;display:flex;flex-direction:column;gap:1.2rem}
.saldo-card{background:linear-gradient(135deg,#1e1b4b,#312e81,#1e40af);border-radius:20px;padding:1.85rem;color:#fff;position:relative;overflow:hidden;box-shadow:0 8px 36px rgba(79,70,229,.35)}
.saldo-card::before,.saldo-card::after{content:'';position:absolute;border-radius:50%}
.saldo-card::before{top:-50%;right:-15%;width:240px;height:240px;background:rgba(255,255,255,.06)}
.saldo-card::after{bottom:-30%;left:-10%;width:140px;height:140px;background:rgba(255,255,255,.04)}
.sc-lbl{font-size:.78rem;opacity:.7;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.3rem;position:relative}
.sc-val{font-size:2.1rem;font-weight:900;font-family:'JetBrains Mono',monospace;position:relative}
.sc-id{font-size:.7rem;opacity:.45;margin-top:.3rem;position:relative;font-family:'JetBrains Mono',monospace}
.box{background:var(--s1);border:1px solid var(--bdr);border-radius:var(--r2);padding:1.4rem}
.box h3{font-size:.95rem;font-weight:700;margin-bottom:.95rem}
.amt-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.55rem;margin-bottom:.85rem}
.amt{background:var(--bg3);border:1px solid var(--bdr);color:var(--tx2);border-radius:12px;padding:.62rem;font-family:'Outfit',sans-serif;font-size:.76rem;font-weight:700;cursor:pointer;transition:all .22s}
.amt:hover,.amt.on{border-color:var(--ac);color:#a5b4fc;background:rgba(99,102,241,.08)}
.hist-row{display:flex;justify-content:space-between;align-items:center;padding:.6rem 0;border-bottom:1px solid var(--bdr);font-size:.8rem}
.hist-row:last-child{border-bottom:none}
.hist-ok{font-size:.68rem;font-weight:700;color:var(--ok)}
.hist-dt{font-size:.67rem;color:var(--tx3);font-family:'JetBrains Mono',monospace}

/* ── FORM INPUTS ─────────────────────────────────────────── */
.form-inp{width:100%;background:rgba(9,9,26,.85);border:1px solid var(--bdr);color:var(--tx);border-radius:12px;padding:.68rem 1rem;font-family:'Outfit',sans-serif;font-size:.875rem;outline:none;transition:all .22s;display:block;margin-bottom:.5rem}
.form-inp:focus{border-color:var(--ac);box-shadow:0 0 0 3px rgba(99,102,241,.1)}
.form-label{font-size:.74rem;font-weight:600;color:var(--tx2);display:block;margin-bottom:.35rem;text-transform:uppercase;letter-spacing:.4px}

/* ── BADGES ─────────────────────────────────────────────── */
.badge{display:inline-block;padding:.14rem .52rem;border-radius:99px;font-size:.66rem;font-weight:700}
.b-ok{background:rgba(16,185,129,.12);color:#6ee7b7}.b-warn{background:rgba(245,158,11,.1);color:#fcd34d}
.b-info{background:rgba(99,102,241,.1);color:#a5b4fc}.b-err{background:rgba(244,63,94,.1);color:#fda4af}
.b-pur{background:rgba(139,92,246,.12);color:#c4b5fd}.b-cyan{background:rgba(34,211,238,.1);color:#67e8f9}

/* ── PANEL MENU ─────────────────────────────────────────── */
.panel-menu-wrap{max-width:720px;margin:0 auto;padding:2.5rem 1.5rem}
.panel-type-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}
.panel-type-card{background:var(--s1);border:1px solid var(--bdr);border-radius:var(--r2);padding:1.75rem;cursor:pointer;transition:all .25s;position:relative;overflow:hidden}
.panel-type-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--grd);opacity:0;transition:opacity .25s}
.panel-type-card:hover{transform:translateY(-4px);border-color:var(--bdr2);box-shadow:0 16px 40px rgba(0,0,0,.5)}
.panel-type-card:hover::before{opacity:1}
.ptc-ico{font-size:2.2rem;width:56px;height:56px;background:rgba(99,102,241,.09);border-radius:14px;display:flex;align-items:center;justify-content:center;margin-bottom:.95rem}
.ptc-name{font-size:1.1rem;font-weight:800;letter-spacing:-.3px;margin-bottom:.45rem}
.ptc-desc{font-size:.81rem;color:var(--tx2);line-height:1.65;margin-bottom:.85rem}
.ptc-tags{display:flex;flex-wrap:wrap;gap:.38rem;margin-bottom:.85rem}
.ptc-tags span{background:rgba(99,102,241,.09);border:1px solid rgba(99,102,241,.18);color:#a5b4fc;border-radius:99px;font-size:.68rem;font-weight:700;padding:.16rem .62rem}
.ptc-count{font-size:.78rem;color:var(--ok);font-weight:700}
.ptc-arr{position:absolute;bottom:1.5rem;right:1.5rem;font-size:1.1rem;color:var(--tx3);transition:all .25s}
.panel-type-card:hover .ptc-arr{color:var(--ac);transform:translateX(4px)}

/* ── OVERLAYS ───────────────────────────────────────────── */
.ov{position:fixed;inset:0;background:rgba(0,0,0,.88);backdrop-filter:blur(12px);z-index:400;display:none;align-items:center;justify-content:center;padding:1rem;overflow-y:auto}
.ov.on{display:flex}
.modal{background:var(--s1);border:1px solid var(--bdr);border-radius:var(--r2);width:100%;max-width:460px;position:relative;animation:modIn .3s cubic-bezier(.21,1.02,.73,1);max-height:92vh;overflow-y:auto}
@keyframes modIn{from{transform:scale(.88) translateY(20px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}
.mc{position:absolute;top:.85rem;right:.85rem;background:rgba(255,255,255,.07);border:1px solid var(--bdr);color:var(--tx2);border-radius:99px;width:28px;height:28px;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:2;transition:all .2s}
.mc:hover{background:rgba(255,255,255,.12);color:var(--tx)}

/* ── AUTH ───────────────────────────────────────────────── */
.auth-tabs{display:flex;background:var(--bg3);border-radius:12px;margin:1.4rem 1.4rem 1.15rem;padding:.18rem}
.at{flex:1;padding:.52rem;border:none;background:transparent;color:var(--tx2);font-family:'Outfit',sans-serif;font-size:.86rem;font-weight:700;cursor:pointer;transition:all .22s;border-radius:10px}
.at.active{background:var(--grd);color:#fff;box-shadow:0 2px 12px rgba(99,102,241,.4)}
.af{display:flex;flex-direction:column;gap:.55rem;padding:0 1.4rem 1.4rem}
.af h3{font-size:1.05rem;font-weight:800;margin-bottom:.15rem}
.auth-sep{text-align:center;font-size:.74rem;color:var(--tx3);margin:.1rem 0}
.btn-admin-link{background:rgba(139,92,246,.09);border:1px solid rgba(139,92,246,.22);color:#c4b5fd;border-radius:12px;padding:.52rem;font-size:.8rem;font-weight:700;cursor:pointer;font-family:'Outfit',sans-serif;text-align:center;transition:all .2s}
.btn-admin-link:hover{background:rgba(139,92,246,.18)}
.hidden{display:none!important}

/* ── PRODUCT DETAIL MODAL ───────────────────────────────── */
.mod-pd{max-width:520px}
.pd-head{display:flex;gap:1rem;align-items:flex-start;padding:1.4rem 1.4rem .7rem}
.pd-ico{font-size:2.3rem;width:66px;height:66px;background:linear-gradient(135deg,var(--s2),var(--bg3));border-radius:16px;display:flex;align-items:center;justify-content:center;flex-shrink:0;border:1px solid var(--bdr)}
.pd-cat{font-size:.67rem;color:#a5b4fc;font-weight:700;text-transform:uppercase;margin-bottom:.2rem;letter-spacing:.4px}
.pd-nm{font-size:1.08rem;font-weight:800;margin-bottom:.32rem;line-height:1.3;letter-spacing:-.3px}
.pd-price{font-size:1.4rem;font-weight:900;background:var(--grd3);-webkit-background-clip:text;-webkit-text-fill-color:transparent;font-family:'JetBrains Mono',monospace}
.pd-desc{padding:0 1.4rem .7rem;font-size:.83rem;color:var(--tx2);line-height:1.7}
.pd-specs{margin:0 1.4rem .7rem;border:1px solid var(--bdr);border-radius:12px;overflow:hidden}
.spec-r{display:flex;justify-content:space-between;padding:.48rem .85rem;font-size:.79rem;border-bottom:1px solid var(--bdr)}
.spec-r:last-child{border-bottom:none}
.spec-k{color:var(--tx2)}.spec-v{font-weight:700;color:#a5b4fc;font-family:'JetBrains Mono',monospace;font-size:.76rem}
.pd-panel-box{margin:0 1.4rem .7rem;background:rgba(34,211,238,.04);border:1px solid rgba(34,211,238,.15);border-radius:12px;padding:.95rem}
.pd-panel-box.legal{background:rgba(139,92,246,.04);border-color:rgba(139,92,246,.2)}
.pd-panel-box h5{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.6rem;color:var(--ac4)}
.pd-panel-box.legal h5{color:#c4b5fd}
.pd-panel-row{display:flex;justify-content:space-between;font-size:.77rem;padding:.2rem 0;border-bottom:1px solid rgba(255,255,255,.04)}
.pd-panel-row:last-child{border-bottom:none}
.pd-panel-row span:first-child{color:var(--tx2)}
.pd-panel-row span:last-child{color:var(--ac4);font-family:'JetBrains Mono',monospace;font-weight:600}
.pd-acts{padding:.7rem 1.4rem 1.4rem;display:flex;flex-direction:column;gap:.52rem}

/* ── QRIS MODAL ─────────────────────────────────────────── */
.mod-qris{max-width:380px;padding:0;border-radius:22px;overflow:hidden}
.qr-head{padding:1.5rem 1.5rem .8rem;text-align:center;border-bottom:1px solid var(--bdr);background:linear-gradient(180deg,rgba(99,102,241,.06),transparent)}
.qr-icon-box{width:44px;height:44px;display:flex;align-items:center;justify-content:center;margin:0 auto .42rem;background:var(--grd);border-radius:13px;box-shadow:0 4px 16px rgba(99,102,241,.4)}
.qr-head h3{font-size:1.05rem;font-weight:800;margin:.35rem 0 .22rem;letter-spacing:-.3px}
.qr-head p{font-size:.77rem;color:var(--tx2);max-width:270px;margin:0 auto;line-height:1.5}
#qris-method-badge{margin-top:.45rem}
.gw-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.2rem .75rem;border-radius:99px;font-size:.68rem;font-weight:700}
.gw-live{background:rgba(16,185,129,.1);color:#6ee7b7;border:1px solid rgba(16,185,129,.25)}
.gw-demo{background:rgba(99,102,241,.08);color:#a5b4fc;border:1px solid rgba(99,102,241,.2)}
.qr-body{padding:1.35rem 1.5rem;display:flex;flex-direction:column;align-items:center;gap:.88rem}
.qr-frame{width:220px;height:220px;border-radius:18px;border:2px solid rgba(99,102,241,.28);overflow:hidden;background:var(--bg2);display:flex;align-items:center;justify-content:center;box-shadow:0 0 40px rgba(99,102,241,.12)}
.qr-frame img{border-radius:12px;display:block;width:208px;height:208px;object-fit:contain;background:#fff;padding:6px}
.qr-loading{display:flex;flex-direction:column;align-items:center;gap:.75rem;color:var(--tx3);font-size:.8rem}
.qr-spin{width:36px;height:36px;border:3px solid var(--bdr);border-top-color:var(--ac);border-radius:50%;animation:spin .85s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.qr-total{font-size:1.85rem;font-weight:900;font-family:'JetBrains Mono',monospace;background:var(--grd2);-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.qris-info-box{width:100%;background:var(--bg3);border:1px solid var(--bdr);border-radius:12px;padding:.68rem .88rem}
.qi-row{display:flex;justify-content:space-between;align-items:center;font-size:.77rem;padding:.2rem 0}
.qi-row:not(:last-child){border-bottom:1px solid rgba(255,255,255,.04)}
.qi-k{color:var(--tx2)}.qi-v{font-weight:700;font-family:'JetBrains Mono',monospace}
.qi-v.uniq{color:var(--ac3)}
.qr-timer-row{display:flex;align-items:center;gap:.42rem;font-size:.82rem;font-weight:700;color:var(--tx2);background:var(--s1);border:1px solid var(--bdr);padding:.3rem .88rem;border-radius:99px;font-family:'JetBrains Mono',monospace}
.qr-status{font-size:.82rem;font-weight:600;display:flex;align-items:center;gap:.5rem;color:var(--tx2)}
.dot-blink{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--ok);flex-shrink:0;animation:blink 1.2s ease infinite}
.dot-done{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--ok);flex-shrink:0;box-shadow:0 0 10px rgba(16,185,129,.5)}
.qr-foot{padding:.8rem 1.5rem 1.5rem;display:flex;flex-direction:column;gap:.48rem;border-top:1px solid var(--bdr)}

/* ── DASHBOARD MODAL ─────────────────────────────────────── */
.dash-stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:.85rem;margin:1.15rem 0}
.dc{background:var(--bg3);border:1px solid var(--bdr);border-radius:14px;padding:1.05rem;transition:border-color .2s}
.dc:hover{border-color:var(--bdr2)}
.dc-l{font-size:.68rem;color:var(--tx2);font-weight:600;text-transform:uppercase;letter-spacing:.4px;margin-bottom:.4rem}
.dc-v{font-size:1.35rem;font-weight:900;font-family:'JetBrains Mono',monospace;background:var(--grd);-webkit-background-clip:text;-webkit-text-fill-color:transparent}

/* ── ORDERS MODAL ───────────────────────────────────────── */
.ord-item{background:var(--bg3);border:1px solid var(--bdr);border-radius:14px;padding:.95rem;margin-bottom:.7rem;transition:border-color .2s}
.ord-item:hover{border-color:var(--bdr2)}
.ord-hd{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.45rem}
.ord-id{font-size:.67rem;color:var(--tx3);font-family:'JetBrains Mono',monospace}
.ord-dt{font-size:.67rem;color:var(--tx3)}
.ord-nm{font-weight:700;font-size:.87rem}
.ord-pr{background:var(--grd);-webkit-background-clip:text;-webkit-text-fill-color:transparent;font-family:'JetBrains Mono',monospace;font-weight:700;font-size:.88rem;margin-top:.22rem}
.panel-cred-box{margin-top:.6rem;background:rgba(34,211,238,.04);border:1px solid rgba(34,211,238,.15);border-radius:8px;padding:.58rem .75rem;font-size:.75rem;line-height:1.85}

/* ── USER DROPDOWN ──────────────────────────────────────── */
.udd{position:fixed;top:60px;right:1.25rem;width:225px;background:var(--s1);border:1px solid var(--bdr);border-radius:16px;z-index:150;padding:.85rem;box-shadow:0 8px 40px rgba(0,0,0,.65);display:none;animation:modIn .22s ease}
.udd.on{display:block}
.udd-head{display:flex;align-items:center;gap:.62rem;margin-bottom:.62rem}
.udd-av{width:34px;height:34px;background:var(--grd);border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;color:#fff;font-size:.88rem;flex-shrink:0}
.udd-nm{font-weight:700;font-size:.87rem}
.udd-sl{font-size:.7rem;background:var(--grd2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;font-family:'JetBrains Mono',monospace;font-weight:700}
.sep{border:none;border-top:1px solid var(--bdr);margin:.4rem 0}
.ddi{display:flex;align-items:center;gap:.5rem;padding:.42rem .62rem;border-radius:10px;font-size:.82rem;color:var(--tx2);transition:all .2s;cursor:pointer}
.ddi:hover{background:rgba(255,255,255,.04);color:var(--tx)}
.ddi-out:hover{background:rgba(244,63,94,.07);color:var(--err)}

/* ── CART DRAWER ─────────────────────────────────────────── */
.dbg{position:fixed;inset:0;background:rgba(0,0,0,.7);z-index:200;opacity:0;pointer-events:none;transition:opacity .3s;backdrop-filter:blur(4px)}
.dbg.on{opacity:1;pointer-events:all}
.cart-drw{position:fixed;right:0;top:0;bottom:0;width:360px;max-width:100vw;background:var(--s2);border-left:1px solid var(--bdr);z-index:201;transform:translateX(100%);transition:transform .35s cubic-bezier(.21,1.02,.73,1);display:flex;flex-direction:column}
.cart-drw.on{transform:translateX(0)}
.drw-hd{display:flex;align-items:center;justify-content:space-between;padding:1.05rem 1.25rem;border-bottom:1px solid var(--bdr);background:var(--bg2)}
.drw-hd h3{font-size:.95rem;font-weight:700}
.drw-hd button{background:rgba(255,255,255,.07);border:1px solid var(--bdr);color:var(--tx2);cursor:pointer;width:28px;height:28px;border-radius:99px;display:flex;align-items:center;justify-content:center;transition:all .2s}
.drw-hd button:hover{background:rgba(255,255,255,.12);color:var(--tx)}
.drw-body{flex:1;overflow-y:auto;padding:.85rem 1.25rem;display:flex;flex-direction:column;gap:.62rem}
.ci{background:var(--s1);border:1px solid var(--bdr);border-radius:14px;padding:.85rem;display:flex;gap:.85rem;align-items:flex-start}
.ci-ico{font-size:1.5rem;flex-shrink:0;width:40px;height:40px;background:var(--bg3);border-radius:10px;display:flex;align-items:center;justify-content:center}
.ci-body{flex:1;min-width:0}
.ci-nm{font-size:.85rem;font-weight:700;margin-bottom:.18rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ci-pr{font-size:.79rem;background:var(--grd);-webkit-background-clip:text;-webkit-text-fill-color:transparent;font-family:'JetBrains Mono',monospace;font-weight:700}
.ci-qty{display:flex;align-items:center;gap:.4rem;margin-top:.42rem}
.qb{background:var(--bg3);border:1px solid var(--bdr);color:var(--tx);width:22px;height:22px;border-radius:7px;cursor:pointer;font-size:.8rem;display:flex;align-items:center;justify-content:center;transition:all .2s}
.qb:hover{border-color:var(--ac);color:var(--ac)}
.qn{font-size:.77rem;font-family:'JetBrains Mono',monospace;min-width:20px;text-align:center}
.ci-rm{background:none;border:none;color:var(--tx3);cursor:pointer;padding:.2rem;display:flex;align-items:center;justify-content:center;transition:color .2s}
.ci-rm:hover{color:var(--err)}
.cart-empty{text-align:center;padding:3rem 1rem;color:var(--tx3);font-size:.88rem}
.drw-foot{padding:1.05rem 1.25rem;border-top:1px solid var(--bdr);background:var(--bg2)}
.tot-row{display:flex;justify-content:space-between;margin-bottom:.85rem;font-weight:700}
.tot-val{background:var(--grd);-webkit-background-clip:text;-webkit-text-fill-color:transparent;font-family:'JetBrains Mono',monospace;font-size:1.05rem}

/* ── PANEL USERNAME MODAL ───────────────────────────────── */
.pu-body{padding:1.75rem}
.pu-head{display:flex;align-items:center;gap:.75rem;margin-bottom:1.2rem}
.pu-icon{font-size:1.3rem;width:44px;height:44px;background:var(--grd);border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 4px 16px rgba(99,102,241,.3)}
.pu-title{font-size:.98rem;font-weight:800;letter-spacing:-.3px}
.pu-sub{font-size:.77rem;color:var(--tx2);margin-top:.08rem}
.pu-info{background:var(--bg3);border:1px solid var(--bdr);border-radius:10px;padding:.72rem .88rem;margin-bottom:.95rem;font-size:.81rem}
.pu-info-row{display:flex;justify-content:space-between;padding:.18rem 0;border-bottom:1px solid rgba(255,255,255,.04)}
.pu-info-row:last-child{border-bottom:none}
.pu-info-row span:first-child{color:var(--tx2)}
.pu-err{font-size:.74rem;color:var(--err);min-height:1.15rem;margin-bottom:.4rem}
.pu-rules{background:rgba(99,102,241,.05);border:1px solid rgba(99,102,241,.13);border-radius:10px;padding:.6rem .82rem;font-size:.75rem;color:var(--tx2);margin-bottom:1.05rem;line-height:1.65}
.pu-rules b{color:#a5b4fc}

/* ── PANEL SUCCESS MODAL ────────────────────────────────── */
.ps-body{padding:1.75rem}
.ps-check{width:58px;height:58px;background:linear-gradient(135deg,var(--ok),#34d399);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.75rem;color:#fff;margin:0 auto .7rem;box-shadow:0 4px 20px rgba(16,185,129,.4)}
.ps-title{font-size:1.1rem;font-weight:800;color:var(--ok);text-align:center;margin-bottom:.25rem}
.ps-sub{font-size:.8rem;color:var(--tx2);text-align:center;margin-bottom:1.25rem}
.ps-data{background:var(--bg3);border:1px solid var(--bdr);border-radius:14px;padding:1.05rem;font-size:.84rem;line-height:1.9;margin-bottom:1rem}
.ps-data-row{display:flex;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.05);padding:.18rem 0}
.ps-data-row:last-child{border-bottom:none}
.ps-data-row .lbl{color:var(--tx2)}
.ps-data-row code{font-family:'JetBrains Mono',monospace;font-size:.8rem}
.ps-actions{display:flex;flex-direction:column;gap:.45rem}
.ps-note{font-size:.72rem;color:var(--tx3);text-align:center;margin-top:.85rem}

/* ── FOOTER ─────────────────────────────────────────────── */
.foot{background:var(--bg2);border-top:1px solid var(--bdr);margin-top:5rem}
.foot-inner{max-width:1200px;margin:0 auto;padding:2.5rem 1.5rem;display:grid;grid-template-columns:1.2fr auto;gap:3rem;align-items:start}
.foot-brand p{font-size:.77rem;color:var(--tx3);margin-top:.4rem;margin-bottom:.85rem}
.foot-socials{display:flex;gap:.45rem;flex-wrap:wrap}
.foot-links{display:flex;gap:2.5rem;flex-wrap:wrap}
.foot-col{display:flex;flex-direction:column;gap:.52rem}
.fcl{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--tx2);margin-bottom:.15rem}
.foot-col a{font-size:.79rem;color:var(--tx3);transition:color .2s;cursor:pointer}
.foot-col a:hover{color:var(--ac)}
.foot-bot{max-width:1200px;margin:0 auto;padding:.95rem 1.5rem;border-top:1px solid var(--bdr);display:flex;justify-content:space-between;align-items:center;font-size:.74rem;color:var(--tx3);flex-wrap:wrap;gap:.5rem}
.foot-admin-link{color:var(--ac2);opacity:.4;font-size:.72rem;transition:opacity .2s}
.foot-admin-link:hover{opacity:1}

/* ── RESPONSIVE ─────────────────────────────────────────── */
@media(max-width:900px){
  .shop-wrap{grid-template-columns:1fr}.shop-aside{display:none}
  .strip{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:768px){
  #nav{padding:.78rem 1.1rem}
  .nav-links{display:none;position:fixed;top:60px;left:0;right:0;background:rgba(3,3,9,.97);flex-direction:column;padding:1rem;border-bottom:1px solid var(--bdr);z-index:99;backdrop-filter:blur(24px)}
  .nav-links.open{display:flex}
  .hbg{display:flex}
  .hero{grid-template-columns:1fr;min-height:auto;padding:2.2rem 1.25rem 3rem}
  .hero-cards,.hero-orb,.hero-orb2{display:none}
  .panel-type-grid{grid-template-columns:1fr}
  .foot-inner{grid-template-columns:1fr;gap:2rem}
  .foot-links{gap:1.5rem}
  .dash-stat-grid{grid-template-columns:1fr}
}
@media(max-width:480px){
  .prod-grid{grid-template-columns:1fr}
  .cat-grid{grid-template-columns:repeat(2,1fr)}
  .amt-grid{grid-template-columns:repeat(2,1fr)}
  .strip{grid-template-columns:repeat(2,1fr)}
}
