/* Sobrescritas de cores para o modo escuro. */
:root { color-scheme: light; --card-bg: #fff; --accent-surface: #fff0f1; }
:root[data-theme="dark"] {
  color-scheme: dark;
  --page-bg: #16181b;
  --card-bg: #202327;
  --input-bg: #191c20;
  --surface: #25292e;
  --ink: #f1f3f5;
  --muted: #b9c0ca;
  --border: #41474f;
  --input-border: #6e7782;
  --primary-dark: #ff929d;
  --accent-surface: #3a252d;
}

:root[data-theme="dark"] body, :root[data-theme="dark"] .site-header { background: var(--page-bg); }
:root[data-theme="dark"] .button-primary:hover, :root[data-theme="dark"] .request-header:hover { background: #dc2832; color: #fff; }
:root[data-theme="dark"] .button-outline:hover { background: var(--accent-surface); }
:root[data-theme="dark"] .eyebrow { color: var(--primary-dark); }
:root[data-theme="dark"] .hero-copy .eyebrow { color: #ff8a8d; }
:root[data-theme="dark"] .dialog { background: var(--card-bg); }
:root[data-theme="dark"] .skip-link { background: var(--card-bg); color: var(--ink); }
:root[data-theme="dark"] form input, :root[data-theme="dark"] form textarea, :root[data-theme="dark"] form select, :root[data-theme="dark"] #share-link { background: var(--input-bg); color: var(--ink); border-color: var(--input-border); }
:root[data-theme="dark"] input::placeholder, :root[data-theme="dark"] textarea::placeholder { color: var(--muted); opacity: 1; }
:root[data-theme="dark"] .search-field input { color: var(--ink); }
:root[data-theme="dark"] .news-card, :root[data-theme="dark"] .program-card, :root[data-theme="dark"] .presenter-card, :root[data-theme="dark"] .values-grid article, :root[data-theme="dark"] .promotion-card { background: var(--card-bg); }
:root[data-theme="dark"] .theme-toggle { background: var(--surface); color: var(--ink); border-color: var(--border); }
@media (max-width: 1100px) {
  :root[data-theme="dark"] .menu-toggle { background: var(--surface); border-color: var(--border); }
  :root[data-theme="dark"] .site-navigation { background: var(--card-bg); }
  :root[data-theme="dark"] .site-navigation a { background: var(--surface); }
  :root[data-theme="dark"] .site-navigation a[aria-current="page"] { background: linear-gradient(135deg, #ff5963, #e23a53); }
}
:root[data-theme="dark"] .icon-button:hover { background: var(--accent-surface); color: var(--primary-dark); }
:root[data-theme="dark"] .site-navigation { background: #22252b; border-color: var(--border); }
:root[data-theme="dark"] .site-navigation a { color: #dce0e5; }
:root[data-theme="dark"] .site-navigation a:hover { background: #3a252d; color: #ffb2ba; }
:root[data-theme="dark"] .site-navigation .icon { color: #c3a8ba; }
:root[data-theme="dark"] .site-navigation a[aria-current="page"], :root[data-theme="dark"] .site-navigation a[aria-current="page"] .icon { color: #fff; }
:root[data-theme="dark"] .content-badge { background: #2c3138; color: #c4cbd5; }
:root[data-theme="dark"] .on-air-card .content-badge { background: transparent; color: #d6c7dc; }
:root[data-theme="dark"] .host-music { background: var(--accent-surface); color: #ff929d; }
:root[data-theme="dark"] .category-tag { background: var(--accent-surface); }
:root[data-theme="dark"] .prose p, :root[data-theme="dark"] .article-content .article-excerpt { color: var(--muted); }
:root[data-theme="dark"] .filter-buttons button, :root[data-theme="dark"] .day-tabs button { background: var(--card-bg); }
:root[data-theme="dark"] .filter-buttons button:hover, :root[data-theme="dark"] .day-tabs button:hover { background: var(--accent-surface); }
:root[data-theme="dark"] .filter-buttons button[aria-pressed="true"], :root[data-theme="dark"] .day-tabs button[aria-pressed="true"] { background: var(--primary); color: #fff; }
:root[data-theme="dark"] .mini-program { border-color: var(--border); }
:root[data-theme="dark"] .presenter-portrait { background: linear-gradient(135deg, #352b36, #28262e); }
:root[data-theme="dark"] .presenter-portrait > span { border-color: #352b36; }
:root[data-theme="dark"] .presenter-portrait .host-photo { box-shadow: 0 0 0 8px #ffffff10; }
:root[data-theme="dark"] .presenter-programs a, :root[data-theme="dark"] .team-callout { background: var(--surface); }
:root[data-theme="dark"] .presenter-programs a:hover { background: var(--accent-surface); }
:root[data-theme="dark"] .poll-card { background: var(--card-bg); border-color: var(--border); }
:root[data-theme="dark"] .poll-card .widget-kicker { color: #ff929d; }
:root[data-theme="dark"] .poll-card .widget-note { color: var(--muted); }
:root[data-theme="dark"] .poll-options label { border-color: var(--input-border); background: var(--input-bg); }
:root[data-theme="dark"] .poll-options label:has(input:checked) { background: var(--accent-surface); border-color: #ff929d; }
:root[data-theme="dark"] .poll-feedback { color: var(--muted); }
:root[data-theme="dark"] .poll-result > div:first-child span { color: #ff929d; }
:root[data-theme="dark"] .poll-bar { background: #393f46; }
:root[data-theme="dark"] .share-button { background: var(--surface); color: var(--ink); border-color: var(--border); }
:root[data-theme="dark"] .share-button:hover { background: var(--accent-surface); color: #ffb2ba; }
:root[data-theme="dark"] .content-note { background: #3d3123; color: #efcf9d; }
:root[data-theme="dark"] .form-result { background: #243c30; color: #b1e2c4; }
:root[data-theme="dark"] #app-dialog .app-online-note, :root[data-theme="dark"] .app-update-note { background: var(--surface); color: var(--muted); }
:root[data-theme="dark"] .network-note, :root[data-theme="dark"] .noscript { background: #3d3123; color: #efcf9d; }
:root[data-theme="dark"] .footer-bottom { color: var(--muted); border-color: var(--border); }
:root[data-theme="dark"] .ad-banner { background: #2b2828; }
:root[data-theme="dark"] .ad-label { color: #c1bac2; }
:root[data-theme="dark"] .ad-bottom p { color: var(--muted); }
:root[data-theme="dark"] .ad-landscape { background: linear-gradient(145deg, transparent 59%, #443936 59%, #514039 80%, #5e4741 80%); }
:root[data-theme="dark"] .ad-landscape:before { background: #bf5f5966; }
:root[data-theme="dark"] .ad-landscape:after { background: #88685144; }
:root[data-theme="dark"] .ad-bottom { background: radial-gradient(circle at 95% 160%, #594137 0 24%, transparent 24%), radial-gradient(circle at 2% -80%, #463831 0 21%, transparent 21%), #2b2828; }
:root[data-theme="dark"] .sponsor-coffee { background: linear-gradient(120deg, #223c4c, #1e303d); }
:root[data-theme="dark"] .sponsor-glasses { background: linear-gradient(120deg, #493522, #352b23); }
:root[data-theme="dark"] .sponsor-market { background: linear-gradient(120deg, #373052, #2b263e); }
:root[data-theme="dark"] .sponsor p { color: #d1ced4; }
:root[data-theme="dark"] .sponsor-art { color: #d0c8d5; }
:root[data-theme="dark"] .promotion-filters button { background: var(--surface); border-color: var(--border); }
:root[data-theme="dark"] .promotion-filters button:hover { background: var(--accent-surface); }
:root[data-theme="dark"] .promotion-filters button[aria-pressed="true"] { background: #5b3f62; color: #fff; border-color: #a580ad; }
:root[data-theme="dark"] .promotion-card { border-color: var(--border); }
:root[data-theme="dark"] .promotion-card p, :root[data-theme="dark"] .promotion-detail-copy > p, :root[data-theme="dark"] .promotion-rules ol, :root[data-theme="dark"] .promotion-rules ul, :root[data-theme="dark"] .promotion-date, :root[data-theme="dark"] .promotion-summary dt { color: var(--muted); }
:root[data-theme="dark"] .promotion-date b { color: var(--ink); }
:root[data-theme="dark"] .promotion-prize { background: #3a2b2d; color: #f1d5d2; }
:root[data-theme="dark"] .promotion-prize .icon { color: #ffa0ad; }
:root[data-theme="dark"] .promotion-status { background: #213c30; color: #b0e7c5; }
:root[data-theme="dark"] .promotion-status.is-ended { background: #33303b; color: #d4c5dc; }
:root[data-theme="dark"] .promotion-summary { background: var(--card-bg); border-color: var(--border); }
:root[data-theme="dark"] .promotion-summary .eyebrow, :root[data-theme="dark"] .promotion-back { color: #ff929d; }
:root[data-theme="dark"] .promotion-summary-icon { background: var(--accent-surface); color: #ff929d; }
:root[data-theme="dark"] .promotion-summary dl div, :root[data-theme="dark"] .promotion-rules { border-color: var(--border); }
:root[data-theme="dark"] .promotion-detail-notice, :root[data-theme="dark"] .promotion-empty { background: #332936; color: #e2c8dd; }
/* Cada condição mantém uma cor própria também no modo escuro. */
:root[data-theme="dark"] .weather-card {
  --weather-start: #273044; --weather-end: #202634; --weather-halo: #687ebc44;
  --weather-accent: #b2c5ff; --weather-ink: #edf2ff; --weather-muted: #c2cde4; --weather-border: #53617b;
}
:root[data-theme="dark"] .weather-card[data-weather-condition="sunny"] {
  --weather-start: #44341e; --weather-end: #2d271f; --weather-halo: #dda33144;
  --weather-accent: #ffd070; --weather-ink: #fff3d8; --weather-muted: #e2cfaa; --weather-border: #78633c;
}
:root[data-theme="dark"] .weather-card[data-weather-condition="partly-cloudy"] {
  --weather-start: #263b4d; --weather-end: #393323; --weather-halo: #dca94744;
  --weather-accent: #afd9f1; --weather-ink: #f0f5fb; --weather-muted: #c2d4e1; --weather-border: #526579;
}
:root[data-theme="dark"] .weather-card[data-weather-condition="rainy"] {
  --weather-start: #203d51; --weather-end: #222c42; --weather-halo: #56a3d744;
  --weather-accent: #9dd9ff; --weather-ink: #eef6ff; --weather-muted: #c2d9eb; --weather-border: #52728d;
}
:root[data-theme="dark"] .weather-card[data-weather-condition="stormy"] {
  --weather-start: #3b2d50; --weather-end: #2d273a; --weather-halo: #9472c944;
  --weather-accent: #d6b4ff; --weather-ink: #f6efff; --weather-muted: #d3c4e4; --weather-border: #76618e;
}
:root[data-theme="dark"] .weather-card[data-weather-condition="night"] {
  --weather-start: #25304f; --weather-end: #3d345b; --weather-halo: #989ade55;
  --weather-accent: #ffe29a; --weather-ink: #f8f4ff; --weather-muted: #d1d5e9; --weather-border: #575674;
}

/* Previsão real: detalhes e atribuição compartilhados pelos quatro temas. */
.weather-details{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:12px;margin-top:12px}.weather-update,.weather-source,.weather-status{display:block;font-size:11px;line-height:1.5;margin-top:8px;overflow-wrap:anywhere}.weather-source a{text-decoration:underline;text-underline-offset:3px}.weather-source a:hover{opacity:.75}.weather-message{line-height:1.6;min-height:58px}.weather-card{min-width:0}.weather-card h3{overflow-wrap:anywhere}.weather-card [data-weather-initial]{display:none}
