/* ── mod-freshness — Anneaux de fraîcheur ────────────────── */

/* Anneau autour du pin Leaflet */
.vdm-fresh-ring {
  position: absolute;
  bottom: -3px; left: 50%;
  transform: translateX(-50%);
  width: 38px; height: 38px;
  border-radius: 50%;
  border: 3px solid transparent;
  pointer-events: none;
  z-index: 0;
}
.vdm-fresh-ring.vdm-fresh--green  { border-color: rgba(29,158,117,.75); animation: vdm-fresh-pulse-g 2s ease infinite; }
.vdm-fresh-ring.vdm-fresh--orange { border-color: rgba(255,194,32,.85); animation: vdm-fresh-pulse-o 2s ease infinite; }
.vdm-fresh-ring.vdm-fresh--red    { border-color: rgba(200,60,60,.65); }
.vdm-fresh-ring.vdm-fresh--grey   { border-color: rgba(180,180,180,.4); }

@keyframes vdm-fresh-pulse-g {
  0%,100% { box-shadow: 0 0 0 0 rgba(29,158,117,.35); }
  50%      { box-shadow: 0 0 0 6px rgba(29,158,117,0); }
}
@keyframes vdm-fresh-pulse-o {
  0%,100% { box-shadow: 0 0 0 0 rgba(255,194,32,.35); }
  50%      { box-shadow: 0 0 0 6px rgba(255,194,32,0); }
}

/* Badge fraîcheur sur les cards */
.vdm-fresh-card-badge {
  display: inline-flex;
  align-items: center;
  font-size: 10px;
  font-weight: 600;
  padding: 2px 7px;
  border-radius: 20px;
  margin-bottom: 5px;
  width: fit-content;
  line-height: 1.5;
}
.vdm-fresh-card--green  { background: rgba(29,158,117,.12); color: #1D9E75; }
.vdm-fresh-card--orange { background: rgba(255,194,32,.15);  color: #b38600; }
.vdm-fresh-card--red    { background: rgba(220,60,60,.10);   color: #c03030; }

/* Badge "Rayon élargi" du mod-radar */
.vdm-radar-badge {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 9px 14px;
  margin: 12px 0 4px;
  background: #fff8e6;
  border: 1px solid #ffd966;
  border-radius: 10px;
  font-size: 12px;
  color: #6b4c00;
  font-weight: 500;
  transition: opacity .4s ease;
}
.vdm-radar-badge svg { width: 16px; height: 16px; color: #d4a017; flex-shrink: 0; }
