/* NumberTV Site Kit — styles on top of Elementor widgets.
   Mobile first (390px), large readable text, CSS-only motion (transform + opacity). */
:root{
  --ntv-bg:#05070D; --ntv-surface:#0B1122; --ntv-surface-2:#101A33; --ntv-line:rgba(140,175,255,.16); --ntv-line-2:rgba(140,175,255,.28);
  --ntv-blue:#1E6BFF; --ntv-cyan:#00D1FF; --ntv-white:#FFFFFF; --ntv-text:#C9D2E6; --ntv-muted:#93A0BD; --ntv-ok:#2BE39A; --ntv-warn:#FFC857;
  --ntv-grad:linear-gradient(100deg,#00C2FF 0%,#1E6BFF 70%);
  --ntv-r:20px; --ntv-ease:cubic-bezier(.2,.7,.2,1);
}
html{scroll-behavior:auto}
@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
html,body{overflow-x:clip}
body.ntv-site{background:var(--ntv-bg);color:var(--ntv-text);font-size:18px;line-height:1.65;-webkit-font-smoothing:antialiased}
body.ntv-site{--kit-widget-spacing:0px}
.ntv-site .elementor-widget:not(:last-child){margin-block-end:0}
.ntv-site .elementor-widget-text-editor p{margin:0 0 .85em}
.ntv-site .elementor-widget-text-editor p:last-child,.ntv-site .elementor-widget-text-editor ul:last-child{margin-bottom:0}
.ntv-site a{color:#7FDBFF}
.ntv-site a:hover{color:#fff}
.ntv-site :focus-visible{outline:3px solid var(--ntv-cyan);outline-offset:3px;border-radius:6px}
::selection{background:var(--ntv-blue);color:#fff}
.ntv-site img{max-width:100%;height:auto}

/* ---------- Layout engine (works the same on every Elementor version) ---------- */
.ntv-sec{padding-left:24px!important;padding-right:24px!important;position:relative}
.ntv-pt-0{padding-top:0!important}.ntv-pt-24{padding-top:24px!important}.ntv-pt-48{padding-top:48px!important}.ntv-pt-72{padding-top:72px!important}.ntv-pt-96{padding-top:96px!important}.ntv-pt-128{padding-top:128px!important}.ntv-pt-160{padding-top:160px!important}
.ntv-pb-0{padding-bottom:0!important}.ntv-pb-24{padding-bottom:24px!important}.ntv-pb-48{padding-bottom:48px!important}.ntv-pb-72{padding-bottom:72px!important}.ntv-pb-96{padding-bottom:96px!important}.ntv-pb-128{padding-bottom:128px!important}.ntv-pb-160{padding-bottom:160px!important}
@media(max-width:767px){
  .ntv-sec{padding-left:20px!important;padding-right:20px!important}
  .ntv-pt-24{padding-top:16px!important}.ntv-pt-48{padding-top:32px!important}.ntv-pt-72{padding-top:48px!important}.ntv-pt-96{padding-top:64px!important}.ntv-pt-128{padding-top:80px!important}.ntv-pt-160{padding-top:112px!important}
  .ntv-pb-24{padding-bottom:16px!important}.ntv-pb-48{padding-bottom:32px!important}.ntv-pb-72{padding-bottom:48px!important}.ntv-pb-96{padding-bottom:64px!important}.ntv-pb-128{padding-bottom:80px!important}.ntv-pb-160{padding-bottom:112px!important}
}
/* Boxed width + max widths */
.e-con-boxed>.e-con-inner{max-width:1200px}
.ntv-max-760>.e-con-inner{max-width:760px!important}.ntv-max-820>.e-con-inner{max-width:820px!important}.ntv-max-860>.e-con-inner{max-width:860px!important}.ntv-max-900>.e-con-inner{max-width:900px!important}.ntv-max-1000>.e-con-inner{max-width:1000px!important}
/* Direction */
.e-con.ntv-row:not(.e-con-boxed),.e-con.ntv-row>.e-con-inner{flex-direction:row!important}
.e-con.ntv-wrap:not(.e-con-boxed),.e-con.ntv-wrap>.e-con-inner{flex-wrap:wrap!important}
@media(max-width:767px){.e-con.ntv-row.ntv-mcol:not(.e-con-boxed),.e-con.ntv-row.ntv-mcol>.e-con-inner{flex-direction:column!important}}
/* Alignment */
.e-con.ntv-ai-center:not(.e-con-boxed),.e-con.ntv-ai-center>.e-con-inner{align-items:center!important}
.e-con.ntv-ai-start:not(.e-con-boxed),.e-con.ntv-ai-start>.e-con-inner{align-items:flex-start!important}
.e-con.ntv-ai-end:not(.e-con-boxed),.e-con.ntv-ai-end>.e-con-inner{align-items:flex-end!important}
.e-con.ntv-ai-stretch:not(.e-con-boxed),.e-con.ntv-ai-stretch>.e-con-inner{align-items:stretch!important}
.e-con.ntv-jc-center:not(.e-con-boxed),.e-con.ntv-jc-center>.e-con-inner{justify-content:center!important}
.e-con.ntv-jc-between:not(.e-con-boxed),.e-con.ntv-jc-between>.e-con-inner{justify-content:space-between!important}
/* Widths inside rows (desktop); phones go full width */
.ntv-w-42{width:42%!important}.ntv-w-46{width:46%!important}.ntv-w-48{width:48%!important}.ntv-w-50{width:50%!important}.ntv-w-52{width:52%!important}.ntv-w-54{width:54%!important}.ntv-w-58{width:58%!important}
.ntv-row>.e-con-inner>[class*="ntv-w-"],.ntv-row:not(.e-con-boxed)>[class*="ntv-w-"]{flex:1 1 0!important;min-width:0}
.ntv-row>.e-con-inner>.ntv-w-54,.ntv-row:not(.e-con-boxed)>.ntv-w-54{flex-grow:1.17!important}
.ntv-row>.e-con-inner>.ntv-w-52,.ntv-row:not(.e-con-boxed)>.ntv-w-52{flex-grow:1.08!important}
@media(max-width:767px){[class*="ntv-w-"]{width:100%!important;flex:0 0 auto!important}}
/* Gaps */
.e-con.ntvg-0:not(.e-con-boxed),.e-con.ntvg-0>.e-con-inner{gap:0!important}
.e-con.ntvg-8:not(.e-con-boxed),.e-con.ntvg-8>.e-con-inner{gap:8px!important}
.e-con.ntvg-10:not(.e-con-boxed),.e-con.ntvg-10>.e-con-inner{gap:10px!important}
.e-con.ntvg-12:not(.e-con-boxed),.e-con.ntvg-12>.e-con-inner{gap:12px!important}
.e-con.ntvg-14:not(.e-con-boxed),.e-con.ntvg-14>.e-con-inner{gap:14px!important}
.e-con.ntvg-16:not(.e-con-boxed),.e-con.ntvg-16>.e-con-inner{gap:16px!important}
.e-con.ntvg-18:not(.e-con-boxed),.e-con.ntvg-18>.e-con-inner{gap:18px!important}
.e-con.ntvg-20:not(.e-con-boxed),.e-con.ntvg-20>.e-con-inner{gap:20px!important}
.e-con.ntvg-22:not(.e-con-boxed),.e-con.ntvg-22>.e-con-inner{gap:22px!important}
.e-con.ntvg-24:not(.e-con-boxed),.e-con.ntvg-24>.e-con-inner{gap:24px!important}
.e-con.ntvg-28:not(.e-con-boxed),.e-con.ntvg-28>.e-con-inner{gap:28px!important}
.e-con.ntvg-32:not(.e-con-boxed),.e-con.ntvg-32>.e-con-inner{gap:32px!important}
.e-con.ntvg-40:not(.e-con-boxed),.e-con.ntvg-40>.e-con-inner{gap:40px!important}
.e-con.ntvg-48:not(.e-con-boxed),.e-con.ntvg-48>.e-con-inner{gap:48px!important}
.e-con.ntvg-56:not(.e-con-boxed),.e-con.ntvg-56>.e-con-inner{gap:56px!important}
@media(max-width:767px){
  .e-con.ntvg-32:not(.e-con-boxed),.e-con.ntvg-32>.e-con-inner{gap:24px!important}
  .e-con.ntvg-40:not(.e-con-boxed),.e-con.ntvg-40>.e-con-inner{gap:28px!important}
  .e-con.ntvg-48:not(.e-con-boxed),.e-con.ntvg-48>.e-con-inner,.e-con.ntvg-56:not(.e-con-boxed),.e-con.ntvg-56>.e-con-inner{gap:32px!important}
}
/* Grids */
.e-con.ntv-grid:not(.e-con-boxed),.e-con.ntv-grid>.e-con-inner{display:grid!important;grid-template-columns:repeat(var(--ntv-cols,3),minmax(0,1fr));align-items:stretch!important}
.ntv-grid>.e-con-inner>*,.ntv-grid:not(.e-con-boxed)>*{width:auto!important;max-width:none!important;min-width:0}
.ntv-cols-1{--ntv-cols:1}.ntv-cols-2{--ntv-cols:2}.ntv-cols-3{--ntv-cols:3}.ntv-cols-4{--ntv-cols:4}
@media(max-width:1024px){.ntv-cols-t-1{--ntv-cols:1}.ntv-cols-t-2{--ntv-cols:2}.ntv-cols-t-3{--ntv-cols:3}}
@media(max-width:767px){.ntv-cols-m-1{--ntv-cols:1}.ntv-cols-m-2{--ntv-cols:2}}

/* ---------- Typography ---------- */
.ntv-site h1,.ntv-site h2,.ntv-site h3{text-wrap:balance}
.ntv-grad-text{background:var(--ntv-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.ntv-eyebrow .elementor-heading-title{display:inline-flex;align-items:center;gap:10px;padding:7px 14px;border-radius:99px;border:1px solid var(--ntv-line);background:rgba(30,107,255,.08);letter-spacing:.12em;text-transform:uppercase;line-height:1.3}
.ntv-eyebrow .elementor-heading-title:before{content:"";flex:0 0 7px;height:7px;border-radius:50%;background:var(--ntv-cyan)}
.ntv-lead p{font-size:clamp(18px,1.6vw,20px);line-height:1.6;color:var(--ntv-text);max-width:640px}
.ntv-intro-center .ntv-lead p{margin-left:auto;margin-right:auto}
.ntv-muted,.ntv-muted p{color:var(--ntv-muted);font-size:16px}
.ntv-prose{max-width:720px}
.ntv-prose h2{font-size:26px;color:#fff;margin:32px 0 10px;line-height:1.25}
.ntv-prose ul{padding-left:22px;margin:0 0 1em}
.ntv-prose li{margin-bottom:10px}
.ntv-more{font-weight:600;text-decoration:none}
.ntv-more:hover{text-decoration:underline}

/* ---------- Buttons (44px+ tap targets) ---------- */
.ntv-site .elementor-button{min-height:52px;display:inline-flex;align-items:center;justify-content:center;transition:transform .2s var(--ntv-ease),box-shadow .2s,background-color .2s}
.ntv-btn .elementor-button,.ntv-btn-link,.ntv-buy-btn,.ntv-mini-wait button,.ntv-form .elementor-button{background:var(--ntv-grad)!important;color:#fff!important;border:0!important;box-shadow:0 10px 30px -12px rgba(30,107,255,.9)}
.ntv-btn .elementor-button:hover,.ntv-btn-link:hover,.ntv-buy-btn:hover,.ntv-mini-wait button:hover{transform:translateY(-1px);box-shadow:0 14px 36px -12px rgba(0,194,255,.9)}
.ntv-btn-ghost .elementor-button{background:transparent!important;border:1.5px solid var(--ntv-line-2)!important;color:#fff!important}
.ntv-btn-ghost .elementor-button:hover{border-color:var(--ntv-cyan)!important}
.ntv-btn-sm .elementor-button{min-height:44px;font-size:15px!important}
.ntv-btn-link{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:14px 26px;border-radius:999px;font-weight:600;text-decoration:none}
@media(max-width:767px){.ntv-hide-m{display:none!important}.ntv-hero .elementor-button,.ntv-cta .elementor-button{width:100%}}

/* Play button + independence line */
.ntv-play{max-width:100%}
.ntv-indep p,p.ntv-indep{font-size:13px!important;line-height:1.45;color:var(--ntv-muted);margin:0;max-width:360px}
.ntv-play-center .ntv-indep p{margin:0 auto}
@media(max-width:767px){.ntv-play,.ntv-play>.e-con-inner{width:100%}}

/* ---------- Header ---------- */
.ntv-header{position:fixed!important;top:0;left:0;right:0;z-index:999;background:rgba(5,7,13,.0);border-bottom:1px solid transparent;transition:background-color .25s,border-color .25s}
.ntv-header.is-scrolled{background:rgba(5,7,13,.94);border-color:var(--ntv-line)}
body.admin-bar .ntv-header{top:32px}
@media(max-width:782px){body.admin-bar .ntv-header{top:46px}}
.ntv-header-bar>.e-con-inner{max-width:1240px}
.ntv-nav .elementor-nav-menu--main .elementor-item{padding:10px 14px!important}
.ntv-nav .elementor-nav-menu--dropdown{border-top:1px solid var(--ntv-line)}
.ntv-nav .elementor-nav-menu--dropdown a{padding:16px 24px!important}
.ntv-nav .elementor-menu-toggle{width:44px;height:44px;border-radius:12px;background:rgba(255,255,255,.06)}
.ntv-logo img{display:block}

/* ---------- Heroes ---------- */
.ntv-hero{isolation:isolate}
.ntv-hero:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse 60% 55% at 72% 40%,rgba(30,107,255,.30),transparent 70%),radial-gradient(ellipse 45% 50% at 10% 85%,rgba(0,209,255,.10),transparent 70%)}
.ntv-hero-page:before{background:radial-gradient(ellipse 60% 70% at 50% 0%,rgba(30,107,255,.26),transparent 70%)}
.ntv-hero-actions{align-items:flex-start!important}
.ntv-hero-media{position:relative}
.ntv-hero-clip-wrap,.ntv-hero-clip-wrap>.elementor-widget-container{width:100%;align-self:stretch}
.ntv-hero-clip{position:relative;width:min(100%,480px);margin:0 auto;aspect-ratio:1;border-radius:50%;}
.ntv-hero-clip:before{content:"";position:absolute;inset:-6%;border-radius:50%;background:radial-gradient(circle,rgba(30,107,255,.45),transparent 65%);z-index:-1}
.ntv-hero-poster,.ntv-hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:50%}
.ntv-hero-video{opacity:0;transition:opacity .6s}
.ntv-hero-video.is-ready{opacity:1}
@media(max-width:767px){.ntv-hero-clip{width:min(86%,340px)}.ntv-hero-title .elementor-heading-title{font-size:38px!important;line-height:1.08!important}.ntv-hero-page h1.elementor-heading-title{font-size:36px!important}}

/* ---------- Stickers (small movement only) ---------- */
.ntv-sticker{z-index:5;pointer-events:none}
.ntv-sticker img{filter:drop-shadow(0 8px 14px rgba(0,0,0,.4));animation:ntvFloat 5s ease-in-out infinite}
.ntv-sticker:nth-of-type(2n) img{animation-duration:6s;animation-delay:-2s}
@keyframes ntvFloat{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-8px) rotate(1deg)}}
@media(max-width:767px){.ntv-sticker-hide-m{display:none!important}}

/* ---------- Marquee (CSS animation, compositor only) ---------- */
.e-con.ntv-marquee-wrap{width:120vw!important;max-width:none!important;margin:0 0 0 -10vw!important;transform:rotate(-2deg);padding:16px 0!important;overflow:hidden;z-index:2}
.ntv-marquee .elementor-heading-title{white-space:nowrap;line-height:1!important}
.ntv-mq{display:inline-flex;flex-wrap:nowrap;animation:ntvMarq var(--mq-dur,30s) linear infinite;will-change:transform}
.ntv-mq-g{display:inline-flex;flex:0 0 auto}
.ntv-mq-g>span{padding-right:.8em}
@keyframes ntvMarq{to{transform:translate3d(-50%,0,0)}}
@media(max-width:767px){.ntv-marquee .elementor-heading-title{font-size:18px!important}}

/* ---------- Cards & components ---------- */
.ntv-card{background:linear-gradient(165deg,var(--ntv-surface-2),var(--ntv-surface))!important;border:1px solid var(--ntv-line);border-radius:var(--ntv-r)!important}
@media(max-width:767px){.ntv-card{padding:24px!important}}
.ntv-step{position:relative}
.ntv-step-num .elementor-heading-title{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:14px;background:var(--ntv-grad);color:#fff;font:700 20px/1 'Outfit',sans-serif}
.ntv-checks{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:14px}
.ntv-checks li{position:relative;padding-left:34px;line-height:1.5}
.ntv-checks li:before{content:"";position:absolute;left:0;top:2px;width:22px;height:22px;border-radius:50%;background:rgba(0,209,255,.14) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 12.5l4 4 8-9' fill='none' stroke='%2300D1FF' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/14px no-repeat}
.ntv-checks strong{color:#fff}
.ntv-devices{list-style:none;padding:0;margin:0 0 12px;display:flex;flex-direction:column}
.ntv-devices li{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--ntv-line)}
.ntv-devices strong{color:var(--ntv-ok);font-weight:600;white-space:nowrap}
.ntv-table{width:100%;border-collapse:collapse;font-size:16px}
.ntv-table th,.ntv-table td{padding:12px 0;border-bottom:1px solid var(--ntv-line);text-align:left;vertical-align:top}
.ntv-table th{color:#fff;font-weight:600;width:40%;padding-right:16px}
.ntv-answer{border-left:4px solid var(--ntv-cyan)!important}
.ntv-cta-side{border-left:1px solid var(--ntv-line);padding-left:48px!important}
@media(max-width:767px){.ntv-cta-side{border-left:0;border-top:1px solid var(--ntv-line);padding:28px 0 0!important}}

/* FAQ — visible text */
.ntv-faq .ntv-qa{padding:22px 0;border-bottom:1px solid var(--ntv-line)}
.ntv-faq .ntv-qa:first-child{padding-top:0}
.ntv-faq .ntv-qa:last-child{border-bottom:0}

/* Notes for the site team only */
.ntv-todo{display:none!important}
body.ntv-editor .ntv-todo{display:block!important;border:1px dashed var(--ntv-warn);background:rgba(255,200,87,.08);border-radius:12px;padding:12px 16px}
body.ntv-editor .ntv-todo p{color:var(--ntv-warn);font-size:14px;margin:0}

/* ---------- Product (/remote/) ---------- */
.ntv-gallery-main img{border-radius:24px;width:100%;aspect-ratio:1;object-fit:cover;border:1px solid var(--ntv-line)}
.ntv-price-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.ntv-price{font:700 34px/1 'Outfit',sans-serif;color:#fff}
.ntv-price .woocommerce-Price-amount{color:#fff}
.ntv-badge{display:inline-flex;align-items:center;gap:8px;padding:7px 14px;border-radius:99px;font-size:14px;font-weight:600;border:1px solid var(--ntv-line-2);color:var(--ntv-text)}
.ntv-badge:before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor}
.ntv-badge-wait{color:var(--ntv-warn);border-color:rgba(255,200,87,.35);background:rgba(255,200,87,.07)}
.ntv-badge-ok{color:var(--ntv-ok);border-color:rgba(43,227,154,.35);background:rgba(43,227,154,.07)}
.ntv-waitbox{background:rgba(255,200,87,.05);border:1px solid rgba(255,200,87,.25);border-radius:var(--ntv-r)}
.ntv-buy{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap}
.ntv-qty{display:flex;flex-direction:column;gap:6px;font-size:14px;color:var(--ntv-muted)}
.ntv-qty input{width:96px;height:56px;border-radius:14px;background:var(--ntv-surface);color:#fff;border:1px solid var(--ntv-line-2);font-size:18px;text-align:center}
.ntv-buy-btn{flex:1;min-width:200px;height:56px;border-radius:14px;font-size:18px;font-weight:600;cursor:pointer}
.ntv-ship-est{margin-top:10px;color:var(--ntv-muted);font-size:15px}
.ntv-also{border-color:var(--ntv-line-2)!important}
body:not(.ntv-waitlist-on) .ntv-when-waitlist{display:none!important}
body.ntv-waitlist-on .ntv-when-live{display:none!important}

/* ---------- Forms (labels visible) ---------- */
.ntv-form .elementor-field-label{color:#fff;font-weight:600;font-size:16px;margin-bottom:8px}
.ntv-form .elementor-field-group{margin-bottom:14px}
.ntv-form .elementor-field-textual{min-height:52px;background:var(--ntv-surface)!important;border:1px solid var(--ntv-line-2)!important;color:#fff!important;border-radius:14px!important;padding:14px 16px!important;font-size:17px!important}
.ntv-form .elementor-field-textual:focus{border-color:var(--ntv-cyan)!important}
.ntv-form .elementor-button{border-radius:14px!important;min-height:54px;font-size:17px!important;font-weight:600}
.ntv-form .elementor-message{color:var(--ntv-ok);font-size:16px}
.ntv-mini-wait{display:flex;flex-direction:column;gap:10px;margin-top:8px}
.ntv-mini-wait label{display:flex;flex-direction:column;gap:8px;color:#fff;font-weight:600;font-size:16px}
.ntv-mini-wait input{min-height:52px;border-radius:14px;background:var(--ntv-surface);border:1px solid var(--ntv-line-2);color:#fff;padding:12px 16px;font-size:17px}
.ntv-mini-wait button{min-height:52px;border-radius:14px;font-weight:600;font-size:17px;cursor:pointer}
.ntv-mini-wait.is-done input,.ntv-mini-wait.is-done button{display:none}
.ntv-mini-msg{margin:0;color:var(--ntv-ok);font-size:15px}

/* ---------- Compatibility tool ---------- */
.ntv-compat{display:flex;flex-direction:column;gap:16px}
.ntv-q{border:1px solid var(--ntv-line);border-radius:var(--ntv-r);padding:22px;margin:0;background:var(--ntv-surface);transition:opacity .35s,transform .35s var(--ntv-ease)}
.ntv-q.is-waiting{opacity:.4;pointer-events:none;transform:translateY(6px)}
.ntv-q legend{display:flex;align-items:center;gap:12px;font:600 20px/1.3 'Outfit',sans-serif;color:#fff;padding:0;margin-bottom:16px;float:left;width:100%}
.ntv-q legend+*{clear:both}
.ntv-q-num{flex:0 0 32px;height:32px;border-radius:10px;background:var(--ntv-grad);display:inline-flex;align-items:center;justify-content:center;font-size:16px}
.ntv-opts{display:grid;gap:10px}
.ntv-opt{display:flex;align-items:center;gap:12px;min-height:56px;padding:12px 16px;border-radius:14px;border:1.5px solid var(--ntv-line-2);cursor:pointer;color:#fff;transition:border-color .2s,background-color .2s}
.ntv-opt input{width:22px;height:22px;accent-color:var(--ntv-cyan);flex:0 0 22px}
.ntv-opt:has(input:checked){border-color:var(--ntv-cyan);background:rgba(0,209,255,.08)}
.ntv-compat-result{border-radius:var(--ntv-r);padding:26px;border:1px solid var(--ntv-line-2);background:var(--ntv-surface-2);animation:ntvRise .45s var(--ntv-ease) both}
.ntv-compat-result h3{color:#fff;font-size:24px;margin:0 0 10px}
.ntv-compat-result.is-built_for{border-color:rgba(43,227,154,.45)}
.ntv-compat-result.is-not_tested,.ntv-compat-result.is-no_youtube_tv{border-color:rgba(255,200,87,.45)}
.ntv-pa-title{color:#fff;font-size:28px;margin:0 0 6px}

/* ---------- Video ---------- */
.ntv-video{margin:0;position:relative;border-radius:var(--ntv-r);overflow:hidden;border:1px solid var(--ntv-line);background:var(--ntv-surface);aspect-ratio:9/16}
.ntv-video img,.ntv-video video{width:100%;height:100%;object-fit:cover;display:block}
.ntv-video--empty figcaption{position:absolute;left:12px;right:12px;bottom:12px;padding:10px 14px;border-radius:12px;background:rgba(5,7,13,.8);color:#fff;font-size:15px;text-align:center}
@media(max-width:767px){.ntv-videos .ntv-video{aspect-ratio:4/5}}

/* ---------- Reviews (only when real ones exist) ---------- */
.ntv-reviews-title{color:#fff;text-align:center;font-size:36px;margin:0 0 24px}
.ntv-reviews{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px}
.ntv-review{margin:0;padding:24px;border-radius:var(--ntv-r);background:var(--ntv-surface);border:1px solid var(--ntv-line)}
.ntv-review figcaption{color:var(--ntv-muted);font-size:15px;margin-top:10px}

/* ---------- Footer ---------- */
.ntv-footer{border-top:1px solid var(--ntv-line)}
.e-con.ntv-footer-grid>.e-con-inner,.e-con.ntv-footer-grid:not(.e-con-boxed){display:grid!important;grid-template-columns:1.6fr repeat(3,minmax(0,1fr));max-width:1200px}
@media(max-width:1024px){.e-con.ntv-footer-grid>.e-con-inner,.e-con.ntv-footer-grid:not(.e-con-boxed){grid-template-columns:repeat(3,minmax(0,1fr))}.ntv-footer-brand{grid-column:1/-1}}
@media(max-width:767px){.e-con.ntv-footer-grid>.e-con-inner,.e-con.ntv-footer-grid:not(.e-con-boxed){grid-template-columns:repeat(2,minmax(0,1fr))}}
.ntv-footer-title .elementor-heading-title{color:#fff;font:600 13px/1.2 'Inter',sans-serif;letter-spacing:.12em;text-transform:uppercase}
.ntv-links{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}
.ntv-links a{display:inline-block;padding:8px 0;color:var(--ntv-text)!important;text-decoration:none;font-size:16px}
.ntv-links a:hover{color:#fff!important}
.ntv-footer-about p,.ntv-footer-mail p{font-size:16px;margin:0;color:var(--ntv-text)}
.ntv-footer-about a{color:#fff!important;font-weight:600;text-decoration:none}
.ntv-footer-bar{border-top:1px solid var(--ntv-line)}
.ntv-footer-bar>.e-con-inner{max-width:1200px}
.ntv-footer-bar p{font-size:14px;color:var(--ntv-muted);margin:0}
@media(max-width:767px){.ntv-footer-bar>.e-con-inner{flex-direction:column!important;align-items:flex-start!important}}

/* ---------- WooCommerce cart/checkout on dark ---------- */
.woocommerce table.shop_table,.woocommerce-checkout #payment{background:var(--ntv-surface)!important;border:1px solid var(--ntv-line)!important;border-radius:16px!important;color:var(--ntv-text)}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select,.select2-container .select2-selection{background:var(--ntv-surface)!important;color:#fff!important;border:1px solid var(--ntv-line-2)!important;border-radius:12px!important;min-height:50px}
.woocommerce button.button,.woocommerce a.button{background:var(--ntv-grad)!important;color:#fff!important;border-radius:14px!important;padding:14px 24px!important}
.woocommerce form .form-row label{color:#fff}

/* ---------- Motion: reveal on scroll (IntersectionObserver adds .ntv-in) ---------- */
html.ntv-js .ntv-reveal{opacity:0;transform:translate3d(0,22px,0);transition:opacity .7s var(--ntv-ease) var(--d,0ms),transform .7s var(--ntv-ease) var(--d,0ms)}
html.ntv-js .ntv-reveal.ntv-in{opacity:1;transform:none}
/* Hero copy animates on load (never waits on scroll) and starts visible enough to count for LCP */
html.ntv-js .ntv-hero .ntv-reveal{opacity:1;transform:none;transition:none;animation:ntvRise .8s var(--ntv-ease) both}
html.ntv-js .ntv-hero .ntv-reveal:nth-child(2){animation-delay:.06s}
html.ntv-js .ntv-hero .ntv-reveal:nth-child(3){animation-delay:.12s}
html.ntv-js .ntv-hero .ntv-reveal:nth-child(4){animation-delay:.18s}
@keyframes ntvRise{from{opacity:.01;transform:translate3d(0,16px,0)}to{opacity:1;transform:none}}
html.ntv-static .ntv-reveal{opacity:1!important;transform:none!important}

/* ---------- First-visit logo intro (~1.3s, CSS only) ---------- */
#ntv-loader{display:none}
html.ntv-js:not(.ntv-noloader) #ntv-loader{display:flex;position:fixed;inset:0;z-index:99999;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 45%,#0D1A44,#05070D 70%);animation:ntvLoaderOut .45s ease-in 1.15s forwards}
.ntv-loader-inner{position:relative;width:min(70vw,260px);display:flex;flex-direction:column;align-items:center}
.ntv-loader-keys{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;width:72%;animation:ntvKeysOut .3s ease-in .8s forwards}
.ntv-loader-keys span{height:34px;border-radius:10px;background:#101A33;border:1px solid var(--ntv-line);color:#C9D2E6;font:700 15px/34px 'Outfit',sans-serif;text-align:center;opacity:0;animation:ntvKey .3s var(--ntv-ease) forwards;animation-delay:calc(var(--i) * 25ms)}
.ntv-loader-keys span:empty{visibility:hidden}
.ntv-loader-keys .hit{animation:ntvKey .3s var(--ntv-ease) forwards,ntvHit .25s ease forwards}
.ntv-loader-keys .hit-2{animation-delay:calc(var(--i) * 25ms),.4s}
.ntv-loader-keys .hit-0{animation-delay:calc(var(--i) * 25ms),.55s}
.ntv-loader-keys .hit-6{animation-delay:calc(var(--i) * 25ms),.7s}
.ntv-loader-logo{position:absolute;top:50%;left:0;width:100%;transform:translateY(-50%) scale(.94);opacity:0;animation:ntvLogoIn .35s var(--ntv-ease) .85s forwards}
@keyframes ntvKey{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes ntvHit{to{background:#1E6BFF;color:#fff;border-color:transparent;box-shadow:0 0 18px rgba(0,209,255,.6)}}
@keyframes ntvKeysOut{to{opacity:0;transform:scale(.96)}}
@keyframes ntvLogoIn{to{opacity:1;transform:translateY(-50%) scale(1)}}
@keyframes ntvLoaderOut{to{opacity:0;visibility:hidden}}

@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}#ntv-loader{display:none!important}.ntv-reveal{opacity:1!important;transform:none!important}}
