/* ── Placeholder avant chargement du style ── */
.smap-placeholder {
  width: 100%;
  height: 100dvh;
  background: #3ab5e6; /* couleur océan = pas de flash blanc */
}

/* ── Logo ── */
.smap-logo {
  position: absolute;
  top: 12px;
  left: 12px;
  width: 110px;
  pointer-events: none;
  z-index: 5;
  filter: drop-shadow(1px 2px 3px rgba(0,0,0,0.25));
}

/* ── Indicateur fraîcheur données ── */
.smap-freshness {
  position: absolute;
  bottom: max(28px, calc(28px + env(safe-area-inset-bottom)));
  left: max(10px, calc(10px + env(safe-area-inset-left)));
  background: rgba(255, 255, 255, 0.82);
  backdrop-filter: blur(4px);
  border-radius: 6px;
  padding: 4px 10px;
  font-size: 11px;
  color: #555;
  pointer-events: none;
  z-index: 10;
}

/* ── Avertissement données périmées ── */
.smap-stale {
  position: absolute;
  bottom: max(52px, calc(52px + env(safe-area-inset-bottom)));
  left: max(10px, calc(10px + env(safe-area-inset-left)));
  background: rgba(251, 191, 36, 0.92);
  backdrop-filter: blur(4px);
  border-radius: 6px;
  padding: 4px 10px;
  font-size: 11px;
  color: #78350f;
  font-weight: 600;
  pointer-events: none;
  z-index: 10;
}

/* NavigationControl MapLibre — remonte au-dessus de la barre Android */
.maplibregl-ctrl-bottom-right {
  bottom: env(safe-area-inset-bottom) !important;
  right: env(safe-area-inset-right) !important;
}

/* ── Spot markers ── */
.smap-marker {
  cursor: pointer;
  transition: transform .15s;
}
.smap-marker:hover { transform: scale(1.15); }
.smap-marker--selected { transform: scale(1.25) !important; }

/* Bounce pour impact haut */
@keyframes bounce {
  0%, 100% { transform: translateY(0) scale(1); }
  50%       { transform: translateY(-5px) scale(1.05); }
}
.smap-marker--high { animation: bounce 1.4s ease-in-out infinite; }
.smap-marker--high.smap-marker--selected { animation: none; transform: scale(1.25); }

/* Pulse ring sur sélection */
@keyframes pulse-ring {
  0%   { box-shadow: 0 0 0 0 rgba(56, 189, 248, 0.5); }
  100% { box-shadow: 0 0 0 10px rgba(56, 189, 248, 0); }
}
.smap-marker--selected svg circle:first-child {
  /* via filter, géré inline */
}
