/* Contact-only layout; shared header, footer and lead CTA keep their existing styles. */
.contact-page > .page-header { margin-block-end: 1.75rem; }
.contact-page > .entry-content > .section-intro { max-width: 43rem; }
.contact-page .contact-direct { display: grid; gap: 1.25rem 3rem; margin-block-start: 3rem; padding-block-start: 1.5rem; border-top: var(--eb-border); }
.contact-direct p { margin: 0; }
.contact-direct-label { display: block; color: var(--eb-text-secondary); font-size: 0.875rem; }
.contact-direct a { display: inline-block; padding-block: 0.5rem; font-size: 1.125rem; font-weight: 600; }
.contact-page .contact-location { margin-block-start: clamp(3rem, 5vw, 5rem); padding-block-start: 2rem; border-top: var(--eb-border); }
.contact-location .eyebrow { margin-block-end: 1rem; font-size: 0.75rem; }
.entry-content .contact-location h2 { margin-block-start: 0; max-width: 25ch; }
.location-details { display: grid; gap: 1rem; margin-block: 1.5rem; color: var(--eb-text-secondary); }
.location-details p { margin: 0; }
.location-details strong { color: var(--eb-ink); font-weight: 600; }
.map-guidance, .map-privacy { max-width: 65rem; color: var(--eb-text-secondary); font-size: 0.8125rem; line-height: 1.6; }
.contact-map { position: relative; isolation: isolate; height: 340px; margin-block-start: 1rem; border: var(--eb-border); background: var(--eb-muted); font-family: var(--eb-font); }
.map-fallback { padding: 1.5rem; max-width: 34rem; color: var(--eb-text-secondary); }
.contact-map.leaflet-container .map-fallback { display: none; }
.contact-map:focus-visible { outline-offset: 3px; }
.contact-map .leaflet-control-zoom { border: 1px solid var(--eb-navy); border-radius: 0; box-shadow: none; }
.contact-map .leaflet-control-zoom a { width: 44px; height: 44px; line-height: 44px; color: var(--eb-navy); background: var(--eb-paper); border-radius: 0; }
.contact-map .leaflet-control-zoom a:hover { background: var(--eb-muted); }
.contact-map a:focus-visible { outline: 3px solid var(--eb-navy); outline-offset: 2px; }
.contact-map .leaflet-control-attribution { max-width: calc(100% - 12px); color: var(--eb-ink); background: var(--eb-paper); font-size: 0.6875rem; }
.contact-map .leaflet-control-attribution a { color: var(--eb-navy); }
.everbox-map-marker { background: var(--eb-navy); border: 2px solid var(--eb-paper); border-radius: 50% 50% 50% 0; transform-origin: center; box-shadow: 0 1px 5px #0004; }
.everbox-map-marker::after { content: ''; position: absolute; inset: 9px; background: var(--eb-focus-light); border-radius: 50%; }
.contact-map .leaflet-marker-icon:focus-visible { outline: 3px solid var(--eb-navy); outline-offset: 4px; }
.contact-map .leaflet-popup-content-wrapper { background: var(--eb-paper); color: var(--eb-ink); border-radius: 0; box-shadow: 0 2px 10px #0002; }
.contact-map .leaflet-popup-tip { background: var(--eb-paper); }
.contact-map .leaflet-popup-content { margin: 1.25rem 2rem 1.25rem 1rem; font: 0.875rem/1.6 var(--eb-font); overflow-wrap: anywhere; }
.contact-map .leaflet-popup-content strong { display: block; margin-block-end: 0.25rem; }
.contact-map a.leaflet-popup-close-button { width: 32px; height: 32px; font-size: 24px; line-height: 32px; color: var(--eb-navy); }
.entry-content .location-actions { margin-block-start: 1.5rem; gap: 0.75rem; }
.location-actions .wp-block-button__link { font-size: 0.875rem; }
.contact-location .map-privacy { margin-block-start: 1rem; }
@media (min-width: 48rem) {
	.contact-direct { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.location-details { grid-template-columns: 1fr auto; gap: 2rem; }
	.contact-map { height: 460px; }
}
@media (prefers-reduced-motion: reduce) {
	.contact-map .leaflet-zoom-animated { transition: none; }
}
@media print {
	.contact-map, .map-guidance { display: none; }
	.contact-location .location-actions { display: flex; }
}
