/* NOVA polish — one layer on top of the existing store look (same colors, same layout). */

/* Header: stays readable while scrolling */
.nxHeader{position:sticky;top:0;z-index:30;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);background:rgba(2,8,23,.78)}
.nxSearch svg{width:18px;height:18px;flex:none;margin-inline-start:2px;margin-inline-end:8px;color:#9fb0d6}
.nxSearch:focus-within{border-color:#8c26ff;box-shadow:0 0 0 3px rgba(140,38,255,.18)}

/* Hero: no fake slider dots, mobile gets its own artwork */
.nxDots{display:none!important}
.nxHero{transition:transform .25s ease,box-shadow .25s ease}
.nxHero:hover{transform:translateY(-2px);box-shadow:0 18px 50px rgba(229,9,20,.18)}
@media(max-width:1000px){#nxHero img{object-fit:contain;background:#0b0e1d}}


/* Category cards: original colors and pictures kept, only a gentle lift on hover */
.nxCat{transition:transform .2s ease,box-shadow .2s ease}
.nxCat:hover,.nxCat:focus-visible{transform:translateY(-3px);box-shadow:0 12px 30px rgba(0,0,0,.35)}
.nxCat:active{transform:translateY(-1px) scale(.98)}

/* Payment methods strip (built from the methods enabled in the admin panel) */
.novaPayStrip{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;margin:-12px 0 26px;padding:12px 16px;border:1px solid #1f2b52;border-radius:16px;background:#081128;color:#b9c3d8;font-size:13px}
.novaPayStrip b{color:#fff;font-weight:700;margin-inline-end:4px}
.novaPayStrip span{padding:5px 12px;border-radius:999px;background:#111d3d;border:1px solid #2a3a68;color:#e7ecf8;font-weight:700}

/* Product cards: hover lift + press */
.nxCard{transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.nxCard:hover{transform:translateY(-3px);border-color:#3a5fa0!important;box-shadow:0 14px 34px rgba(0,0,0,.35)}
.nxBuy:active,.nxMiniCart:active,.nxCat:active{transform:scale(.97)}

/* Loading placeholders instead of empty sections */
.nxGrid:empty{display:grid!important;grid-template-columns:repeat(4,1fr);gap:12px;min-height:250px;background:
  linear-gradient(90deg,rgba(255,255,255,0) 0,rgba(255,255,255,.05) 50%,rgba(255,255,255,0) 100%) 0 0/40% 100% no-repeat,
  repeating-linear-gradient(90deg,#0b1730 0 calc(25% - 9px),transparent calc(25% - 9px) 25%);border-radius:15px;animation:novaShimmer 1.4s linear infinite}
@keyframes novaShimmer{from{background-position:-40% 0,0 0}to{background-position:140% 0,0 0}}
@media(prefers-reduced-motion:reduce){.nxGrid:empty{animation:none}.nxCat,.nxCard,.nxHero{transition:none}}

/* Toast */
.novaToast{position:fixed;left:50%;bottom:28px;transform:translate(-50%,20px);opacity:0;z-index:2147483000;background:#13203f;color:#fff;border:1px solid #8c26ff;border-radius:14px;padding:12px 18px;font:700 14px Cairo,Tahoma,sans-serif;box-shadow:0 14px 40px rgba(0,0,0,.45);transition:opacity .2s,transform .2s;pointer-events:none}
.novaToast.show{opacity:1;transform:translate(-50%,0)}

/* Mobile: one bottom bar, floating buttons never sit on content or on each other */
.novaMobileLang{display:none}
@media(max-width:700px){
  body:has(.novaStoreBottom) .nxBottom{display:none!important}
  .nxGrid:empty{grid-template-columns:repeat(2,1fr);min-height:200px;background-size:40% 100%,auto;background-image:linear-gradient(90deg,rgba(255,255,255,0) 0,rgba(255,255,255,.05) 50%,rgba(255,255,255,0) 100%),repeating-linear-gradient(90deg,#0b1730 0 calc(50% - 4px),transparent calc(50% - 4px) 50%)}
  #novaTelegramBot{left:12px!important;right:auto!important;top:auto!important;bottom:calc(104px + env(safe-area-inset-bottom))!important;width:46px!important;height:46px!important;min-height:46px!important;padding:0!important;border-radius:50%!important;display:grid!important;place-items:center!important;gap:0!important}
  #novaTelegramBot span{display:none!important}
  #novaTelegramBot svg{width:22px!important;height:22px!important;margin:0!important}
  .novaSocialShortcuts{bottom:calc(104px + env(safe-area-inset-bottom))!important;right:12px!important}
  .novaLocaleNav{display:none!important}
  .nxHeader:has(.novaMobileLang) .nxSearch{flex-basis:calc(100% - 54px)!important;min-width:0}
  .novaMobileLang{order:6;flex:none;display:grid;place-items:center;min-width:44px;height:44px;padding:0 10px;border:1px solid #26335e;background:#081128;color:#fff;border-radius:16px;font:700 13px Cairo,Tahoma,sans-serif;text-decoration:none}
  .novaToast{bottom:calc(110px + env(safe-area-inset-bottom))}
  .novaPayStrip{margin:-6px 0 18px;font-size:12px}
}

/* Recharge page: headings and network names were near-white on white cards */
.panel:has(.networks) h2,.panel .network strong{color:#191731!important}

/* Language switch: only hidden where the header button replaces it */
@media(max-width:700px){
  .novaLocaleNav{display:flex!important;left:12px!important;right:auto!important;top:auto!important;bottom:calc(158px + env(safe-area-inset-bottom))!important}
  .novaLocaleNav{padding:0!important;background:none!important;border:0!important;box-shadow:none!important;gap:0!important}
  .novaLocaleNav a[aria-current="page"]{display:none!important}
  .novaLocaleNav a{display:grid!important;place-items:center;width:46px;height:46px;min-height:46px;padding:0!important;border-radius:50%!important;background:#081128!important;border:1px solid #26335e!important;color:#fff!important;font:700 0/1 Cairo,Tahoma,sans-serif!important}
  .novaLocaleNav a[lang="en"]::after{content:"EN";font-size:13px}
  .novaLocaleNav a[lang="ar"]::after{content:"ع";font-size:16px}
  body:has(.novaMobileLang) .novaLocaleNav{display:none!important}
}

/* Recently viewed */
.novaRecent{margin:0 0 28px}
.novaRecent h2{margin:0 0 12px;font-size:20px;color:#fff;display:flex;align-items:center;gap:8px}
.novaRecent .row{display:flex;gap:10px;overflow-x:auto;padding-bottom:6px;scrollbar-width:none}
.novaRecent .row::-webkit-scrollbar{display:none}
.novaRecent button{flex:none;width:150px;display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 8px;border:1px solid #183c66;border-radius:15px;background:linear-gradient(#07172d,#06101f);color:#fff;font:inherit;cursor:pointer;text-align:center;transition:transform .2s,border-color .2s}
.novaRecent button:hover{transform:translateY(-2px);border-color:#3a5fa0}
.novaRecent img{width:56px;height:56px;object-fit:contain;border-radius:12px}
.novaRecent b{font-size:13px;line-height:1.4;max-height:2.8em;overflow:hidden}
.novaRecent span{font-size:13px;color:#d6c6ff;font-weight:700}

/* Rotating hero */
#nxHero[data-nova-slider]{cursor:default}
.novaSlides{display:flex;height:100%;transition:transform .5s ease}
.novaSlide{flex:0 0 100%;height:100%;display:block;position:relative}
.novaSlide img{width:100%;height:100%;object-fit:cover;display:block}
@media(max-width:1000px){.novaSlide img{object-fit:contain;background:#0b0e1d}}
.novaDots{position:absolute;bottom:10px;left:50%;transform:translateX(-50%);display:flex;gap:6px;padding:6px 10px;border-radius:999px;background:rgba(7,16,42,.75)}
.novaDots button{all:unset;box-sizing:border-box;display:block;width:9px!important;height:9px!important;min-height:0!important;padding:0!important;border:0!important;border-radius:50%!important;background:#4c24db!important;cursor:pointer;box-shadow:none!important}
.novaDots button[aria-current="true"]{background:#fff!important;width:22px!important;border-radius:6px!important}
.novaDots button:focus-visible{outline:2px solid #fff;outline-offset:2px}
.novaBfCount{position:absolute;bottom:14px;left:16px;right:auto;background:rgba(0,0,0,.72);border:1px solid #ffc940;color:#ffe08a;border-radius:999px;padding:6px 14px;font:800 15px Cairo,Tahoma,sans-serif;direction:rtl}
@media(prefers-reduced-motion:reduce){.novaSlides{transition:none}}
html[lang=en] .novaBfCount{left:auto;right:16px;direction:ltr}
@media(max-width:700px){.novaBfCount{font-size:10px;padding:2px 8px;bottom:6px;left:8px}html[lang=en] .novaBfCount{left:auto;right:8px}.novaDots{bottom:5px;padding:4px 8px}}
html.novaBfLive .nxHeader{border-bottom:1px solid rgba(255,201,64,.35)}
html.novaBfLive .nxBrand em{color:#ffc940}

/* First order bar */
.novaFirstBar{display:flex;align-items:center;gap:10px;margin:-16px 0 22px;padding:10px 14px;border:1px dashed #b388ff;border-radius:16px;background:#120c2b;color:#fff}
.novaFirstBar p{margin:0;flex:1;font-weight:700}
.novaFirstBar .copy{border:0;border-radius:10px;background:#7456dc;color:#fff;font:800 14px Cairo,Tahoma,sans-serif;padding:8px 14px;cursor:pointer;letter-spacing:1px}
.novaFirstBar .x{border:0;background:none;color:#b9c3d8;font-size:22px;cursor:pointer;min-width:32px;min-height:32px}
@media(max-width:700px){.novaFirstBar{margin:-6px 0 14px;font-size:13px}}

/* Cards: favourite, flash, notify, out of stock */
.nxCard{position:relative}
.novaFav{position:absolute;top:8px;left:8px;width:34px;height:34px;border-radius:50%;border:1px solid #26335e;background:rgba(8,17,40,.85);display:grid;place-items:center;cursor:pointer;z-index:2;padding:0}
.novaFav svg{width:18px;height:18px;fill:none;stroke:#c7d0e6;stroke-width:1.8}
.novaFav[aria-pressed="true"] svg{fill:#ff4d6d;stroke:#ff4d6d}
.novaFlash{position:absolute;top:0;right:0;left:0;background:linear-gradient(90deg,#ff7a00,#ff2d55);color:#fff;font:800 11px Cairo,Tahoma,sans-serif;padding:3px 6px;text-align:center;z-index:1}
.novaNotify{width:100%;margin-top:8px;min-height:36px;border:1px dashed #7456dc;border-radius:10px;background:transparent;color:#d6c6ff;font:700 12px Cairo,Tahoma,sans-serif;cursor:pointer}
.nxCard.novaOut .nxPic,.nxCard.novaOut .nxPrice{opacity:.55}

/* Product modal extras */
.novaModalExtra{margin-top:16px;padding:14px;border:1px solid #2b354b;border-radius:14px;background:#0d1424}
.novaModalExtra h3{margin:0 0 10px;font-size:16px}
.novaCompare .tbl{overflow-x:auto}
.novaCompare table{width:100%;border-collapse:collapse;font-size:14px}
.novaCompare th,.novaCompare td{padding:8px;border-bottom:1px solid #222c42;text-align:center;white-space:nowrap}
.novaCompare tr.cur{background:rgba(116,86,220,.15)}
.novaCompare button{margin-inline-start:6px;border:1px solid #7456dc;background:transparent;color:#d6c6ff;border-radius:8px;padding:4px 10px;cursor:pointer;font:inherit}
.novaFaq details{border-bottom:1px solid #222c42;padding:8px 0}
.novaFaq summary{cursor:pointer;font-weight:700}
.novaFaq p{margin:6px 0 0;color:#b9c3d8;white-space:pre-wrap}

/* Checkout extras, referral share, bonus hint */
.novaCheckoutExtra{display:flex;flex-direction:column;gap:6px;margin:10px 0}
.novaCheckoutExtra textarea,.novaCheckoutExtra input:not([type=checkbox]){width:100%;box-sizing:border-box;border-radius:10px;border:1px solid #33415f;background:#0b1222;color:#fff;padding:8px 10px;font:inherit}
.novaCheckoutExtra .gift{display:flex;align-items:center;gap:8px;font-weight:700;cursor:pointer}
.novaCheckoutExtra #novaGiftBox{display:flex;flex-direction:column;gap:6px}
.novaCheckoutExtra #novaGiftBox[hidden]{display:none}
.novaWaShare{margin-inline-start:8px;background:#128c4a!important;color:#fff!important;text-decoration:none;display:inline-flex;align-items:center}
.novaBonusHint{margin:6px 0 0;color:#ffd97a;font-weight:700;font-size:13px}
.nxCard .novaFlash ~ .novaFav{top:30px}

/* ================= NOVA theme — navy · royal blue · gold only for offers (one file, final values) ================= */
:root{
  --n-bg:#0B1020;--n-card:#121A2E;--n-card2:#151F37;--n-line:#222D47;--n-line2:#2B3856;
  --n-txt:#EEF2FF;--n-muted:#9AA6C0;--n-pri:#3B63F5;--n-pri2:#5479FF;--n-gold:#D4A84B;--n-gold2:#F0CC7A;
  --n-ok:#2FBF71;--n-warn:#F2A33A;--n-bad:#EF5B5B;
  --n-r-lg:20px;--n-r:16px;--n-r-sm:12px;
  --n-shadow:0 1px 0 rgba(255,255,255,.04) inset,0 6px 18px -10px rgba(0,0,0,.5);
  --n-shadow-hi:0 1px 0 rgba(255,255,255,.05) inset,0 14px 30px -14px rgba(0,0,0,.6);
  --bg:var(--n-bg);--card:var(--n-card);--card2:var(--n-card2);--txt:var(--n-txt);--muted:var(--n-muted);--line:var(--n-line);--a:var(--n-pri);--b:var(--n-pri2);
  --nova-bg:var(--n-bg);--nova-card:var(--n-card);--nova-stroke:var(--n-line);--nova-text:var(--n-txt);--nova-muted:var(--n-muted);--nova-primary:var(--n-pri);
}
html{scroll-behavior:smooth}
body{background:var(--n-bg)!important;color:var(--n-txt);font-family:Cairo,system-ui,Tahoma,sans-serif;font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased}
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;opacity:.025;background-image: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:rgba(59,99,245,.45);color:#fff}
*{scrollbar-width:thin;scrollbar-color:#2B3856 transparent}
::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:#2B3856;border-radius:10px;border:2px solid var(--n-bg)}::-webkit-scrollbar-track{background:transparent}
.nxPrice,.nxPrice b,.nxFacts,.nxCount{font-variant-numeric:tabular-nums}
:focus-visible{outline:2px solid var(--n-pri2);outline-offset:2px}
h1{font-size:clamp(26px,3.4vw,38px);line-height:1.25;font-weight:800}
h2{font-size:clamp(20px,2.4vw,26px);line-height:1.3;font-weight:800}
h3{font-size:16px;line-height:1.4;font-weight:700}

/* header */
.nxHeader{position:sticky;top:0;z-index:50;background:rgba(11,16,32,.75)!important;-webkit-backdrop-filter:saturate(1.4) blur(14px);backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid rgba(255,255,255,.06)}
.nxBrand .nxN{width:40px!important;height:40px!important;flex:0 0 40px;display:grid!important;place-items:center;font-size:22px!important;line-height:1!important;background:var(--n-pri)!important;color:#fff!important;border-radius:12px}
.nxBrand em{color:var(--n-pri2)!important;font-style:normal}
.nxSearch{background:var(--n-card)!important;border:1px solid var(--n-line)!important;border-radius:14px!important}
.nxSearch:focus-within{border-color:var(--n-pri)!important;box-shadow:0 0 0 3px rgba(59,99,245,.25)}
.nxIco{background:var(--n-card)!important;border:1px solid var(--n-line)!important}
.novaResellerEntry{background:transparent!important;border:1px solid var(--n-line2)!important;color:var(--n-txt)!important}
.nxCount{background:var(--n-pri)!important;color:#fff!important}

/* buttons: primary · secondary */
.nxBuy,.btn.primary,button.primary,.novaBtn{background:var(--n-pri)!important;color:#fff!important;border:0!important;border-radius:12px!important;font-weight:700;transition:transform .12s ease,background .15s ease}
.nxBuy:hover,.btn.primary:hover{background:var(--n-pri2)!important}
.nxBuy:active,.nxMiniCart:active,.chip:active{transform:scale(.96)}
.nxMiniCart{background:transparent!important;border:1px solid var(--n-line2)!important;border-radius:12px!important;color:var(--n-txt)!important}
body .productModalCard .btn:not(.secondary),body .quickCheckout .btn:not(.secondary),body .modal .btn.primary{background:var(--n-pri)!important;background-image:none!important;color:#fff!important;border:0!important;box-shadow:none!important}
body .productModalCard .btn.secondary,body .quickCheckout .btn.secondary{background:transparent!important;background-image:none!important;border:1px solid var(--n-line2)!important;color:var(--n-txt)!important}

/* section titles */
.nxHead h2{display:flex;align-items:center;gap:10px}
.nxHead h2::after{content:"";flex:0 0 36px;height:3px;border-radius:3px;background:var(--n-pri)}
.nxHead a,.nxHead button{border-color:var(--n-line2)!important;color:var(--n-txt)!important;background:transparent!important}

/* category cards: emoji + colored borders kept; depth and a soft shine */
.nxCat{background:linear-gradient(180deg,var(--n-card2),var(--n-card))!important;box-shadow:var(--n-shadow)!important;position:relative;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}
.nxCat::after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.08) 50%,transparent 65%);transform:translateX(-120%);transition:transform .6s ease;pointer-events:none}
.nxCat:hover{transform:translateY(-3px);box-shadow:var(--n-shadow-hi)!important}
.nxCat:hover::after{transform:translateX(120%)}
.nxTrust{background:var(--n-card)!important;border:1px solid var(--n-line)!important;box-shadow:var(--n-shadow)!important}

/* product cards */
.nxCard{background:linear-gradient(180deg,var(--n-card2),var(--n-card))!important;border:1px solid var(--n-line)!important;border-radius:var(--n-r-lg)!important;box-shadow:var(--n-shadow)!important;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;position:relative;overflow:hidden}
.nxCard:hover{transform:translateY(-3px);box-shadow:var(--n-shadow-hi)!important;border-color:color-mix(in srgb,var(--brand,#3B63F5) 45%,var(--n-line))!important}
.nxPic{width:96px!important;height:96px!important;margin-inline:auto;border-radius:24px!important;display:grid!important;place-items:center;background:color-mix(in srgb,var(--brand,#3B63F5) 10%,#111A2E)!important;border:1px solid color-mix(in srgb,var(--brand,#3B63F5) 30%,transparent)!important;box-shadow:none!important;overflow:hidden}
.nxPic img{width:62%!important;height:62%!important;object-fit:contain!important;border-radius:14px;transition:opacity .25s ease}
.nxPic.novaLoading{background-image:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.08) 50%,transparent 70%)!important;background-size:200% 100%!important;animation:novaShimmer 1.2s linear infinite}
.nxPic.novaLoading img{opacity:0}
@keyframes novaShimmer{to{background-position:-200% 0}}
.nxCard h3{margin-top:12px}
.nxCard p{color:var(--n-muted);font-size:13px}
.nxCard .nxStock,.nxCard .nxDelivery,.nxCard .nxWarranty{display:none!important}
.nxFacts span{background:rgba(255,255,255,.04)!important;border:1px solid var(--n-line)!important;color:var(--n-muted)!important;border-radius:8px!important}
.novaBadges{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin:8px 0 2px}
.novaBadge{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;font-weight:700;padding:3px 9px;border-radius:999px;border:1px solid transparent;line-height:1.5}
.novaBadge.fast{background:rgba(47,191,113,.12);color:#6BE3A3;border-color:rgba(47,191,113,.28)}
.novaBadge.best{background:rgba(239,91,91,.12);color:#FF9A8A;border-color:rgba(239,91,91,.28)}
.novaBadge.new{background:rgba(84,121,255,.14);color:#9DB4FF;border-color:rgba(84,121,255,.3)}
.novaBadge.guard{background:rgba(212,168,75,.12);color:var(--n-gold2);border-color:rgba(212,168,75,.3)}
.nxPrice{display:flex;align-items:baseline;justify-content:center;gap:4px;color:var(--n-txt)!important}
.nxPrice b{font-size:26px;font-weight:800}
.nxPrice small,.novaPerMonth{font-size:12px;color:var(--n-muted)}
.novaPerMonth{display:block;text-align:center;margin-top:-2px}
.novaDur{display:flex;justify-content:center;gap:6px;margin:8px 0 4px;flex-wrap:wrap}
body .nxCard .novaDur button{min-width:0!important;width:auto!important;height:auto!important;flex:0 0 auto!important;margin:0!important;font:inherit;font-size:11.5px!important;font-weight:700;line-height:1.5!important;padding:3px 10px!important;border-radius:999px!important;border:1px solid var(--n-line2);background:transparent;color:var(--n-muted);box-shadow:none!important;cursor:pointer}
body .nxCard .novaDur button[aria-pressed=true]{background:var(--n-pri)!important;border-color:var(--n-pri)!important;color:#fff!important}
.nxCard.isOut .nxPic{filter:grayscale(1);opacity:.55}
.nxCard.isOut .nxBuy{background:var(--n-card2)!important;color:var(--n-muted)!important}
.nxCard.isOffer{border-color:rgba(212,168,75,.45)!important}
.nxCard.isOffer::before{content:attr(data-ribbon);position:absolute;top:14px;inset-inline-start:-34px;transform:rotate(-45deg);background:linear-gradient(180deg,var(--n-gold2),var(--n-gold));color:#1A1405;font-size:11px;font-weight:800;padding:3px 40px;z-index:2}
[dir=rtl] .nxCard.isOffer::before{transform:rotate(45deg)}
.novaFav{background:rgba(11,16,32,.6)!important;border:1px solid var(--n-line)!important}

/* category chips stay visible while scrolling the store */
.filters{position:sticky;top:64px;z-index:20;background:rgba(11,16,32,.85);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:8px 0;margin-inline:-4px}
.chip{border-radius:999px!important;border:1px solid var(--n-line2)!important;background:transparent!important;color:var(--n-muted)!important;font-weight:700}
.chip.active,.chip[aria-pressed=true]{background:var(--n-pri)!important;border-color:var(--n-pri)!important;color:#fff!important}

/* status colors */
.ok,.success,[data-status=paid],[data-status=completed]{color:var(--n-ok)}
.warn,.pending,[data-status=pending]{color:var(--n-warn)}
.error,.danger,[data-status=cancelled]{color:var(--n-bad)}

/* one floating contact (WhatsApp) */
#novaTelegramBot,.novaSocialShortcuts a[href*="facebook"],.novaSocialShortcuts [data-nova-contact=facebook],.novaSocialShortcuts .facebookLink{display:none!important}

/* hero slot: the offer banner (hero.css) fills it */
#nxHero{height:auto!important;min-height:0!important;border:0!important;background:none!important;padding:0!important;overflow:visible!important;box-shadow:none!important;aspect-ratio:auto!important}

/* product modal + checkout on phones */
@media (max-width:700px){
  .modal{align-items:flex-end!important}
  .modal>.productModalCard{border-radius:22px 22px 0 0!important;max-height:92vh;animation:novaSheet .28s cubic-bezier(.2,.8,.2,1)}
  .novaStickyBuy{position:sticky;bottom:0;z-index:5;display:flex;gap:10px;align-items:center;padding:10px 12px calc(10px + env(safe-area-inset-bottom));margin:12px -16px -16px;background:rgba(18,26,46,.96);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--n-line)}
  .novaStickyBuy b{font-size:20px}
  .novaStickyBuy button{flex:1;padding:12px;border-radius:12px;border:0;background:var(--n-pri);color:#fff;font:inherit;font-weight:800}
}
@keyframes novaSheet{from{transform:translateY(40px);opacity:.4}to{transform:none;opacity:1}}
.novaCopy{margin-inline-start:8px;padding:2px 10px;border-radius:8px;border:1px solid var(--n-line2);background:var(--n-card2);color:var(--n-txt);font:inherit;font-size:12px;font-weight:700;cursor:pointer;vertical-align:middle}

/* bottom navigation */
html body:not(#nX) nav.novaStoreBottom{background:rgba(11,16,32,.94)!important;background-image:none!important;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid var(--n-line)!important}
.novaStoreBottom *{color:var(--n-muted)}
body .novaStoreBottom [data-premium-nav][aria-current=page]{color:#fff!important}
body .novaStoreBottom [data-premium-nav=home]>svg{background:var(--n-pri)!important;box-shadow:none!important;border-color:rgba(255,255,255,.18)!important;color:#fff!important}

/* footer */
.novaFooter{margin:48px 0 0;padding:36px 0 calc(90px + env(safe-area-inset-bottom));background:#080C18;border-top:1px solid var(--n-line);color:var(--n-muted);font-size:14px}
.novaFooter .in{max-width:1200px;margin:auto;padding:0 20px;display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:28px}
.novaFooter b{display:block;color:var(--n-txt);margin-bottom:10px;font-size:15px}
.novaFooter a{display:block;color:var(--n-muted);text-decoration:none;padding:3px 0}
.novaFooter a:hover{color:var(--n-txt)}
.novaFooter .pay{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.novaFooter .pay span{border:1px solid var(--n-line2);border-radius:8px;padding:2px 8px;font-size:12px;color:var(--n-txt)}
.novaFooter .copy{max-width:1200px;margin:24px auto 0;padding:16px 20px 0;border-top:1px solid var(--n-line);font-size:12.5px}
@media (max-width:800px){.novaFooter .in{grid-template-columns:1fr 1fr}.novaFooter .in>div:first-child{grid-column:1/-1}}

/* motion */
.novaFly{position:fixed;z-index:9999;width:44px;height:44px;border-radius:12px;pointer-events:none;object-fit:contain;background:var(--n-card2);transition:transform .7s cubic-bezier(.5,-.2,.6,1),opacity .7s ease}
.novaConfetti{position:fixed;inset:0;pointer-events:none;z-index:10000}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
.novaVacation{position:relative;z-index:60;padding:8px 16px;background:#16233F;border-bottom:1px solid var(--n-line);color:var(--n-gold2);font-size:13px;font-weight:700;text-align:center}

/* bottom bar: flat, even items, active item marked by a small pill — no raised circle */
html body:not(#nX) nav.novaStoreBottom{height:auto!important;padding:6px 6px calc(6px + env(safe-area-inset-bottom))!important;border-radius:0!important;display:flex!important;justify-content:space-around!important;align-items:stretch!important}
html body:not(#nX) nav.novaStoreBottom>*{flex:1 1 0!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:2px!important;padding:6px 0!important;margin:0!important;background:none!important;border:0!important;box-shadow:none!important;transform:none!important;font:700 11px Cairo,system-ui,sans-serif!important;color:var(--n-muted)!important;position:relative!important;min-width:0!important}
html body:not(#nX) nav.novaStoreBottom>*>svg{width:22px!important;height:22px!important;padding:0!important;margin:0!important;background:none!important;border:0!important;box-shadow:none!important;transform:none!important;border-radius:0!important;position:static!important;color:inherit!important}
html body:not(#nX) nav.novaStoreBottom>*::before,html body:not(#nX) nav.novaStoreBottom>*::after{display:none!important}
html body:not(#nX) nav.novaStoreBottom>[aria-current]{color:#fff!important}
html body:not(#nX) nav.novaStoreBottom>[aria-current]>svg{color:var(--n-pri2)!important}
html body:not(#nX) nav.novaStoreBottom>[aria-current]::before{content:""!important;display:block!important;position:absolute!important;top:0!important;width:28px!important;height:3px!important;border-radius:0 0 3px 3px!important;background:var(--n-pri)!important}
html body:not(#nX) nav.novaStoreBottom .novaStoreCartCount{position:absolute!important;top:2px!important;inset-inline-start:calc(50% + 6px)!important;min-width:16px;height:16px;padding:0 4px;border-radius:9px;background:var(--n-pri)!important;color:#fff!important;font-size:10px!important;line-height:16px;text-align:center}
.nxBottom{display:none!important}

/* back inside the category view: hidden on phones (use the back gesture); a quiet arrow on desktop */
.nxBrowseBack{position:static!important}
@media (max-width:900px){.nxBrowseBack{display:none!important}}
@media (min-width:901px){.nxBrowseBack{width:40px!important;height:40px!important;padding:0!important;border-radius:50%!important;font-size:0!important;background:var(--n-card)!important;border:1px solid var(--n-line2)!important;opacity:.55;transition:opacity .2s ease}.nxBrowseBack::before{content:"→";font-size:18px;color:var(--n-txt)}[dir=ltr] .nxBrowseBack::before{content:"←"}.nxBrowseBack:hover,.nxBrowseTop:hover .nxBrowseBack{opacity:1}}

/* product cards line up: price and buttons always at the bottom */
.nxCard{display:flex!important;flex-direction:column!important}
.nxCard .nxPrice{margin-top:auto!important}

/* plan picker sheet */
.novaPick{position:fixed;inset:0;z-index:9000;background:rgba(3,6,14,.6);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:grid;place-items:center;padding:16px}
.novaPickBox{width:min(440px,100%);background:#121A2E;border:1px solid var(--n-line2);border-radius:20px;padding:16px;animation:novaSheet .25s ease}
.novaPickHead{display:flex;align-items:center;gap:12px;margin-bottom:12px}.novaPickHead b{display:block;font-size:18px}.novaPickHead small{color:var(--n-muted)}
.novaPickHead .x{margin-inline-start:auto;background:none;border:0;color:var(--n-muted);font-size:26px;cursor:pointer}
.novaPickRow{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px;border:1px solid var(--n-line2);border-radius:14px;margin-top:8px;text-decoration:none;color:var(--n-txt);background:#0E1528}
.novaPickRow:hover{border-color:var(--n-pri)}
.novaPickRow b{display:block;font-size:16px}.novaPickRow small{color:var(--n-muted);font-size:12px}
.novaPickRow .pr{text-align:end}.novaPickRow .pr i{display:block;font-style:normal;color:#6BE3A3;font-size:12px;font-weight:700}
@media (max-width:700px){.novaPick{align-items:end;padding:0}.novaPickBox{border-radius:22px 22px 0 0;padding-bottom:calc(16px + env(safe-area-inset-bottom))}}

/* one contact button (replaces the scattered floating icons) */
.novaSocialShortcuts{display:none!important}
.novaContact{position:fixed;z-index:80;inset-inline-start:14px;bottom:calc(84px + env(safe-area-inset-bottom));display:flex;flex-direction:column;align-items:flex-start;gap:8px}
@media (min-width:901px){.novaContact{bottom:22px}}
.novaContactBtn{width:52px;height:52px;border-radius:50%;border:1px solid rgba(255,255,255,.12);background:var(--n-pri);color:#fff;display:grid;place-items:center;cursor:pointer;box-shadow:0 10px 26px -10px rgba(0,0,0,.7)}
.novaContactBtn svg{width:24px;height:24px}
.novaContact.open .novaContactBtn{background:#1B2540}
.novaContactList{display:flex;flex-direction:column;gap:6px;background:#121A2E;border:1px solid var(--n-line2);border-radius:16px;padding:6px;box-shadow:0 18px 40px -16px rgba(0,0,0,.8);animation:novaSheet .2s ease}
.novaContactList[hidden]{display:none}
.novaContactList a{display:flex;align-items:center;gap:10px;padding:9px 14px 9px 10px;border-radius:12px;color:var(--n-txt);text-decoration:none;font-weight:700;font-size:14px;white-space:nowrap}
.novaContactList a:hover{background:#18233F}
.novaContactList svg{width:22px;height:22px;fill:currentColor}
.novaContactList .wa svg{color:#25D366}.novaContactList .tg svg{color:#2AABEE}.novaContactList .fb svg{color:#1877F2}.novaContactList .sp svg{color:var(--n-pri2)}

/* even category and product tiles */
#nxCats{grid-auto-rows:1fr!important}
.nxCat{height:100%!important;min-height:132px!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important}
.nxCat i{height:44px!important;display:flex!important;align-items:center!important;justify-content:center!important;flex-wrap:wrap!important;overflow:hidden!important;line-height:1!important}
.nxCat small{display:-webkit-box!important;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
.nxPlatformGrid,.nxBrowseProducts,#nxPopular,#nxFeatured{grid-auto-rows:1fr!important}
.nxPlatformGrid>*{height:100%!important}

/* account window in the store palette */
#accountOverlay .authIntro{background:#0E1528!important;color:var(--n-txt)!important;border:1px solid var(--n-line2)!important}
#accountOverlay .authIntro *{color:inherit!important}
#accountOverlay .btn:not(.secondary):not(.googleBtn),#accountOverlay #customerLoginBtn{background:var(--n-pri)!important;background-image:none!important;color:#fff!important;border:0!important}
#accountOverlay [aria-selected=true],#accountOverlay .active,#accountOverlay .tab.on{background:var(--n-pri)!important;background-image:none!important;color:#fff!important}
#accountOverlay #authLoginTab.selected,#accountOverlay #authRegisterTab.selected{background:var(--n-pri)!important;background-image:none!important;color:#fff!important;border-color:var(--n-pri)!important}
#accountOverlay .textAction{color:var(--n-pri2)!important}
/* TEMP until the Google OAuth redirect for nova-subs.app is added in Google Cloud: hide "continue with Google" (it errors) */
#accountOverlay .googleBtn,a[href^="/auth/google"]{display:none!important}
/* NOVA offer banner — used by the store home and by the offer pages (one source) */
:root{--n-bg:#0B1020;--n-card:#121A2E;--n-card2:#151F37;--n-line:#222D47;--n-line2:#2B3856;--n-pri:#3B63F5;--n-pri2:#5479FF;--n-muted:#9AA6C0;--n-txt:#EEF2FF;--n-gold:#D4A84B;--n-gold2:#F0CC7A}
.novaOfferHero{position:relative;border-radius:22px;overflow:hidden;border:1px solid var(--n-line);background:#121A2E;isolation:isolate}
.novaOfferTrack{display:flex;transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.novaOfferSlide{flex:0 0 100%;display:grid;grid-template-columns:auto 1fr;gap:24px;align-items:center;padding:28px 32px 36px;position:relative}
.novaOfferSlide::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,color-mix(in srgb,var(--spot) 10%,transparent),transparent 55%)}
[dir=rtl] .novaOfferSlide::before{background:linear-gradient(270deg,color-mix(in srgb,var(--spot) 10%,transparent),transparent 55%)}
.novaOfferLogo{width:96px;height:96px;border-radius:24px;display:grid;place-items:center;background:#0E1528;border:1px solid var(--n-line2)}
.novaOfferLogo img{width:64%;height:64%;object-fit:contain}
.novaOfferTop{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:8px}
.novaOfferTag{display:inline-flex;align-items:center;font-size:12px;font-weight:800;padding:2px 10px;border-radius:999px;color:var(--n-gold2);border:1px solid rgba(212,168,75,.45)}
.novaOfferTimer{font-size:13px;font-weight:700;color:var(--n-muted);font-variant-numeric:tabular-nums}
.novaOfferSlide h2{margin:0 0 2px;font-size:clamp(22px,2.6vw,30px);line-height:1.3;color:var(--n-txt)}
.novaOfferSlide h2 em{font-style:normal;color:var(--spot)}
.novaOfferSlide p{margin:0 0 16px;font-size:14px;color:var(--n-muted)}
.novaPlans{display:flex;gap:8px;flex-wrap:wrap}
.novaPlanBtn{display:flex;flex-direction:column;align-items:center;min-width:96px;padding:10px 12px;border-radius:14px;border:1px solid var(--n-line2);background:#0E1528;color:var(--n-txt);text-decoration:none;transition:transform .12s ease,border-color .15s ease}
.novaPlanBtn:hover{border-color:var(--n-pri);background:#101a33}
.novaPlanBtn:active{transform:scale(.96)}
.novaPlanBtn small{font-size:12px;color:var(--n-muted)}
.novaPlanBtn b{font-size:22px;font-weight:800;line-height:1.25;font-variant-numeric:tabular-nums}
.novaPlanBtn i{font-style:normal;font-size:11px;font-weight:700;color:#6BE3A3;white-space:nowrap}
.novaPlanBtn.out{pointer-events:none}.novaPlanBtn.out b,.novaPlanBtn.out i{color:var(--n-muted)}
.novaPlans.gpt{align-items:stretch;gap:10px}
.novaPlans.gpt .novaPlanBtn{min-width:150px}
.novaGptCta{display:grid;place-items:center;padding:0 26px;border-radius:14px;background:var(--n-pri);color:#fff;font-weight:800;text-decoration:none;font-size:15px}
.novaGptCta:hover{background:var(--n-pri2)}
.novaOfferDots{position:absolute;bottom:12px;inset-inline:0;display:flex;justify-content:center;gap:6px}
.novaOfferDots button{all:unset;width:7px;height:7px;border-radius:9px;background:rgba(255,255,255,.3);cursor:pointer;transition:width .2s ease}
.novaOfferDots button[aria-current=true]{width:22px;background:#fff}
@media (max-width:700px){
  .novaOfferSlide{grid-template-columns:1fr;gap:0;padding:18px 16px 30px}
  .novaOfferLogo{width:52px;height:52px;border-radius:14px;position:absolute;top:16px;inset-inline-end:16px}
  .novaOfferTop,.novaOfferSlide h2{padding-inline-end:64px}
  .novaOfferSlide h2{font-size:22px}
  .novaOfferSlide p{margin-bottom:14px}
  .novaPlans{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
  .novaPlanBtn{min-width:0;padding:8px 2px;border-radius:12px}
  .novaPlanBtn b{font-size:18px}
  .novaPlanBtn small{font-size:11px}
  .novaPlanBtn i{font-size:10px}
  .novaPlans.gpt{grid-template-columns:1fr 1fr}
  .novaPlans.gpt .novaPlanBtn{min-width:0}
}
/* stronger banner: brand spotlight, official logo tile, thin gold frame */
.novaOfferHero{background:#0A0F1E;border-color:rgba(212,168,75,.22)}
.novaOfferSlide::before{background:radial-gradient(60% 120% at 100% 0%,color-mix(in srgb,var(--spot) 30%,transparent),transparent 60%),radial-gradient(50% 80% at 0% 100%,rgba(59,99,245,.16),transparent 70%)}
[dir=rtl] .novaOfferSlide::before{background:radial-gradient(60% 120% at 0% 0%,color-mix(in srgb,var(--spot) 30%,transparent),transparent 60%),radial-gradient(50% 80% at 100% 100%,rgba(59,99,245,.16),transparent 70%)}
.novaOfferLogo{width:112px;height:112px;border-radius:28px;border:1px solid rgba(255,255,255,.08);box-shadow:0 18px 40px -16px var(--spot),inset 0 1px 0 rgba(255,255,255,.12)}
.novaOfferLogo.nf{background:linear-gradient(145deg,#1d1d1d,#0f0f0f)}
.novaOfferLogo.gpt{background:linear-gradient(145deg,#14b48c,#0d8a6a)}
.novaOfferLogo img{width:58%;height:58%}
.novaOfferLogo.sm{width:44px;height:44px;border-radius:12px;box-shadow:none}
.novaOfferSlide h2{font-size:clamp(24px,3vw,34px)}
.novaOfferCta{margin-top:12px;display:inline-flex;align-items:center;justify-content:center;padding:11px 24px;border-radius:12px;border:0;background:#F3F5FF;color:#0B1020;font:800 15px Cairo,system-ui,sans-serif;cursor:pointer}
.novaOfferCta:hover{background:#fff}
@media (max-width:700px){.novaOfferLogo{width:56px;height:56px;border-radius:15px}.novaOfferCta{width:100%;margin-top:10px}}
