
/* Sonnenstand-Widget ausblenden (das neue Forecast-Widget zeigt Sonne mit) */
#tw-sun-widget { display: none !important; }

#tw-fc-card { padding: 0; overflow: hidden; }

#tw-fc-widget {
  /* Cool, site-konform (Tauernwetter-Blau-Palette) */
  --paper: #f7f9fb;
  --paper-warm: #eef3f7;
  --paper-deep: #e2eaf1;
  --slate-950: #0a1421;
  --slate-900: #14202d;
  --slate-800: #1f2d3d;
  --slate-700: #2d3e52;
  --slate-600: #475a72;
  --slate-500: #6b7d92;
  --slate-400: #93a3b6;
  --slate-300: #bdcad8;
  --slate-200: #dde5ec;
  --slate-100: #eef3f7;
  --ink: #14202d;
  --glacier: #5a8caa;
  --glacier-dim: #7da9c7;
  /* Akzent = Tauernwetter-Blau (statt Amber) */
  --accent: #2563eb;
  --accent-dim: #60a5fa;
  --accent-soft: rgba(37,99,235,.08);
  /* Echte Sonnenfarbe nur für das Sonnen-Glyph behalten */
  --sun: #f59e0b;
  --sun-glow: #fbbf24;
  --sun-dawn: #d97706;
  --sun-dusk: #7c3aed;
  /* Temp-Skala physikalisch (Gletscher → Sonne → Heiß) */
  --temp-cold: #5a8caa;
  --temp-warm: #f59e0b;
  --temp-hot: #dc2626;
  --rain: #2563eb;
  --warning: #b45309;
  /* Backwards compat aliases — nicht entfernen */
  --alpine-sun: var(--accent);
  --alpine-sun-dim: var(--accent-dim);

  background: var(--paper);
  color: var(--ink);
  font-family: 'Source Sans 3', system-ui, -apple-system, sans-serif;
  font-feature-settings: "ss01", "cv11";
  -webkit-font-smoothing: antialiased;
  position: relative;
  overflow: hidden;
}
#tw-fc-widget::before {
  content:'';
  position:absolute;inset:0;
  pointer-events:none;
  background:
    radial-gradient(900px 600px at 95% -10%, rgba(125,169,199,.14), transparent 55%),
    radial-gradient(700px 500px at -10% 110%, rgba(37,99,235,.05), transparent 60%);
  z-index:0;
}
#tw-fc-widget::after {
  content:'';
  position:absolute;inset:0;
  pointer-events:none;
  opacity:.45;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 .08, 0 0 0 0 .13, 0 0 0 0 .18, 0 0 0 .04 0'/></filter><rect width='220' height='220' filter='url(%23n)'/></svg>");
  background-size:220px 220px;
  z-index:0;
}
#tw-fc-widget > * { position:relative; z-index:1; }

/* ===== Hero ===== */
.tw-fc-hero {
  background: linear-gradient(168deg, #1e3a5f 0%, #0f2540 60%, #0a1d35 100%);
  transition: background 0.5s ease;
}
.tw-fc-hero.tw-fc-hero-day {
  background: linear-gradient(168deg, #2e5a85 0%, #1a3d62 55%, #0d2540 100%);
}
.tw-fc-hero.tw-fc-hero-night {
  background: linear-gradient(168deg, #0c1832 0%, #08122a 55%, #050b1c 100%);
}
/* Mountain-Silhouette mit subtil unterschiedlicher Helligkeit */
.tw-fc-hero.tw-fc-hero-day .tw-fc-hero-mountains { color: rgba(255, 255, 255, 0.10); }
.tw-fc-hero.tw-fc-hero-night .tw-fc-hero-mountains { color: rgba(255, 255, 255, 0.06); }
/* Old fallback rule (no class) — keep but absorb the redundancy */
.tw-fc-hero {
  color: var(--paper);
  padding: 32px 32px 30px;
  position: relative;
  overflow: hidden;
}
.tw-fc-hero::before {
  content:'';
  position:absolute;
  top:-30%;right:-15%;
  width:65%;height:160%;
  background:radial-gradient(ellipse, rgba(125,169,199,.20), transparent 65%);
  pointer-events:none;
}
.tw-fc-hero::after {
  content:'';
  position:absolute;inset:0;
  pointer-events:none;
  opacity:.3;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='1.2' numOctaves='2'/><feColorMatrix values='0 0 0 0 1, 0 0 0 0 1, 0 0 0 0 1, 0 0 0 .025 0'/></filter><rect width='180' height='180' filter='url(%23n)'/></svg>");
  mix-blend-mode:overlay;
}
.tw-fc-hero > * { position:relative; z-index:2; }
/* Berg-Silhouette für visuelle Konsistenz mit Favoriten-Karte */
.tw-fc-hero-mountains {
  position: absolute;
  left: 0; right: 0; bottom: 0;
  width: 100%;
  height: 28%;
  pointer-events: none;
  color: rgba(255, 255, 255, 0.08);
  z-index: 1;
  overflow: hidden;
}
.tw-fc-hero-mountains .ridge-back { fill: currentColor; opacity: 0.55; }
.tw-fc-hero-mountains .ridge-front { fill: currentColor; opacity: 1; }
@media (max-width: 768px) {
  .tw-fc-hero-mountains { height: 22%; }
}


.tw-fc-hero-altitude-inline {
  font-size: 12px;
  letter-spacing: 0.04em;
  text-transform: none;
  color: var(--slate-400);
  font-weight: 500;
  display: inline-flex;
  align-items: center;
  gap: 5px;
}
.tw-fc-hero-altitude-inline .tw-fc-mark { color: var(--alpine-sun-dim); font-size: 11px; }
.tw-fc-hero-meta {
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  margin-bottom:16px;
  font-size:11px;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--slate-300);
  font-weight:500;
}

/* Hero-Head (Variante C): Region+Name links, Datum+Tag·Uhrzeit rechts */
.tw-fc-hero-head {
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:20px;
  margin-bottom:6px;
}
.tw-fc-hero-head-l { display:flex; flex-direction:column; gap:4px; min-width:0; }
.tw-fc-hero-head-r {
  display:flex; flex-direction:column; gap:2px;
  text-align:right; font-size:12px; color:var(--slate-300);
  flex-shrink:0;
}
.tw-fc-hero-place {
  font-size:10px;
  letter-spacing:.24em;
  text-transform:uppercase;
  color:var(--slate-400);
  font-weight:600;
}
.tw-fc-hero-date-text { font-weight:500; font-variant-numeric:tabular-nums; }
.tw-fc-hero-day-text  { color:var(--slate-400); letter-spacing:.04em; font-variant-numeric:tabular-nums; }
.tw-fc-hero-station::before {
  content:'';
  display:inline-block;
  width:14px;height:1px;
  background:var(--alpine-sun);
  vertical-align:middle;
  margin-right:10px;
}
.tw-fc-hero-region { color:var(--slate-400); }
/* „Ort ändern“ (12.9.2026): kleine Pille unter Datum/Uhrzeit, führt zur Ortssuche; in der App versteckt */
.tw-fc-ort-aendern {
  appearance:none; -webkit-appearance:none;
  display:inline-flex; align-items:center; gap:5px; align-self:flex-end;
  margin-top:7px; padding:5px 11px 5px 9px;
  font:inherit; font-size:11px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; line-height:1;
  color:var(--slate-300); background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.22); border-radius:999px;
  cursor:pointer; text-decoration:none; white-space:nowrap;
  transition:background .15s ease, color .15s ease, border-color .15s ease;
}
.tw-fc-ort-aendern svg { width:12px; height:12px; flex:none; }
.tw-fc-ort-aendern:hover { background:rgba(255,255,255,.18); color:#fff; border-color:rgba(255,255,255,.45); }
.tw-fc-ort-aendern:focus-visible { outline:2px solid #fff; outline-offset:2px; }
.tw-in-app .tw-fc-ort-aendern { display:none; }
@media (max-width:600px){
  /* Handy: Kopf ist gestapelt, Datumzeile läuft als Reihe – die Pille wandert in die rechte obere Ecke auf Höhe der Regionszeile */
  .tw-fc-hero-head { position:relative; }
  .tw-fc-ort-aendern { position:absolute; top:-3px; right:0; margin:0; padding:6px 10px 6px 8px; font-size:10.5px; }
  .tw-fc-hero-head-l { padding-right:118px; }
}
@media (prefers-reduced-motion:reduce){ .tw-fc-ort-aendern { transition:none; } }

.tw-fc-hero-name {
  font-family:'DM Serif Display', Georgia, serif;
  font-style:italic;
  font-weight:400;
  font-size:clamp(40px, 7vw, 64px);
  line-height:.95;
  letter-spacing:-.02em;
  color:var(--paper);
  margin:0 0 6px;
}
.tw-fc-hero-altitude {
  font-size:13px;
  letter-spacing:.06em;
  color:var(--slate-300);
  margin-bottom:28px;
  font-weight:500;
}
.tw-fc-hero-altitude .tw-fc-mark { color:var(--alpine-sun-dim); margin-right:6px; }

.tw-fc-hero-data {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 24px;
  margin-top: 26px;
}
.tw-fc-temp-stack { display:flex; flex-direction:column; gap:10px; min-width:0; }
.tw-fc-temp-now-label {
  font-size:10px;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--slate-400);
  font-weight:600;
}
.tw-fc-temp-row { display:flex; align-items:flex-start; gap:16px; }
.tw-fc-temp-now {
  font-family:'DM Serif Display', Georgia, serif;
  font-style:italic;
  font-weight:400;
  font-size:clamp(72px, 11vw, 116px);
  line-height:.85;
  letter-spacing:-.03em;
  color:var(--paper);
  font-variant-numeric:tabular-nums;
}
.tw-fc-temp-side {
  display:flex; flex-direction:column;
  justify-content:center; gap:10px;
  padding-top:12px;
}
.tw-fc-temp-unit {
  font-family:'DM Serif Display', Georgia, serif;
  font-style:italic;
  font-size:clamp(26px, 4vw, 36px);
  color:var(--slate-300);
  line-height:1;
  margin-top:0;
}
.tw-fc-temp-range {
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:5px 12px;
  background:rgba(255,255,255,.08);
  border-radius:999px;
  font-size:12px;
  color:var(--slate-300);
  font-variant-numeric:tabular-nums;
  font-weight:500;
  align-self:flex-start;
  white-space:nowrap;
}
.tw-fc-temp-range strong { color:var(--paper); font-weight:600; }
.tw-fc-temp-range-div { width:1px; height:10px; background:rgba(189,202,216,.3); }
.tw-fc-temp-range .tw-fc-arrow { color:var(--slate-500); margin-right:4px; }
.tw-fc-temp-range .tw-fc-hi { color:var(--paper); }
.tw-fc-temp-range .tw-fc-lo { color:var(--slate-400); }

.tw-fc-hero-icon-wrap {
  display:flex;
  flex-direction:column;
  align-items: center;
  justify-content: center;
  gap:12px;
}
.tw-fc-hero-icon {
  width:clamp(88px, 12vw, 124px);
  height:clamp(88px, 12vw, 124px);
  filter:drop-shadow(0 8px 24px rgba(0,0,0,.4));
  display:block;
  margin-left:0;
}
.tw-fc-hero-symbol-label {
  font-size: clamp(17px, 1.6vw, 22px);
  letter-spacing: 0;
  color: var(--paper);
  text-align: center;
  max-width: 200px;
  font-weight: 400;
  font-family: 'DM Serif Display', Georgia, serif;
  font-style: italic;
}

.tw-fc-hero-stats {
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:10px;
  margin-top:18px;
  padding-top:18px;
  border-top:1px solid rgba(189,202,216,.15);
}
.tw-fc-stat {
  display:flex;
  flex-direction:column;
  gap:8px;
  padding:14px 16px;
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(189,202,216,.15);
  border-radius: 10px;
}
.tw-fc-stat-head {
  display:flex;
  align-items:center;
  gap:10px;
}
.tw-fc-stat-ico {
  width:26px; height:26px;
  border-radius:7px;
  background: rgba(255,255,255,.08);
  display:inline-flex; align-items:center; justify-content:center;
  color: var(--slate-300);
  flex-shrink:0;
}
.tw-fc-stat-ico svg { width:14px; height:14px; }
.tw-fc-stat.tw-fc-stat-uv .tw-fc-stat-ico {
  background: rgba(245,158,11,.18);
  color: #f59e0b;
}
.tw-fc-stat-label {
  font-size:10px;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--slate-400);
  font-weight:600;
}
.tw-fc-stat-value {
  font-family:'DM Serif Display', Georgia, serif;
  font-style:italic;
  font-size:26px;
  font-weight:400;
  color:var(--paper);
  font-variant-numeric:tabular-nums;
  letter-spacing:-.01em;
  line-height:1;
  display:flex; align-items:baseline; gap:6px; flex-wrap:wrap;
}
.tw-fc-stat-value .tw-fc-stat-unit {
  font-family:'Source Sans 3', sans-serif;
  font-style:normal;
  font-size:12px;
  color:var(--slate-300);
  letter-spacing:.04em;
  font-weight:500;
}

/* ===== Content body ===== */
.tw-fc-content {
  padding: 28px 32px 32px;
}

.tw-fc-section { margin-top: 32px; }
.tw-fc-section:first-child { margin-top: 0; }
.tw-fc-section-head {
  display:flex;
  align-items:baseline;
  gap:14px;
  margin-bottom:18px;
}
.tw-fc-section-rule { width:24px; height:1px; background:var(--ink); flex-shrink:0; }
.tw-fc-section-title {
  font-size:10px;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--slate-700);
  font-weight:600;
}
.tw-fc-section-num {
  font-size:10px;
  letter-spacing:.12em;
  color:var(--slate-400);
  font-weight:500;
}
.tw-fc-section-tagline {
  font-family:'DM Serif Display', Georgia, serif;
  font-style:italic;
  font-size:13px;
  color:var(--slate-500);
  margin-left:auto;
}

/* ===== Hourly strip ===== */
.tw-fc-hourly-wrap {
  position:relative;
  margin: 0 -32px;
}
.tw-fc-hourly-wrap::before, .tw-fc-hourly-wrap::after {
  content:''; position:absolute; top:0; bottom:8px; width:32px;
  pointer-events:none; z-index:2;
}
.tw-fc-hourly-wrap::before { left:0; background:linear-gradient(90deg, var(--paper), transparent); }
.tw-fc-hourly-wrap::after { right:0; background:linear-gradient(-90deg, var(--paper), transparent); }
.tw-fc-hourly {
  display:flex;
  overflow-x:auto;
  scroll-snap-type: x proximity;
  scrollbar-width:thin;
  scrollbar-color: var(--slate-400) transparent;
  padding: 0 32px 14px;
}
.tw-fc-hourly::-webkit-scrollbar { height:5px; }
.tw-fc-hourly::-webkit-scrollbar-thumb { background: var(--slate-300); }
.tw-fc-hour-day {
  display:flex; flex-direction:column; flex-shrink:0;
  margin-right:18px; padding-right:18px;
  border-right:1px dashed var(--slate-300);
}
.tw-fc-hour-day:last-child { border-right:none; margin-right:0; padding-right:0; }
.tw-fc-hour-day-label {
  display:flex; align-items:baseline; gap:8px;
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.16em;
  color:var(--slate-700);
  padding: 6px 4px 12px;
  border-bottom:1px solid var(--slate-200);
  margin-bottom:14px;
  white-space:nowrap;
  font-weight:600;
}
.tw-fc-hour-day-label .tw-fc-wd { color:var(--ink); font-weight:600; }
.tw-fc-hour-day-label .tw-fc-dt { color:var(--slate-500); font-weight:500; }
.tw-fc-hour-cells { display:flex; gap:6px; }
.tw-fc-hour-cell {
  display:flex; flex-direction:column; align-items:center; gap:6px;
  flex-shrink:0; width:48px;
  padding: 8px 4px 10px;
  scroll-snap-align: start;
  position:relative;
  border-radius:2px;
}
.tw-fc-hour-cell.tw-fc-now { background: var(--accent-soft); }
.tw-fc-hour-cell.tw-fc-now::before {
  content:''; position:absolute; left:0; right:0; top:0;
  height:2px; background: var(--alpine-sun);
}
.tw-fc-hour-cell.tw-fc-now .tw-fc-hour-time { color: var(--alpine-sun); font-weight:600; }
.tw-fc-hour-time {
  font-size:11px;
  color:var(--slate-500);
  letter-spacing:.04em;
  font-variant-numeric:tabular-nums;
  font-weight:500;
}
.tw-fc-hour-icon { width:30px; height:30px; flex-shrink:0; }
.tw-fc-hour-temp {
  font-family:'DM Serif Display', Georgia, serif;
  font-style:italic;
  font-size:17px;
  color:var(--ink);
  font-variant-numeric:tabular-nums;
  letter-spacing:-.01em;
}
.tw-fc-hour-precip {
  font-size:9.5px;
  color:var(--rain);
  letter-spacing:.02em;
  min-height:11px;
  font-variant-numeric:tabular-nums;
  font-weight:600;
}

/* ===== 7-day list ===== */
.tw-fc-daily { display:flex; flex-direction:column; border-top:1px solid var(--slate-300); }
.tw-fc-day-row {
  display:grid;
  grid-template-columns: 110px 60px 38px 1fr 130px 80px;
  gap:18px;
  align-items:center;
  padding: 18px 6px;
  border-bottom:1px solid var(--slate-200);
  transition: background .12s;
}
.tw-fc-day-row:hover { background: var(--accent-soft); }
.tw-fc-day-row[data-date]:not(.tw-fc-no-hourly) { cursor: pointer; }
.tw-fc-day-row[data-date]:not(.tw-fc-no-hourly):focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: -2px;
}
.tw-fc-day-row.tw-fc-no-hourly { cursor: default; opacity: .92; }
.tw-fc-day-row.tw-fc-no-hourly:hover { background: transparent; }
.tw-fc-day-row.tw-fc-today {
  background: var(--accent-soft);
}
.tw-fc-hour-day.tw-fc-flash {
  animation: tw-fc-flash 1.4s cubic-bezier(.4,0,.2,1);
}
@keyframes tw-fc-flash {
  0%   { background: var(--accent-soft); box-shadow: inset 0 0 0 2px var(--accent); }
  100% { background: transparent; box-shadow: inset 0 0 0 0 transparent; }
}
.tw-fc-day-wd {
  font-family:'DM Serif Display', Georgia, serif;
  font-style:italic;
  font-size:18px;
  color:var(--ink);
  letter-spacing:-.01em;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.tw-fc-wd-short { display:none; }
.tw-fc-day-row.tw-fc-today .tw-fc-day-wd { color: var(--alpine-sun); }
.tw-fc-day-date {
  font-size:11px;
  color:var(--slate-500);
  letter-spacing:.04em;
  font-variant-numeric:tabular-nums;
  font-weight:500;
}
.tw-fc-day-icon { width:34px; height:34px; justify-self:center; }
.tw-fc-day-precip {
  display:flex; align-items:center; gap:10px; min-width:0;
}
.tw-fc-day-precip-num {
  font-size:11.5px;
  letter-spacing:.02em;
  font-variant-numeric:tabular-nums;
  min-width:60px;
  font-weight:500;
}
.tw-fc-day-precip-num.tw-fc-has { color:var(--rain); }
.tw-fc-day-precip-num.tw-fc-dry { color:var(--slate-400); }
.tw-fc-day-precip-num.tw-fc-qual { color:var(--slate-600); font-style:italic; }
.tw-fc-day-precip-track { flex:1; height:2px; background:var(--slate-200); position:relative; overflow:hidden; }
.tw-fc-day-precip-fill { position:absolute; left:0; top:0; height:100%; background:var(--rain); }
.tw-fc-day-temp-bar {
  position:relative; height:6px;
  background:var(--slate-200); border-radius:3px; overflow:hidden;
}
.tw-fc-day-temp-fill {
  position:absolute; top:0; height:100%;
  background:linear-gradient(90deg, var(--temp-cold), var(--temp-warm), var(--temp-hot));
  border-radius:3px;
}
.tw-fc-day-temps {
  display:flex; align-items:baseline; gap:8px;
  justify-content:flex-end;
  font-variant-numeric:tabular-nums;
  font-family:'DM Serif Display', Georgia, serif;
  font-style:italic;
}
.tw-fc-day-temp-max { font-size:20px; color:var(--ink); }
.tw-fc-day-temp-min { font-size:16px; color:var(--slate-500); }

/* ===== Bottom panel ===== */
.tw-fc-bottom {
  display:grid;
  grid-template-columns: 1fr 1.25fr;
  gap:1px;
  background:var(--slate-300);
  margin-top:36px;
  border-top:1px solid var(--slate-300);
  border-bottom:1px solid var(--slate-300);
}
.tw-fc-bottom-cell {
  background:var(--paper);
  padding:26px 26px 24px;
  display:flex; flex-direction:column; gap:20px;
  min-height:280px;
}
.tw-fc-bottom-cell:first-child {
  /* UV-Cell: untere Skala fixiert, Num+Klasse gross zentriert */
  justify-content:space-between;
}
.tw-fc-bottom-head {
  display:flex; justify-content:space-between; align-items:baseline;
}
.tw-fc-bottom-label {
  font-size:10px;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--slate-700);
  font-weight:600;
}
.tw-fc-bottom-meta {
  font-size:10px;
  letter-spacing:.08em;
  color:var(--slate-500);
  font-weight:500;
}
.tw-fc-uv { display:flex; align-items:flex-end; gap:18px; flex:1; }
.tw-fc-uv-num {
  font-family:'DM Serif Display', Georgia, serif;
  font-style:italic;
  font-size:96px;
  line-height:.82;
  letter-spacing:-.05em;
  font-variant-numeric:tabular-nums;
  color:var(--ink);
}
.tw-fc-uv-class { display:flex; flex-direction:column; gap:4px; padding-bottom:10px; }
.tw-fc-uv-class-name {
  font-family:'DM Serif Display', Georgia, serif;
  font-style:italic;
  font-size:24px;
  line-height:1;
  color:var(--ink);
}
.tw-fc-uv-class-note { font-size:12px; color:var(--slate-500); letter-spacing:.04em; }
.tw-fc-uv-live {
  display:flex; align-items:baseline; gap:6px;
  padding: 6px 0 10px;
  font-size: 13px;
  color: var(--slate-500);
}
.tw-fc-uv-live .tw-fc-uv-dot { vertical-align: 0; }
.tw-fc-uv-live-label { letter-spacing:.02em; }
.tw-fc-uv-live-num { color: var(--ink); font-weight:700; font-size:15px; font-variant-numeric: tabular-nums; }
.tw-fc-uv-live-name { color: var(--slate-600); }
.tw-fc-uv-scale { display:flex; gap:2px; height:12px; }
.tw-fc-uv-tick { flex:1; background:var(--slate-200); }
.tw-fc-uv-tick.tw-fc-l1 { background:#84cc16; }
.tw-fc-uv-tick.tw-fc-l2 { background:#ca8a04; }
.tw-fc-uv-tick.tw-fc-l3 { background:#d97706; }
.tw-fc-uv-tick.tw-fc-l4 { background:#b91c1c; }
.tw-fc-uv-tick.tw-fc-l5 { background:#7e22ce; }
.tw-fc-stat-sub {
  display: block;
  font-size: 11px;
  color: var(--slate-400);
  letter-spacing: .04em;
  margin-top: 4px;
  font-weight: 500;
}
.tw-fc-stat-sub-strong {
  color: #fff;
  font-weight: 700;
  font-size: 12px;
}

/* UV-Dot in Hero-Stats */
.tw-fc-uv-dot {
  display: inline-block;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  margin-right: 8px;
  vertical-align: 1px;
}
.tw-fc-uv-dot.tw-fc-uv-l1 { background: #84cc16; }
.tw-fc-uv-dot.tw-fc-uv-l2 { background: #ca8a04; }
.tw-fc-uv-dot.tw-fc-uv-l3 { background: #d97706; }
.tw-fc-uv-dot.tw-fc-uv-l4 { background: #b91c1c; }
.tw-fc-uv-dot.tw-fc-uv-l5 { background: #7e22ce; }

/* Niederschlag in eigene Zeile */
.tw-fc-temp-precip {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-top: 4px;
  font-size: 13px;
  letter-spacing: .04em;
  color: var(--slate-300);
  font-variant-numeric: tabular-nums;
  font-weight: 500;
}
.tw-fc-temp-precip .tw-fc-arrow { color: var(--slate-500); }
.tw-fc-temp-precip .tw-fc-lo { color: var(--slate-300); }

/* Heute-Badge im 7-Tage-Block */
.tw-fc-today-badge a, .tw-fc-today-badge a:link, .tw-fc-today-badge a:visited,
.tw-fc-today-badge a:hover, .tw-fc-today-badge a:active {
  color: inherit !important;
  text-decoration: none !important;
  pointer-events: none;
  cursor: inherit;
}
.tw-fc-today-badge {
  display: inline-block;
  padding: 1px 10px;
  background: #ea580c;
  color: #ffffff;
  font-family: 'DM Serif Display', Georgia, serif;
  font-style: italic;
  font-size: 18px;
  font-weight: 400;
  letter-spacing: -0.01em;
  text-transform: none;
  border-radius: 5px;
  vertical-align: baseline;
}


.tw-fc-sun {
  display:grid; grid-template-columns:1fr 1fr; gap:24px; align-items:end;
}
.tw-fc-sun-arc-wrap { grid-column:1 / -1; height:80px; }
.tw-fc-sun-arc { width:100%; height:100%; display:block; overflow:visible; }
.tw-fc-arc-track { fill:none; stroke:var(--slate-300); stroke-width:1; stroke-dasharray:3 4; }
.tw-fc-arc-base { stroke:var(--slate-400); stroke-width:1; }
.tw-fc-sun-glyph { fill:var(--alpine-sun); filter:drop-shadow(0 0 6px rgba(200,123,29,.5)); }
.tw-fc-sun-time { display:flex; flex-direction:column; gap:4px; }
.tw-fc-sun-time.tw-fc-right { align-items:flex-end; text-align:right; }
.tw-fc-sun-time-label {
  font-size:10px; letter-spacing:.14em; text-transform:uppercase;
  color:var(--slate-500); font-weight:600;
}
.tw-fc-sun-time-val {
  font-family:'DM Serif Display', Georgia, serif;
  font-style:italic;
  font-size:24px;
  color:var(--ink);
  font-variant-numeric:tabular-nums;
  letter-spacing:-.02em;
  line-height:1;
}

/* Footer-Note innerhalb Widget (Demo / Disclaimer) */
.tw-fc-footnote {
  margin-top:18px;
  padding:14px 0 4px;
  font-size:10.5px;
  letter-spacing:.06em;
  color:var(--slate-500);
  display:flex; justify-content:space-between; align-items:baseline; flex-wrap:wrap; gap:8px;
}
.tw-fc-footnote .tw-fc-demo { color: var(--alpine-sun); font-weight:600; letter-spacing:.12em; text-transform:uppercase; }
.tw-fc-footnote a { color:var(--ink); text-decoration:underline; text-underline-offset:2px; }

/* Animations */
@keyframes tw-fc-fadeUp {
  from { opacity:0; transform: translateY(8px); }
  to { opacity:1; transform: translateY(0); }
}
.tw-fc-anim { animation: tw-fc-fadeUp .5s cubic-bezier(.4,0,.2,1) backwards; }

/* ===== Mobile ===== */
@media (max-width: 760px) {
  .tw-fc-hero { padding: 22px 20px 22px; }
  .tw-fc-hero-name { font-size: clamp(20px, 7vw, 38px); letter-spacing: -0.03em; }
  .tw-fc-hero-altitude { margin-bottom:18px; }
  .tw-fc-hero-data { grid-template-columns: 1fr auto; gap: 12px; align-items: center; margin-top: 18px; }
  .tw-fc-hero-icon-wrap { align-items: center; gap: 8px; }
  .tw-fc-hero-icon { width:84px; height:84px; margin-left:0; }
  .tw-fc-hero-symbol-label { text-align:center; max-width:140px; font-size:17px; }
  .tw-fc-temp-now { font-size: clamp(76px, 22vw, 92px); line-height:.85; }
  .tw-fc-temp-unit { font-size: clamp(24px, 6.5vw, 30px); }
  .tw-fc-temp-side { padding-top:4px; gap:8px; }
  .tw-fc-temp-range { font-size:11px; padding:4px 10px; }
  .tw-fc-hero-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; padding-top:12px; margin-top:10px; }
  .tw-fc-stat { padding: 12px 14px; gap:6px; }
  .tw-fc-stat-value { font-size: 22px; }
  .tw-fc-stat-ico { width:22px; height:22px; border-radius:6px; }
  .tw-fc-stat-ico svg { width:12px; height:12px; }
  .tw-fc-content { padding: 22px 18px 24px; }
  .tw-fc-day-row {
    grid-template-columns: 50px 30px 56px 1fr 86px;
    gap: 8px;
    padding: 14px 6px;
  }
  .tw-fc-day-temps { gap: 6px; }
  .tw-fc-day-date { display: none; }
  /* Niederschlag bleibt sichtbar auf Mobile, aber nur Text — Balken weg */
  .tw-fc-day-precip { display: flex; gap: 0; }
  .tw-fc-day-precip-track { display: none; }
  .tw-fc-day-precip-num { font-size: 10.5px; min-width: 0; }
  .tw-fc-day-icon { width: 30px; height: 30px; }
  .tw-fc-day-wd { font-size: 16px; }
  .tw-fc-wd-full { display: none; }
  .tw-fc-wd-short { display: inline; }
  .tw-fc-day-temp-max { font-size: 17px; }
  .tw-fc-day-temp-min { font-size: 15px; }
  .tw-fc-bottom { grid-template-columns: 1fr; gap: 1px; }
  .tw-fc-bottom-cell { padding: 22px 18px; min-height: auto; }
  .tw-fc-uv-num { font-size: 76px; }
  .tw-fc-uv-class-name { font-size: 20px; }
  .tw-fc-sun-time-val { font-size: 22px; }
  .tw-fc-hourly-wrap { margin: 0 -18px; }
  .tw-fc-hourly { padding: 0 18px 14px; }
  .tw-fc-section { margin-top: 30px; }
}
@media (max-width: 600px) {
  /* Hero-Head auf Mobile: stack, Datum-Block nach links unter den Namen */
  .tw-fc-hero-head { flex-direction: column; gap: 4px; align-items: flex-start; }
  .tw-fc-hero-head-r { text-align: left; flex-direction: row; gap: 10px; align-items: baseline; font-size: 11px; }
}
@media (max-width: 380px) {
  .tw-fc-hero-name { font-size: 32px; }
  .tw-fc-temp-now { font-size: 84px; }
  .tw-fc-temp-unit { font-size: clamp(18px, 4vw, 24px); margin-top: 0; }
  .tw-fc-day-row { grid-template-columns: 44px 26px 50px 1fr 76px; gap: 6px; }
  .tw-fc-day-temps { gap: 5px; }
  .tw-fc-day-wd { font-size: 15px; }
  .tw-fc-day-icon { width: 26px; height: 26px; }
  .tw-fc-day-precip-num { font-size: 10px; }
}
