/* Dienste nutzen dieselben Kontrasttokens in limou/VHV und hell/dunkel. */
.feiertag { display: block; font-size: var(--grad-1); line-height: 1.4; color: var(--schrift-normal); overflow-wrap: anywhere; }
.feiertage-kontext { color: var(--schrift-normal); font-size: var(--grad-1); line-height: 1.5; }
.feiertage-kontext summary { cursor: pointer; min-height: 44px; align-content: center; }
.feiertage-kontext p { max-width: 80ch; }
.wetter, .streckensuche { min-width: 0; overflow-wrap: anywhere; display: grid; gap: var(--raum-3); }
.wetter { border: 1px solid var(--linie); border-radius: var(--rund-3); background: var(--flaeche-karte); color: var(--schrift-stark); padding: var(--raum-4); }
.wetter-titel { margin: 0; font-size: var(--grad-3); line-height: 1.4; }
.wetter-hinweis, .wetter-quelle, .wetter-status { color: var(--schrift-normal); font-size: var(--grad-2); line-height: 1.5; margin: 0; }
.wetter-quelle { font-size: var(--grad-1); }
.wetter-warnung { margin: 0; padding: var(--raum-3); color: var(--warn-schrift); background: var(--warn-flaeche); border: 1px solid currentColor; border-radius: var(--rund-2); }
.wetter-verlauf summary { min-height: 44px; align-content: center; cursor: pointer; }
.wetter-stunden { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--raum-3); grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr)); }
.wetter-stunde { min-width: 0; display: grid; gap: var(--raum-2); border-top: 1px solid var(--linie); padding-top: var(--raum-3); }
.wetter-zeit { font-weight: 600; }
.wetter-feld { display: block; font-size: var(--grad-2); }
.wetter-formular, .wetter-suche, .wetter-auswahl { display: grid; gap: var(--raum-2); min-width: 0; }
.wetter-treffer, .wetter-knopf { min-height: 44px; text-align: start; white-space: normal; overflow-wrap: anywhere; }
.wetter-suche { width: 100%; min-height: 44px; padding: var(--raum-2) var(--raum-3); border: 1px solid var(--linie); border-radius: var(--rund-2); color: var(--schrift-stark); background: var(--flaeche-karte); font: inherit; }
.wetter-knopf { padding: var(--raum-2) var(--raum-3); border: 1px solid var(--linie); border-radius: var(--rund-2); color: var(--schrift-stark); background: var(--flaeche-karte); font: inherit; cursor: pointer; }
.wetter-knopf:focus-visible, .wetter-suche:focus-visible { outline: 2px solid var(--schrift-stark); outline-offset: 2px; }
.wetter-knopf:disabled { cursor: default; }
.wetter-kurz { margin: 0; line-height: 1.5; color: var(--schrift-stark); font-size: var(--grad-3); }
.wetter-fahrer { min-width: 0; margin-block: var(--raum-3); }
.wetter-fahrer > summary, .streckensuche > summary { min-height: 44px; align-content: center; cursor: pointer; color: var(--schrift-stark); }
