/* ============================================================
   InfoComuni · Sistema icone SVG inline (Sprint 7 — 01/05/2026)
   --------------------------------------------------------------
   Sostituisce FontAwesome con SVG inline stile Lucide.
   Vantaggi:
     - Niente dipendenza CDN (FA si rompeva quando bloccato)
     - Crisp a qualsiasi dimensione (vector)
     - Colore via currentColor (eredita dal testo)
     - Accessibile (aria-hidden quando decorative)
   ============================================================ */

.ic-icon {
  /* Dimensione default: scala col font-size del genitore via 1em */
  width: 1em;
  height: 1em;
  display: inline-block;
  vertical-align: -0.125em; /* allineamento ottico col testo */
  flex-shrink: 0;
  /* Stroke crisp anche su display non-retina */
  shape-rendering: geometricPrecision;
}

/* Modificatori dimensione (utility, opzionali) */
.ic-icon--sm { font-size: 14px; }
.ic-icon--md { font-size: 18px; }
.ic-icon--lg { font-size: 22px; }
.ic-icon--xl { font-size: 28px; }
.ic-icon--2xl { font-size: 36px; }

/* Animazione spinner (sostituisce fa-spin) */
.ic-icon--spin {
  animation: ic-icon-spin 1.2s linear infinite;
  transform-origin: center;
}
@keyframes ic-icon-spin {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}
@media (prefers-reduced-motion: reduce) {
  .ic-icon--spin { animation: none; }
}

/* === Compat con vecchie classi `.ics-<n>` (inline-size helper) ===
   Le icone FA in alcune sezioni avevano modificatori dimensionali via
   classi ics-3..ics-7. Mantengo la compat per non rompere il layout.
   Si conformano al medesimo sistema font-size/em che adottiamo qui. */
.ic-icon.ics-3 { font-size: 14px; }
.ic-icon.ics-4 { font-size: 16px; }
.ic-icon.ics-5 { font-size: 20px; }
.ic-icon.ics-6 { font-size: 28px; }
.ic-icon.ics-7 { font-size: 36px; }

/* === Icone usate come "icon-only button": hit-area accessibile === */
button > .ic-icon:only-child,
a > .ic-icon:only-child {
  font-size: 18px; /* default per icon-only */
}

/* === Coerenza con classi precedenti del sito === */
.puglia-menu__icon.ic-icon,
.prov-dd-cap-icon .ic-icon {
  font-size: 18px;
}
.cal-arr .ic-icon,
.cal-nav-btn .ic-icon {
  font-size: 16px;
}

/* Evita doppia colorazione: l'icona usa currentColor del testo del genitore */
.ic-icon path,
.ic-icon line,
.ic-icon polyline,
.ic-icon polygon,
.ic-icon circle,
.ic-icon rect,
.ic-icon ellipse {
  vector-effect: non-scaling-stroke;
}
