/* Overløbskort – komponent til Block Grid. Alt er scopet under .vf-overloeb.
   Overskriften bruger sitets egen h2-typografi. */

.vf-overloeb {
  --vf-overloeb-prik: #c00848;
  --vf-overloeb-prik-kant: #ffffff;
  --vf-overloeb-graense: #1f2d36;
  --vf-overloeb-maske: #ffffff;
  --vf-overloeb-tekst: #1f2d36;
  --vf-overloeb-daempet: #5b6770;
  --vf-overloeb-linje: #d9dee2;
  --vf-overloeb-flade: #ffffff;
  --vf-overloeb-baggrund: #eef1f2;

  color: var(--vf-overloeb-tekst);
  margin: 0;
}

.vf-overloeb__hoved {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.5rem 2rem;
  margin-bottom: 1rem;
}

.vf-overloeb__titel {
  margin: 0;
}

.vf-overloeb__tal {
  margin: 0;
  font-size: 0.9375rem;
  color: var(--vf-overloeb-daempet);
}

.vf-overloeb__tal strong {
  color: var(--vf-overloeb-tekst);
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}

.vf-overloeb__ramme {
  position: relative;
  border: 1px solid var(--vf-overloeb-linje);
  border-radius: 6px;
  overflow: hidden;
  background: var(--vf-overloeb-baggrund);
}

.vf-overloeb__kort {
  width: 100%;
  aspect-ratio: 16 / 10;
  min-height: 360px;
  max-height: 720px;
  background: var(--vf-overloeb-baggrund);
  font: inherit;
}

/* Statisk reserve, når browseren ikke har WebGL */
.vf-overloeb__statisk {
  display: block;
  width: 100%;
  height: 100%;
}

@media (max-width: 640px) {
  .vf-overloeb__kort {
    aspect-ratio: 4 / 5;
    min-height: 0;
  }
}

.vf-overloeb__fod {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem 1.5rem;
  margin-top: 0.75rem;
  font-size: 0.875rem;
  color: var(--vf-overloeb-daempet);
}

.vf-overloeb__forklaring {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  color: var(--vf-overloeb-tekst);
}

.vf-overloeb__forklaring::before {
  content: "";
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: var(--vf-overloeb-prik);
  box-shadow: 0 0 0 2px var(--vf-overloeb-prik-kant), 0 0 0 3px rgba(0, 0, 0, 0.12);
  flex: none;
}

/* Kontrol: zoom og hele kommunen */
.vf-overloeb .vf-overloeb__kontrol {
  display: flex;
  margin: 12px 12px 0 0;
  flex-direction: column;
  background: var(--vf-overloeb-flade);
  border: 1px solid var(--vf-overloeb-linje);
  border-radius: 6px;
  overflow: hidden;
  box-shadow: 0 1px 2px rgba(31, 45, 54, 0.08);
}

.vf-overloeb .vf-overloeb__knap {
  appearance: none;
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  margin: 0;
  padding: 0;
  border: 0;
  border-top: 1px solid var(--vf-overloeb-linje);
  background: transparent;
  color: var(--vf-overloeb-tekst);
  font: 500 20px/1 system-ui, sans-serif;
  cursor: pointer;
}

.vf-overloeb .vf-overloeb__knap:first-child {
  border-top: 0;
}

.vf-overloeb .vf-overloeb__knap:hover {
  background: #f2f4f5;
}

.vf-overloeb .vf-overloeb__knap:focus-visible {
  outline: 2px solid var(--vf-overloeb-prik);
  outline-offset: -2px;
}

.vf-overloeb .maplibregl-map {
  font: inherit;
}

.vf-overloeb .maplibregl-canvas:focus-visible {
  outline: 2px solid var(--vf-overloeb-prik);
  outline-offset: -2px;
}

.vf-overloeb .maplibregl-ctrl-attrib {
  font-size: 11px;
  color: var(--vf-overloeb-daempet);
}

.vf-overloeb .maplibregl-ctrl-attrib a {
  color: inherit;
}

/* Besked ved scroll uden Ctrl/⌘ og ved ét-finger-træk på mobil */
.vf-overloeb .maplibregl-cooperative-gesture-screen {
  background: rgba(31, 45, 54, 0.55);
  color: #fff;
  font: inherit;
  font-size: 1rem;
}
