/* Guia en parrilla (js/tv-guia.js) - limpia y nitida, estilo guia de TV real.
   Tamanos con clamp(): proporcionales de movil a 4K/8K, sin escalados borrosos. */
.epg,.epg *,.epg-bar,.epg-bar *,.epg-ficha,.epg-ficha *{font-family:"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif!important;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;
  font-synthesis:none;letter-spacing:0}
#cards.guide-view{display:block}
.epg{--fila:clamp(76px,6.2vw,132px);--etq:clamp(150px,11vw,240px);--ahora:#ff3d97;
  margin:6px 0 24px;border:0;border-radius:14px;background:linear-gradient(180deg,#1a1530 0%,#141124 100%);overflow:hidden}
/* Marco propio con desplazamiento: la cabecera de horas queda fija */
.epg-scroll{overflow:auto;max-height:calc(100vh - 210px);scrollbar-width:thin;scrollbar-color:#44444f #111116;
  -webkit-overflow-scrolling:touch;overscroll-behavior:contain}
.epg-canvas{position:relative}
.epg-head{display:flex;position:sticky;top:0;z-index:6;background:#1a1530;border-bottom:0;height:clamp(44px,3.2vw,64px)}
.epg-label{flex:none;width:var(--etq);box-sizing:border-box;padding:0 16px;display:flex;align-items:center;gap:10px;
  position:sticky;left:0;z-index:5;background:#17132a;border-right:0;
  font-size:clamp(15px,1.05vw,22px);font-weight:600;color:#f4f4f6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.epg-head .epg-label{z-index:7}
.epg-hoy{font-size:clamp(12px,.8vw,17px);font-weight:600;letter-spacing:.12em;color:#a9a9b4}
.epg-icon{width:clamp(22px,1.4vw,32px);height:auto;flex:none;opacity:.9}
.epg-times{position:relative;flex:none}
.epg-time{position:absolute;top:0;bottom:0;display:flex;align-items:center;padding-left:12px;
  border-left:1px solid #3a3352;font-size:clamp(14px,.95vw,20px);font-weight:600;color:#d6d6dd;white-space:nowrap}
.epg-row{display:flex;height:var(--fila);border-bottom:0}
.epg-row-channel{height:calc(var(--fila) * .86)}
.epg-track{position:relative;flex:none}
.epg-section{position:sticky;left:0;padding:16px 16px 8px;font-size:clamp(12px,.8vw,17px);font-weight:600;letter-spacing:.1em;
  text-transform:uppercase;color:#b3acc9;background:transparent;width:max-content}
/* Bloques */
.epg-block{position:absolute;top:6px;bottom:6px;z-index:3;box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;
  gap:4px;padding:0 clamp(12px,.9vw,20px);border-radius:8px;border:1px solid transparent;background:#221d38;color:#fff;text-align:left;
  overflow:hidden;cursor:pointer;transition:background-color .15s,border-color .15s}
.epg-block:hover{background:#2b2546;border-color:#4b4368}
.epg-block:focus,.epg-block:focus-visible{outline:none;border-color:#fff;box-shadow:0 0 0 2px #fff;background:#2e2849}
/* Programa en curso: un poco mas claro, como Disney+ (sin franjas de color) */
.epg-block.vivo{background:#2a2442}
.epg-state{font-size:clamp(10px,.66vw,14px);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#c9c4dc;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.epg-block.pre .epg-state{color:#e8d3a0}
.epg-title{font-size:clamp(16px,1.12vw,24px);font-weight:600;line-height:1.25;color:#fff;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.epg-meta{font-size:clamp(12px,.8vw,17px);font-weight:400;color:#a9a9b3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* Bloque angosto: solo estado y titulo, sin liga */
.epg-block.angosto .epg-meta{display:none}
.epg-block.angosto .epg-title{font-size:clamp(14px,.95vw,20px)}
/* Imagen solo en bloques anchos */
.epg-block.con-imagen{padding-left:calc(clamp(136px,9.5vw,220px) + 16px)}
.epg-thumb{position:absolute;left:0;top:0;bottom:0;width:clamp(136px,9.5vw,220px);height:100%;object-fit:cover}
/* Linea de ahora: por detras de los bloques (no tapa texto) y con su hora en la cabecera */
/* Linea de ahora: rosa fina sobre la parrilla, como Disney+ */
.epg-now{position:absolute;top:0;bottom:0;width:2px;margin-left:-1px;background:var(--ahora);z-index:4;pointer-events:none;opacity:.95}
.epg-now-bolt{position:absolute;top:100%;transform:translate(-50%,-62%);z-index:3;width:clamp(26px,1.7vw,38px);height:clamp(26px,1.7vw,38px);
  border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle,#2a1d3f 0 46%,#ff3d9733 47% 60%,transparent 74%)}
.epg-now-bolt svg{width:62%;height:62%;fill:#ff3d97}
.epg-empty{padding:28px;color:#c3c3cc;font-size:16px}
/* Barra superior: selector Guia | Explorar al centro, botones redondos a la derecha */
.epg-bar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;margin:8px 0 14px}
.epg-mode{display:flex;gap:4px;padding:5px;border:1px solid #3a3a46;border-radius:999px;background:#17171e}
.epg-mode-btn{border:0;border-radius:999px;padding:10px 24px;background:transparent;color:#ededf1;font:600 clamp(14px,.95vw,20px)/1 "Segoe UI",Roboto,Arial,sans-serif;cursor:pointer}
.epg-mode-btn.activo{background:#f4f4f6;color:#111}
.epg-mode-btn:focus-visible,.epg-round:focus-visible{outline:3px solid #fff;outline-offset:2px}
.epg-nav{display:flex;gap:10px;justify-content:flex-end}
.epg-round{width:clamp(42px,2.6vw,58px);height:clamp(42px,2.6vw,58px);border-radius:50%;border:1px solid #3a3a46;background:#202028;color:#fff;
  font:400 clamp(20px,1.3vw,28px)/1 "Segoe UI",Roboto,Arial,sans-serif;cursor:pointer}
.epg-round:disabled{opacity:.35;cursor:default}
@media (max-width:760px){
 .epg{--fila:72px;--etq:104px}
 .epg-bar{grid-template-columns:1fr auto;gap:10px}.epg-spacer{display:none}
 .epg-label{padding:0 10px;font-size:13px}
 .epg-scroll{max-height:calc(100vh - 170px)}
}
/* Ficha flotante (como Disney+) */
.epg-ficha-fondo{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;background:#0009}
.epg-ficha{position:relative;width:min(420px,92vw);max-height:92vh;overflow:auto;box-sizing:border-box;padding:22px;border-radius:14px;
  background:#1b1b22;border:1px solid #33333d;box-shadow:0 24px 60px #000b;color:#f2f2f5;display:flex;flex-direction:column;gap:12px}
.epg-ficha-x{position:absolute;top:10px;right:10px;width:36px;height:36px;border-radius:50%;border:0;background:#2a2a33;color:#fff;font-size:16px;cursor:pointer}
.epg-ficha-cab{text-align:center;font-size:20px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
.epg-ficha-img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:8px;background:#26262f}
.epg-ficha-det{display:flex;flex-direction:column;gap:4px}
.epg-ficha-cuando{font-size:12px;color:#bdbdc6}
.epg-ficha-titulo{font-size:19px;line-height:1.25}
.epg-ficha-meta{margin:0;font-size:13px;color:#a6a6b1}
.epg-ficha-estado{font-size:12px;font-weight:800;letter-spacing:.06em}
.epg-ficha-estado.en_vivo{color:#ff8a92}.epg-ficha-estado.por_comenzar{color:#f0c46a}
.epg-ficha-ver{border:0;border-radius:999px;padding:13px;background:#f2f2f5;color:#111;font-weight:900;font-size:15px;cursor:pointer}
.epg-ficha-pie{display:flex;justify-content:center;gap:12px}
.epg-ficha-nav{width:44px;height:44px;border-radius:50%;border:1px solid #3a3a46;background:#22222b;color:#fff;cursor:pointer}
.epg-ficha-nav:disabled{opacity:.3}
.epg-ficha button:focus-visible{outline:3px solid #fff;outline-offset:2px}
.epg-block:focus-visible,.epg-block:focus{border-color:#fff;box-shadow:0 0 0 2px #fff}

/* 6.8.27: la Guia es su propio grupo de capas. Antes la barra de horas
   (sticky, z-index 6) quedaba encima del reproductor (.watch, z-index 5). */
.epg{position:relative;z-index:0;isolation:isolate}
