.footer-locations { padding: 56px 0 8px; }
.footer-locations h2 { font-size: clamp(30px, 3vw, 42px); margin-bottom: 28px; }
.footer-location-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px; }
.footer-location { min-width: 0; }
.footer-location h3 { font-size: 20px; font-weight: 600; }
.footer-location > p { font-size: 13px; color: var(--muted); margin: 7px 0 17px; }
.footer-location .text-link { color: var(--blue); margin-top: 13px; }
.footer-map-slot { min-width: 0; height: 280px; background: var(--lavender); position: relative; overflow: hidden; }
.map-status { height: 100%; padding: 24px; margin: 0; display: flex; align-items: center; font-size: 12px; color: var(--muted); }
.footer-map-render { position: absolute; inset: 0; width: 100%; height: 100%; }
@media (max-width: 760px) {
  .footer-locations { padding-top: 40px; }
  .footer-location-grid { grid-template-columns: 1fr; gap: 32px; }
  .footer-map-slot { height: 260px; }
  .map-status { padding: 22px; }
}

.footer-location .footer-route-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  max-width: 100%;
  white-space: normal;
}
.footer-route-icon { flex: 0 0 20px; width: 20px; height: 20px; }
.footer-route-link > span { min-width: 0; overflow-wrap: anywhere; }
