.poster-badge{position:absolute;top:10px;left:10px;z-index:1;max-width:calc(100% - 20px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#fff;padding:6px 9px;border-radius:5px;font-size:9px;font-weight:850;letter-spacing:.45px;box-shadow:0 4px 16px #0009;text-transform:uppercase;border:1px solid #ffffff55;text-shadow:0 1px 2px #0008}
.poster-badge.badge-dual{background:linear-gradient(135deg,#f4c95d,#c77b18)}
.poster-badge.badge-sub{background:linear-gradient(135deg,#4da9ff,#2564cc)}
.poster-badge.badge-lat{background:linear-gradient(135deg,#c175ff,#7435c4)}
.poster-badge.badge-multi{background:linear-gradient(135deg,#58d39b,#197a62)}
.poster-badge.badge-cam{background:#d94b2b!important;color:#fff!important;border-color:#ffb09b!important;opacity:1!important}
@media(max-width:600px){.poster-badge{top:7px;left:7px;font-size:7px;padding:4px 6px;max-width:calc(100% - 14px)}}
.pin-keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:10px auto 0;max-width:260px;width:100%;align-self:center}
.pin-key{height:42px;display:grid;place-items:center;border:1px solid #334632;border-radius:8px;background:#172219;color:#e9f5e5;font-size:17px;font-weight:650;text-align:center}
.pin-key:hover,.pin-key:active{background:#2c4925;border-color:var(--accent);color:var(--accent)}
.pin-key:last-child{grid-column:3}
@media(pointer:coarse){button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid var(--accent);outline-offset:4px;box-shadow:0 0 0 5px #70e80055}}
/* Ajuste compacto para Amazon Silk/Fire TV (pantalla apaisada 720p). */
@media (min-width:800px) and (max-height:800px){
 :root{--sidebar:clamp(150px,15vw,220px);font-size:clamp(13px,1.25vw,16px)}
 .sidebar{padding:22px 12px 12px}.brand{padding:0 9px;margin-bottom:30px}.brand-logo{max-width:150px;max-height:42px}.brand-name{font-size:19px;letter-spacing:3px}.nav-label{padding:0 11px;margin-bottom:8px}.nav-item{padding:9px 11px;min-height:38px;margin-bottom:2px;font-size:12px;gap:9px}.nav-item svg{width:17px;height:17px}.nav-divider{margin:12px 11px}.sidebar-bottom{padding-top:15px}.private-note{margin:0 7px 10px;font-size:10px}.profile{padding:12px 5px 0;font-size:11px}.topbar{height:70px;padding:0 25px}.main-shell{max-width:none}main{padding:0 25px 24px;min-height:calc(100vh - 130px)}.hero{height:315px;border-radius:11px}.hero-content{padding:28px 32px}.hero h1{font-size:clamp(27px,3vw,43px)}.hero-description{font-size:11px;line-height:1.55;margin-top:12px}.hero-meta{margin-top:13px;font-size:10px}.hero-actions{margin-top:17px}.button{min-height:37px;padding:9px 15px;font-size:11px}.quick-links{margin:14px 0 24px;gap:8px}.quick-link{padding:11px 13px;gap:8px}.quick-link strong{font-size:11px}.quick-link small{font-size:9px}.section{margin-bottom:24px}.section-heading{margin-bottom:12px}.section-heading h2{font-size:17px}.poster-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:12px}.poster{border-radius:7px}.poster-title{font-size:16px;bottom:34px;inset-inline:9px}.poster-title small{font-size:6px;margin-bottom:6px}.card-title{font-size:10px;margin-top:7px}.card-meta{font-size:9px;margin-top:3px}.poster-badge{top:7px;left:7px;font-size:7px;padding:4px 6px}.channel-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}.channel-card{padding:10px;gap:8px}.channel-logo{height:34px;width:42px}.channel-card h3{font-size:11px}.channel-card small{font-size:9px}.page-heading{margin:10px 0 18px}.page-heading h1{font-size:29px}
}
/* Escala fluida para Silk, escritorio y televisores 1080p/4K. */
dialog{width:min(88vw,1100px);max-width:88vw;max-height:88vh}
.modal-head{padding:clamp(16px,1.5vw,26px) clamp(18px,2vw,30px)}
.modal-body{padding:clamp(18px,2vw,30px)}
.detail-layout{grid-template-columns:clamp(110px,12vw,180px) minmax(0,1fr);gap:clamp(18px,2.2vw,34px)}
.detail-layout h3{font-size:clamp(22px,2.2vw,38px)}
.video-wrap{max-height:68vh}
.video-wrap video{max-height:68vh;object-fit:contain}
.player-controls{padding:clamp(12px,1.4vw,20px) clamp(16px,2vw,26px)}
main{padding-left:clamp(18px,2.6vw,55px);padding-right:clamp(18px,2.6vw,55px)}
.topbar{padding-left:clamp(18px,2.6vw,55px);padding-right:clamp(18px,2.6vw,55px)}
.private-note{display:none!important}.sidebar{overflow:hidden}.footer-logo{width:clamp(48px,5vw,78px)!important;max-height:5vh!important;object-fit:contain}
/* El buscador permanece visible al desplazarse por cualquier catálogo. */
.topbar{position:sticky;top:0;z-index:15;background:#080b0af2;background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-bottom:1px solid #182219}
footer{display:none!important}
.main-shell,main{overflow:visible}
@media (min-width:800px){
 body{overflow-x:hidden}
 .sidebar{inset:1.4vh auto 1.4vh 1vw;border-radius:14px;border:1px solid #1a251c}
 .main-shell{margin-left:calc(var(--sidebar) + 1vw);padding:1.4vh 1vw 0 0}
 footer{margin-right:1vw}
 .topbar{min-height:84px;height:clamp(84px,9vh,104px);padding-inline:clamp(24px,3vw,64px);gap:clamp(24px,3vw,52px);overflow:visible}
 .topbar-actions{gap:clamp(14px,1.4vw,28px);padding-right:8px;flex-shrink:0}
 .topbar-actions .icon-button{margin-right:4px;flex-shrink:0}
 .search-box{min-width:220px}
}
@media (min-width:1200px) and (max-height:1100px){
 :root{--sidebar:15vw}
 .sidebar{padding:3vh 1vw 1.5vh}
 .brand{margin-bottom:3vh}
 .brand.has-logo .brand-logo{width:clamp(56px,4.5vw,84px);max-height:12vh}
 .nav-item{padding:1.15vh .8vw;min-height:5vh}
 .profile{white-space:nowrap;overflow:hidden}.profile small{white-space:nowrap}
 .channel-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.1vw}
 .channel-card{position:relative;display:grid;grid-template-columns:clamp(58px,5vw,82px) minmax(0,1fr);align-items:center;min-height:10vh;height:10vh;padding:1vh 1vw;gap:1vw;overflow:hidden}
 .channel-logo{width:100%;height:7vh;min-height:46px}
 .channel-card h3{font-size:clamp(13px,1.15vw,18px);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .channel-card small{font-size:clamp(9px,.85vw,13px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}
 .live-label{font-size:clamp(8px,.75vw,11px);margin-bottom:.5vh}
}
@media (min-width:800px) and (max-height:800px){.channel-card{min-height:82px;height:82px;overflow:hidden;gap:9px}.channel-logo{height:48px;width:58px}.channel-card h3,.channel-card small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.channel-card small{display:block}}
@media (min-width:800px) and (max-height:800px){.sidebar{padding:3vh 1vw 1.5vh}.brand{padding:0 .8vw;margin-bottom:4vh}.nav-item{padding:1.1vh .8vw;min-height:5vh;font-size:clamp(11px,1.05vw,15px);gap:.7vw}.nav-item svg{width:1.5vw;height:1.5vw}.topbar{height:7vh;padding:0 2.2vw}main{padding:0 2.2vw 2.5vh;min-height:87vh}.hero{height:29vh}.hero-content{padding:2.5vh 2.5vw}.quick-links{margin:1.5vh 0 2.5vh}.poster-grid{gap:1.2vw}.channel-grid{gap:1vw}}
@media (min-width:800px) and (max-height:800px){
 .sidebar{overflow:hidden}
 .private-note{display:none}
 .profile{white-space:nowrap;overflow:hidden}.profile small{white-space:nowrap}
 .footer-logo{width:clamp(48px,5vw,78px)!important;max-height:5vh!important;object-fit:contain}
 .channel-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.1vw}
 .channel-card{position:relative;display:grid;grid-template-columns:clamp(48px,4.8vw,70px) minmax(0,1fr);align-items:center;min-height:10vh;height:10vh;padding:1vh 1vw;gap:1vw;overflow:hidden}
 .channel-logo{width:100%;height:7vh;min-height:42px}
 .channel-card>div:nth-child(2){min-width:0;overflow:hidden}
 .channel-card h3{font-size:clamp(11px,1.1vw,16px);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .channel-card small{font-size:clamp(9px,.85vw,12px);margin-top:.5vh;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .live-label{font-size:clamp(8px,.75vw,11px);margin-bottom:.5vh}
}
