:root{--bg:#03050a;--panel:#090d16;--panel2:#101827;--text:#f7f8fb;--muted:#a9b3c7;--soft:#748197;--line:rgba(255,255,255,.12);--plus:#00e4c7;--plus2:#7c5cff;--danger:#ff3158;--radius:26px;--shadow:0 28px 90px rgba(0,0,0,.48)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;min-height:100vh}body:before{content:"";position:fixed;inset:0;z-index:-2;background:radial-gradient(circle at 9% 0%,rgba(45,113,255,.28),transparent 30%),radial-gradient(circle at 85% 4%,rgba(0,228,199,.18),transparent 26%),radial-gradient(circle at 70% 85%,rgba(124,92,255,.2),transparent 32%),#03050a}body:after{content:"";position:fixed;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(3,5,10,.12),#03050a 68%)}a{color:inherit;text-decoration:none}button,input{font:inherit}.site-header{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:22px;padding:18px clamp(18px,4vw,58px);background:linear-gradient(180deg,rgba(3,5,10,.9),rgba(3,5,10,.56));backdrop-filter:blur(24px);border-bottom:1px solid rgba(255,255,255,.08);transition:.24s}.site-header.is-scrolled,.site-header.compact{padding-top:12px;padding-bottom:12px;background:rgba(3,5,10,.92)}.brand{display:flex;align-items:center;gap:12px;min-width:132px}.brand img{height:34px;width:auto;display:block}.main-nav{display:flex;align-items:center;gap:28px;color:var(--muted);font-weight:800;font-size:14px}.main-nav a:hover{color:#fff}.header-actions{display:flex;align-items:center;gap:10px}.icon-button,.account-button,.plus-button,.primary-cta,.secondary-cta,.pill{border:0;border-radius:999px;padding:12px 18px;font-weight:900;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:transform .18s,background .18s,border .18s}.icon-button{height:44px;width:44px;padding:0;background:rgba(255,255,255,.08);color:#fff}.account-button,.secondary-cta,.pill{background:rgba(255,255,255,.08);color:#fff;border:1px solid rgba(255,255,255,.13)}.plus-button,.primary-cta{background:#fff;color:#05070d;box-shadow:0 16px 34px rgba(255,255,255,.08)}.primary-cta.full{width:100%}.primary-cta:hover,.secondary-cta:hover,.plus-button:hover,.account-button:hover,.icon-button:hover,.pill:hover{transform:translateY(-1px)}.pill.is-active{background:var(--plus);border-color:transparent;color:#03110f}.hero{position:relative;min-height:690px;display:flex;align-items:end;overflow:hidden;padding:150px clamp(18px,5vw,76px) 150px}.hero-art{position:absolute;inset:0;z-index:-2;background:linear-gradient(115deg,rgba(3,5,10,.96) 0%,rgba(3,5,10,.72) 42%,rgba(3,5,10,.12) 72%),radial-gradient(circle at 78% 30%,rgba(0,228,199,.48),transparent 16%),radial-gradient(circle at 73% 44%,rgba(124,92,255,.38),transparent 34%),linear-gradient(135deg,#172033,#03050a 48%,#112f38)}.hero-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,#03050a 0%,rgba(3,5,10,0) 47%),linear-gradient(90deg,#03050a 0%,rgba(3,5,10,.44) 50%,rgba(3,5,10,.08))}.hero-content{max-width:800px}.eyebrow{margin:0 0 12px;color:var(--plus);font-size:12px;text-transform:uppercase;letter-spacing:.18em;font-weight:1000}.hero h1{margin:0;font-size:clamp(44px,7vw,96px);line-height:.92;letter-spacing:-.07em;max-width:920px}.hero-copy{max-width:650px;color:#d8dfed;font-size:clamp(17px,2vw,22px);line-height:1.45;margin:24px 0 18px}.hero-meta{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:28px}.hero-meta span{padding:8px 12px;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:rgba(255,255,255,.07);font-weight:900;font-size:13px}.hero-actions{display:flex;flex-wrap:wrap;gap:12px}.rail-section{padding:30px clamp(18px,4vw,58px)}.rail-overlap{margin-top:-116px;position:relative;z-index:5}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:18px}.section-heading h2,.page-wrap h1{font-size:clamp(30px,4vw,52px);letter-spacing:-.05em;line-height:1;margin:0}.section-heading a{color:var(--plus);font-weight:1000}.channel-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.channel-card{position:relative;overflow:hidden;border-radius:28px;background:rgba(255,255,255,.075);border:1px solid rgba(255,255,255,.1);min-height:270px;padding:20px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:var(--shadow)}.channel-card:before{content:"";position:absolute;inset:-35% -30% auto auto;width:250px;height:250px;border-radius:50%;background:var(--glow);filter:blur(10px);opacity:.84}.channel-card>*{position:relative;z-index:1}.channel-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.channel-logo{height:54px;min-width:54px;border-radius:16px;background:rgba(255,255,255,.94);color:#05070d;display:flex;align-items:center;justify-content:center;font-weight:1000;letter-spacing:-.05em;overflow:hidden;padding:6px}.channel-logo img{max-width:100%;max-height:100%;object-fit:contain;display:block}.badge{border-radius:999px;padding:7px 10px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.1);font-weight:1000;font-size:12px;color:#e3e9f6}.channel-card h3{font-size:25px;margin:18px 0 8px;letter-spacing:-.04em}.channel-card p{color:var(--muted);margin:0 0 18px;line-height:1.4}.watch-link{font-weight:1000;color:#fff}.channel-card.locked:after{content:"RSTV+";position:absolute;top:20px;right:20px;border-radius:999px;background:#fff;color:#05070d;padding:7px 11px;font-weight:1000;font-size:12px}.plus-band{margin:38px clamp(18px,4vw,58px);padding:34px;border-radius:34px;background:radial-gradient(circle at 90% 0%,rgba(0,228,199,.24),transparent 30%),linear-gradient(115deg,rgba(0,228,199,.16),rgba(124,92,255,.21)),rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);display:flex;align-items:center;justify-content:space-between;gap:24px;box-shadow:var(--shadow)}.plus-band.inside{margin-left:0;margin-right:0}.plus-band h2{font-size:clamp(31px,5vw,62px);margin:0;letter-spacing:-.06em}.plus-band p{max-width:720px;color:#dce4f5;font-size:18px;line-height:1.45}.plus-band-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-end}.poster-rail{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(230px,1fr);overflow-x:auto;gap:16px;scrollbar-width:none;padding-bottom:8px}.poster-rail::-webkit-scrollbar{display:none}.poster-card{position:relative;min-height:310px;border-radius:28px;overflow:hidden;background:linear-gradient(135deg,rgba(255,255,255,.12),rgba(255,255,255,.03));border:1px solid rgba(255,255,255,.1);box-shadow:var(--shadow);padding:22px;display:flex;flex-direction:column;justify-content:end}.poster-rail.large .poster-card{min-height:380px}.poster-card:before{content:"";position:absolute;inset:0;z-index:0;background:radial-gradient(circle at 72% 18%,var(--card-a),transparent 28%),linear-gradient(135deg,var(--card-b),rgba(255,255,255,.03) 70%)}.poster-card:after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(0deg,rgba(0,0,0,.82),rgba(0,0,0,.08) 58%)}.poster-card>*{position:relative;z-index:2}.poster-card span{color:var(--plus);font-size:12px;text-transform:uppercase;letter-spacing:.14em;font-weight:1000}.poster-card h3{font-size:26px;letter-spacing:-.04em;margin:8px 0}.poster-card p{color:var(--muted);margin:0}.guide-list{display:grid;gap:10px}.guide-item{display:grid;grid-template-columns:88px 1fr auto;gap:14px;align-items:center;padding:15px 18px;border-radius:18px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1)}.guide-time{color:var(--plus);font-weight:1000}.guide-item h3{margin:0;font-size:17px}.guide-item p{margin:4px 0 0;color:var(--muted)}.guide-channel{font-weight:900;color:#e8edf8}.page-wrap{padding:116px clamp(18px,4vw,58px) 80px}.page-intro{color:var(--muted);font-size:19px;max-width:780px;line-height:1.5}.page-grid{margin-top:30px}.flush{padding-left:0;padding-right:0}.guide-toolbar{display:flex;gap:10px;flex-wrap:wrap;margin:28px 0}.epg-grid{display:grid;gap:14px}.epg-channel{display:grid;grid-template-columns:220px 1fr;gap:14px;align-items:stretch}.epg-channel-head{display:flex;align-items:center;gap:12px;padding:14px;border-radius:20px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1);min-height:98px}.epg-channel-head .channel-logo{height:46px;min-width:46px}.epg-row{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(230px,1fr);gap:10px;overflow-x:auto;scrollbar-width:none}.epg-row::-webkit-scrollbar{display:none}.epg-programme{position:relative;padding:16px;border-radius:20px;background:rgba(255,255,255,.065);border:1px solid rgba(255,255,255,.1);min-height:98px}.epg-programme.now{border-color:rgba(0,228,199,.5);box-shadow:inset 0 0 0 1px rgba(0,228,199,.24)}.epg-time{font-size:12px;color:var(--plus);font-weight:1000}.epg-programme h3{font-size:17px;margin:6px 0 5px}.epg-programme p{margin:0;color:var(--muted);font-size:13px;line-height:1.3}.loading-card{padding:22px;border-radius:20px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1)}.watch-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:20px;padding:108px clamp(18px,4vw,58px) 60px}.player-card,.up-next,.auth-card{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:30px;box-shadow:var(--shadow)}.video-shell{aspect-ratio:16/9;border-radius:30px 30px 0 0;background:radial-gradient(circle at 70% 20%,rgba(0,228,199,.28),transparent 24%),linear-gradient(135deg,#111827,#02030a);display:grid;place-items:center;overflow:hidden}.video-placeholder{text-align:center;max-width:650px;padding:30px}.live-pill{display:inline-flex;border-radius:999px;background:var(--danger);padding:8px 12px;font-size:12px;font-weight:1000;letter-spacing:.12em}.video-placeholder h1{font-size:clamp(36px,6vw,72px);margin:18px 0 8px;letter-spacing:-.06em}.video-placeholder p{color:var(--muted);font-size:18px}.player-meta{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px}.player-title-row{display:flex;align-items:center;gap:14px}.watch-logo{height:54px;min-width:54px;border-radius:16px;background:rgba(255,255,255,.95);color:#05070d;display:grid;place-items:center;font-weight:1000;overflow:hidden}.watch-logo img{max-width:100%;max-height:100%;object-fit:contain;padding:6px}.player-meta h2{margin:0;font-size:27px;letter-spacing:-.04em}.player-meta p{color:var(--muted)}.up-next{padding:22px}.video-shell .video-js,.rstv-video-js{width:100%;height:100%;min-height:420px;background:#000;border-radius:30px 30px 0 0;overflow:hidden}.video-shell .vjs-fluid{padding-top:56.25%;height:0}.video-shell .vjs-control-bar{background:linear-gradient(180deg,rgba(5,7,13,0),rgba(5,7,13,.92))}.video-shell .vjs-big-play-button{border:0!important;border-radius:999px!important;background:rgba(255,255,255,.92)!important;color:#05070d!important;box-shadow:0 18px 44px rgba(0,0,0,.36)}.video-shell .vjs-play-progress,.video-shell .vjs-volume-level{background:var(--plus)}.pin-layer{width:100%;height:100%;min-height:420px;display:grid;place-items:center;padding:28px;background:radial-gradient(circle at 70% 18%,rgba(0,228,199,.22),transparent 26%),linear-gradient(135deg,#101827,#02030a)}.pin-card{width:min(520px,100%);text-align:center;padding:30px;border-radius:28px;background:rgba(8,12,20,.86);border:1px solid rgba(255,255,255,.12);box-shadow:0 28px 80px rgba(0,0,0,.45);backdrop-filter:blur(18px)}.pin-badge{display:inline-flex;margin-bottom:12px;border-radius:999px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.14);padding:8px 12px;color:var(--plus);font-size:12px;text-transform:uppercase;letter-spacing:.14em;font-weight:1000}.pin-card h1{margin:0 0 10px;font-size:clamp(30px,5vw,58px);letter-spacing:-.06em}.pin-card p{color:var(--muted);line-height:1.45}.pin-card form{display:grid;grid-template-columns:1fr auto;gap:10px;margin-top:18px}.pin-card input{min-width:0;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.08);color:#fff;border-radius:999px;padding:14px 16px;outline:none;text-align:center;font-weight:900;letter-spacing:.22em}.pin-message{min-height:20px;color:var(--danger)!important;font-weight:900}.pin-cancel{margin-top:12px}.auth-page{display:grid;place-items:center;padding:42px 18px;min-height:100vh}.auth-shell{width:min(560px,100%)}.auth-brand{justify-content:center;margin-bottom:24px}.auth-card{padding:30px}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:5px;border-radius:999px;background:rgba(255,255,255,.07);margin-bottom:24px}.auth-tab{border:0;border-radius:999px;padding:12px;background:transparent;color:var(--muted);font-weight:1000;cursor:pointer}.auth-tab.is-active{background:#fff;color:#05070d}.auth-panel{display:none}.auth-panel.is-active{display:block}.auth-card h1{font-size:clamp(36px,6vw,54px);margin:0 0 10px;letter-spacing:-.06em}.auth-card p{color:var(--muted);line-height:1.45}.auth-card form{display:grid;gap:14px;margin-top:20px}.auth-card label{display:grid;gap:8px;color:#e8edf8;font-weight:800}.auth-card input,.search-card input{width:100%;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.08);color:#fff;border-radius:16px;padding:15px 16px;outline:none}.form-message{min-height:20px;color:var(--plus);font-weight:800}.form-message.error{color:var(--danger)}.search-panel{position:fixed;inset:0;z-index:60;background:rgba(0,0,0,.7);backdrop-filter:blur(12px);display:grid;place-items:start center;padding:120px 20px}.search-panel[hidden]{display:none!important}body.search-open{overflow:hidden}.search-card{position:relative;width:min(760px,100%);background:#0b0f18;border:1px solid rgba(255,255,255,.12);border-radius:32px;padding:28px;box-shadow:var(--shadow)}.close-button{position:absolute;right:18px;top:16px;border:0;background:rgba(255,255,255,.08);color:#fff;border-radius:999px;width:40px;height:40px;font-size:28px;cursor:pointer}.search-card label{display:block;font-size:22px;font-weight:1000;margin-bottom:12px}.search-results{display:grid;gap:10px;margin-top:16px}.search-result{padding:14px;border-radius:16px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08)}
@media (max-width:1100px){.channel-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.watch-layout{grid-template-columns:1fr}.epg-channel{grid-template-columns:1fr}.plus-band{align-items:flex-start;flex-direction:column}.plus-band-actions{justify-content:flex-start}.main-nav{display:none}}
@media (max-width:640px){.site-header{padding:14px 16px}.brand img{height:28px}.plus-button{display:none}.hero{min-height:610px;padding:120px 18px 120px}.rail-overlap{margin-top:-88px}.poster-rail{grid-auto-columns:78%}.channel-grid{grid-template-columns:1fr}.guide-item{grid-template-columns:1fr}.guide-channel{display:none}.page-wrap{padding-top:90px}.watch-layout{padding-top:90px}.account-button{padding:10px 12px}.pin-card form{grid-template-columns:1fr}.video-shell .video-js,.rstv-video-js,.pin-layer{min-height:260px}.player-meta{align-items:flex-start;flex-direction:column}.epg-row{grid-auto-columns:82%}}

/* RSTV+ player subscription lock */
.plus-lock-layer{width:100%;height:100%;min-height:420px;display:grid;place-items:center;padding:28px;background:radial-gradient(circle at 70% 18%,rgba(0,228,199,.25),transparent 27%),radial-gradient(circle at 15% 80%,rgba(124,92,255,.22),transparent 28%),linear-gradient(135deg,#111827,#02030a)}
.plus-lock-card{width:min(620px,100%);text-align:left;padding:34px;border-radius:30px;background:rgba(8,12,20,.88);border:1px solid rgba(255,255,255,.13);box-shadow:0 28px 90px rgba(0,0,0,.5);backdrop-filter:blur(18px)}
.plus-lock-badge{display:inline-flex;border-radius:999px;background:rgba(0,228,199,.13);border:1px solid rgba(0,228,199,.35);padding:8px 13px;color:var(--plus);font-size:12px;text-transform:uppercase;letter-spacing:.15em;font-weight:1000;margin-bottom:14px}
.plus-lock-card h1{font-size:clamp(34px,5vw,62px);line-height:.95;letter-spacing:-.07em;margin:0 0 14px}
.plus-lock-card p{color:var(--muted);font-size:17px;line-height:1.45;margin:0}
.plus-lock-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}
.plus-lock-note{margin-top:14px!important;font-size:14px!important;color:#dbe5f7!important}
@media (max-width:640px){.plus-lock-layer{min-height:300px;padding:18px}.plus-lock-card{padding:22px;border-radius:24px}.plus-lock-actions{flex-direction:column}.plus-lock-actions .primary-cta,.plus-lock-actions .secondary-cta{width:100%;justify-content:center}}
/* Account/auth enhancements */
.password-field{display:flex;align-items:center;gap:8px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);border-radius:16px;padding:0 8px}
.password-field input{border:0!important;background:transparent!important;box-shadow:none!important;flex:1;min-width:0}
.password-toggle{border:0;background:rgba(255,255,255,.1);color:#fff;border-radius:999px;padding:7px 10px;font-weight:900;cursor:pointer}
.form-row{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:8px 0 18px}
.check-label{display:flex!important;align-items:center;gap:8px;margin:0!important;color:var(--muted);font-weight:800}
.check-label input{width:auto!important;margin:0}
.text-link{color:var(--plus);font-weight:900;text-decoration:none}
.text-link:hover{text-decoration:underline}
.form-message{min-height:22px;color:var(--muted);font-weight:800}
.form-message.error{color:#ff6b86}
.form-message.success{color:var(--plus)}
.auth-divider{height:1px;background:rgba(255,255,255,.12);margin:26px 0}
.auth-bottom-link{margin:20px 0 0;text-align:center}
.account-badge{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:4px 8px;margin-right:6px;font-size:11px;font-weight:1000}
.account-badge.plus,.account-menu-tier.plus{background:rgba(0,228,199,.16);color:var(--plus);border:1px solid rgba(0,228,199,.35)}
.account-badge.free,.account-menu-tier.free{background:rgba(255,255,255,.1);color:#fff;border:1px solid rgba(255,255,255,.16)}
.header-actions{position:relative}
.account-menu{position:absolute;right:0;top:calc(100% + 12px);z-index:80;width:min(330px,calc(100vw - 28px))}
.account-menu-card{background:rgba(9,13,22,.96);border:1px solid rgba(255,255,255,.14);box-shadow:var(--shadow);border-radius:24px;padding:18px;display:grid;gap:10px;backdrop-filter:blur(20px)}
.account-menu-card strong{font-size:17px}
.account-menu-card span{color:var(--muted);font-size:13px;word-break:break-word}
.account-menu-tier{border-radius:999px;padding:8px 10px;font-weight:1000;text-align:center}
button:disabled,input:disabled{opacity:.62;cursor:not-allowed}
.full{width:100%}
/* NOW-style reset password page */
.reset-page:before{
  background:
    radial-gradient(circle at 15% 4%,rgba(0,228,199,.22),transparent 28%),
    radial-gradient(circle at 85% 12%,rgba(124,92,255,.26),transparent 30%),
    radial-gradient(circle at 62% 92%,rgba(45,113,255,.22),transparent 34%),
    #03050a;
}
.reset-auth-shell{min-height:100vh;padding:36px clamp(18px,5vw,64px);display:grid;place-items:center}
.reset-auth-shell .auth-brand{position:fixed;top:26px;left:clamp(18px,4vw,54px)}
.reset-hero-card{
  position:relative;
  overflow:hidden;
  width:min(980px,100%);
  min-height:590px;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(360px,430px);
  gap:34px;
  align-items:center;
  padding:42px;
  border-radius:34px;
  border:1px solid rgba(255,255,255,.14);
  background:
    linear-gradient(135deg,rgba(255,255,255,.08),rgba(255,255,255,.03)),
    rgba(8,12,22,.86);
  box-shadow:0 35px 110px rgba(0,0,0,.58);
  backdrop-filter:blur(26px);
}
.reset-glow{
  position:absolute;
  inset:auto -120px -190px auto;
  width:470px;
  height:470px;
  border-radius:999px;
  background:radial-gradient(circle,rgba(0,228,199,.42),rgba(124,92,255,.18),transparent 68%);
  filter:blur(4px);
  pointer-events:none;
}
.reset-copy{position:relative;z-index:1;max-width:500px}
.reset-copy h1{
  margin:0;
  font-size:clamp(42px,6vw,72px);
  line-height:.92;
  letter-spacing:-.065em;
}
.reset-copy p[data-reset-copy]{
  color:#d7deec;
  font-size:18px;
  line-height:1.55;
  max-width:450px;
  margin:22px 0 30px;
}
.reset-steps{
  display:grid;
  gap:10px;
  max-width:360px;
}
.reset-steps span{
  display:flex;
  align-items:center;
  gap:10px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.06);
  color:var(--muted);
  border-radius:999px;
  padding:11px 14px;
  font-weight:1000;
  font-size:13px;
}
.reset-steps span:before{
  content:"";
  width:9px;
  height:9px;
  border-radius:999px;
  background:rgba(255,255,255,.22);
}
.reset-steps span.is-active{color:#fff;border-color:rgba(0,228,199,.38);background:rgba(0,228,199,.1)}
.reset-steps span.is-active:before{background:var(--plus);box-shadow:0 0 20px rgba(0,228,199,.75)}
.reset-steps span.is-complete{color:var(--plus)}
.reset-steps span.is-complete:before{background:var(--plus)}
.reset-panel{
  position:relative;
  z-index:1;
  border:1px solid rgba(255,255,255,.13);
  border-radius:28px;
  background:rgba(3,5,10,.48);
  padding:26px;
  box-shadow:0 22px 55px rgba(0,0,0,.34);
}
.reset-panel[hidden]{display:none!important}
.reset-panel h2{margin:0 0 10px;font-size:30px;letter-spacing:-.04em}
.reset-panel p{color:var(--muted);line-height:1.5}
.reset-smallprint{
  margin:14px 0 0!important;
  color:#8592a8!important;
  font-size:12px;
  line-height:1.45!important;
}
.reset-success-icon{
  width:64px;
  height:64px;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:var(--plus);
  color:#03110f;
  font-size:34px;
  font-weight:1000;
  margin-bottom:18px;
  box-shadow:0 0 38px rgba(0,228,199,.38);
}
.reset-footer-actions{
  position:absolute;
  left:42px;
  bottom:28px;
  display:flex;
  gap:10px;
  color:var(--muted);
  font-weight:900;
}
@media (max-width:850px){
  .reset-hero-card{grid-template-columns:1fr;padding:28px;min-height:auto}
  .reset-footer-actions{position:relative;left:auto;bottom:auto;margin-top:24px}
  .reset-auth-shell .auth-brand{position:relative;top:auto;left:auto;margin-bottom:22px;justify-self:start}
  .reset-auth-shell{display:block}
}


/* Reset password page — fixed NOW-style layout */
.reset-page{
  min-height:100vh;
  background:#03050a;
  overflow-x:hidden;
}
.reset-page-shell{
  min-height:100vh;
  width:100%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:32px 18px;
}
.reset-brand{
  position:static!important;
  margin-bottom:28px;
  align-self:center;
}
.reset-card-v2{
  position:relative;
  overflow:hidden;
  width:min(560px,100%);
  border-radius:34px;
  border:1px solid rgba(255,255,255,.16);
  background:
    radial-gradient(circle at 15% 0%,rgba(0,228,199,.18),transparent 34%),
    radial-gradient(circle at 95% 10%,rgba(124,92,255,.18),transparent 32%),
    rgba(12,17,28,.94);
  box-shadow:0 35px 110px rgba(0,0,0,.58);
  padding:38px;
}
.reset-card-copy h1{
  margin:0;
  max-width:100%;
  font-size:clamp(42px,8vw,74px);
  line-height:.92;
  letter-spacing:-.07em;
  overflow-wrap:normal;
  word-break:normal;
}
.reset-card-copy p[data-reset-copy]{
  margin:20px 0 0;
  color:#d7deec;
  font-size:18px;
  line-height:1.55;
  max-width:440px;
}
.reset-steps-v2{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:28px 0 18px;
}
.reset-steps-v2 span{
  border:1px solid rgba(255,255,255,.13);
  background:rgba(255,255,255,.06);
  color:var(--muted);
  border-radius:999px;
  padding:9px 12px;
  font-size:12px;
  font-weight:1000;
}
.reset-steps-v2 span.is-active{
  color:#fff;
  background:rgba(0,228,199,.12);
  border-color:rgba(0,228,199,.42);
}
.reset-steps-v2 span.is-complete{
  color:var(--plus);
  border-color:rgba(0,228,199,.28);
}
.reset-panel-v2{
  border:1px solid rgba(255,255,255,.13);
  border-radius:26px;
  background:rgba(3,5,10,.46);
  padding:24px;
}
.reset-panel-v2[hidden]{
  display:none!important;
}
.reset-panel-v2 label{
  display:block;
  font-weight:900;
  color:#fff;
  margin-bottom:16px;
}
.reset-panel-v2 input[type="email"],
.reset-panel-v2 input[type="text"],
.reset-panel-v2 input[type="password"]{
  width:100%;
  margin-top:8px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.08);
  color:#fff;
  border-radius:16px;
  padding:14px 15px;
  outline:none;
}
.reset-panel-v2 input:focus{
  border-color:rgba(0,228,199,.55);
  box-shadow:0 0 0 4px rgba(0,228,199,.12);
}
.reset-smallprint{
  margin:14px 0 0!important;
  color:#95a0b5!important;
  font-size:12px;
  line-height:1.45!important;
}
.reset-footer-actions-v2{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  margin-top:22px;
  color:var(--muted);
  font-weight:900;
}
.reset-done-panel h2{
  margin:0 0 10px;
  font-size:30px;
}
.reset-done-panel p{
  color:var(--muted);
  line-height:1.5;
}
.reset-success-icon{
  width:64px;
  height:64px;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:var(--plus);
  color:#03110f;
  font-size:34px;
  font-weight:1000;
  margin-bottom:18px;
  box-shadow:0 0 38px rgba(0,228,199,.38);
}
.reset-page .password-field{
  margin-top:8px;
}
.reset-page .password-field input{
  margin-top:0!important;
  border:0!important;
  box-shadow:none!important;
}
@media (max-width:560px){
  .reset-page-shell{
    justify-content:flex-start;
    padding:22px 14px;
  }
  .reset-card-v2{
    padding:26px 20px;
    border-radius:28px;
  }
  .reset-card-copy h1{
    font-size:clamp(42px,15vw,62px);
  }
  .reset-card-copy p[data-reset-copy]{
    font-size:16px;
  }
  .reset-panel-v2{
    padding:18px;
  }
}


/* Channels/watch layout fixes */
.watch-layout{
  align-items:start;
}
.player-card{
  overflow:hidden;
}
.video-shell{
  min-height:420px;
  display:grid;
  place-items:center;
  position:relative;
  background:
    radial-gradient(circle at 20% 0%,rgba(0,228,199,.14),transparent 32%),
    radial-gradient(circle at 85% 20%,rgba(124,92,255,.15),transparent 32%),
    #05070d;
}
.video-placeholder{
  width:100%;
  min-height:420px;
  padding:clamp(28px,5vw,56px);
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  gap:16px;
  background:
    linear-gradient(90deg,rgba(3,5,10,.92),rgba(3,5,10,.36)),
    radial-gradient(circle at 82% 30%,rgba(0,228,199,.2),transparent 26%);
}
.video-placeholder h1{
  margin:0;
  max-width:720px;
  font-size:clamp(38px,6vw,76px);
  line-height:.94;
  letter-spacing:-.06em;
}
.video-placeholder p{
  max-width:520px;
  margin:0;
  color:var(--muted);
  font-size:18px;
  line-height:1.45;
}
.video-placeholder .primary-cta{
  margin-top:6px;
}
.live-pill{
  display:inline-flex;
  width:auto;
  border-radius:999px;
  padding:8px 12px;
  background:rgba(0,228,199,.14);
  color:var(--plus);
  font-weight:1000;
  letter-spacing:.12em;
  font-size:12px;
}
.player-meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:24px;
  border-top:1px solid rgba(255,255,255,.08);
}
.player-title-row{
  display:flex;
  align-items:center;
  gap:16px;
  min-width:0;
}
.player-title-row h2{
  margin:0;
  font-size:clamp(24px,3vw,36px);
  line-height:1;
  letter-spacing:-.04em;
}
.player-title-row p{
  margin:.35rem 0 0;
  color:var(--muted);
}
.watch-logo{
  flex:0 0 auto;
}
.up-next{
  min-width:0;
  overflow:hidden;
}
.up-next .guide-list{
  display:grid;
  gap:12px;
}
.guide-list{
  display:grid;
  gap:12px;
}
.guide-item{
  display:grid!important;
  grid-template-columns:minmax(58px,72px) minmax(0,1fr) auto;
  align-items:center;
  gap:16px;
  min-width:0;
  padding:16px 18px!important;
  border-radius:20px!important;
}
.guide-time{
  min-width:0;
  color:var(--plus);
  font-weight:1000;
  white-space:nowrap;
}
.guide-programme{
  min-width:0;
}
.guide-programme h3,
.guide-item h3{
  margin:0 0 4px!important;
  max-width:100%;
  font-size:16px!important;
  line-height:1.15!important;
  letter-spacing:-.02em;
  overflow-wrap:break-word;
  word-break:normal;
}
.guide-programme p,
.guide-item p{
  margin:0!important;
  color:var(--muted);
  font-size:14px!important;
  line-height:1.3!important;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.guide-channel{
  max-width:92px;
  min-width:70px;
  text-align:left;
  color:#fff;
  font-size:14px;
  line-height:1.15;
  font-weight:1000;
  overflow-wrap:break-word;
}
.guide-preview .guide-item{
  grid-template-columns:minmax(70px,90px) minmax(0,1fr) minmax(90px,120px);
}
.epg-channel-head{
  min-width:0;
}
.epg-channel-head strong,
.epg-channel-head span{
  overflow-wrap:break-word;
}
@media (max-width:900px){
  .watch-layout{
    grid-template-columns:1fr!important;
  }
  .player-meta{
    align-items:flex-start;
    flex-direction:column;
  }
}
@media (max-width:540px){
  .guide-item{
    grid-template-columns:64px minmax(0,1fr);
  }
  .guide-channel{
    grid-column:2;
    max-width:none;
    min-width:0;
    opacity:.78;
  }
}


/* Watch page hard fixes v2 */
.watch-page .player-card{
  min-height:0!important;
  overflow:hidden!important;
  background:rgba(8,12,22,.88)!important;
  border:1px solid rgba(255,255,255,.12)!important;
}
.watch-page .video-shell{
  min-height:430px!important;
  height:auto!important;
  display:block!important;
  overflow:hidden!important;
  border-radius:28px 28px 0 0!important;
  background:
    radial-gradient(circle at 80% 20%,rgba(0,228,199,.18),transparent 30%),
    linear-gradient(135deg,#101827,#05070d 70%)!important;
}
.watch-page .video-shell > .video-placeholder{
  position:relative!important;
  inset:auto!important;
  width:100%!important;
  height:auto!important;
  min-height:430px!important;
  max-height:none!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  align-items:flex-start!important;
  gap:16px!important;
  padding:clamp(30px,6vw,70px)!important;
  border:0!important;
  border-radius:0!important;
  background:
    linear-gradient(90deg,rgba(3,5,10,.96),rgba(3,5,10,.55) 55%,rgba(3,5,10,.25)),
    radial-gradient(circle at 78% 28%,rgba(124,92,255,.22),transparent 28%)!important;
}
.watch-page .video-placeholder::before,
.watch-page .video-placeholder::after,
.watch-page .video-shell::before,
.watch-page .video-shell::after{
  content:none!important;
  display:none!important;
}
.watch-page .video-placeholder h1,
.watch-page [data-watch-title]{
  display:block!important;
  width:auto!important;
  height:auto!important;
  max-width:760px!important;
  margin:0!important;
  padding:0!important;
  color:#fff!important;
  background:transparent!important;
  font-size:clamp(40px,6vw,82px)!important;
  line-height:.92!important;
  letter-spacing:-.07em!important;
  white-space:normal!important;
  overflow:visible!important;
}
.watch-page .video-placeholder p,
.watch-page [data-watch-subtitle]{
  display:block!important;
  max-width:560px!important;
  margin:0!important;
  padding:0!important;
  color:var(--muted)!important;
  background:transparent!important;
  font-size:18px!important;
  line-height:1.45!important;
  white-space:normal!important;
  overflow:visible!important;
}
.watch-page .video-placeholder .primary-cta,
.watch-page [data-play-button]{
  display:inline-flex!important;
  width:auto!important;
  min-width:150px!important;
  height:auto!important;
  margin-top:8px!important;
}
.watch-page .live-pill{
  display:inline-flex!important;
  width:auto!important;
  height:auto!important;
  background:rgba(0,228,199,.14)!important;
  color:var(--plus)!important;
  border:1px solid rgba(0,228,199,.24)!important;
}
.watch-page .player-meta{
  position:relative!important;
  z-index:2!important;
  background:rgba(8,12,22,.95)!important;
}
.watch-page .up-next{
  max-height:calc(100vh - 130px);
  overflow:hidden!important;
}
.watch-page .up-next .guide-list{
  max-height:none!important;
  overflow:hidden!important;
}
.watch-page .up-next .guide-item{
  grid-template-columns:72px minmax(0,1fr)!important;
  grid-template-areas:
    "time programme"
    "time channel";
  padding:17px 18px!important;
  gap:10px 16px!important;
}
.watch-page .up-next .guide-time{
  grid-area:time;
  align-self:center;
}
.watch-page .up-next .guide-programme{
  grid-area:programme;
}
.watch-page .up-next .guide-channel{
  grid-area:channel;
  max-width:none!important;
  min-width:0!important;
  font-size:13px!important;
  color:var(--muted)!important;
  opacity:.9;
}
.watch-page .up-next .guide-programme h3{
  font-size:16px!important;
  line-height:1.12!important;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.watch-page .up-next .guide-programme p{
  -webkit-line-clamp:1!important;
}
@media (max-width:900px){
  .watch-page .up-next{
    max-height:none;
    overflow:visible!important;
  }
}


/* Logo rendering fix — stop tvg-logo artwork stretching full height */
.channel-logo,
.watch-logo,
[data-watch-logo]{
  flex:0 0 auto!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.12);
  color:#fff;
  font-weight:1000;
  text-align:center;
  line-height:1;
}

.channel-logo{
  width:68px!important;
  height:68px!important;
  min-width:68px!important;
  max-width:68px!important;
  border-radius:20px!important;
  padding:8px!important;
  font-size:18px!important;
}

.watch-logo,
[data-watch-logo]{
  width:82px!important;
  height:82px!important;
  min-width:82px!important;
  max-width:82px!important;
  border-radius:24px!important;
  padding:10px!important;
  font-size:20px!important;
}

.channel-logo img,
.watch-logo img,
[data-watch-logo] img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
}

/* Prevent any channel logos from becoming hero/player backgrounds */
.video-shell .channel-logo,
.video-shell .watch-logo,
.video-shell [data-watch-logo],
.video-placeholder .channel-logo,
.video-placeholder .watch-logo,
.video-placeholder [data-watch-logo]{
  position:relative!important;
  inset:auto!important;
  transform:none!important;
}

/* The watch page player should never stretch images across the player */
.watch-page .video-shell img:not(.vjs-poster){
  max-width:160px!important;
  max-height:90px!important;
  object-fit:contain!important;
}

/* But keep the actual watch logo square if it is in player meta */
.watch-page .player-meta [data-watch-logo] img,
.watch-page .player-meta .watch-logo img{
  max-width:100%!important;
  max-height:100%!important;
}


/* RSTV custom Video.js player skin */
.rstv-video-js,
.rstv-player-skin{
  width:100%!important;
  height:100%!important;
  min-height:430px!important;
  background:#03050a!important;
  color:#fff!important;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
  border-radius:28px 28px 0 0!important;
  overflow:hidden!important;
}

.video-shell .video-js{
  min-height:430px!important;
}

.rstv-player-skin .vjs-tech{
  object-fit:contain!important;
  background:#03050a!important;
}

.rstv-player-skin:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:
    linear-gradient(180deg,rgba(3,5,10,.42),transparent 28%,transparent 62%,rgba(3,5,10,.78)),
    linear-gradient(90deg,rgba(3,5,10,.34),transparent 38%,rgba(3,5,10,.18));
}

.rstv-player-skin.vjs-has-started:before{
  opacity:.72;
}

.rstv-player-skin .vjs-control-bar{
  z-index:5!important;
  height:74px!important;
  padding:0 18px 14px!important;
  align-items:end!important;
  background:linear-gradient(180deg,transparent,rgba(3,5,10,.95))!important;
  backdrop-filter:blur(10px);
}

.rstv-player-skin .vjs-control{
  color:#fff!important;
}

.rstv-player-skin .vjs-button > .vjs-icon-placeholder:before{
  font-size:24px!important;
  line-height:44px!important;
}

.rstv-player-skin .vjs-play-control,
.rstv-player-skin .vjs-volume-panel,
.rstv-player-skin .vjs-fullscreen-control,
.rstv-player-skin .vjs-picture-in-picture-control{
  width:44px!important;
  height:44px!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.10)!important;
  margin:0 6px!important;
  transition:background .18s, transform .18s!important;
}

.rstv-player-skin .vjs-play-control:hover,
.rstv-player-skin .vjs-volume-panel:hover,
.rstv-player-skin .vjs-fullscreen-control:hover,
.rstv-player-skin .vjs-picture-in-picture-control:hover{
  background:rgba(255,255,255,.18)!important;
  transform:translateY(-1px);
}

.rstv-player-skin .vjs-progress-control{
  position:absolute!important;
  left:22px!important;
  right:22px!important;
  bottom:64px!important;
  width:auto!important;
  height:18px!important;
}

.rstv-player-skin .vjs-progress-holder{
  height:8px!important;
  margin:0!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.20)!important;
  overflow:hidden!important;
}

.rstv-player-skin .vjs-load-progress,
.rstv-player-skin .vjs-load-progress div{
  background:rgba(255,255,255,.22)!important;
}

.rstv-player-skin .vjs-play-progress{
  background:linear-gradient(90deg,var(--plus),#7c5cff)!important;
}

.rstv-player-skin .vjs-play-progress:before{
  color:#fff!important;
  font-size:15px!important;
  top:-4px!important;
  text-shadow:0 0 18px rgba(0,228,199,.9);
}

.rstv-player-skin .vjs-slider{
  border-radius:999px!important;
}

.rstv-player-skin .vjs-volume-control{
  width:70px!important;
}

.rstv-player-skin .vjs-volume-bar{
  height:6px!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.2)!important;
}

.rstv-player-skin .vjs-volume-level{
  background:var(--plus)!important;
  border-radius:999px!important;
}

.rstv-player-skin .vjs-time-control{
  display:block!important;
  min-width:auto!important;
  padding:0 4px!important;
  font-size:12px!important;
  font-weight:900!important;
  color:rgba(255,255,255,.78)!important;
  line-height:44px!important;
}

.rstv-player-skin .vjs-remaining-time{
  display:none!important;
}

.rstv-player-skin .vjs-live-control{
  display:flex!important;
  align-items:center!important;
  height:44px!important;
  padding:0 12px!important;
  margin-left:8px!important;
  border-radius:999px!important;
  background:rgba(255,49,88,.16)!important;
  color:#fff!important;
  font-weight:1000!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
}

.rstv-player-skin .vjs-live-display:before{
  content:"";
  display:inline-block;
  width:8px;
  height:8px;
  border-radius:999px;
  background:#ff3158;
  margin-right:8px;
  box-shadow:0 0 16px rgba(255,49,88,.9);
}

.rstv-player-skin .vjs-big-play-button{
  z-index:6!important;
  width:88px!important;
  height:88px!important;
  line-height:88px!important;
  border:0!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.95)!important;
  color:#05070d!important;
  box-shadow:0 24px 70px rgba(0,0,0,.45),0 0 0 12px rgba(255,255,255,.08)!important;
  transition:transform .2s, background .2s!important;
}

.rstv-player-skin .vjs-big-play-button:hover{
  background:#fff!important;
  transform:translate(-50%,-50%) scale(1.04)!important;
}

.rstv-player-skin .vjs-big-play-button .vjs-icon-placeholder:before{
  color:#05070d!important;
  font-size:52px!important;
  line-height:88px!important;
}

.rstv-player-skin .vjs-loading-spinner{
  z-index:7!important;
  border-color:rgba(0,228,199,.3)!important;
}

.rstv-player-skin .vjs-loading-spinner:before,
.rstv-player-skin .vjs-loading-spinner:after{
  border-top-color:var(--plus)!important;
}

.rstv-player-skin .vjs-error-display{
  z-index:8!important;
  background:rgba(3,5,10,.88)!important;
  backdrop-filter:blur(16px);
}

.rstv-player-skin .vjs-error-display:before{
  color:var(--plus)!important;
  text-shadow:none!important;
}

.rstv-player-skin .vjs-modal-dialog-content{
  color:#fff!important;
  font-weight:800!important;
  line-height:1.4!important;
}

.rstv-player-skin .vjs-menu-button-popup .vjs-menu{
  margin-bottom:12px!important;
}

.rstv-player-skin .vjs-menu-content{
  border-radius:18px!important;
  background:rgba(12,17,28,.96)!important;
  border:1px solid rgba(255,255,255,.14)!important;
  box-shadow:0 20px 60px rgba(0,0,0,.5)!important;
  overflow:hidden!important;
}

.rstv-player-skin .vjs-menu li{
  color:#fff!important;
  font-weight:800!important;
}

.rstv-player-skin .vjs-menu li.vjs-selected,
.rstv-player-skin .vjs-menu li.vjs-menu-item:focus,
.rstv-player-skin .vjs-menu li.vjs-menu-item:hover{
  background:rgba(0,228,199,.18)!important;
  color:#fff!important;
}

@media (max-width:700px){
  .rstv-player-skin,
  .video-shell .video-js{
    min-height:300px!important;
  }
  .rstv-player-skin .vjs-control-bar{
    height:68px!important;
    padding:0 10px 12px!important;
  }
  .rstv-player-skin .vjs-progress-control{
    left:14px!important;
    right:14px!important;
    bottom:58px!important;
  }
  .rstv-player-skin .vjs-volume-panel,
  .rstv-player-skin .vjs-time-control{
    display:none!important;
  }
}


/* Player pre-play screen and live time cleanup */
.watch-page .video-shell{
  aspect-ratio:16/9;
  min-height:0!important;
  height:auto!important;
}
.watch-page .video-shell > .video-placeholder.preplay-screen{
  min-height:0!important;
  height:100%!important;
  aspect-ratio:16/9;
  display:block!important;
  position:relative!important;
  overflow:hidden!important;
  padding:0!important;
  background:#05070d!important;
}
.preplay-screen .preplay-bg{
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(3,5,10,.98),rgba(3,5,10,.68) 52%,rgba(3,5,10,.34)),
    radial-gradient(circle at 78% 22%,rgba(0,228,199,.18),transparent 28%),
    radial-gradient(circle at 90% 10%,rgba(124,92,255,.2),transparent 34%),
    #05070d;
}
.preplay-screen .preplay-content{
  position:relative;
  z-index:2;
  height:100%;
  width:100%;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
  gap:16px;
  padding:clamp(28px,6vw,70px);
}
.preplay-channel-row{
  display:flex;
  align-items:center;
  gap:18px;
  min-width:0;
  max-width:900px;
}
.preplay-logo{
  width:82px!important;
  height:82px!important;
  min-width:82px!important;
  border-radius:24px;
  padding:10px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.14);
  color:#fff;
  font-weight:1000;
  line-height:1;
}
.preplay-logo img{
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
}
.preplay-screen h1{
  margin:0!important;
  max-width:850px!important;
  font-size:clamp(38px,6vw,82px)!important;
  line-height:.92!important;
  letter-spacing:-.07em!important;
}
.preplay-screen .eyebrow{
  margin:0 0 10px!important;
}
.preplay-desc{
  max-width:620px!important;
  color:var(--muted)!important;
  font-size:18px!important;
  line-height:1.45!important;
  margin:0!important;
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.preplay-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:8px;
}
.preplay-note{
  margin:0!important;
  color:var(--plus)!important;
  font-weight:900;
}
.rstv-player-skin .vjs-current-time,
.rstv-player-skin .vjs-duration,
.rstv-player-skin .vjs-time-divider,
.rstv-player-skin .vjs-remaining-time{
  display:none!important;
}
.rstv-player-skin .vjs-live-control{
  display:flex!important;
}
@media (max-width:700px){
  .watch-page .video-shell > .video-placeholder.preplay-screen{
    aspect-ratio:auto;
    min-height:330px!important;
  }
  .preplay-screen .preplay-content{
    padding:28px;
  }
  .preplay-logo{
    width:60px!important;
    height:60px!important;
    min-width:60px!important;
    border-radius:18px;
  }
  .preplay-channel-row{
    align-items:flex-start;
  }
  .preplay-screen h1{
    font-size:clamp(32px,12vw,54px)!important;
  }
}


/* Pre-play CSS fix — clean stacked NOW-style player hero */
.preplay-screen .preplay-content{
  max-width:720px!important;
  justify-content:center!important;
  align-items:flex-start!important;
  padding-left:clamp(42px,7vw,96px)!important;
}

.preplay-channel-row{
  display:block!important;
  max-width:720px!important;
}

.preplay-channel-row .eyebrow{
  margin-top:18px!important;
}

.preplay-logo{
  width:92px!important;
  height:92px!important;
  min-width:92px!important;
  margin-bottom:22px!important;
}

.preplay-screen h1{
  max-width:720px!important;
  font-size:clamp(48px,6.4vw,92px)!important;
  line-height:.88!important;
  letter-spacing:-.075em!important;
}

.preplay-desc{
  margin-top:8px!important;
  max-width:540px!important;
  font-size:18px!important;
}

.preplay-actions{
  margin-top:18px!important;
}

.preplay-screen .live-pill{
  margin-bottom:28px!important;
}

/* Keep right side as atmosphere only, not layout space */
.preplay-screen .preplay-bg{
  background:
    linear-gradient(90deg,rgba(3,5,10,.99) 0%,rgba(3,5,10,.88) 36%,rgba(3,5,10,.42) 62%,rgba(3,5,10,.16) 100%),
    radial-gradient(circle at 78% 22%,rgba(0,228,199,.22),transparent 30%),
    radial-gradient(circle at 92% 10%,rgba(124,92,255,.2),transparent 34%),
    #05070d!important;
}

@media (max-width:700px){
  .preplay-screen .preplay-content{
    padding-left:28px!important;
  }

  .preplay-logo{
    width:64px!important;
    height:64px!important;
    min-width:64px!important;
    margin-bottom:16px!important;
  }

  .preplay-screen .live-pill{
    margin-bottom:18px!important;
  }
}


/* Pre-play proper fix — compact broadcast hero */
.watch-page .video-shell > .video-placeholder.preplay-screen{
  min-height:0!important;
  height:auto!important;
  aspect-ratio:16/9!important;
  max-height:720px!important;
  display:block!important;
  position:relative!important;
  overflow:hidden!important;
  border-radius:28px 28px 0 0!important;
}

.preplay-screen .preplay-content{
  position:relative!important;
  z-index:2!important;
  height:100%!important;
  width:100%!important;
  max-width:none!important;
  display:grid!important;
  grid-template-columns:minmax(0,620px) 1fr!important;
  align-content:center!important;
  align-items:center!important;
  gap:0!important;
  padding:clamp(42px,6vw,86px)!important;
}

.preplay-screen .live-pill{
  position:absolute!important;
  top:clamp(32px,4vw,54px)!important;
  left:clamp(42px,6vw,86px)!important;
  margin:0!important;
  z-index:3!important;
}

.preplay-channel-row{
  display:grid!important;
  grid-template-columns:74px minmax(0,1fr)!important;
  grid-template-areas:
    "logo eyebrow"
    "logo title";
  column-gap:20px!important;
  row-gap:4px!important;
  align-items:center!important;
  max-width:760px!important;
  margin:0!important;
}

.preplay-logo{
  grid-area:logo!important;
  width:74px!important;
  height:74px!important;
  min-width:74px!important;
  max-width:74px!important;
  margin:0!important;
  border-radius:22px!important;
  padding:9px!important;
}

.preplay-channel-row .eyebrow{
  grid-area:eyebrow!important;
  margin:0!important;
  align-self:end!important;
  line-height:1.1!important;
}

.preplay-screen h1{
  grid-area:title!important;
  margin:0!important;
  max-width:620px!important;
  font-size:clamp(48px,5.8vw,84px)!important;
  line-height:.88!important;
  letter-spacing:-.075em!important;
  align-self:start!important;
}

.preplay-desc{
  grid-column:1!important;
  margin:18px 0 0 94px!important;
  max-width:470px!important;
  font-size:18px!important;
  line-height:1.42!important;
}

.preplay-actions{
  grid-column:1!important;
  margin:26px 0 0 94px!important;
  display:flex!important;
  gap:12px!important;
  flex-wrap:wrap!important;
}

.preplay-note{
  grid-column:1!important;
  margin:14px 0 0 94px!important;
}

.preplay-screen .preplay-bg{
  background:
    linear-gradient(90deg,rgba(3,5,10,.99) 0%,rgba(3,5,10,.92) 34%,rgba(3,5,10,.46) 62%,rgba(3,5,10,.18) 100%),
    radial-gradient(circle at 76% 22%,rgba(0,228,199,.22),transparent 30%),
    radial-gradient(circle at 90% 10%,rgba(124,92,255,.18),transparent 34%),
    #05070d!important;
}

@media (max-width:900px){
  .preplay-screen .preplay-content{
    grid-template-columns:1fr!important;
    padding:74px 28px 32px!important;
  }

  .preplay-screen .live-pill{
    top:26px!important;
    left:28px!important;
  }

  .preplay-channel-row{
    grid-template-columns:60px minmax(0,1fr)!important;
    column-gap:14px!important;
  }

  .preplay-logo{
    width:60px!important;
    height:60px!important;
    min-width:60px!important;
    max-width:60px!important;
    border-radius:18px!important;
  }

  .preplay-screen h1{
    font-size:clamp(38px,11vw,62px)!important;
  }

  .preplay-desc,
  .preplay-actions,
  .preplay-note{
    margin-left:74px!important;
  }
}

@media (max-width:560px){
  .watch-page .video-shell > .video-placeholder.preplay-screen{
    aspect-ratio:auto!important;
    min-height:360px!important;
  }

  .preplay-channel-row{
    grid-template-columns:1fr!important;
    grid-template-areas:
      "logo"
      "eyebrow"
      "title";
    row-gap:10px!important;
  }

  .preplay-logo{
    width:54px!important;
    height:54px!important;
    min-width:54px!important;
  }

  .preplay-desc,
  .preplay-actions,
  .preplay-note{
    margin-left:0!important;
  }
}


/* Pre-play must match Video.js player dimensions exactly */
.watch-page .player-card,
.watch-page .video-shell{
  width:100%!important;
}

.watch-page .video-shell{
  position:relative!important;
  display:block!important;
  aspect-ratio:16/9!important;
  min-height:0!important;
  height:auto!important;
  max-height:none!important;
  overflow:hidden!important;
}

.watch-page .video-shell > .video-placeholder.preplay-screen{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  min-width:100%!important;
  min-height:100%!important;
  max-width:none!important;
  max-height:none!important;
  aspect-ratio:auto!important;
  display:block!important;
  overflow:hidden!important;
  border-radius:28px 28px 0 0!important;
  margin:0!important;
  padding:0!important;
}

.preplay-screen .preplay-bg{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
}

.preplay-screen .preplay-content{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  align-items:flex-start!important;
  gap:0!important;
  padding:clamp(44px,6vw,90px)!important;
}

.preplay-screen .live-pill{
  position:static!important;
  margin:0 0 24px 0!important;
}

.preplay-channel-row{
  display:grid!important;
  grid-template-columns:82px minmax(0,660px)!important;
  grid-template-areas:
    "logo eyebrow"
    "logo title";
  column-gap:22px!important;
  row-gap:6px!important;
  align-items:center!important;
  max-width:820px!important;
  margin:0!important;
}

.preplay-logo{
  grid-area:logo!important;
  width:82px!important;
  height:82px!important;
  min-width:82px!important;
  max-width:82px!important;
  margin:0!important;
}

.preplay-channel-row .eyebrow{
  grid-area:eyebrow!important;
  margin:0!important;
  align-self:end!important;
}

.preplay-screen h1{
  grid-area:title!important;
  margin:0!important;
  max-width:660px!important;
  font-size:clamp(48px,5.6vw,88px)!important;
  line-height:.9!important;
}

.preplay-desc{
  margin:20px 0 0 104px!important;
  max-width:560px!important;
}

.preplay-actions{
  margin:28px 0 0 104px!important;
}

.preplay-note{
  margin:14px 0 0 104px!important;
}

.video-shell .video-js,
.rstv-video-js,
.rstv-player-skin{
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  aspect-ratio:16/9!important;
}

@media (max-width:700px){
  .watch-page .video-shell{
    aspect-ratio:auto!important;
    min-height:360px!important;
  }

  .preplay-screen .preplay-content{
    padding:28px!important;
  }

  .preplay-channel-row{
    grid-template-columns:62px minmax(0,1fr)!important;
    column-gap:14px!important;
  }

  .preplay-logo{
    width:62px!important;
    height:62px!important;
    min-width:62px!important;
    max-width:62px!important;
  }

  .preplay-desc,
  .preplay-actions,
  .preplay-note{
    margin-left:76px!important;
  }
}


/* Unified global top navigation */
.site-header{
  position:sticky!important;
  top:0!important;
  z-index:1000!important;
  height:64px!important;
  min-height:64px!important;
  display:grid!important;
  grid-template-columns:minmax(150px,1fr) auto minmax(150px,1fr)!important;
  align-items:center!important;
  gap:24px!important;
  padding:0 30px!important;
  background:
    linear-gradient(90deg,rgba(3,5,10,.98),rgba(5,10,18,.95) 52%,rgba(0,38,44,.92))!important;
  border-bottom:1px solid rgba(255,255,255,.08)!important;
  backdrop-filter:blur(18px)!important;
  box-shadow:none!important;
}

.site-header.compact,
.site-header.is-scrolled{
  height:64px!important;
  min-height:64px!important;
  padding:0 30px!important;
  background:
    linear-gradient(90deg,rgba(3,5,10,.98),rgba(5,10,18,.95) 52%,rgba(0,38,44,.92))!important;
}

.site-header::before,
.site-header::after{
  content:none!important;
  display:none!important;
}

.site-header .brand{
  justify-self:start!important;
  min-width:0!important;
  display:flex!important;
  align-items:center!important;
}

.site-header .brand img{
  height:34px!important;
  width:auto!important;
  max-width:190px!important;
  object-fit:contain!important;
  display:block!important;
}

.site-header .main-nav{
  justify-self:center!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:32px!important;
  color:rgba(255,255,255,.72)!important;
  font-weight:900!important;
  font-size:14px!important;
}

.site-header .main-nav a{
  color:rgba(220,228,244,.78)!important;
  text-decoration:none!important;
  font-weight:900!important;
  line-height:1!important;
}

.site-header .main-nav a:hover,
.site-header .main-nav a[aria-current="page"]{
  color:#fff!important;
}

.site-header .header-actions{
  justify-self:end!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:10px!important;
  position:relative!important;
}

.site-header .account-button,
.site-header .plus-button,
.site-header .icon-button{
  height:42px!important;
  min-height:42px!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.08)!important;
  border:1px solid rgba(255,255,255,.14)!important;
  color:#fff!important;
  font-weight:900!important;
  box-shadow:none!important;
}

.site-header .account-button,
.site-header .plus-button{
  padding:0 20px!important;
}

.site-header .icon-button{
  width:42px!important;
  padding:0!important;
}

.site-header .account-button:hover,
.site-header .plus-button:hover,
.site-header .icon-button:hover{
  background:rgba(255,255,255,.14)!important;
  transform:none!important;
}

/* Remove page-specific fat header behaviour */
body:not(.watch-page) .site-header,
.watch-page .site-header{
  margin:0!important;
}

/* Keep page content from hiding under sticky header */
body > main:first-of-type{
  scroll-margin-top:64px;
}

@media (max-width:760px){
  .site-header{
    grid-template-columns:1fr auto!important;
    height:auto!important;
    min-height:64px!important;
    padding:12px 18px!important;
  }

  .site-header .main-nav{
    grid-column:1 / -1;
    order:3;
    gap:18px!important;
    justify-self:start!important;
    overflow:auto;
    max-width:100%;
    padding-bottom:2px;
  }

  .site-header .brand img{
    height:30px!important;
  }
}


/* Final unified header system — same on every main page */
.site-header{
  position:sticky!important;
  top:0!important;
  z-index:1000!important;
  height:72px!important;
  min-height:72px!important;
  display:grid!important;
  grid-template-columns:220px minmax(0,1fr) 220px!important;
  align-items:center!important;
  gap:18px!important;
  padding:0 30px!important;
  margin:0!important;
  background:
    linear-gradient(90deg,rgba(3,5,10,.98),rgba(5,10,18,.96) 55%,rgba(0,34,40,.94))!important;
  border-bottom:1px solid rgba(255,255,255,.08)!important;
  box-shadow:none!important;
  backdrop-filter:blur(18px)!important;
}

.site-header.compact,
.site-header.is-scrolled{
  height:72px!important;
  min-height:72px!important;
  padding:0 30px!important;
  background:
    linear-gradient(90deg,rgba(3,5,10,.98),rgba(5,10,18,.96) 55%,rgba(0,34,40,.94))!important;
}

.site-header::before,
.site-header::after{
  content:none!important;
  display:none!important;
}

.site-header .brand{
  justify-self:start!important;
  width:auto!important;
  min-width:0!important;
  display:flex!important;
  align-items:center!important;
  gap:0!important;
}

.site-header .brand img{
  display:block!important;
  height:34px!important;
  width:auto!important;
  max-width:190px!important;
  object-fit:contain!important;
}

.site-header .main-nav{
  justify-self:center!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:30px!important;
  margin:0!important;
  padding:0!important;
  color:rgba(222,230,246,.75)!important;
  font-size:14px!important;
  font-weight:900!important;
  line-height:1!important;
}

.site-header .main-nav a{
  color:rgba(222,230,246,.75)!important;
  text-decoration:none!important;
  font-size:14px!important;
  font-weight:900!important;
  line-height:1!important;
  padding:12px 0!important;
  border-bottom:2px solid transparent!important;
}

.site-header .main-nav a:hover,
.site-header .main-nav a.is-active,
.site-header .main-nav a[aria-current="page"]{
  color:#fff!important;
  border-bottom-color:var(--plus)!important;
}

.site-header .header-actions{
  justify-self:end!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:10px!important;
  margin:0!important;
  padding:0!important;
  position:relative!important;
}

.site-header .icon-button,
.site-header .account-button,
.site-header .plus-button,
.site-header .primary-cta,
.site-header .secondary-cta{
  height:44px!important;
  min-height:44px!important;
  border-radius:999px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  margin:0!important;
  font-size:15px!important;
  font-weight:900!important;
  line-height:1!important;
  transform:none!important;
  box-shadow:none!important;
}

.site-header .icon-button{
  width:44px!important;
  min-width:44px!important;
  padding:0!important;
  background:rgba(255,255,255,.08)!important;
  border:1px solid rgba(255,255,255,.12)!important;
  color:#fff!important;
}

.site-header .account-button,
.site-header .plus-button{
  width:auto!important;
  min-width:auto!important;
  padding:0 20px!important;
  background:rgba(255,255,255,.08)!important;
  border:1px solid rgba(255,255,255,.14)!important;
  color:#fff!important;
}

.site-header .icon-button:hover,
.site-header .account-button:hover,
.site-header .plus-button:hover{
  background:rgba(255,255,255,.15)!important;
  transform:none!important;
}

/* Stop page-specific headers/buttons fighting the global nav */
.watch-page .site-header,
body:not(.auth-page) .site-header{
  top:0!important;
}

.watch-page .site-header .main-nav,
.watch-page .site-header .header-actions,
.watch-page .site-header .brand{
  display:flex!important;
}

.site-header .account-badge{
  margin-right:6px!important;
}

/* Same dropdown alignment everywhere */
.site-header .account-menu{
  right:0!important;
  top:calc(100% + 12px)!important;
}

/* Main page top spacing consistency */
body:not(.auth-page){
  padding-top:0!important;
}

@media (max-width:840px){
  .site-header{
    height:auto!important;
    min-height:72px!important;
    grid-template-columns:1fr auto!important;
    grid-template-areas:
      "brand actions"
      "nav nav";
    padding:12px 18px!important;
    row-gap:12px!important;
  }

  .site-header .brand{grid-area:brand!important}
  .site-header .header-actions{grid-area:actions!important}
  .site-header .main-nav{
    grid-area:nav!important;
    justify-self:start!important;
    max-width:100%!important;
    overflow-x:auto!important;
    justify-content:flex-start!important;
    gap:22px!important;
    padding-bottom:4px!important;
  }

  .site-header .brand img{
    height:30px!important;
  }
}


/* Stripe/RSTV+ billing frontend */
.plus-band-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  align-items:center;
  justify-content:flex-end;
}
.billing-message{
  min-height:22px;
  margin:14px 0 0!important;
  color:var(--muted);
  font-weight:900;
}
.billing-message.success{
  color:var(--plus);
}
.billing-message.error{
  color:#ff6b86;
}
[data-start-checkout]:disabled{
  opacity:.62;
  cursor:not-allowed;
}
.plus-lock-actions button.primary-cta{
  border:0;
  cursor:pointer;
}
@media (max-width:760px){
  .plus-band-actions{
    justify-content:flex-start;
  }
}


/* Footer + cookie banner */
.site-footer{
  margin-top:56px;
  padding:34px clamp(20px,5vw,64px);
  border-top:1px solid rgba(255,255,255,.09);
  background:linear-gradient(180deg,rgba(3,5,10,.35),rgba(3,5,10,.86));
  display:grid;
  grid-template-columns:1fr auto;
  gap:18px 28px;
  align-items:start;
  color:var(--muted);
}
.footer-brand{
  display:grid;
  gap:6px;
}
.footer-brand strong{
  color:#fff;
  font-size:18px;
  letter-spacing:-.02em;
}
.footer-brand span,
.footer-small{
  color:var(--muted);
  font-size:13px;
  line-height:1.45;
}
.footer-links{
  display:flex;
  flex-wrap:wrap;
  gap:18px;
  justify-content:flex-end;
}
.footer-links a{
  color:rgba(255,255,255,.78);
  text-decoration:none;
  font-weight:900;
  font-size:13px;
}
.footer-links a:hover{
  color:#fff;
  text-decoration:underline;
}
.footer-small{
  grid-column:1 / -1;
  margin:0;
}
.cookie-banner{
  position:fixed;
  left:18px;
  right:18px;
  bottom:18px;
  z-index:3000;
  width:min(760px,calc(100vw - 36px));
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:18px;
  border-radius:24px;
  border:1px solid rgba(255,255,255,.16);
  background:rgba(8,12,22,.96);
  box-shadow:0 24px 80px rgba(0,0,0,.55);
  backdrop-filter:blur(20px);
}
.cookie-banner[hidden]{
  display:none!important;
}
.cookie-banner strong{
  color:#fff;
  font-size:16px;
}
.cookie-banner p{
  margin:6px 0 0;
  color:var(--muted);
  font-size:13px;
  line-height:1.4;
}
.cookie-banner a{
  color:var(--plus);
  font-weight:900;
  text-decoration:none;
}
.cookie-banner a:hover{
  text-decoration:underline;
}
.primary-cta.small{
  min-width:94px;
  height:42px;
  padding:0 18px;
}
.legal-page,
body:has(.legal-shell){
  background:#03050a;
}
.legal-shell,
.legal-page body,
body.legal-page{
  color:#fff;
}
body:not(.auth-page) > h1,
body:not(.auth-page) > h2,
body:not(.auth-page) > p,
body:not(.auth-page) > ul{
  max-width:880px;
  margin-left:auto;
  margin-right:auto;
  padding-left:20px;
  padding-right:20px;
}
@media (max-width:760px){
  .site-footer{
    grid-template-columns:1fr;
  }
  .footer-links{
    justify-content:flex-start;
  }
  .cookie-banner{
    flex-direction:column;
    align-items:stretch;
  }
  .cookie-banner .primary-cta{
    width:100%;
  }
}

.legal-wrap{
  max-width:980px;
}
.legal-card{
  margin-top:28px;
  padding:28px;
  border-radius:26px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.055);
}
.legal-card h2{
  margin-top:0;
}
.legal-card a{
  color:var(--plus);
  font-weight:900;
}


/* Account-driven parental PIN settings */
.secondary-cta.danger{
  border-color:rgba(255,92,122,.32)!important;
  color:#ff9aad!important;
}
.pin-settings-modal{
  position:fixed;
  inset:0;
  z-index:5000;
  display:grid;
  place-items:center;
  padding:20px;
  background:rgba(3,5,10,.76);
  backdrop-filter:blur(18px);
}
.pin-settings-card{
  position:relative;
  width:min(520px,100%);
  border-radius:30px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(11,16,28,.98);
  box-shadow:0 30px 100px rgba(0,0,0,.58);
  padding:30px;
}
.pin-settings-card h1{
  margin:10px 0 10px;
  font-size:clamp(34px,6vw,54px);
  line-height:.94;
  letter-spacing:-.06em;
}
.pin-settings-card p{
  color:var(--muted);
  line-height:1.5;
}
.pin-settings-card form{
  display:grid;
  gap:14px;
  margin-top:20px;
}
.pin-settings-card label{
  display:grid;
  gap:8px;
  color:#fff;
  font-weight:900;
}
.pin-settings-card input{
  width:100%;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.08);
  color:#fff;
  border-radius:16px;
  padding:14px 15px;
  outline:none;
}
.pin-settings-card input:focus{
  border-color:rgba(0,228,199,.55);
  box-shadow:0 0 0 4px rgba(0,228,199,.12);
}
.pin-message.success{
  color:var(--plus)!important;
  font-weight:900;
}
.pin-reset-link{
  margin:8px auto 12px;
  color:var(--plus);
  font-weight:900;
  background:transparent;
  border:0;
  cursor:pointer;
}


/* Video picture fix — ensure video layer is visible, not hidden behind overlays */
.watch-page .video-shell{
  position:relative!important;
  width:100%!important;
  aspect-ratio:16/9!important;
  min-height:0!important;
  height:auto!important;
  background:#000!important;
  overflow:hidden!important;
}

.watch-page .video-shell .video-js,
.watch-page .video-shell #rstv-video-player,
.watch-page .video-shell .vjs-fluid,
.rstv-video-js,
.rstv-player-skin{
  position:relative!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  aspect-ratio:16/9!important;
  background:#000!important;
  opacity:1!important;
  visibility:visible!important;
}

.watch-page .video-shell .video-js .vjs-tech,
.watch-page .video-shell video,
.rstv-player-skin .vjs-tech{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-width:100%!important;
  min-height:100%!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:contain!important;
  object-position:center!important;
  opacity:1!important;
  visibility:visible!important;
  z-index:1!important;
  background:#000!important;
}

/* Keep decorative player tint behind controls only; never cover the video */
.rstv-player-skin:before{
  z-index:2!important;
  opacity:.18!important;
  pointer-events:none!important;
}

.rstv-player-skin.vjs-playing:before,
.rstv-player-skin.vjs-has-started:before{
  opacity:0!important;
}

.rstv-player-skin .vjs-poster,
.rstv-player-skin .vjs-text-track-display{
  z-index:3!important;
}

.rstv-player-skin .vjs-control-bar,
.rstv-player-skin .vjs-big-play-button,
.rstv-player-skin .vjs-loading-spinner,
.rstv-player-skin .vjs-error-display{
  z-index:10!important;
}

/* Stop generic image rules from shrinking/hiding the internal Video.js tech */
.watch-page .video-shell img:not(.vjs-poster){
  max-width:100%!important;
  max-height:100%!important;
}

/* Mobile keeps same real player behaviour */
@media (max-width:700px){
  .watch-page .video-shell{
    aspect-ratio:16/9!important;
    min-height:220px!important;
  }
}


/* FINAL video picture fix: force real video above all decorative layers */
[data-player-shell],
.video-shell,
.player-shell{
  position:relative!important;
  background:#000!important;
  overflow:hidden!important;
}

[data-player-shell] .video-js,
.video-shell .video-js,
#rstv-video-player,
.rstv-video-js,
.rstv-player-skin{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  min-width:100%!important;
  min-height:100%!important;
  max-width:none!important;
  max-height:none!important;
  display:block!important;
  opacity:1!important;
  visibility:visible!important;
  background:#000!important;
  z-index:20!important;
}

[data-player-shell] .video-js .vjs-tech,
.video-shell .video-js .vjs-tech,
#rstv-video-player_html5_api,
.rstv-video-js .vjs-tech,
.rstv-player-skin .vjs-tech,
[data-player-shell] video{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  min-width:100%!important;
  min-height:100%!important;
  display:block!important;
  opacity:1!important;
  visibility:visible!important;
  object-fit:contain!important;
  object-position:center center!important;
  background:#000!important;
  z-index:30!important;
  transform:none!important;
  filter:none!important;
}

/* Kill decorative overlays while live video is active */
[data-player-shell] .video-js::before,
[data-player-shell] .video-js::after,
.rstv-player-skin::before,
.rstv-player-skin::after,
.video-js::before,
.video-js::after{
  content:none!important;
  display:none!important;
  opacity:0!important;
  pointer-events:none!important;
}

/* Controls above the video, but no dark sheet over the video */
.rstv-player-skin .vjs-control-bar,
.rstv-player-skin .vjs-big-play-button,
.rstv-player-skin .vjs-loading-spinner{
  z-index:60!important;
}

.rstv-player-skin .vjs-text-track-display,
.rstv-player-skin .vjs-poster,
.rstv-player-skin .vjs-modal-dialog,
.rstv-player-skin .vjs-error-display{
  z-index:50!important;
}

.rstv-player-skin .vjs-poster{
  pointer-events:none!important;
}

.rstv-player-skin.vjs-has-started .vjs-poster,
.rstv-player-skin.vjs-playing .vjs-poster{
  display:none!important;
  opacity:0!important;
}

/* Make sure the right rail cannot overlap the player */
.watch-layout,
.watch-grid{
  overflow:visible!important;
}

.watch-page .video-shell{
  isolation:isolate!important;
}


/* Recoded RSTV live player */
[data-player-shell].is-live-player{
  position:relative!important;
  aspect-ratio:16/9!important;
  min-height:420px!important;
  background:#000!important;
  overflow:hidden!important;
  isolation:isolate!important;
}

.rstv-live-stage{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  background:#000!important;
  overflow:hidden!important;
  border-radius:inherit!important;
}

.rstv-live-video{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  display:block!important;
  object-fit:contain!important;
  object-position:center!important;
  background:#000!important;
  opacity:1!important;
  visibility:visible!important;
  z-index:2!important;
}

.rstv-live-loader,
.rstv-live-error{
  position:absolute!important;
  inset:0!important;
  z-index:5!important;
  display:grid!important;
  place-items:center!important;
  text-align:center!important;
  padding:28px!important;
  background:radial-gradient(circle at 50% 40%, rgba(0,228,199,.12), rgba(0,0,0,.82) 50%, rgba(0,0,0,.96))!important;
  color:#fff!important;
}

.rstv-live-loader[hidden],
.rstv-live-error[hidden],
[data-player-shell].is-playing .rstv-live-loader{
  display:none!important;
}

.rstv-live-loader span{
  width:46px!important;
  height:46px!important;
  border-radius:999px!important;
  border:5px solid rgba(255,255,255,.18)!important;
  border-top-color:var(--plus)!important;
  animation:rstvSpin 1s linear infinite!important;
  display:block!important;
  margin:0 auto 16px!important;
}

.rstv-live-loader p,
.rstv-live-error p{
  color:rgba(225,233,247,.82)!important;
  margin:12px 0 0!important;
  font-weight:800!important;
}

.rstv-live-error h2{
  margin:0!important;
  font-size:clamp(30px,4vw,52px)!important;
  letter-spacing:-.05em!important;
}

@keyframes rstvSpin{
  to{transform:rotate(360deg)}
}

/* Disable old Video.js overlay rules on the recoded player */
[data-player-shell].is-live-player .video-js,
[data-player-shell].is-live-player .vjs-tech,
[data-player-shell].is-live-player .rstv-player-skin{
  display:none!important;
}

@media (max-width:700px){
  [data-player-shell].is-live-player{
    min-height:220px!important;
  }
}
