.tv-network-link{white-space:nowrap;border:1px solid #ffffff26;border-radius:999px;padding:8px 12px;font-size:9px;font-weight:900;letter-spacing:.08em;color:#ddd}
.tv-network-link:hover{border-color:var(--tv-red);color:#fff}
.tv-profile{display:grid;place-items:center;text-decoration:none}
.tv-library{min-height:80vh;padding:0 clamp(20px,4vw,70px) 90px;max-width:1600px;margin:0 auto}
.tv-library-hero{margin:0 calc(clamp(20px,4vw,70px) * -1) 32px;padding:150px clamp(20px,4vw,70px) 48px;background:linear-gradient(90deg,#050506 5%,#050506dc 48%,#05050677),linear-gradient(0deg,#050506,transparent 75%),url("../img/hero-legacy.webp") center 40%/cover;min-height:380px;display:flex;flex-direction:column;justify-content:flex-end}
.tv-library-hero h1{font:900 clamp(54px,8vw,118px)/.82 var(--tv-head);letter-spacing:-2px;text-transform:uppercase;margin:0 0 18px;max-width:1050px}
.tv-library-hero>p,.tv-library-description{max-width:720px;color:#d5d6da;line-height:1.65;margin:0}
.tv-library-description p{margin:0}
.tv-filter-pills{display:flex;gap:9px;flex-wrap:wrap;margin-top:26px}
.tv-filter-pills a{background:#111318;border:1px solid #ffffff20;border-radius:999px;padding:9px 15px;font-size:11px;font-weight:800;color:#d1d2d5;transition:.2s}
.tv-filter-pills a:hover,.tv-filter-pills a.is-active{background:var(--tv-red);border-color:var(--tv-red);color:#fff}
.tv-library>.tv-library-grid,.tv-client-library>.tv-library-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:25px 10px}
.tv-library-empty{grid-column:1/-1;padding:70px 25px;border:1px dashed #ffffff24;border-radius:7px;text-align:center;background:#0b0c0e}
.tv-library-empty h2{font:900 30px/1 var(--tv-head);margin:0 0 10px}
.tv-library-empty p{color:var(--tv-muted);margin:0}
.navigation.pagination{margin-top:45px}
.nav-links{display:flex;justify-content:center;gap:7px;flex-wrap:wrap}
.page-numbers{background:#111318;border:1px solid #ffffff1d;border-radius:4px;padding:10px 14px;font-size:12px}
.page-numbers.current,.page-numbers:hover{background:var(--tv-red);border-color:var(--tv-red)}
.tv-live-hero{background:linear-gradient(90deg,#050506 4%,#050506c7 47%,#05050665),linear-gradient(0deg,#050506,transparent 80%),url("../img/card-news.webp") center/cover}
.tv-premiere-next{display:grid;place-items:center}
.tv-live-status{display:inline-flex;align-items:center;gap:10px;margin-top:22px;font-size:12px;font-weight:900;letter-spacing:.04em}
.tv-live-status i{width:10px;height:10px;border-radius:50%;background:var(--tv-red);box-shadow:0 0 0 6px #ed1c2422,0 0 18px var(--tv-red);animation:tvPulse 1.5s infinite}
@keyframes tvPulse{50%{opacity:.45;transform:scale(.8)}}
.tv-section-heading{display:flex;align-items:end;justify-content:space-between;margin:42px 0 16px}
.tv-section-heading small{font-size:10px;color:var(--tv-red);font-weight:900;letter-spacing:.12em}
.tv-section-heading h2{font:900 28px/1 var(--tv-head);margin:5px 0 0}
.tv-section-heading>span{font-size:11px;color:var(--tv-muted)}
.tv-guide{margin-top:60px}
.tv-guide-list{border:1px solid #ffffff16;border-radius:6px;overflow:hidden;background:#090a0c}
.tv-guide-list article{display:grid;grid-template-columns:100px 1fr auto;gap:22px;align-items:center;padding:20px 24px;border-bottom:1px solid #ffffff12}
.tv-guide-list article:last-child{border-bottom:0}
.tv-guide-list time{font-weight:900;color:#fff}
.tv-guide-list div{display:flex;flex-direction:column;gap:5px}
.tv-guide-list strong{font-size:14px}
.tv-guide-list span{font-size:11px;color:var(--tv-muted)}
.tv-guide-list b{background:var(--tv-red);padding:5px 8px;border-radius:3px;font-size:9px;letter-spacing:.08em}
.tv-personal-library .tv-library-hero{min-height:330px}
.tv-client-empty{text-align:center;padding:70px 20px;border:1px dashed #ffffff22;border-radius:7px;background:#0b0c0e}
.tv-client-empty>span{display:grid;place-items:center;margin:0 auto 18px;width:62px;height:62px;border-radius:50%;background:#17191e;color:var(--tv-red);font-size:30px}
.tv-client-empty h2{font:900 32px/1 var(--tv-head);margin:0 0 10px}
.tv-client-empty p{color:var(--tv-muted);margin:0 0 24px}
.tv-client-library.has-items .tv-client-empty{display:none}
.tv-library-search{display:flex;width:min(720px,100%);margin-top:25px}
.tv-library-search input{flex:1;min-width:0;background:#111318e8;border:1px solid #ffffff28;color:#fff;padding:15px 17px;border-radius:5px 0 0 5px;outline:none}
.tv-library-search input:focus{border-color:var(--tv-red)}
.tv-library-search button{border:0;background:var(--tv-red);color:#fff;font-weight:900;font-size:11px;padding:0 22px;border-radius:0 5px 5px 0}
.tv-back-link{display:inline-block;margin-bottom:28px;font-size:11px;font-weight:800;color:#ccc}
.tv-back-link:hover{color:var(--tv-red)}
.tv-detail-excerpt{font-size:17px;line-height:1.6}
.tv-detail-categories{display:flex;gap:7px;flex-wrap:wrap;margin:18px 0}
.tv-detail-categories a{font-size:10px;font-weight:800;border:1px solid #ffffff25;border-radius:999px;padding:7px 11px;background:#101115aa}
.tv-creator{font-size:12px;color:#d0d1d4}
.tv-preview-unavailable{opacity:.8}
.tv-list-button.is-active{border-color:var(--tv-red);color:#fff;background:#551014cc}
.tv-modal-open{overflow:hidden}
.tv-toast{position:fixed;z-index:10000;left:50%;bottom:85px;transform:translate(-50%,20px);background:#f4f4f4;color:#08090a;border-radius:4px;padding:12px 18px;font-size:12px;font-weight:900;opacity:0;pointer-events:none;transition:.22s;box-shadow:0 12px 35px #0009}
.tv-toast.is-visible{opacity:1;transform:translate(-50%,0)}
.tv-home-continue{display:none}
.tv-home-continue.has-items{display:block}
@media(max-width:1200px){
 .tv-network-link{display:none}
 .tv-library>.tv-library-grid,.tv-client-library>.tv-library-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media(max-width:900px){
 .tv-library>.tv-library-grid,.tv-client-library>.tv-library-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:760px){
 .tv-library{padding:0 14px 100px}
 .tv-library-hero{margin:0 -14px 24px;padding:110px 18px 34px;min-height:360px;background-position:62% center}
 .tv-library-hero h1{font-size:52px}
 .tv-filter-pills{flex-wrap:nowrap;overflow-x:auto;padding-bottom:6px}
 .tv-filter-pills a{white-space:nowrap}
 .tv-library>.tv-library-grid,.tv-client-library>.tv-library-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 7px}
 .tv-guide-list article{grid-template-columns:72px 1fr auto;gap:12px;padding:17px 13px}
 .tv-guide-list span{display:none}
 .tv-section-heading{margin-top:32px}
 .tv-detail-excerpt{font-size:14px}
 .tv-back-link{margin-bottom:16px}
 .tv-library-search button{padding:0 14px}
}

/* Shared 300 Network navigation: keeps every TV page connected to the main site. */
.tv-network-switcher{position:relative}
.tv-network-switcher summary{list-style:none;display:flex;align-items:center;gap:8px;min-height:34px;padding:7px 11px;border:1px solid #ffffff26;border-radius:999px;background:#090a0dcc;color:#fff;cursor:pointer;white-space:nowrap;transition:.2s}
.tv-network-switcher summary::-webkit-details-marker{display:none}
.tv-network-switcher summary span{font-size:9px;font-weight:950;letter-spacing:.09em}
.tv-network-switcher summary b{padding:4px 6px;border-radius:999px;background:var(--tv-red);font-size:7px;letter-spacing:.08em}
.tv-network-switcher[open] summary,.tv-network-switcher summary:hover{border-color:var(--tv-red);background:#15161a}
.tv-network-menu{position:absolute;z-index:1100;top:46px;right:0;width:350px;padding:10px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;border:1px solid #ffffff24;border-radius:10px;background:#090a0df7;box-shadow:0 22px 60px #000c;backdrop-filter:blur(18px)}
.tv-network-menu a{min-height:68px;padding:10px 8px;border:1px solid #ffffff12;border-radius:7px;background:#111216;display:flex;flex-direction:column;justify-content:center;gap:7px;color:#ddd}
.tv-network-menu a:hover{border-color:#ed1c2477;background:#1a1b20;color:#fff}
.tv-network-menu a span{color:var(--tv-red);font-size:17px;line-height:1}
.tv-network-menu a b{font-size:9px;line-height:1.2}

/* The exact network artwork already used on 300radio.com, presented as return paths. */
.tv-network-hub{padding:58px clamp(20px,4vw,70px);border-top:1px solid #ffffff12;background:radial-gradient(circle at 15% 0,#2a0d1055,transparent 38%),linear-gradient(180deg,#0b0c0f,#070708)}
.tv-network-hub-head{display:flex;align-items:end;justify-content:space-between;gap:24px;max-width:1500px;margin:0 auto 22px}
.tv-network-hub-head>div>span{color:var(--tv-red);font-size:9px;font-weight:950;letter-spacing:.14em}
.tv-network-hub-head h2{margin:7px 0 8px;font:900 clamp(28px,4vw,56px)/.9 var(--tv-head);letter-spacing:-.02em}
.tv-network-hub-head p{max-width:720px;margin:0;color:var(--tv-muted);font-size:13px;line-height:1.6}
.tv-network-hub-head>a{flex:0 0 auto;border:1px solid #ffffff28;border-radius:999px;padding:10px 14px;font-size:10px;font-weight:900}
.tv-network-hub-head>a:hover{border-color:var(--tv-red)}
.tv-network-card-grid{max-width:1500px;margin:0 auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.tv-network-card{position:relative;min-height:190px;overflow:hidden;border:1px solid #ffffff14;border-radius:7px;background:#111216;box-shadow:0 15px 35px #0007}
.tv-network-card img{display:block;width:100%;height:100%;aspect-ratio:2/1;object-fit:cover;transition:transform .35s,filter .35s}
.tv-network-card:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#050506f5 0,#05050622 68%)}
.tv-network-card>span{position:absolute;z-index:2;inset:auto 15px 14px;display:flex;flex-direction:column;gap:4px}
.tv-network-card small{font-size:8px;font-weight:900;letter-spacing:.1em;color:#ddd}
.tv-network-card b{font:900 24px/1 var(--tv-head)}
.tv-network-card em{font-size:9px;font-style:normal;font-weight:900;color:var(--tv-red)}
.tv-network-card:hover img{transform:scale(1.035);filter:brightness(.8)}
.tv-network-card:hover{border-color:#ed1c2477}

/* The TV header mirrors 300radio.com's live menu. TV categories remain in Browse. */
.tv-main-nav{flex:1;min-width:0;gap:clamp(9px,1vw,18px);overflow-x:auto;scrollbar-width:none;font-size:clamp(8px,.64vw,11px)}
.tv-main-nav::-webkit-scrollbar{display:none}
.tv-main-nav a[aria-current="page"]{color:var(--tv-red);opacity:1}
.tv-header-actions{margin-left:0;flex:0 0 auto}

@media(max-width:1200px){
 .tv-network-switcher summary b{display:none}
 .tv-network-switcher summary{padding-inline:9px}
 .tv-network-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
 .tv-network-switcher summary span{font-size:8px}
 .tv-network-menu{position:fixed;top:60px;left:10px;right:10px;width:auto;grid-template-columns:repeat(3,minmax(0,1fr))}
 .tv-network-hub{padding:44px 14px 92px}
 .tv-network-hub-head{display:block;margin-bottom:17px}
 .tv-network-hub-head h2{font-size:38px}
 .tv-network-hub-head>a{display:inline-block;margin-top:16px}
 .tv-network-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
 .tv-network-card{min-height:130px}
 .tv-network-card>span{inset:auto 10px 10px}
 .tv-network-card b{font-size:18px}
 .tv-network-card small{font-size:6px}
 .tv-main-nav{overflow-y:auto;max-height:calc(100vh - 60px);font-size:14px}
 .tv-mobile-dock{grid-template-columns:repeat(6,1fr)}
 .tv-mobile-dock span{font-size:8px}
}
