/*
 * SellAuth / REEZA — SIGNAL//NOIR
 * Complete visual system. SellAuth's generated classes, markup, data, and routes
 * remain untouched; this file is a presentation layer over the stock template.
 */
:root {
  --noir: #08090b;
  --noir-2: #0d0f12;
  --noir-panel: #111418;
  --noir-raised: #171a20;
  --noir-line: rgba(255,255,255,.085);
  --noir-line-strong: rgba(255,255,255,.15);
  --noir-ink: #f2f3f4;
  --noir-muted: #969ca6;
  --noir-accent: rgb(var(--cl-accent));
  --noir-ease: cubic-bezier(.2,.75,.25,1);
  --noir-shadow: 0 26px 90px rgba(0,0,0,.42);
  --noir-radius: 18px;
  --noir-pointer-x: 50vw;
  --noir-pointer-y: 28vh;
}

html { background: var(--noir) !important; color-scheme: dark; scroll-behavior: smooth; }
body {
  min-height: 100vh;
  overflow-x: hidden;
  color: var(--noir-ink);
  background:
    radial-gradient(ellipse 68rem 38rem at 52% -18rem, rgba(var(--cl-accent),.16), transparent 70%),
    radial-gradient(ellipse 42rem 32rem at 105% 38%, rgba(40,70,95,.075), transparent 70%),
    linear-gradient(180deg,#090a0c 0%,#08090b 46%,#090a0c 100%) !important;
  font-family: var(--ff-body, ui-sans-serif), ui-sans-serif, system-ui, sans-serif !important;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
h1,h2,h3,h4,h5,h6 { font-family:var(--ff-heading,var(--ff-body,ui-sans-serif)),ui-sans-serif,system-ui,sans-serif; }
body::before {
  content:""; position:fixed; inset:0; z-index:0; pointer-events:none;
  opacity:.19;
  background-image: linear-gradient(rgba(255,255,255,.028) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.028) 1px,transparent 1px);
  background-size:64px 64px;
  background-position:0 0;
  animation:noir-grid-drift 72s linear infinite;
  mask-image:linear-gradient(to bottom,black,transparent 70%);
}
body::after {
  content:""; position:fixed; inset:0; z-index:0; pointer-events:none;
  background:radial-gradient(30rem 30rem at var(--noir-pointer-x) var(--noir-pointer-y),rgba(var(--cl-accent),.055),transparent 72%);
  opacity:.75; transition:opacity .5s ease;
}
#app, body > div { position:relative; z-index:1; }
::selection { color:#fff; background:rgba(var(--cl-accent),.56); }
img, video, iframe { max-width:100%; }
@keyframes noir-grid-drift { to { background-position:64px 64px; } }
@keyframes noir-orbit { to { transform:rotate(360deg); } }
a { -webkit-tap-highlight-color:transparent; }

/* Header: compact instrument panel with an accent signal line. */
.sa-announcement { position:relative; z-index:70; min-height:34px; border:0 !important; background:#111317 !important; color:#c6c9ce !important; font-size:10px !important; font-weight:600 !important; letter-spacing:.12em; text-transform:uppercase; }
.sa-announcement::after { content:""; position:absolute; bottom:0; left:0; width:100%; height:1px; background:linear-gradient(90deg,transparent,rgba(var(--cl-accent),.52),transparent); }
.sa-announcement a { color:#fff !important; }
.sa-navbar { position:sticky !important; top:0; z-index:60 !important; padding-top:10px; }
.sa-navbar > div > div, .sa-navbar > div:first-child > div {
  border:1px solid rgba(255,255,255,.095) !important; border-radius:14px !important;
  background:rgba(12,14,17,.82) !important; box-shadow:0 12px 38px rgba(0,0,0,.26),inset 0 1px 0 rgba(255,255,255,.035) !important;
  backdrop-filter:blur(22px) saturate(145%); -webkit-backdrop-filter:blur(22px) saturate(145%);
}
.sa-navbar--floating-pill > div > div { border-radius:14px !important; }
.sa-navbar-logo { gap:11px !important; }
.sa-navbar-logo img { width:30px; height:30px; object-fit:cover; border-radius:9px !important; box-shadow:0 0 22px rgba(var(--cl-accent),.16); }
.sa-navbar-logo span { font-size:13px; font-weight:700 !important; letter-spacing:.025em; }
.sa-navbar-link { position:relative; border-radius:8px !important; color:#a0a5ae !important; font-size:12px !important; font-weight:550 !important; transition:color .22s ease,background .22s ease !important; }
.sa-navbar-link::after { content:""; position:absolute; bottom:4px; left:12px; right:12px; height:1px; background:rgb(var(--cl-accent)); transform:scaleX(0); transform-origin:left; transition:transform .24s var(--noir-ease); }
.sa-navbar-link:hover,.sa-navbar-link.text-t-primary { color:#fff !important; background:rgba(255,255,255,.045) !important; }
.sa-navbar-link:hover::after { transform:scaleX(1); }
.sa-navbar-cart, .sa-navbar button, .currency-selector > button { transition:transform .2s ease,color .2s ease,border-color .2s ease,background .2s ease !important; }
.sa-navbar-cart:hover, .sa-navbar button:hover { color:#fff !important; }
.sa-navbar .border-theme { border-color:var(--noir-line) !important; }
#mobile-site-menu { background:rgba(15,17,21,.98) !important; border-color:var(--noir-line-strong) !important; backdrop-filter:blur(20px); }
.currency-selector { z-index:1000; }
.currency-selector > button { border-color:var(--noir-line-strong) !important; background:rgba(255,255,255,.035) !important; }
.currency-selector [role="listbox"] { border-color:var(--noir-line-strong) !important; background:rgba(14,16,19,.98) !important; backdrop-filter:blur(22px); }

/* Editorial hero, controlled scale and generous negative space. */
.sa-hero { isolation:isolate; padding-top:clamp(72px,10vw,142px) !important; padding-bottom:clamp(74px,10vw,138px) !important; }
.sa-hero::before { content:""; position:absolute; width:min(74vw,900px); height:min(65vw,640px); top:-42%; right:-17%; z-index:-2; pointer-events:none; background:radial-gradient(ellipse,rgba(var(--cl-accent),.15),rgba(var(--cl-accent),.045) 38%,transparent 72%); filter:blur(24px); }
.sa-hero::after { content:""; position:absolute; z-index:-1; right:clamp(1rem,7vw,8rem); top:15%; width:clamp(150px,23vw,340px); aspect-ratio:1; border-radius:50%; border:1px solid rgba(255,255,255,.08); box-shadow:inset 0 0 70px rgba(var(--cl-accent),.04),0 0 80px rgba(var(--cl-accent),.045); opacity:.8; pointer-events:none; animation:noir-orbit 100s linear infinite; }
.sa-hero > .wrap { position:relative; z-index:2; }
.sa-hero--centered .sa-hero-title { max-width:980px; margin-inline:auto; }
.sa-hero-title { max-width:900px; font-family:var(--ff-heading,ui-sans-serif) !important; font-size:clamp(3.15rem,8.4vw,7.6rem) !important; line-height:.94 !important; letter-spacing:-.075em !important; font-weight:650 !important; text-wrap:balance; text-shadow:0 14px 60px rgba(0,0,0,.42); }
.sa-hero-title strong,.sa-hero-title em,.sa-hero-title [class*="text-accent"] { color:#fff !important; }
.sa-hero-title strong::after { content:""; display:block; width:clamp(48px,8vw,96px); height:3px; margin-top:.22em; border-radius:4px; background:rgb(var(--cl-accent)); box-shadow:0 0 18px rgba(var(--cl-accent),.45); }
.sa-hero-subtitle { max-width:610px; color:#a6abb4 !important; font-size:clamp(1rem,1.5vw,1.2rem) !important; line-height:1.75 !important; }
.sa-hero-eyebrow { color:rgb(var(--cl-accent)) !important; font-size:10px !important; font-weight:700 !important; letter-spacing:.18em; text-transform:uppercase; }
.sa-hero-eyebrow[class*="inline-flex"] { border:1px solid rgba(var(--cl-accent),.27) !important; background:rgba(var(--cl-accent),.07) !important; padding:7px 13px !important; }
.sa-hero-actions { gap:12px !important; }
.sa-hero-media img, .sa-hero-media lite-youtube { border-radius:20px !important; border:1px solid rgba(255,255,255,.13) !important; box-shadow:0 35px 100px rgba(0,0,0,.48); }
.sa-hero [class*="rounded-card"] { border-color:rgba(255,255,255,.1) !important; }
.hero-bg-grid { opacity:.24 !important; mask-image:linear-gradient(to bottom,black,transparent 75%); }

/* Buttons and controls. */
.sa-btn { position:relative; min-height:46px; border-radius:9px !important; padding-inline:21px !important; overflow:hidden; font-size:12px !important; font-weight:700 !important; letter-spacing:.025em; transition:transform .22s var(--noir-ease),box-shadow .22s ease,filter .22s ease !important; }
.sa-btn::before { content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(115deg,transparent 22%,rgba(255,255,255,.17) 48%,transparent 72%); transform:translateX(-125%); transition:transform .55s var(--noir-ease); }
.sa-btn:hover { transform:translateY(-2px); box-shadow:0 12px 30px rgba(var(--cl-accent),.2) !important; filter:brightness(1.08); }
.sa-btn:hover::before { transform:translateX(125%); }
.sa-btn.bg-accent-500,.sa-btn[class*="bg-accent"] { border:1px solid rgba(var(--cl-accent),.75) !important; box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 7px 25px rgba(var(--cl-accent),.12); }
button, input, textarea, select { accent-color:rgb(var(--cl-accent)); }
.input, input:not([type="checkbox"]):not([type="radio"]), textarea, select { border-color:var(--noir-line-strong) !important; background-color:rgba(255,255,255,.035) !important; color:#f0f1f3 !important; border-radius:10px !important; }
.input:focus, input:focus, textarea:focus, select:focus { border-color:rgba(var(--cl-accent),.65) !important; box-shadow:0 0 0 3px rgba(var(--cl-accent),.12) !important; outline:none; }
::placeholder { color:#727984 !important; opacity:1; }

/* Page rhythm, titles, rule details. */
.component { position:relative; }
.py-section { padding-top:clamp(58px,7.5vw,104px) !important; padding-bottom:clamp(58px,7.5vw,104px) !important; }
.wrap { width:min(calc(100% - 48px),1240px) !important; }
.sa-section-header { margin-bottom:34px !important; }
.sa-section-eyebrow { color:rgb(var(--cl-accent)) !important; font-size:10px !important; font-weight:700; letter-spacing:.17em; text-transform:uppercase; }
.sa-section-title { color:#f3f4f5 !important; font-size:clamp(2rem,4vw,3.5rem) !important; letter-spacing:-.055em !important; line-height:1.04 !important; font-weight:620 !important; }
.sa-section-subtitle { max-width:620px; color:var(--noir-muted) !important; font-size:15px !important; line-height:1.75 !important; }
.sa-section-header::after { content:""; display:block; width:34px; height:2px; margin:18px auto 0; background:rgb(var(--cl-accent)); box-shadow:0 0 16px rgba(var(--cl-accent),.42); }
.sa-section-header.text-left::after, .text-left .sa-section-header::after { margin-left:0; }

/* Catalog/product tiles. */
.sa-products { isolation:isolate; }
.sa-products::before { content:""; position:absolute; inset:0; z-index:-1; pointer-events:none; background:linear-gradient(180deg,transparent,rgba(255,255,255,.012) 50%,transparent); }
.sa-products-items--balanced { align-items:stretch; gap:15px !important; }
.sa-products-items--balanced > .sa-products-item { width:100%; min-width:0; }
@media(min-width:620px){.sa-products-items--balanced > .sa-products-item{width:calc(50% - 8px)}}
@media(min-width:980px){.sa-products-items--balanced > .sa-products-item{width:calc(33.333% - 10px)}}
@media(min-width:1240px){.sa-products-items--balanced > .sa-products-item{width:calc(25% - 12px)}}
.sa-product-card { height:100%; border-radius:14px !important; border-color:rgba(255,255,255,.09) !important; background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.012) 42%),#101216 !important; box-shadow:0 8px 30px rgba(0,0,0,.16) !important; transition:transform .38s var(--noir-ease),border-color .28s ease,box-shadow .28s ease !important; }
.sa-product-card:hover { transform:translateY(-5px); border-color:rgba(var(--cl-accent),.38) !important; box-shadow:0 24px 55px rgba(0,0,0,.34),0 0 32px rgba(var(--cl-accent),.07) !important; }
.sa-product-card-media { overflow:hidden; background:#0a0b0d; }
.sa-product-card-media img { transition:transform .65s var(--noir-ease),filter .45s ease !important; }
.sa-product-card:hover .sa-product-card-media img { transform:scale(1.045); filter:saturate(1.08); }
.sa-product-card--flat-divider > div:first-child { border-color:rgba(255,255,255,.075) !important; }
.sa-product-card-title { color:#eceef0 !important; font-size:14px !important; font-weight:600 !important; letter-spacing:-.015em; }
.sa-product-card-price { color:#f0f1f2 !important; font-size:14px !important; font-weight:650 !important; }
.sa-product-card .text-success { color:#73c9a2 !important; }
.sa-product-card .text-t-muted { color:#8d949e !important; }
.sa-product-card-status { border-radius:999px !important; backdrop-filter:blur(8px); }
.sa-products .input { height:48px !important; border-radius:11px !important; box-shadow:0 12px 32px rgba(0,0,0,.2); }

/* Product detail: gallery, sticky purchase panel, variants, content tabs. */
.sa-page-product { min-height:50vh; }
.sa-page-product > .wrap { padding-top:20px; }
.sa-page-product-title { font-size:clamp(1.8rem,4vw,3rem) !important; letter-spacing:-.055em !important; line-height:1.04 !important; font-weight:650 !important; }
.sa-page-product .rounded-card.border-theme.bg-surface, .sa-page-product [class*="rounded-card"][class*="bg-surface"] { border:1px solid var(--noir-line) !important; border-radius:16px !important; background:linear-gradient(145deg,rgba(255,255,255,.035),transparent 55%),#101216 !important; box-shadow:var(--noir-shadow) !important; }
.sa-page-product .splide.main, .sa-page-product .product-video { border:1px solid rgba(255,255,255,.1); border-radius:17px; overflow:hidden; background:#050607; box-shadow:var(--noir-shadow); }
.product-video { position:relative; width:100%; aspect-ratio:16/9; }
.product-video iframe { display:block; width:100%; height:100%; border:0; }
.sa-page-product .splide__arrow { background:rgba(8,9,11,.82) !important; color:#fff !important; border:1px solid var(--noir-line-strong); opacity:1; }
.sa-page-product .splide__pagination__page.is-active { background:rgb(var(--cl-accent)) !important; }
.sa-page-product .splide.thumbnails .splide__slide { border-radius:9px; overflow:hidden; border:1px solid transparent; }
.sa-page-product .splide.thumbnails .is-active { border-color:rgba(var(--cl-accent),.7) !important; }
.sa-page-product [role="tablist"] { border-bottom:1px solid var(--noir-line) !important; gap:18px; }
.sa-page-product [role="tab"] { color:#969ca6 !important; border-color:transparent !important; }
.sa-page-product [role="tab"][aria-selected="true"], .sa-page-product [role="tab"].active { color:#fff !important; border-color:rgb(var(--cl-accent)) !important; }
.sa-page-product .text-success { color:#73c9a2 !important; }
.sa-page-product .sa-page-product-price { color:#fff !important; font-size:27px !important; letter-spacing:-.04em; }
.sa-page-product .border-theme { border-color:var(--noir-line) !important; }
.sa-page-product .bg-surface { background-color:#111419 !important; }
.sa-page-product .product-form, .sa-page-product form { color:#e9eaec; }
.sa-product-gallery-video lite-youtube, lite-youtube { border-radius:14px; overflow:hidden; }

/* All secondary storefront views, account, cart, policies, blog and feedback. */
.sa-page-cart, .sa-page-customer-dashboard, .sa-page-customer-balance, .sa-page-customer-affiliate, .sa-page-customer-invoices, .sa-page-customer-reseller, .sa-page-customer-subscriptions, .sa-page-customer-ticket, .sa-page-customer-tickets, .sa-page-blog, .sa-page-blog-post, .sa-page-feedback, .sa-page-faq, .sa-page-status, .sa-page-terms, .sa-page-privacy-policy, .sa-page-refund-policy { color:#e9eaec; }
.component [class*="rounded-card"][class*="border-theme"], .component details, .component blockquote { border-color:var(--noir-line) !important; }
.sa-feedbacks [class*="rounded-card"], .sa-faq details, .sa-features [class*="rounded-card"], .sa-steps [class*="rounded-card"], .sa-stats [class*="rounded-card"], .sa-trust-badges [class*="rounded-card"] { background:linear-gradient(145deg,rgba(255,255,255,.035),rgba(255,255,255,.01)) !important; border:1px solid var(--noir-line) !important; border-radius:14px !important; }
.sa-faq details[open] { border-color:rgba(var(--cl-accent),.3) !important; }
.sa-faq summary { color:#f1f2f3; }
.sa-footer { margin-top:70px !important; border-top:1px solid var(--noir-line) !important; background:linear-gradient(180deg,rgba(255,255,255,.012),transparent) !important; }
.sa-footer::before { content:""; display:block; width:100%; height:1px; background:linear-gradient(90deg,transparent,rgba(var(--cl-accent),.4),transparent); }
.sa-footer-link { color:#8f96a0 !important; transition:color .2s ease,transform .2s ease !important; }
.sa-footer-link:hover { color:#fff !important; transform:translateX(2px); }
.sa-footer img { border:1px solid var(--noir-line); }

/* Modal, drawer and toast surfaces remain legible and keep their native behavior. */
[x-cloak] { display:none !important; }
[role="dialog"], .modal, .cart-panel, .search-modal, .toast, [data-radix-popper-content-wrapper] { color:#eef0f2; }
.shadow-modal, .shadow-card { box-shadow:var(--noir-shadow) !important; }
.bg-surface, .bg-surface-raised { background-color:#111419 !important; }
.border-theme { border-color:var(--noir-line) !important; }
.text-t-primary { color:#eff1f3 !important; }
.text-t-muted { color:#969ca6 !important; }

/* Never hide content before SellAuth or its reveal integration has initialized. */
[data-dsr].noir-reveal { opacity:0; transform:translateY(16px); transition:opacity .7s var(--noir-ease),transform .7s var(--noir-ease); }
[data-dsr].noir-reveal.noir-in { opacity:1; transform:none; }
.sa-product-card.noir-card { transform-style:preserve-3d; will-change:transform; }
.sa-product-card.noir-card:hover { transform:perspective(1000px) rotateX(var(--card-rx,0deg)) rotateY(var(--card-ry,0deg)) translateY(-4px); }
#noir-network { position:fixed; inset:0; z-index:0; pointer-events:none; opacity:.5; }
.noir-custom-cursor, .noir-custom-cursor * { cursor:var(--noir-custom-cursor,auto); }

@media(max-width:767px) {
  body::before { background-size:42px 42px; opacity:.12; }
  .wrap { width:min(calc(100% - 34px),1240px) !important; }
  .sa-navbar { padding-top:6px; }
  .sa-navbar > div { padding-left:10px !important; padding-right:10px !important; }
  .sa-hero { padding-top:74px !important; padding-bottom:72px !important; }
  .sa-hero::after { right:-75px; top:14%; width:190px; opacity:.55; }
  .sa-hero-title { font-size:clamp(3rem,13vw,5.3rem) !important; }
  .sa-hero-subtitle { font-size:15px !important; }
  .py-section { padding-top:58px !important; padding-bottom:58px !important; }
  .sa-products-items--balanced { gap:10px !important; }
  .sa-product-card { border-radius:12px !important; }
  .sa-product-card--flat-divider .p-4 { padding:12px !important; }
  .sa-product-card-title { font-size:13px !important; }
  .sa-page-product > .wrap { padding-top:4px; }
  .sa-footer { margin-top:34px !important; }
}
@media(max-width:420px) {
  .sa-hero-title { font-size:2.8rem !important; }
  .sa-hero-actions .sa-btn { min-height:44px; padding-inline:15px !important; }
}
@media(pointer:coarse) { body::after { display:none; } }
@media(prefers-reduced-motion:reduce) {
  *,*::before,*::after { scroll-behavior:auto !important; animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
  #noir-network { display:none; }
  [data-dsr].noir-reveal { opacity:1; transform:none; }
}
