/* Tonos de Revel: carbón, niebla gris fría y azul medianoche. */
:root,:root[data-theme="dark"]{
 color-scheme:dark;--black:#20232b;--bg:#20232b;--surface:#2b303b;--panel:#282d38;--recessed:#181b22;--surface-raised:#373d49;--line:#4b5262;--white:#f2f3f8;--muted:#bcc4d2;--yellow:#ffc700;--yellow-light:#ffdd28;--selection:#3e4b64;--selection-ink:#f1f4ff;--field:#181b22;--map-land:#3c4658;--map-neighbor:#2d3441;--map-stroke:#778197;--map-label:#c6cfdf
}
:root[data-theme="light"]{
 color-scheme:light;--black:#e8ebf1;--bg:#e8ebf1;--surface:#f3f4f7;--panel:#dce1e9;--recessed:#d3d9e4;--surface-raised:#e1e6ee;--line:#adb7c7;--white:#1c2639;--muted:#485873;--yellow:#795900;--yellow-light:#ffc700;--selection:#c5d2e8;--selection-ink:#1d2c4a;--field:#f3f4f7;--map-land:#c3cddc;--map-neighbor:#d6dde7;--map-stroke:#7b8ca6;--map-label:#485873
}
:root[data-appearance="midnight"]{
 color-scheme:dark;--black:#1b243d;--bg:#1b243d;--surface:#26314e;--panel:#222c47;--recessed:#101526;--surface-raised:#34415f;--line:#4c5976;--white:#eef1fa;--muted:#b8c4df;--yellow:#ffc700;--yellow-light:#ffdd28;--selection:#344f80;--selection-ink:#f3f6ff;--field:#151d33;--map-land:#344568;--map-neighbor:#242f4a;--map-stroke:#7e91b8;--map-label:#bac8e6
}
:root{--se-bg:var(--panel);--se-ink:var(--white);--se-line:var(--line);--se-active:#ffc700;--se-active-ink:#171b14;background:var(--bg);color:var(--white)}
html[data-theme] body{background:var(--bg);color:var(--white)}
.se-theme-switch{position:fixed;z-index:90;right:20px;bottom:calc(20px + env(safe-area-inset-bottom));display:flex;align-items:center;gap:4px;padding:2px 8px;border:1px solid var(--se-line);border-radius:9px;background:var(--se-bg);color:var(--se-ink);box-shadow:0 5px 24px #0002;font:600 12px/1.2 Montserrat,Arial,sans-serif;isolation:isolate}
html[data-theme] .se-theme-switch select{width:132px;min-height:40px;margin:0;padding:6px 4px;border:0;border-radius:5px;background:var(--se-bg);color:var(--se-ink);font:inherit;cursor:pointer;letter-spacing:0;text-transform:none;opacity:1}
.se-theme-switch select:focus-visible{outline:3px solid var(--se-ink);outline-offset:1px}
.se-theme-switch>span{font:18px/1 Arial,sans-serif}
body:has(.se-theme-switch){padding-bottom:64px}
/* Portada: superficies reales del tema; fotografía y marcas conservan su color. */
html[data-theme] body:has(.site-header) .hero{background:var(--bg)}
html[data-theme] body:has(.site-header) .hero::after,html[data-theme] .hero-visual::after{display:none}
html[data-theme] :is(.site-header .brand,.footer-inner .brand,.header .brand img,.inbox-brand){background:#111515;border-radius:10px;padding:10px}
html[data-theme] :is(.intro,.topic-card p,.latest-copy>p:not(.episode-label),.recent-episode p,.recent-episode>span,.inbox-header>span,.inbox-card-meta,.inbox-card footer){color:var(--muted)}
html[data-theme] .eyebrow{color:var(--yellow)}
html[data-theme] :is(.topic-card,.inbox-card,.inbox-message,.inbox-refresh,.platform-link,.mobile-navigation){background:var(--surface);border-color:var(--line)}
html[data-theme] .platform-link:hover{background:var(--surface-raised)}
html[data-theme] :is(.listen-button,.button.primary,.play-cta){background:#ffc700;border-color:#ffc700;color:#171b14}
html[data-theme] .button-play{color:#ffc700}
html[data-theme] .poster-play,html[data-theme] .platform-icon{color:#fff}
html[data-theme] .platform-link.castopod .platform-icon{background:#ffc700;color:#171b14}
html[data-theme] .video-button{border-color:var(--line)}
@media(min-width:821px){html[data-theme] .site-header nav{padding:10px 12px;border:1px solid var(--line);border-radius:14px;background:var(--panel);box-shadow:0 4px 18px #0001}}
html[data-theme] body:has(.site-header)>#root footer,html[data-theme] .footer-inner{background:var(--panel)}
html[data-theme] .footer-inner p,html[data-theme] .mobile-navigation>a:not(.listen-button){color:var(--muted)}
html[data-theme] .inbox-page{background:var(--bg)}
html[data-theme] .inbox-links a{color:var(--yellow)}
/* Agenda: formularios, listas, calendario, fichas y panel editorial. */
html[data-theme] :is(.event-story p,.detail-lede,.card-body>p,.meta,.prose p,.section-intro strong,.sources a,.follow summary,.strip .wrap,.email-beta .small,label){color:var(--white)}
html[data-theme] :is(input,select,textarea){background:var(--field);color:var(--white);border-color:var(--line)}
html[data-theme] :is(.button:not(.primary),.event-card,.pending-section .event-card,.proposal-box,.email-beta,.strip,.follow code,.notice,.calendar-day.blank,.view-switch,#radar-summary){background:var(--surface);color:var(--white);border-color:var(--line)}
html[data-theme] .view-switch button[aria-pressed="true"]{background:var(--selection);color:var(--selection-ink)}
html[data-theme] .badge,html[data-theme] .badge.pending{color:var(--white);background:var(--surface-raised);border-color:var(--line)}
html[data-theme] .pending-section .card-date{color:var(--muted)}
html[data-theme] .complement .card-date{color:var(--yellow)}
html[data-theme] .calendar-day button{background:var(--selection);color:var(--selection-ink);border-color:var(--line)}
html[data-theme] .calendar-day button[aria-pressed="true"]{background:#ffc700;color:#171b14}
html[data-theme] .event-highlight blockquote>p{color:var(--white)}
html[data-theme] :is(.event-gallery img,.photo-frame){background:var(--recessed)}
html[data-theme] .event-gallery figcaption{color:var(--muted)}
html[data-theme] .photo-expand{color:#fff}
html[data-theme] :is(fieldset,.sources){border-color:var(--line)}
html[data-theme] body:has(#source-edit) p{color:var(--muted)}
html[data-theme] body:has(#source-edit) a{color:var(--yellow)}
html[data-theme] body:has(#source-edit) :is(article,pre,fieldset){background:var(--surface);border-color:var(--line)}
/* Mapa: la misma familia gris/azul que las superficies, con puntos sin invertir. */
html[data-theme] :is(.atlas,.map-canvas){background:var(--bg);border-color:var(--line)}
html[data-theme] :is(.map-filters,.map-panel){background:var(--panel);scrollbar-color:var(--line) var(--panel)}
html[data-theme] .map-neighbor{fill:var(--map-neighbor);stroke:var(--map-stroke)}
html[data-theme] .map-spain{fill:var(--map-land);stroke:var(--map-stroke)}
html[data-theme] .map-land{filter:drop-shadow(0 5px 10px #0002)}
html[data-theme] .map-canary-inset rect{fill:var(--bg);stroke:var(--map-stroke)}
html[data-theme] :is(.map-canary-inset text,.map-geo-labels text,.map-geo-labels .country-label){fill:var(--map-label)}
html[data-theme] .map-pin:not(.confirmed)>circle:first-child{fill:var(--recessed);stroke:var(--map-stroke)}
html[data-theme] .map-pin:not(.confirmed)>.pin-core{fill:var(--map-label)}
html[data-theme] .map-pin:not(.confirmed)>text:not(.pin-place){fill:var(--white)}
html[data-theme] .map-pin .pin-place{fill:var(--white)!important;stroke:var(--bg)}
html[data-theme] :is(.map-hint,.map-gesture,.map-loading,.map-legend,.map-result .map-location,.map-result .map-card-date,.map-card-actions button){color:var(--muted)}
html[data-theme] :is(.map-status,.map-status.discovered){color:var(--white)}
html[data-theme] .map-status.confirmed{color:var(--yellow)}
html[data-theme] .map-zoom button{background:var(--surface);color:var(--white);border-color:var(--line);box-shadow:0 4px 12px #0001}
html[data-theme] .map-intro-note p{color:var(--muted)}
html[data-theme] .map-discovery-banner{background:var(--surface);color:var(--white);border-color:var(--line)}
/* Páginas que genere el adaptador editorial. */
html[data-theme] :is(.player,.chapters,.note.prompt,.article-section pre,.note pre){background:var(--surface);border-color:var(--line)}
html[data-theme] :is(.article-section p,.transcript-text,.note p,.note li){color:var(--white)}
html[data-theme] body[data-editorial] :is(p,a){color:var(--white)}
html[data-theme] body[data-editorial] .eyebrow{color:var(--yellow)}
/* Tu RM conserva el naranja de su marca sobre las tres paletas. */
html[data-theme]:has(.trm-header){--trm-paper:var(--bg);--trm-ink:var(--white);--trm-muted:var(--muted);--trm-line:var(--line);background:var(--bg);color:var(--white)}
html[data-theme] :is(.trm-phone,.trm-app-card,.trm-slot,.trm-records>div){background:var(--surface);color:var(--white)}
html[data-theme] .trm-waitlist{background:var(--panel)}
html[data-theme="dark"] :is(.trm-eyebrow,.trm-block-label,.trm-records>div:first-child){color:#ffad7f}
html[data-theme="dark"] .trm-records>div:first-child{background:var(--surface-raised)}
html[data-theme="dark"] .trm-button{background:#c64a00;color:#fff}
@media(max-width:820px){.se-theme-switch{right:12px;bottom:calc(12px + env(safe-area-inset-bottom))}body:has(.mobile-navigation) .se-theme-switch{bottom:calc(80px + env(safe-area-inset-bottom))}html[data-theme] .site-header nav{background:var(--panel)}}
@media print{.se-theme-switch{display:none}}

/* Acceso por teclado y lector de pantalla, común a todas las páginas. */
html { scroll-padding-block: 24px 150px; }
.skip { position: fixed; top: 8px; left: 8px; z-index: 200; transform: translateY(-180%); padding: 14px 20px; border: 2px solid var(--white); border-radius: 5px; background: var(--bg); color: var(--white); font: 700 15px/1.5 Arial,sans-serif; }
.skip:focus { transform: none; }
.sr-only { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible { outline: 3px solid var(--white); outline-offset: 3px; }
:where(a,button,input,select,textarea,summary,[tabindex]) { scroll-margin-block: 24px 150px; }
html[data-theme] :is(input:not([type=checkbox]):not([type=range]),textarea,select) { border-color: #8592aa; }
html[data-theme="light"] :is(input:not([type=checkbox]):not([type=range]),textarea,select) { border-color: #66758b; }
:where(input,select,textarea) { max-width: 100%; min-width: 0; }
:where(p,dd,li,.inbox-links a) { overflow-wrap: anywhere; }
html[data-theme="dark"] .trm-phone-nav button[aria-selected=true] { color: #ffad7f; }
html[data-theme="light"] .trm-phone-nav button[aria-selected=true] { color: #a83d00; }
html[data-theme] .trm-phone-nav button[aria-selected=true] { text-decoration: underline; text-underline-offset: 4px; font-weight: 700; }
@media(max-width:820px) { body:has(.mobile-navigation) { padding-bottom: 146px; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior: auto !important; } *,*::before,*::after { animation: none !important; transition: none !important; } }
@media(forced-colors:active) { :focus-visible { outline: 3px solid Highlight !important; } .se-theme-switch { border-color: ButtonText; } .map-pin > circle:first-child { fill: Canvas; stroke: LinkText; } .map-pin.selected > circle:first-child { stroke: Highlight; } }
html[data-theme] .inbox-message code { background: var(--recessed); color: var(--white); }
html[data-theme] .event-program time { color: var(--yellow); }
html[data-theme] .trm-button, html[data-theme] .trm-week > strong { background: #a83d00; color: #fff; }
html[data-theme="dark"] .trm-slot-action { color: #ffad7f; border-color: #ba8267; }
html[data-theme] .trm-chart-axis { fill: var(--muted); }
/* El espaciado personalizado tampoco debe ensanchar las columnas de portada. */
.hero-copy, .hero-aside, .trm-hero-copy, .trm-demo { min-width: 0; }
.hero h1, .trm-hero h1, .hero-ticket h2 { overflow-wrap: anywhere; }
html[data-theme] .map-pin:focus-visible > circle:first-child { stroke: var(--white); stroke-width: 5; }
html[data-theme] .event-card:has(a:focus-visible) { outline: 3px solid var(--white); outline-offset: 4px; }
html[data-theme] .unified-explorer .calendar-day button:focus-visible { outline: 3px solid var(--white); outline-offset: 3px; box-shadow: 0 0 0 2px var(--bg); }
