/* ====== DOVE SIAMO (Responsive) ====== */

/* Mappa */
iframe {
  width: 100%;
  height: clamp(320px, 55vh, 520px);  /* altezza che si adatta allo schermo */
  border: 10px solid #ddd;
  margin: 0;
  padding: 0;
  display: block;                     /* elimina spazi indesiderati */
  border-radius: 8px;                 /* leggero arrotondamento, opzionale */
}

/* Sezione centrata */
.centro {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;

  /* Invece di un’altezza fissa, usiamo padding e min-height */
  padding: clamp(12px, 2.5vw, 24px) 12px;
  min-height: clamp(120px, 18vh, 220px);
  box-sizing: border-box;
  gap: clamp(6px, 1.6vw, 12px);       /* spazio tra h2 e p */
}

.centro h2 {
  margin: 0;
  font-size: clamp(1.15rem, 1.8vw + .6rem, 1.8rem);
}

.centro p {
  margin: 0;                          /* gestito con gap */
  font-size: clamp(1rem, .6vw + .85rem, 1.2rem);
  line-height: 1.6;
  max-width: 900px;                   /* migliora leggibilità su desktop */
}

/* Link footer (coerenti con il resto del sito) */
footer .footer-section a {
  color: #fff;
  text-decoration: none;
}
footer .footer-section a:hover {
  color: #ddd;
}

/* ====== BREAKPOINTS ====== */

/* Tablet/laptop piccoli */
@media (max-width: 992px) {
  iframe { height: 50vh; border-width: 8px; }
  .centro { min-height: clamp(110px, 16vh, 200px); }
}

/* Tablet e mobile grande */
@media (max-width: 768px) {
  iframe { height: 45vh; border-width: 6px; }
  .centro { padding: 16px 10px; }
}

/* Mobile piccolo */
@media (max-width: 480px) {
  iframe { height: 40vh; border-width: 4px; border-radius: 6px; }
  .centro { padding: 12px 8px; min-height: auto; }
}
