/**
 * wvl-widget-basis.css
 * ------------------------------------------------------------
 * Gedeelde basis-opmaak voor alle .wvl-radar__*-widgets (kaart,
 * neerslag-kaart, formulier, ...). Elke widget definieert zelf enkel zijn
 * eigen kleurvariabelen (--wvl-navy, --wvl-gold, ...) en eventuele
 * widget-specifieke onderdelen (bv. tijdslider bij de radar). De
 * structuur (kaart-omkadering, afmetingen, padding, ronde hoeken) staat
 * hier centraal, zodat je nooit een widget kan vergeten waardoor de
 * opmaak stuk gaat.
 *
 * LAAD DIT BESTAND ALTIJD, op elke pagina waar minstens 1 van de
 * .wvl-radar__*-widgets gebruikt wordt — dus ook op een pagina die enkel
 * neerslag-gecombineerd-widget.html of enkel neerslag-melding-form.html
 * bevat, niet enkel op de radar-pagina.
 * ------------------------------------------------------------
 */

.wvl-radar__header {
  text-align: center;
  margin-bottom: 16px;
}

.wvl-radar__badge {
  display: inline-block;
  background: var(--wvl-gold);
  color: var(--wvl-navy);
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  padding: 6px 14px;
  border-radius: 999px;
  margin-bottom: 10px;
}

.wvl-radar__heading {
  font-family: var(--font-display);
  font-weight: 400;
  font-size: 1.6rem;
  color: var(--wvl-navy);
  margin: 0;
}

.wvl-radar__card {
  background: var(--wvl-white);
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 12px 30px rgba(27, 31, 59, 0.10);
  border: 1px solid var(--wvl-line);
}

.wvl-radar__map {
  width: 100%;
  aspect-ratio: 4 / 3;
  background: var(--wvl-cream);
}
@media (min-width: 640px) {
  .wvl-radar__map { aspect-ratio: 16 / 9; }
}

.wvl-radar__panel {
  padding: 14px 18px 16px;
}

.wvl-radar__row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
}

.wvl-radar__live {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: var(--wvl-gold);
  color: var(--wvl-navy);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  padding: 4px 10px;
  border-radius: 999px;
}

.wvl-radar__live-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--wvl-navy);
}

.wvl-radar__time {
  font-variant-numeric: tabular-nums;
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--wvl-navy-soft);
}

.wvl-radar__controls {
  display: flex;
  align-items: center;
  gap: 12px;
}

.wvl-radar__btn {
  flex: 0 0 auto;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  border: none;
  background: var(--wvl-navy);
  color: var(--wvl-white);
  font-size: 0.8rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.15s ease;
}
.wvl-radar__btn:hover { background: #2a2f57; }
.wvl-radar__btn:focus-visible { outline: 2px solid var(--wvl-gold); outline-offset: 2px; }
.wvl-radar__btn svg { display: block; }

.wvl-radar__slider {
  flex: 1 1 auto;
  accent-color: var(--wvl-gold-deep);
}

.wvl-radar__legend {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 12px;
  font-size: 0.72rem;
  color: var(--wvl-navy-soft);
  font-weight: 600;
}

.wvl-radar__gradient {
  flex: 1 1 auto;
  height: 6px;
  border-radius: 3px;
  background: linear-gradient(90deg, #7fd6e0 0%, #2f8f9d 30%, #f4c542 60%, #e0622f 80%, #b0233a 100%);
}

.wvl-radar__row--scheme {
  margin-top: 12px;
  margin-bottom: 0;
}

.wvl-radar__scheme-label {
  font-size: 0.72rem;
  font-weight: 600;
  color: var(--wvl-navy-soft);
}

.wvl-radar__scheme-select {
  font-family: var(--font-body);
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--wvl-navy);
  background: var(--wvl-pill);
  border: 1px solid var(--wvl-line);
  border-radius: 999px;
  padding: 5px 12px;
  cursor: pointer;
}
.wvl-radar__scheme-select:focus-visible {
  outline: 2px solid var(--wvl-gold-deep);
  outline-offset: 1px;
}

.wvl-radar__attrib {
  margin: 12px 0 0;
  text-align: center;
  font-size: 0.7rem;
  color: var(--wvl-navy-soft);
}
.wvl-radar__attrib a { color: var(--wvl-navy-soft); text-decoration: underline; }

.wvl-radar .leaflet-control-attribution,
[id^="wvl-"] .leaflet-control-attribution {
  background: rgba(255, 255, 255, 0.85);
  color: var(--wvl-navy-soft);
  font-size: 0.62rem;
}
.wvl-radar .leaflet-control-attribution a,
[id^="wvl-"] .leaflet-control-attribution a {
  color: var(--wvl-navy-soft);
}
.wvl-radar .leaflet-control-zoom a,
[id^="wvl-"] .leaflet-control-zoom a {
  color: var(--wvl-navy);
}
