/* V83 — correzione definitiva delle altezze ereditate nella sola pagina Dove siamo. */
.locationsPage main.locationsMain {
  display:block !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  overflow:visible !important;
}

.locationsPage main.locationsMain > section,
.locationsPage main.locationsMain > .contactsHeading {
  box-sizing:border-box !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  overflow:visible !important;
  flex:none !important;
}

.locationsPage .locationsHero {
  margin:0 !important;
  padding:24px 5vw 18px !important;
}

.locationsPage .nationalPresence {
  width:min(92vw,1320px) !important;
  margin:0 auto !important;
  padding:14px !important;
  grid-template-columns:minmax(350px,.82fr) minmax(0,1.18fr) !important;
  gap:12px !important;
  align-items:stretch !important;
}

.locationsPage .italyMapPanel {
  display:flex !important;
  flex-direction:column !important;
  min-height:0 !important;
  padding:14px 18px 8px !important;
  overflow:visible !important;
}

.locationsPage .mapHeading { flex:none !important; }

.locationsPage .italyMap {
  position:relative !important;
  inset:auto !important;
  flex:none !important;
  width:min(100%,310px) !important;
  height:420px !important;
  min-height:0 !important;
  margin:8px auto 0 !important;
}

.locationsPage .italyMap img {
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  opacity:.95 !important;
  filter:none !important;
}

.locationsPage .mapCredit {
  position:relative !important;
  left:auto !important;
  bottom:auto !important;
  display:block !important;
  margin:0 !important;
}

.locationsPage .regionsPanel {
  padding:4px 4px 4px 16px !important;
  align-content:stretch !important;
}

.locationsPage .regionItem {
  padding:11px 14px !important;
}

.locationsPage .contactsHeading {
  width:min(92vw,1320px) !important;
  margin:0 auto !important;
  padding:14px 0 7px !important;
}

.locationsPage .locationsInfoGrid {
  width:min(92vw,1320px) !important;
  margin:0 auto !important;
  padding:0 0 8px !important;
  display:grid !important;
  grid-template-columns:1.35fr 1fr .9fr .9fr !important;
  gap:10px !important;
  align-items:stretch !important;
}

.locationsPage .locationsInfoGrid .locationCard {
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  padding:13px 15px !important;
  overflow:visible !important;
}

.locationsPage .locationsInfoGrid .locationBrand {
  width:min(150px,72%) !important;
  height:34px !important;
  margin:0 auto 5px !important;
}

.locationsPage .locationsInfoGrid .locationCard h2 {
  margin:5px 0 6px !important;
  font-size:19px !important;
}

.locationsPage .locationsInfoGrid .locationCard p {
  margin:3px 0 !important;
  font-size:11px !important;
  line-height:1.35 !important;
}

.locationsPage .locationsInfoGrid .contactCard {
  display:flex !important;
  justify-content:center !important;
}

.locationsPage .locationsInfoGrid .contactCard img {
  width:100% !important;
  height:48px !important;
  margin:0 0 8px !important;
  object-position:center !important;
}

.locationsPage .locationsInfoGrid .contactCard p {
  margin:auto 0 !important;
  text-align:center !important;
}

.locationsPage .locationsCta {
  width:min(92vw,1320px) !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  margin:0 auto 8px !important;
  padding:13px 18px !important;
  overflow:visible !important;
}

@media (max-width:1000px) {
  .locationsPage .nationalPresence {
    grid-template-columns:1fr !important;
  }

  .locationsPage .italyMap { height:440px !important; }

  .locationsPage .regionsPanel {
    padding:12px 0 0 !important;
  }

  .locationsPage .locationsInfoGrid {
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

@media (max-width:699px) {
  .locationsPage .locationsHero { padding:18px 5vw 12px !important; }
  .locationsPage .nationalPresence { width:90vw !important; padding:11px !important; }
  .locationsPage .italyMapPanel { padding:12px !important; }
  .locationsPage .italyMap { width:min(100%,275px) !important; height:390px !important; }
  .locationsPage .regionsPanel { grid-template-columns:1fr !important; }
  .locationsPage .contactsHeading { width:90vw !important; padding-top:10px !important; }
  .locationsPage .locationsInfoGrid { width:90vw !important; grid-template-columns:1fr !important; }
  .locationsPage .locationsCta { width:90vw !important; }
}
