/* Variables "congeladas" en modo claro: como se declaran en :root (no en body.dark-mode),
   siempre conservan el valor del modo claro sin importar si el body tiene la clase dark-mode.
   Sirven para que la barra de días y los badges puedan ignorar el modo oscuro a propósito. */
:root {
    --an-schedule-light-dark:    var(--color-dark, #111827);
    --an-schedule-light-primary: var(--color-primary, #4f46e5);
    --an-schedule-light-white:   var(--color-white, #fff);
    --an-schedule-light-text:    var(--color-text, #374151);
    --an-schedule-light-bg:      var(--color-bg, #f9fafb);
}

.an-schedule { font-family: var(--font-body, 'DM Sans', sans-serif); color: var(--color-text, #374151); }
.an-schedule__tabs { display: flex; gap: .1rem; padding: .2rem; margin-bottom: 1rem; background: var(--an-schedule-light-dark); border-radius: var(--radius-md, .75rem); box-shadow: var(--shadow-sm, 0 2px 8px rgba(0,0,0,.1)); }
.an-schedule__tab { flex: 1 1 0; min-width: 0; border: 0; border-radius: calc(var(--radius-md, .75rem) - .2rem); padding: .5rem 0; color: rgba(255,255,255,.72); background: transparent; font: 700 .72rem var(--font-heading, 'Blinker', sans-serif); letter-spacing: .02em; text-transform: uppercase; cursor: pointer; transition: var(--transition, .2s ease); }
.an-schedule__tab:hover, .an-schedule__tab:focus-visible { color: #fff; background: rgba(255,255,255,.12); outline: none; }
.an-schedule__tab.is-active { color: var(--an-schedule-light-white); background: var(--an-schedule-light-primary); box-shadow: 0 2px 8px rgba(0,0,0,.2); }
.an-schedule__day-long { display: none; }.an-schedule__day-short { display: inline; }
.an-schedule__panel-wrap { overflow: hidden; background: var(--color-white, #fff); border: 1px solid var(--color-border, #e5e7eb); border-radius: var(--radius-lg, 1rem); box-shadow: var(--shadow-sm, 0 2px 8px rgba(0,0,0,.08)); }
.an-schedule__list { padding: 0; margin: 0; list-style: none; }.an-schedule__item { display: flex; gap: 1rem; padding: 1rem; border-bottom: 1px solid var(--color-border, #e5e7eb); }.an-schedule__item:last-child { border-bottom: 0; }
.an-schedule__image { width: 76px; height: 76px; flex: 0 0 76px; display: grid; place-items: center; overflow: hidden; border-radius: var(--radius-md, .75rem); color: var(--color-primary, #4f46e5); background: #eef2ff; background: linear-gradient(135deg, color-mix(in srgb, var(--color-primary, #4f46e5) 15%, white), color-mix(in srgb, var(--color-secondary, #7c3aed) 14%, white)); font-size: 2rem; }.an-schedule__image img { width: 100%; height: 100%; object-fit: cover; }
.an-schedule__image { align-self: center; }
.an-schedule__image--has-image { background: transparent; }
.an-schedule__program { min-width: 0; flex: 1; }.an-schedule__program h3 { margin: 0 0 .35rem; color: var(--color-dark, #111827); font: 700 1.1rem/1.15 var(--font-heading, 'Blinker', sans-serif); text-transform: uppercase; }
.an-schedule__badge { display: inline-block; padding: .18rem .48rem; border-radius: var(--radius-full, 999px); font-size: .7rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; }.an-schedule__badge--playlist { background: var(--color-primary, #4f46e5); color: color-mix(in srgb, var(--color-primary, #4f46e5) 12%, white); }.an-schedule__badge--streamer { color: #fff; background: #3fad00; }
.an-schedule__times { display: grid; grid-template-columns: 1fr; gap: .25rem; margin: .75rem 0 0; }.an-schedule__time { display: flex; justify-content: flex-start; gap: .5rem; font: .8rem var(--font-mono, monospace); color: var(--color-text-muted, #6b7280); }.an-schedule__time dt { width: 80px; flex: 0 0 80px; }.an-schedule__time dd { min-width: 110px; margin: 0; }.an-schedule__time--main { color: var(--color-dark, #111827); font-weight: 700; }.an-schedule__empty { margin: 0; padding: 2rem; color: var(--color-text-muted, #6b7280); text-align: center; font-style: italic; }
.an-schedule__time--main { flex-direction: column; gap: .1rem; font-family: var(--font-body, 'DM Sans', sans-serif); }.an-schedule__time--main dd { order: 1; min-width: 0; font-size: 1.35rem; line-height: 1.2; }.an-schedule__time--main dt { order: 2; width: auto; flex: none; font-size: .9rem; font-weight: 400; color: var(--color-text-muted, #6b7280); }
@media (min-width: 768px) { .an-schedule__day-long { display: inline; }.an-schedule__day-short { display: none; }.an-schedule__tab { flex-basis: 0; padding: .65rem .35rem; font-size: .85rem; }.an-schedule__item { gap: 1.25rem; padding: 1.25rem; }.an-schedule__image { width: 132px; height: 132px; flex-basis: 132px; }.an-schedule__times { max-width: 400px; }.an-schedule__time:not(.an-schedule__time--main) dt { width: 86px; flex-basis: 86px; } }

