/* GeoSphere Wetter (Plugin). Farben über die CSS-Variablen im Theme anpassbar, z. B. :root { --geo-accent: #c00; } */

:root {
	--geo-accent: #005b89;
	--geo-text: #333;
	--geo-muted: #6b6b6b;
	--geo-line: #e3e3e3;
	--geo-soft: #f4f7f9;
	--geo-temp: #c8461e;
	--geo-rain: #2f86c5;
	--geo-snow: #8fb3cc;
	--geo-night: rgba(0, 40, 80, .06);
	--geo-sun: #f5b400;
	--geo-cloud: #c9d3da;
	--geo-cloud-dark: #8e9ba5;
	--geo-gelb: #ffd400;
	--geo-orange: #ff8c00;
	--geo-rot: #d0021b;
	--geo-gruen: #3e9b46;
}

.geo { color: var(--geo-text); font-variant-numeric: tabular-nums; letter-spacing: .3px; }
.geo p, .geo dd, .geo dt { letter-spacing: .3px; }
.geo-h { margin: 30px 0 12px !important; }
.geo-page > .geo { margin-bottom: 20px; }
.geo-widget > * + * { margin-top: 14px; }
.geo-meta, .geo-source, .geo-unavailable { font-size: 12px; color: var(--geo-muted); margin: 8px 0 0; line-height: 1.5; letter-spacing: .3px; }
.geo-source a, .geo-meta a { color: inherit; text-decoration: underline; }
.geo-more { margin: 10px 0 0; }
.geo-more a { color: var(--geo-accent); font-weight: 700; }

/* Symbole */
.gi { display: block; flex: none; overflow: visible; }
.gi-sun { fill: var(--geo-sun); }
.gi-sun-ray { stroke: var(--geo-sun); stroke-width: 2.5; stroke-linecap: round; fill: none; }
.gi-moon { fill: #b9c4e0; }
.gi-cloud { fill: var(--geo-cloud); stroke: #fff; stroke-width: 1.5; }
.gi-cloud--dark { fill: var(--geo-cloud-dark); }
.gi-rain { stroke: var(--geo-rain); stroke-width: 2.5; stroke-linecap: round; fill: none; }
.gi-snow { fill: var(--geo-snow); stroke: #6d93ad; stroke-width: .8; }
.gi-bolt { fill: var(--geo-sun); stroke: #c48a00; stroke-width: .8; }

/* Aktuell */
.geo-current { background: var(--geo-soft); border-left: 4px solid var(--geo-accent); padding: 14px 16px; }
.geo-current__main { display: flex; align-items: center; gap: 12px; }
.geo-current__temp { display: block; font-family: inherit; font-size: 34px; font-weight: 700; line-height: 1.1; }
.geo-current__cond { display: block; font-size: 14px; color: var(--geo-muted); }
.geo-facts { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 4px 24px; margin: 12px 0 0; }
.geo-facts div { display: flex; justify-content: space-between; gap: 8px; border-bottom: 1px dotted var(--geo-line); padding: 3px 0; }
.geo-facts dt { color: var(--geo-muted); font-size: 13px; }
.geo-facts dd { margin: 0; font-weight: 700; font-size: 13px; text-align: right; }

/* Tage */
.geo-days { display: grid; grid-template-columns: repeat(auto-fit, minmax(96px, 1fr)); gap: 8px; }
.geo-day { display: flex; flex-direction: column; align-items: center; gap: 2px; text-align: center; border: 1px solid var(--geo-line); padding: 10px 6px; }
.geo-day__name { font-weight: 700; text-transform: uppercase; font-size: 12px; letter-spacing: 1px; color: var(--geo-accent); }
.geo-day__date { font-size: 12px; color: var(--geo-muted); }
.geo-day__cond { font-size: 12px; color: var(--geo-muted); min-height: 2.6em; line-height: 1.3; }
.geo-day__temp { font-size: 16px; }
.geo-max { font-weight: 700; color: var(--geo-temp); }
.geo-min { color: var(--geo-muted); margin-left: 4px; }
.geo-day__rain { font-size: 12px; color: var(--geo-rain); }
.geo-day__gust { font-size: 11px; color: var(--geo-rot); }

/* Stunden */
.geo-hours { display: flex; overflow-x: auto; gap: 4px; padding-bottom: 4px; scroll-snap-type: x proximity; }
.geo-hour { flex: 1 0 56px; display: flex; flex-direction: column; align-items: center; gap: 2px; padding: 6px 2px; background: var(--geo-soft); scroll-snap-align: start; }
.geo-hour__time { font-size: 12px; color: var(--geo-muted); }
.geo-hour__temp { font-weight: 700; }
.geo-hour__rain { font-size: 11px; color: var(--geo-rain); min-height: 1.3em; }

/* Diagramm */
.geo-chart { margin: 0; }
.geo-chart svg { display: block; width: 100%; height: auto; font-family: inherit; }
.geo-chart__night { fill: var(--geo-night); }
.geo-chart__grid { stroke: var(--geo-line); stroke-width: 1; }
.geo-chart__zero { stroke: var(--geo-rain); stroke-width: 1; stroke-dasharray: 4 3; }
.geo-chart__midnight { stroke: #b9b9b9; stroke-width: 1; }
.geo-chart__tick { stroke: #999; }
.geo-chart__axis { font-size: 11px; fill: var(--geo-muted); }
.geo-chart__axis--t { fill: var(--geo-temp); }
.geo-chart__axis--r { fill: var(--geo-rain); }
.geo-chart__day { font-size: 11px; font-weight: 700; fill: var(--geo-text); }
.geo-chart__bar { fill: var(--geo-rain); opacity: .75; }
.geo-chart__bar--snow { fill: var(--geo-snow); }
.geo-chart__line { fill: none; stroke: var(--geo-temp); stroke-width: 2.5; stroke-linejoin: round; stroke-linecap: round; }
.geo-chart__dot { fill: #fff; stroke: var(--geo-temp); stroke-width: 2; }
.geo-chart__label { font-size: 11px; font-weight: 700; fill: var(--geo-temp); paint-order: stroke; stroke: #fff; stroke-width: 3px; }
.geo-chart__legend { display: flex; flex-wrap: wrap; gap: 6px 16px; font-size: 12px; color: var(--geo-muted); margin-top: 6px; }
.geo-key::before { content: ''; display: inline-block; width: 14px; height: 10px; margin-right: 6px; vertical-align: middle; }
.geo-key--t::before { height: 3px; background: var(--geo-temp); }
.geo-key--r::before { background: var(--geo-rain); opacity: .75; }
.geo-key--n::before { background: rgba(0, 40, 80, .12); }

/* Warnungen */
.geo-warnings > * + * { margin-top: 10px; }
.geo-warning { border-left: 6px solid; padding: 10px 14px; background: #fff; box-shadow: 0 1px 3px rgba(0, 0, 0, .12); }
.geo-warning p { margin: 0 0 6px; font-size: 14px; }
.geo-warning--gelb { border-color: var(--geo-gelb); background: #fffbe0; }
.geo-warning--orange { border-color: var(--geo-orange); background: #fff2e0; }
.geo-warning--rot { border-color: var(--geo-rot); background: #fdeaea; }
.geo-warning__head { display: flex; flex-wrap: wrap; gap: 6px; align-items: baseline; }
.geo-warning--gruen { border-color: var(--geo-gruen); background: #eef7ef; }
.geo-warning--unbekannt { border-color: #9e9e9e; background: #f3f3f3; }
.geo-warning__badge { display: inline-block; font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; padding: 1px 8px; border-radius: 20px; background: #9e9e9e; color: #fff; margin-left: 6px; }
.geo-warning--gelb .geo-warning__badge { background: #c9a400; }
.geo-warning--orange .geo-warning__badge { background: var(--geo-orange); }
.geo-warning--rot .geo-warning__badge { background: var(--geo-rot); }
.geo-warning--gruen .geo-warning__badge { background: var(--geo-gruen); }
.geo-warning__head strong { margin-right: auto; }
.geo-warning__state { font-size: 11px; text-transform: uppercase; letter-spacing: 1px; color: var(--geo-muted); }
.geo-warning__time { font-size: 13px !important; color: var(--geo-muted); }
.geo-warning details { margin-top: 6px; font-size: 13px; }
.geo-warning summary { cursor: pointer; color: var(--geo-accent); font-weight: 700; }
.geo-warning h4 { font-size: 13px !important; margin: 10px 0 4px !important; }
.geo-warning details p { font-size: 13px; }
.geo-warn-none { font-size: 13px; color: var(--geo-muted); margin: 0 0 10px; }

/* Warnbalken */
.geo-banner { padding: 10px 0; font-size: 14px; letter-spacing: .3px; line-height: 1.5; }
.geo-banner__inner { max-width: 1180px; margin: 0 auto; padding: 0 16px; box-sizing: border-box; }
.geo-banner a { text-decoration: underline; font-weight: 700; color: inherit; margin-left: 6px; }
.geo-banner__text { display: block; font-size: 13px; opacity: .95; }
.geo-banner--gelb { background: var(--geo-gelb); color: #222; }
.geo-banner--orange { background: var(--geo-orange); color: #1a1a1a; }
.geo-banner--rot { background: var(--geo-rot); color: #fff; }

/* Footer: Widget auf dunklem oder hellem Grund lesbar halten */
.footer_box .geo-current { background: transparent; border-left-color: currentColor; }

@media only screen and ( max-width: 767px ) {
	.geo-monthly svg { min-width: 560px; }
	.geo-chart__scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }
	.geo-chart__scroll svg { min-width: 620px; }
	.geo-current__temp { font-size: 28px; }
	.geo-banner { font-size: 13px; }
}

/* Sonnenzeiten */
.geo-sun { display: flex; flex-wrap: wrap; gap: 4px 18px; font-size: 13px; color: var(--geo-muted); margin: 10px 0 0; }
.geo-sun span { display: inline-flex; align-items: center; gap: 5px; }
.geo-sun-icon { fill: none; stroke: #e0a100; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }

/* Niederschlag pro Monat */
.geo-monthly { margin: 0; }
.geo-monthly svg { display: block; width: 100%; height: auto; font-family: inherit; }
.geo-month__bar { fill: var(--geo-rain); }
.geo-month__bar--current { fill: var(--geo-rain); opacity: .45; }
.geo-month__bar--gap { fill: var(--geo-snow); }
.geo-month__value { font-size: 12px; font-weight: 700; fill: var(--geo-text); }
.geo-month__label { font-size: 11px; fill: var(--geo-muted); }
.geo-month__year { font-size: 10px; fill: var(--geo-muted); font-weight: 700; }
.geo-month__base { stroke: #bdbdbd; stroke-width: 1; }

/* Screenreader-Text, falls das Theme die Klasse nicht kennt */
.geo .screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); }
.geo-h4 { margin: 0 0 10px !important; font-size: 16px !important; }
