/* Shared, opt-in footer map: preserve both existing page families. */
.footer-with-map .pdf-footer-grid,
.footer-with-map .footer-grid {
  grid-template-columns: minmax(0, 1fr) minmax(0, .7fr) minmax(0, 1.25fr) minmax(320px, 1.7fr);
  gap: 24px;
}
.footer-with-map .pdf-footer-grid > div,
.footer-with-map .footer-grid > div { min-width: 0; }
.footer-with-map .footer-map { width: 100%; margin-bottom: 16px; }
.footer-with-map .footer-map strong { display: block; font-size: .75rem; margin-bottom: 10px; }
.footer-with-map .footer-map-address { margin: 0 0 14px; font-size: .875rem; line-height: 1.55; color: #fff; }
.footer-with-map .footer-map-address span { color: rgba(255, 255, 255, .8); }
.footer-with-map .footer-map iframe { display: block; width: 100%; max-width: 100%; height: 300px; border: 0; border-radius: 8px; background: #f4f1eb; }
.footer-with-map .footer-map-link { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; padding: 6px 0; font-size: .875rem; line-height: 1.5; color: #fff; text-decoration: underline; text-underline-offset: 3px; }
.footer-with-map .footer-map-link:hover { text-decoration-thickness: 2px; }
.footer-with-map .footer-map-link:focus-visible { outline: 2px solid #fff; outline-offset: 4px; }
@media (max-width: 1099px) {
  .footer-with-map .pdf-footer-grid,
  .footer-with-map .footer-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .footer-with-map .pdf-footer-grid > div:first-child,
  .footer-with-map .footer-grid > div:first-child,
  .footer-with-map .pdf-footer-grid > div:last-child,
  .footer-with-map .footer-grid > div:last-child { grid-column: 1 / -1; }
}
@media (max-width: 480px) {
  .footer-with-map .pdf-footer-grid,
  .footer-with-map .footer-grid { grid-template-columns: minmax(0, .75fr) minmax(0, 1.25fr); gap: 24px 16px; }
  .footer-with-map a[href^="mailto:"] { overflow-wrap: anywhere; }
}
