
/* Night Vault visual upgrade */
:root {
  --nv-bg: #07070b;
  --nv-card: rgba(20, 17, 29, .82);
  --nv-border: rgba(167, 91, 255, .22);
  --nv-purple: #a855f7;
  --nv-purple-2: #7c3aed;
  --nv-text: #f7f3ff;
  --nv-muted: #a9a1b7;
  --nv-shadow: 0 18px 55px rgba(0,0,0,.32);
}
html { scroll-behavior: smooth; }
body {
  background:
    radial-gradient(circle at 20% -10%, rgba(124,58,237,.18), transparent 32%),
    radial-gradient(circle at 90% 10%, rgba(168,85,247,.12), transparent 28%),
    var(--nv-bg);
  color: var(--nv-text);
}
a, button { -webkit-tap-highlight-color: transparent; }
button, a { transition: transform .18s ease, opacity .18s ease, box-shadow .18s ease, border-color .18s ease; }
button:hover, a:hover { transform: translateY(-1px); }
.nv-enhanced-card {
  background: var(--nv-card);
  border: 1px solid var(--nv-border);
  border-radius: 18px;
  box-shadow: var(--nv-shadow);
  backdrop-filter: blur(14px);
}
.nv-hero {
  margin: 24px auto;
  max-width: 1200px;
  padding: clamp(28px, 7vw, 70px);
  border: 1px solid var(--nv-border);
  border-radius: 28px;
  background:
    linear-gradient(135deg, rgba(124,58,237,.20), rgba(0,0,0,.06)),
    rgba(14,12,20,.86);
  box-shadow: 0 25px 80px rgba(0,0,0,.35);
  overflow: hidden;
}
.nv-hero h1 { font-size: clamp(2.2rem, 7vw, 5rem); line-height: .98; margin: 0 0 14px; }
.nv-hero p { color: var(--nv-muted); max-width: 680px; font-size: clamp(1rem, 2vw, 1.2rem); }
.nv-badge {
  display:inline-flex; align-items:center; gap:7px; padding:7px 11px;
  border-radius:999px; border:1px solid var(--nv-border);
  background:rgba(168,85,247,.09); color:#d9b7ff; font-size:.82rem;
}
.nv-actions { display:flex; gap:12px; flex-wrap:wrap; margin-top:22px; }
.nv-btn {
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  min-height:46px; padding:0 18px; border-radius:12px; border:1px solid var(--nv-border);
  background:linear-gradient(135deg,var(--nv-purple-2),var(--nv-purple));
  color:white; font-weight:700; text-decoration:none; cursor:pointer;
  box-shadow:0 10px 30px rgba(124,58,237,.22);
}
.nv-btn.secondary { background:rgba(255,255,255,.04); box-shadow:none; }
.nv-section-title { max-width:1200px; margin:42px auto 16px; padding:0 18px; }
.nv-section-title h2 { margin:0 0 5px; font-size:clamp(1.45rem,4vw,2.1rem); }
.nv-section-title p { margin:0; color:var(--nv-muted); }
.nv-features {
  max-width:1200px; margin:0 auto; padding:0 18px;
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px;
}
.nv-feature { padding:20px; }
.nv-feature strong { display:block; margin-bottom:5px; }
.nv-feature span { color:var(--nv-muted); font-size:.92rem; }
.nv-searchbar {
  max-width:1200px; margin:0 auto; padding:0 18px; display:flex; gap:10px;
}
.nv-searchbar input {
  flex:1; min-height:46px; border-radius:12px; border:1px solid var(--nv-border);
  background:rgba(255,255,255,.04); color:var(--nv-text); padding:0 14px; outline:none;
}
.nv-searchbar input:focus { border-color:rgba(168,85,247,.65); box-shadow:0 0 0 3px rgba(168,85,247,.10); }
.nv-toast {
  position:fixed; left:50%; bottom:22px; z-index:9999; transform:translate(-50%,20px);
  opacity:0; pointer-events:none; background:#16121e; color:#fff;
  border:1px solid var(--nv-border); padding:12px 16px; border-radius:12px;
  box-shadow:var(--nv-shadow); transition:.22s ease;
}
.nv-toast.show { opacity:1; transform:translate(-50%,0); }
@media (max-width: 760px) {
  .nv-features { grid-template-columns:1fr; }
  .nv-hero { margin:14px 12px; border-radius:22px; }
  .nv-searchbar { padding:0 12px; }
}

/* iPhone / PWA install prompt */
#nv-install-prompt{position:fixed;inset:0;z-index:10000;font-family:Inter,Arial,sans-serif}
.nv-install-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.72);backdrop-filter:blur(8px)}
.nv-install-card{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);width:min(430px,calc(100% - 28px));background:linear-gradient(145deg,#151321,#090910);border:1px solid #6f2bb0;border-radius:22px;padding:26px 22px 20px;box-shadow:0 25px 80px rgba(0,0,0,.7),0 0 40px rgba(139,44,255,.2);color:#fff}
.nv-install-close{position:absolute;right:13px;top:9px;border:0;background:none;color:#aaa;font-size:30px;cursor:pointer}
.nv-install-icon{width:58px;height:58px;border-radius:16px;display:grid;place-items:center;background:radial-gradient(circle,#9a39ff,#3b0b68);border:1px solid #9b4bdf;box-shadow:0 0 25px rgba(139,44,255,.35);font-size:31px;color:#e2c5ff;margin-bottom:15px}
.nv-install-card h2{font-size:22px;margin:0 30px 8px 0}
.nv-install-card p{color:#aaa6b9;font-size:13px;line-height:1.5;margin:0 0 18px}
.nv-install-steps{display:grid;gap:10px;margin-bottom:18px}
.nv-install-steps div{display:flex;align-items:center;gap:10px;background:#0d0c15;border:1px solid #28243a;border-radius:11px;padding:11px 12px;color:#d7d3df;font-size:12px}
.nv-install-steps b{width:25px;height:25px;flex:none;border-radius:50%;display:grid;place-items:center;background:#7625c8;color:#fff}
.nv-install-ok{width:100%;border:0;border-radius:10px;padding:13px;background:linear-gradient(90deg,#6f1dff,#a52cff);color:#fff;font-weight:900;cursor:pointer}
.nv-install-later{display:block;width:100%;margin-top:9px;border:0;background:transparent;color:#9994a8;padding:8px;cursor:pointer;font-weight:700}
@media(min-width:700px){.nv-install-card{bottom:28px}}

/* Store polish + mobile navigation */
.mobile-nav-toggle{display:none}
.nv-faq{padding-top:10px}
.faq-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px}
.faq-grid details{border:1px solid var(--nv-border);border-radius:14px;background:var(--nv-card);padding:0 17px;box-shadow:var(--nv-shadow)}
.faq-grid summary{cursor:pointer;list-style:none;font-weight:800;padding:17px 24px 17px 0;position:relative}
.faq-grid summary::-webkit-details-marker{display:none}
.faq-grid summary:after{content:'+';position:absolute;right:0;top:14px;font-size:20px;color:#c27bff}
.faq-grid details[open] summary:after{content:'−'}
.faq-grid p{margin:0 0 17px;color:var(--nv-muted);font-size:13px;line-height:1.6}
.custom-order-form.is-submitting{opacity:.72;pointer-events:none}
.custom-order-error{margin:0;color:#ff91aa;font-size:12px}
@media(max-width:900px){
  .topbar{height:auto;min-height:64px;flex-wrap:wrap;gap:10px;padding:10px 4%}
  .brand{min-width:auto;flex:1}
  .auth-status{order:2;border-right:0;padding-right:0}
  nav{order:4;width:100%;display:none;flex-wrap:wrap;gap:8px;padding:8px 0 2px}
  nav.open{display:flex}
  nav a{padding:9px 10px;border:1px solid #29263d;border-radius:9px;background:#0d0c15;font-size:12px}
  .mobile-nav-toggle{display:inline-flex;align-items:center;gap:6px;border:1px solid #3c3451;background:#12101a;color:#fff;border-radius:9px;padding:9px 10px;font-weight:800;cursor:pointer}
  .header-tools{order:3;margin-left:0;flex:1;justify-content:flex-end}
  .header-tools .search{width:min(230px,45vw)}
  .account-button{display:block}
  .faq-grid{grid-template-columns:1fr}
}
@media(max-width:600px){
  .topbar{padding:8px 3%;gap:7px}
  .brand{font-size:15px}
  .crown{font-size:28px}
  .auth-status{gap:4px}
  .auth-link{padding:0 7px;min-height:32px;font-size:10px}
  .header-tools .search{width:100%;max-width:150px}
  .mobile-nav-toggle span{display:none}
  .nv-actions .nv-btn{width:100%}
  .custom-order-submit{min-height:46px}
}

/* Night Vault interaction upgrade */
.nv-cursor-glow{position:fixed;width:220px;height:220px;border-radius:50%;pointer-events:none;z-index:9998;background:radial-gradient(circle,rgba(184,120,255,.18) 0%,rgba(120,60,255,.07) 35%,transparent 70%);transform:translate(-50%,-50%);mix-blend-mode:screen;transition:width .18s ease,height .18s ease;}
.nv-reveal{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s ease}.nv-reveal.is-visible{opacity:1;transform:translateY(0)}
.nv-featured-carousel{position:relative;overflow:hidden;margin-top:18px}.nv-featured-track{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding:6px 2px 14px;scrollbar-width:none}.nv-featured-track::-webkit-scrollbar{display:none}.nv-featured-track>*{min-width:min(330px,82vw);scroll-snap-align:start}.nv-carousel-btn{border:1px solid rgba(190,120,255,.55);background:rgba(12,8,22,.86);color:#fff;border-radius:50%;width:42px;height:42px;cursor:pointer;box-shadow:0 0 18px rgba(160,80,255,.35)}.nv-carousel-controls{display:flex;gap:8px;justify-content:flex-end;margin:0 0 8px}.nv-carousel-btn:hover{box-shadow:0 0 28px rgba(190,110,255,.75);transform:translateY(-2px)}
@media(max-width:700px){.nv-cursor-glow{display:none}}
@media(prefers-reduced-motion:reduce){.nv-reveal{opacity:1;transform:none;transition:none}.nv-cursor-glow{display:none}}
/* PREMIUM NIGHTVAULT SHOP / BLOG / MEMBERSHIP UPGRADE */
:root{--nv-violet:#8b5cf6;--nv-electric:#38bdf8;--nv-pink:#ec4899;--nv-bg:#050509;--nv-panel:rgba(18,14,31,.82)}
.products,.blog-grid,.posts,.membership-grid,.plans{gap:22px}
.product-card,.product,.card,.post{background:linear-gradient(145deg,rgba(28,20,48,.92),rgba(7,8,17,.96))!important;border:1px solid rgba(139,92,246,.3)!important;box-shadow:0 14px 40px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.05)!important}
.product-card:after,.product:after,.card:after,.post:after{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:linear-gradient(135deg,rgba(56,189,248,.7),rgba(139,92,246,.7),rgba(236,72,153,.55),transparent 60%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;pointer-events:none;opacity:.45}
.product-card:hover,.product:hover,.card:hover,.post:hover{transform:translateY(-10px) scale(1.018)!important;box-shadow:0 24px 65px rgba(0,0,0,.5),0 0 36px rgba(139,92,246,.32),0 0 70px rgba(56,189,248,.12)!important}
.product-card img,.product img,.card-img{filter:saturate(1.08) contrast(1.04)}
.product-card .price,.price{background:linear-gradient(90deg,#fff,#c4b5fd,#7dd3fc);-webkit-background-clip:text;background-clip:text;color:transparent!important;text-shadow:none}
.card-actions button,.card-actions a,.product-card button,.product-card a.button,.buy-now,.add-to-cart{position:relative;overflow:hidden;background:linear-gradient(135deg,#7c3aed,#4f46e5 55%,#0284c7)!important;border:1px solid rgba(255,255,255,.14)!important;box-shadow:0 8px 25px rgba(99,102,241,.32)!important}
.card-actions button:before,.card-actions a:before,.product-card button:before,.buy-now:before,.add-to-cart:before{content:"";position:absolute;top:0;left:-120%;width:70%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.35),transparent);transform:skewX(-20deg);transition:.6s}
.card-actions button:hover:before,.card-actions a:hover:before,.product-card button:hover:before,.buy-now:hover:before,.add-to-cart:hover:before{left:140%}
.blog-card,.article-card,.blog-grid>article{position:relative;background:linear-gradient(150deg,rgba(19,18,34,.96),rgba(8,8,15,.98));border:1px solid rgba(56,189,248,.2);border-radius:24px;overflow:hidden;box-shadow:0 16px 42px rgba(0,0,0,.32);transition:.3s}
.blog-card:hover,.article-card:hover,.blog-grid>article:hover{transform:translateY(-8px);border-color:rgba(56,189,248,.55);box-shadow:0 22px 58px rgba(0,0,0,.46),0 0 35px rgba(56,189,248,.18)}
.blog-card h2,.blog-card h3,.article-card h2,.article-card h3{letter-spacing:-.02em}
.membership-card,.plan,.pricing-card,.tier{position:relative;overflow:hidden;border-radius:26px!important;background:radial-gradient(circle at top,rgba(139,92,246,.2),transparent 42%),linear-gradient(155deg,rgba(25,20,43,.96),rgba(6,7,14,.98))!important;border:1px solid rgba(139,92,246,.38)!important;box-shadow:0 20px 55px rgba(0,0,0,.42)!important}
.membership-card:hover,.plan:hover,.pricing-card:hover,.tier:hover{transform:translateY(-10px) scale(1.02);border-color:rgba(236,72,153,.58)!important;box-shadow:0 25px 70px rgba(0,0,0,.52),0 0 45px rgba(139,92,246,.3)!important}
.membership-card:before,.plan:before,.pricing-card:before,.tier:before{content:"PREMIUM ACCESS";position:absolute;right:14px;top:14px;font-size:10px;letter-spacing:.16em;color:#ddd6fe;padding:7px 10px;border-radius:999px;background:rgba(139,92,246,.14);border:1px solid rgba(196,181,253,.22)}
.nv-premium-section-title{font-size:clamp(2rem,5vw,3.6rem);text-align:center;margin:20px auto;background:linear-gradient(90deg,#fff,#c4b5fd,#7dd3fc);-webkit-background-clip:text;color:transparent;text-shadow:0 0 40px rgba(139,92,246,.25)}
@media(max-width:700px){.product-card,.product,.card,.blog-card,.article-card,.membership-card,.plan,.pricing-card{border-radius:18px!important}.membership-card:before,.plan:before,.pricing-card:before{font-size:8px;padding:5px 7px}}
