/*
  Kartor Plattform — gemensam embed-bas
  Används av /embed/framtiden/, /embed/outnyttjad/, /embed/da-och-nu/,
  /embed/vader/, /embed/trafik/
*/

*, *::before, *::after { box-sizing: border-box; }

body {
  margin: 0;
  padding: 0;
  font-family: ui-sans-serif, -apple-system, "Segoe UI", sans-serif;
  background: #e9e7e1;
  overflow: hidden;
}

/* Kartan fyller hela iframe */
#map, #comparison { position: fixed; inset: 0; }
.map { position: absolute; inset: 0; }

/* Vindcanvas (vader) */
#wind { position: fixed; inset: 0; pointer-events: none; z-index: 5; }

/* ── Attributionsfält ────────────────────────────────────────────────────────
   Fast positionerat nere till vänster. Synlig på alla embeds.
   Obligatorisk text sätts av varje embed-sida (Lantmäteriet/OSM).  */
#embed-attr {
  position: fixed;
  bottom: 0;
  left: 0;
  z-index: 20;
  padding: .22rem .5rem;
  background: rgba(255,255,255,.82);
  font-size: .6rem;
  color: #444;
  line-height: 1.4;
  max-width: 80vw;
  /* Undvik kollision med MapLibres egna attribution-kontroll */
}

/* ── Plattformsmärke ─────────────────────────────────────────────────────────
   Diskret badge nere till höger.  */
#embed-badge {
  position: fixed;
  bottom: .3rem;
  right: .3rem;
  z-index: 20;
  font-size: .58rem;
  color: #888;
  background: rgba(255,255,255,.7);
  border-radius: 4px;
  padding: .12rem .38rem;
  pointer-events: none;
  letter-spacing: .02em;
}

/* ── Kompakt nav-kontroll ────────────────────────────────────────────────────
   MapLibres NavigationControl visas men komprimeras lite i embeds.  */
.maplibregl-ctrl-group {
  box-shadow: 0 1px 6px rgba(0,0,0,.2) !important;
}
.maplibregl-ctrl-group button {
  width: 28px !important;
  height: 28px !important;
}

/* ── Data-saknas-overlay ─────────────────────────────────────────────────────
   Visas för outnyttjad/framtiden när kommunen saknar data.  */
#nodata-overlay {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 30;
  background: rgba(247,245,240,.92);
  align-items: center;
  justify-content: center;
  flex-direction: column;
  text-align: center;
  padding: 2rem;
}
#nodata-overlay.show { display: flex; }
#nodata-overlay h2 {
  font-size: 1rem;
  margin: 0 0 .5rem;
  color: #1a1d21;
}
#nodata-overlay p {
  font-size: .82rem;
  color: #5a5f66;
  margin: 0;
  max-width: 280px;
  line-height: 1.5;
}

/* ── Static-läge (?static=1) ─────────────────────────────────────────────────
   Läggs till på <body> när static=1; blockar all interaktion.  */
body.static-mode #map,
body.static-mode .map,
body.static-mode #wind {
  pointer-events: none;
}

/* ⛔ ATT BLOCKA INTERAKTIONEN RÄCKER INTE — KONTROLLEN SYNS ÄNDÅ (2026-08-21).
   Blocket ovanför gjorde kartan orörlig och lät varenda knapp stå kvar synlig.
   I en stillbild är det värre än en levande kontroll: bilden lovar en interaktion
   som inte finns. En levererad toppbild över Kanaljorden gick ut med swipern —
   den blå cirkeln med två pilar — inbränd mitt i motivet.
   Varje yta gömde sina EGNA element och missade dem den inte kunde känna till:
   maplibre och dess plugins injicerar sina kontroller vid körning, så de fanns
   aldrig i någon fil att räkna upp. Därför står regeln HÄR, en gång, för alla 17
   static-ytor — och den räknar upp biblioteksmöblerna, inte mina egna.
   Kreditytorna står kvar med flit: det är dem stillbilden hämtar källan ur. */
body.static-mode .maplibregl-compare,
body.static-mode .maplibregl-ctrl-group,
body.static-mode .maplibregl-ctrl-attrib-button,
body.static-mode .maplibregl-ctrl-fullscreen,
body.static-mode .maplibregl-ctrl-geolocate {
  display: none !important;
}
