/* =============================================
   pages/programas-modal.css
   Programas, parte 3/3: detalle de programa, transicion de pagina y
   tema claro. El detalle dejo de ser un cuadro redondeado generico:
   ahora es un panel con el mismo lenguaje del rundown (barra de acento
   a la izquierda, hora en mono arriba, titulo grande y generos
   separados por barras).
   Viene de pages/programas-list.css.
   ============================================= */

.show-modal {
    position: fixed;
    inset: 0;
    display: none;
    z-index: var(--z-modal, 2400);
}

.show-modal.is-open {
    display: block;
}

.show-modal-overlay {
    position: absolute;
    inset: 0;
    background: rgba(2, 6, 23, 0.8);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    animation: show-modal-overlay-in 240ms var(--ease-out) both;
}

@keyframes show-modal-overlay-in {
    from { opacity: 0; }
    to { opacity: 1; }
}

.show-modal-card {
    position: relative;
    z-index: 1;
    width: min(680px, calc(100% - 32px));
    max-height: calc(100vh - 18vh);
    overflow-y: auto;
    margin: 12vh auto 0;
    padding: clamp(28px, 4vw, 40px);
    border-radius: 3px;
    border-left: 3px solid var(--show-accent, var(--brand-cyan));
    background: linear-gradient(135deg, #061426, #08192e);
    box-shadow: 0 34px 90px rgba(0, 0, 0, 0.55);
    animation: show-modal-in 320ms var(--ease-out) both;
}

/* Sube a su lugar, igual que la transicion de llegada de la pagina. */
@keyframes show-modal-in {
    from { opacity: 0; transform: translateY(22px); }
    to { opacity: 1; transform: translateY(0); }
}

@media (prefers-reduced-motion: reduce) {
    .show-modal-overlay,
    .show-modal-card {
        animation: none;
    }
}

.show-modal-close {
    float: right;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 0 0 3px;
    border: 0;
    border-bottom: 1px solid var(--glass-border);
    background: transparent;
    color: rgba(255, 255, 255, 0.72);
    font-size: 0.72rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    cursor: pointer;
    transition: color var(--duration-base) var(--ease-out),
                border-color var(--duration-base) var(--ease-out);
}

.show-modal-close:hover {
    color: var(--show-accent, var(--brand-cyan));
    border-color: var(--show-accent, var(--brand-cyan));
}

.show-modal-close svg {
    width: 14px;
    height: 14px;
    stroke: currentColor;
}

.show-modal-time {
    clear: both;
    padding-top: 14px;
    color: var(--show-accent, var(--cyan-glow));
    font-size: 0.76rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    margin-bottom: 10px;
}

#show-modal-title {
    font-size: clamp(1.7rem, 3.6vw, 2.5rem);
    font-weight: 700;
    line-height: 1.05;
    letter-spacing: -0.02em;
    color: #ffffff;
    margin-bottom: 18px;
}

.show-modal-summary {
    color: rgba(255, 255, 255, 0.88);
    line-height: 1.75;
    padding-bottom: 20px;
    margin-bottom: 20px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

/* Generos separados por barras, en el mismo tono que las etiquetas del
   rundown -- no como un parrafo de texto corrido con comas. */
.show-modal-cats {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    list-style: none;
}

.show-modal-cats li {
    font-size: 0.68rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--show-accent, var(--cyan-glow));
}

.show-modal-cats li:not(:last-child)::after {
    content: "/";
    margin-left: 8px;
    opacity: 0.45;
}

/* =========================================================
   PAGE TRANSITION (llegada) — Programas es la parrilla/rundown:
   entra deslizando hacia arriba + fade, como una lista que sube
   a su lugar. Ver components/page-transitions.css.
   ========================================================= */
@media (prefers-reduced-motion: no-preference) {
    ::view-transition-old(root) {
        animation: pt-programas-exit var(--duration-base) var(--ease-out);
    }

    ::view-transition-new(root) {
        animation: pt-programas-enter var(--duration-slow) var(--ease-out);
    }

    @keyframes pt-programas-exit {
        to { opacity: 0; transform: translateY(-16px); }
    }

    @keyframes pt-programas-enter {
        from { opacity: 0; transform: translateY(20px); }
    }
}

/* =========================================================
   Light theme
   ========================================================= */
body.light-theme .booth {
    background: linear-gradient(115deg, #f1f5f9 0%, #ffffff 55%, #f1f5f9 100%);
}

body.light-theme .booth-title {
    color: #0f172a;
}

body.light-theme .booth-clock {
    background: rgba(15, 23, 42, 0.08);
}

body.light-theme .booth-next {
    border-color: rgba(15, 23, 42, 0.12);
}

body.light-theme .booth-next strong {
    color: #0f172a;
}

body.light-theme .booth-progress-track {
    background: rgba(15, 23, 42, 0.14);
}

body.light-theme .dial {
    background: rgba(255, 255, 255, 0.86);
    border-color: rgba(15, 23, 42, 0.12);
}

body.light-theme .dial-seg-name {
    color: #0f172a;
}

body.light-theme .dial-needle,
body.light-theme .dial-needle::before {
    background: #0f172a;
    box-shadow: none;
}

body.light-theme .rundown-filters,
body.light-theme .rundown-block-head,
body.light-theme .rundown-item,
body.light-theme .rundown-item-main,
body.light-theme .rundown-item-cta {
    border-color: rgba(15, 23, 42, 0.12);
}

body.light-theme .rundown-filter.is-active,
body.light-theme .rundown-filter:hover {
    color: #0f172a;
}

body.light-theme .rundown-item-cta {
    color: #0f172a;
}

body.light-theme .show-modal-card {
    background: #ffffff;
}

body.light-theme #show-modal-title {
    color: #0f172a;
}

body.light-theme .show-modal-close {
    color: #475569;
    border-color: rgba(15, 23, 42, 0.16);
}

body.light-theme .show-modal-summary {
    color: #334155;
    border-color: rgba(15, 23, 42, 0.12);
}
