/* SANCTUS TV V5.15 — PREMIUM LIVE TV LAYER */
:root{--stv-bg:#050607;--stv-panel:#0b0d10;--stv-panel2:#11151a;--stv-line:rgba(255,255,255,.08);--stv-gold:#d4af37;--stv-text:#f5f7fa;--stv-muted:#9aa3ad}
body,.mature-home,.watch-page{background:radial-gradient(circle at 50% -12%,rgba(212,175,55,.08),transparent 30%),var(--stv-bg)!important;color:var(--stv-text)!important}
.mature-topbar{min-height:64px!important;background:rgba(5,6,7,.82)!important;border-bottom:1px solid rgba(212,175,55,.12)!important;backdrop-filter:blur(22px) saturate(145%)!important}
.mature-hero{min-height:clamp(420px,64vh,700px)!important;border-radius:0 0 34px 34px!important;box-shadow:0 26px 80px rgba(0,0,0,.48)!important}
.mature-hero:after{background:linear-gradient(90deg,rgba(0,0,0,.9) 0%,rgba(0,0,0,.54) 40%,rgba(0,0,0,.12) 72%),linear-gradient(0deg,var(--stv-bg) 0%,transparent 44%)!important}
.mature-home-body{max-width:1500px;margin:0 auto!important;padding:20px clamp(14px,3vw,36px) 80px!important}
.mature-rail{margin:8px 0 28px!important;content-visibility:auto;contain-intrinsic-size:330px!important}
.mature-rail-head{margin-bottom:12px!important}.mature-rail-head h2{font-size:clamp(1.15rem,2vw,1.5rem)!important;letter-spacing:-.02em!important}.mature-rail-head span{font-size:.72rem!important;color:var(--stv-gold)!important}
.mature-rail-track{gap:12px!important;scroll-snap-type:x mandatory!important;padding:2px 2px 12px!important;scrollbar-width:none}.mature-rail-track::-webkit-scrollbar{display:none}
.mature-poster{scroll-snap-align:start!important;min-width:clamp(158px,18vw,230px)!important}.mature-poster-art{border-radius:16px!important;overflow:hidden!important;background:#101216!important;box-shadow:0 10px 28px rgba(0,0,0,.32)!important}
.mature-poster-copy strong{font-size:.98rem!important}.mature-poster-copy small{color:var(--stv-muted)!important}.mature-poster:active{transform:scale(.975)!important}
.watch-page{min-height:100vh!important}.watch-header{position:sticky!important;top:0!important;z-index:45!important;background:rgba(5,6,7,.9)!important;backdrop-filter:blur(20px)!important;border-bottom:1px solid var(--stv-line)!important}
.watch-main{max-width:1440px!important;margin:0 auto!important;padding:18px clamp(12px,2.5vw,30px) 80px!important}.watch-primary{max-width:1100px!important;margin:0 auto!important}
.v14-player-shell,.official-player-state{width:100%!important;border-radius:18px!important;overflow:hidden!important;background:#000!important;border:1px solid rgba(255,255,255,.07)!important;box-shadow:0 22px 60px rgba(0,0,0,.48)!important}
.v14-video-stage,.live-frame,.youtube-api-host{aspect-ratio:16/9!important;width:100%!important;min-height:0!important}.live-frame{border:0!important;display:block!important}
.v14-source-summary{padding:10px 14px!important;background:linear-gradient(180deg,#0c0e11,#070809)!important;border-bottom:1px solid var(--stv-line)!important}.v14-source-summary strong{color:var(--stv-gold)!important;letter-spacing:.12em!important;font-size:.72rem!important}
.channel-surfer{margin:16px auto!important;border:1px solid var(--stv-line)!important;border-radius:18px!important;background:linear-gradient(180deg,#0e1115,#090b0e)!important;box-shadow:none!important}
.watch-information{max-width:1100px!important;margin:18px auto 0!important}.watch-title-area{padding:8px 4px 0!important}.watch-title-area h1{font-size:clamp(1.55rem,4vw,2.55rem)!important;letter-spacing:-.035em!important;margin:0!important}.watch-meta,.channel-facts{color:var(--stv-muted)!important}
.watch-actions{display:flex!important;gap:10px!important;flex-wrap:wrap!important}.watch-action,.official-watch-button,.player-secondary-button{border-radius:999px!important;min-height:46px!important;padding:0 18px!important;border:1px solid rgba(255,255,255,.1)!important;background:#12161b!important;color:var(--stv-text)!important}
.watch-action:hover,.official-watch-button:hover,.player-secondary-button:hover{background:#1a2027!important}.sanctus-replay-library{margin-top:18px!important;border-radius:18px!important;border:1px solid var(--stv-line)!important;background:linear-gradient(180deg,#0d1014,#080a0c)!important}
.sanctus-replay-grid{gap:12px!important}.sanctus-replay-card{border-radius:14px!important;overflow:hidden!important;background:#101318!important;border:1px solid rgba(255,255,255,.06)!important}
@media(max-width:720px){.mature-topbar{min-height:56px!important}.mature-hero{min-height:400px!important}.mature-home-body{padding:14px 12px 72px!important}.mature-poster{min-width:156px!important}.watch-main{padding:10px 0 72px!important}.watch-primary,.watch-information{width:100%!important}.v14-player-shell,.official-player-state{border-radius:0!important;border-left:0!important;border-right:0!important}.channel-surfer,.watch-information{margin-left:12px!important;margin-right:12px!important}.watch-title-area h1{font-size:1.72rem!important}}
/* V5.18 interaction refinements */
.mature-poster{transition:transform .18s ease,filter .18s ease!important;outline:none!important}
.mature-poster:focus-visible{box-shadow:0 0 0 2px var(--stv-gold)!important;border-radius:16px!important}
.mature-poster-art em{font-weight:800!important;letter-spacing:.08em!important;font-size:.64rem!important;padding:.32rem .52rem!important;border-radius:999px!important;box-shadow:0 4px 14px rgba(0,0,0,.35)!important}
.mature-poster-copy{padding-top:8px!important}
.channel-surfer button{transition:background .18s ease,transform .18s ease!important}
.channel-surfer button:active{transform:scale(.985)!important}
@media (hover:hover) and (pointer:fine){.mature-poster:hover{transform:translateY(-4px) scale(1.02)!important;filter:brightness(1.06)!important}.channel-surfer button:hover{background:rgba(255,255,255,.045)!important}}

/* SANCTUS LIVE TV MATURITY V1 — progressive enhancement, 2026-10-05 */
.stv-live-maturity{max-width:1500px;margin:0 auto;padding:18px clamp(12px,3vw,36px) 28px;color:#f6f4ef}
.stv-live-head{display:flex;align-items:end;justify-content:space-between;gap:18px;margin:4px 0 18px}.stv-live-head small{display:block;color:var(--stv-gold);font-size:.7rem;font-weight:850;letter-spacing:.14em}.stv-live-head h1{font-size:clamp(1.7rem,4vw,2.6rem);margin:5px 0 0;letter-spacing:-.035em}.stv-live-head p{max-width:560px;margin:0;color:var(--stv-muted);line-height:1.45;font-size:.9rem}
.stv-live-tabs{display:flex;gap:8px;overflow:auto;padding:2px 0 12px;scrollbar-width:none;position:sticky;top:0;z-index:6;background:linear-gradient(#08090b 78%,transparent)}.stv-live-tabs::-webkit-scrollbar{display:none}.stv-live-tabs button{white-space:nowrap;border:1px solid rgba(255,255,255,.08);background:#121419;color:#b8bbc3;padding:10px 15px;border-radius:11px;font-weight:750}.stv-live-tabs button.active{background:#f2f0ea;color:#111;border-color:#f2f0ea}
.stv-live-recent{margin:4px 0 18px}.stv-live-recent-label{font-size:.78rem;font-weight:800;color:#bfc2c8;margin-bottom:9px}.stv-live-recent-track{display:flex;gap:9px;overflow:auto;scrollbar-width:none;padding-bottom:4px}.stv-live-recent-track::-webkit-scrollbar{display:none}.stv-live-recent button{min-width:155px;max-width:190px;text-align:left;border:1px solid rgba(255,255,255,.07);background:#121419;color:#fff;border-radius:12px;padding:11px 12px}.stv-live-recent button strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stv-live-recent button span{display:block;margin-top:5px;color:#7f838b;font-size:.72rem}.stv-live-recent i{display:inline-block;width:6px;height:6px;border-radius:50%;background:#d4af37;margin-right:6px}
.stv-live-directory-title{display:flex;align-items:center;justify-content:space-between;margin:9px 0 10px}.stv-live-directory-title strong{font-size:1.05rem}.stv-live-directory-title span{font-size:.76rem;color:#858991}
.directory-page.stv-live-enhanced .directory-intro{display:none}.directory-page.stv-live-enhanced .directory-main{padding-top:0}.directory-page.stv-live-enhanced .directory-toolbar{margin-top:0}
.directory-page.stv-live-enhanced .channel-card{border-radius:15px!important;background:#111317!important;border:1px solid rgba(255,255,255,.065)!important;overflow:hidden;box-shadow:0 8px 24px rgba(0,0,0,.2)!important}.directory-page.stv-live-enhanced .channel-card:active{transform:scale(.985)}
.directory-page.stv-live-enhanced .channel-info h3{letter-spacing:-.015em}.directory-page.stv-live-enhanced .channel-description{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.directory-page.stv-live-enhanced .channel-visual{aspect-ratio:16/9!important}.directory-page.stv-live-enhanced .availability-dot.available{background:#d4af37!important;box-shadow:0 0 0 3px rgba(212,175,55,.12)!important}
@media(max-width:720px){.stv-live-maturity{padding:10px 12px 18px}.stv-live-head{align-items:start}.stv-live-head p{display:none}.stv-live-tabs button{padding:9px 13px;font-size:.86rem}.stv-live-recent button{min-width:142px}.directory-page.stv-live-enhanced .directory-grid{gap:12px!important}}

/* SANCTUS NATIVE DIRECTORY POLISH V5.19 — 2026-10-05
   CSS-only refinement. No overlay, no duplicated controls, no player/source changes. */
.directory-page{
  background:radial-gradient(circle at 78% -12%,rgba(212,175,55,.055),transparent 28%),#060709!important;
  padding-bottom:calc(132px + env(safe-area-inset-bottom,0px))!important;
}
.directory-header{
  height:62px!important;
  padding:0 clamp(14px,3vw,34px)!important;
  background:rgba(6,7,9,.92)!important;
  border-bottom:1px solid rgba(255,255,255,.065)!important;
  box-shadow:0 8px 30px rgba(0,0,0,.16)!important;
}
.directory-back{width:36px!important;height:36px!important;border-radius:10px!important;background:#101216!important}
.directory-brand{font-size:11px!important;color:#e7e4dd!important;letter-spacing:.12em!important}
.directory-main{width:min(1420px,calc(100% - 40px))!important;padding:26px 0 38px!important}
.directory-intro{max-width:820px!important;margin-bottom:20px!important}
.directory-intro .section-kicker{color:#c7a65d!important;font-size:10px!important;font-weight:850!important;letter-spacing:.18em!important}
.directory-intro h1{font-size:clamp(30px,4vw,48px)!important;line-height:1.03!important;letter-spacing:-.04em!important;margin:7px 0 8px!important}
.directory-intro p{font-size:13px!important;line-height:1.55!important;color:#8d929c!important;max-width:680px!important}
.directory-toolbar{
  position:sticky!important;top:62px!important;z-index:18!important;
  margin:0!important;padding:10px 0 9px!important;
  gap:10px!important;background:linear-gradient(180deg,rgba(6,7,9,.98) 0%,rgba(6,7,9,.94) 78%,rgba(6,7,9,0) 100%)!important;
  backdrop-filter:blur(18px)!important;
}
.directory-search{min-height:44px!important;border-radius:12px!important;background:#0f1115!important;border-color:rgba(255,255,255,.075)!important;padding:0 14px!important}
.directory-search:focus-within{border-color:rgba(212,175,55,.48)!important;box-shadow:0 0 0 3px rgba(212,175,55,.07)!important}
.directory-search input{font-size:14px!important}
.directory-count{min-height:44px!important;border-radius:12px!important;background:#0f1115!important;border-color:rgba(255,255,255,.07)!important;padding:0 13px!important;font-size:12px!important}
.directory-filter-block{margin-top:9px!important}
.directory-filter-label{font-size:9px!important;letter-spacing:.15em!important;color:#70757e!important;margin:0 0 6px!important}
.directory-filters{gap:7px!important;margin:0!important;padding:0 0 3px!important;scrollbar-width:none!important}
.directory-filters::-webkit-scrollbar{display:none!important}
.directory-filters button{padding:7px 11px!important;min-height:32px!important;border-radius:9px!important;background:#0f1115!important;border:1px solid rgba(255,255,255,.065)!important;color:#9b9fa8!important;font-size:10px!important;font-weight:720!important}
.directory-filters button.active{background:#ece7dc!important;color:#111318!important;border-color:#ece7dc!important;box-shadow:none!important}
.category-filters button{border-color:rgba(212,175,55,.11)!important}
.directory-grid{grid-template-columns:repeat(auto-fill,minmax(205px,1fr))!important;gap:12px!important;margin-top:18px!important;align-items:stretch!important}
.directory-grid .channel-card{
  border-radius:13px!important;background:#0e1014!important;border:1px solid rgba(255,255,255,.06)!important;
  box-shadow:none!important;overflow:hidden!important;transition:transform .16s ease,border-color .16s ease,background .16s ease!important;
}
.directory-grid .channel-card:hover{transform:translateY(-2px)!important;border-color:rgba(212,175,55,.18)!important;background:#111318!important}
.directory-grid .channel-card:active{transform:scale(.985)!important}
.directory-grid .channel-visual{aspect-ratio:16/9!important;min-height:0!important}
.directory-grid .channel-info{padding:10px 11px 11px!important}
.directory-grid .channel-title-row{gap:7px!important;align-items:flex-start!important}
.directory-grid .channel-info h3{font-size:14px!important;line-height:1.25!important;letter-spacing:-.01em!important;margin:0!important}
.directory-grid .channel-description{font-size:10.5px!important;line-height:1.38!important;color:#7e838d!important;margin:6px 0!important;-webkit-line-clamp:2!important}
.directory-grid .channel-meta,.directory-grid .channel-live-source{font-size:9.5px!important;color:#777c86!important}
.directory-grid .play-button{width:38px!important;height:38px!important;font-size:17px!important;box-shadow:0 6px 18px rgba(0,0,0,.34)!important}
.directory-grid .live-badge,.directory-grid .inapp-badge{font-size:8px!important;letter-spacing:.08em!important}
.directory-grid .thumbnail-channel-mark{font-size:11px!important}
@media(max-width:720px){
  .directory-header{height:58px!important;padding:0 13px!important}
  .directory-main{width:calc(100% - 24px)!important;padding:19px 0 30px!important}
  .directory-intro{margin-bottom:14px!important}
  .directory-intro h1{font-size:31px!important}
  .directory-intro p{font-size:12px!important;line-height:1.45!important}
  .directory-toolbar{top:58px!important;padding:8px 0!important;display:grid!important;grid-template-columns:1fr auto!important;align-items:center!important}
  .directory-search{min-height:42px!important;grid-column:1/2!important}
  .directory-count{min-height:42px!important;grid-column:2/3!important;padding:0 10px!important}
  .directory-count span{display:none!important}
  .directory-filter-block{margin-top:8px!important}
  .directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important;margin-top:15px!important}
  .directory-grid .channel-info{padding:9px!important}
  .directory-grid .channel-info h3{font-size:12.5px!important}
  .directory-grid .channel-description{font-size:9.5px!important;margin:5px 0!important}
  .directory-page{padding-bottom:calc(142px + env(safe-area-inset-bottom,0px))!important}
}
@media(max-width:360px){
  .directory-main{width:calc(100% - 18px)!important}
  .directory-grid{gap:7px!important}
  .directory-grid .channel-description{display:none!important}
}

/* SANCTUS CARD ART + LOGO REPAIR V1 — additive only */
.directory-grid .channel-visual.stv-logo-art{background-size:auto,46% auto!important;background-position:center,center!important;background-repeat:no-repeat!important;background-color:#090b0e!important}
.directory-grid .channel-visual.stv-fallback-art{background-image:radial-gradient(circle at 50% 42%,rgba(212,175,55,.08),rgba(7,8,11,.96) 62%)!important}
.directory-grid .thumbnail-channel-mark.has-logo{width:42px!important;height:42px!important;padding:5px!important;border-radius:10px!important;background:rgba(7,8,11,.78)!important;display:grid!important;place-items:center!important;backdrop-filter:blur(8px)!important}
.directory-grid .thumbnail-channel-mark.has-logo img{display:block!important;max-width:100%!important;max-height:100%!important;width:auto!important;height:auto!important;object-fit:contain!important}
@media(max-width:720px){.directory-grid .channel-visual.stv-logo-art{background-size:auto,52% auto!important}.directory-grid .thumbnail-channel-mark.has-logo{width:36px!important;height:36px!important;padding:4px!important}}

/* SANCTUS UNIVERSAL CARD VISUALS V2 — every live card gets visible identity */
.directory-grid .channel-visual.stv-logo-art{background-size:auto,48% auto!important;background-position:center,center!important;background-repeat:no-repeat!important;background-color:#090b0e!important}
.directory-grid .channel-visual.stv-fallback-art{position:relative!important;background:
 radial-gradient(circle at 70% 24%,hsla(var(--stv-card-hue,42),42%,48%,.18),transparent 32%),
 radial-gradient(circle at 20% 78%,rgba(212,175,55,.10),transparent 34%),
 linear-gradient(145deg,#11151c 0%,#080a0e 58%,#050608 100%)!important;overflow:hidden!important}
.directory-grid .channel-visual.stv-fallback-art:after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 0 44%,rgba(255,255,255,.025) 45% 47%,transparent 48% 100%);pointer-events:none}
.stv-fallback-brand{position:absolute!important;inset:0!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;text-align:center!important;padding:24px!important;z-index:1!important;pointer-events:none!important}
.stv-fallback-monogram{display:grid!important;place-items:center!important;width:78px!important;height:78px!important;border-radius:22px!important;background:rgba(255,255,255,.055)!important;border:1px solid rgba(255,255,255,.09)!important;color:#e2c47c!important;font-size:25px!important;letter-spacing:.06em!important;box-shadow:0 14px 34px rgba(0,0,0,.24)!important;margin-bottom:14px!important}
.stv-fallback-brand span{max-width:88%!important;color:#f2f3f5!important;font-size:15px!important;font-weight:780!important;line-height:1.2!important;white-space:normal!important}
.stv-fallback-brand small{margin-top:7px!important;color:#737986!important;font-size:8px!important;font-weight:850!important;letter-spacing:.18em!important}
.directory-grid .channel-visual.stv-fallback-art>.thumbnail-channel-mark{display:none!important}
@media(max-width:720px){.directory-grid .channel-visual.stv-logo-art{background-size:auto,54% auto!important}.stv-fallback-brand{padding:14px!important}.stv-fallback-monogram{width:60px!important;height:60px!important;border-radius:17px!important;font-size:20px!important;margin-bottom:10px!important}.stv-fallback-brand span{font-size:12px!important}.stv-fallback-brand small{font-size:7px!important}}

/* SANCTUS HLS LIVE CARD PREVIEWS V3 */
.directory-grid .channel-visual{position:relative!important}
.directory-grid .stv-card-live-preview{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important;background:#07090c!important;z-index:0!important;pointer-events:none!important}
.directory-grid .channel-visual.stv-has-live-preview{background-image:none!important;background:#07090c!important}
.directory-grid .channel-visual.stv-has-live-preview>.live-badge,.directory-grid .channel-visual.stv-has-live-preview>.inapp-badge,.directory-grid .channel-visual.stv-has-live-preview>.thumbnail-channel-mark,.directory-grid .channel-visual.stv-has-live-preview>.play-button{position:relative;z-index:3}

/* V4 cleanup: never show generated fallback over real visual identity */
.directory-grid .channel-visual.stv-logo-art .stv-fallback-brand,
.directory-grid .channel-visual.stv-has-live-preview .stv-fallback-brand{display:none!important}
.directory-grid .channel-visual.stv-logo-art>.thumbnail-channel-mark.has-logo{display:grid!important}
/* Fast logo paint: never expose broken-image alt text while identity loads. */
.thumbnail-channel-mark img,.watch-channel-logo img{color:transparent;font-size:0}.stv-logo-loading{position:relative;overflow:hidden}.stv-logo-loading:before{content:attr(data-fallback);position:absolute;inset:0;display:grid;place-items:center;color:#d6b76f;font-weight:800;font-size:12px;letter-spacing:.06em;background:#0d0f14;z-index:0}.stv-logo-loading img{position:relative;z-index:1;background:#0d0f14}.stv-logo-loading.has-logo:before{display:none}

/* v14: mobile branding paints before live-preview traffic */
.thumbnail-channel-mark,.watch-channel-logo{font-size:0!important;color:transparent!important}
.thumbnail-channel-mark:not(.has-logo),.watch-channel-logo:not(.has-logo){background:#0d0f14!important}
.thumbnail-channel-mark img,.watch-channel-logo img{font-size:0!important;color:transparent!important;text-indent:-9999px!important}
@media(max-width:720px){.directory-grid .channel-visual.stv-logo-art{background-size:auto,58% auto!important}.directory-grid .thumbnail-channel-mark.has-logo{opacity:1!important}}

.stv-guide-source-note{margin:12px 0 24px;padding:18px 20px;border:1px solid #33313a;border-radius:16px;background:#131419;color:#eee}.stv-guide-source-note strong{font-size:18px}.stv-guide-source-note p{font-size:13px;line-height:1.6;color:#b7b7be;margin:9px 0}.stv-guide-source-note small{color:#d7b86f;font-weight:600}
