.local-map { scroll-margin-top: 96px; padding: 56px 0; background: var(--bg-body); }
.local-map-panel { overflow: hidden; border: 1px solid var(--border-color); border-radius: var(--border-radius); background: var(--bg-card); }
.local-map-consent { min-height: 300px; padding: 32px 24px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 18px; text-align: center; }
.local-map-note { max-width: 560px; color: var(--text-secondary); font-size: .9rem; }
.local-map iframe { display: block; width: 100%; height: 380px; border: 0; }
.local-map [hidden] { display: none; }
.local-map-caption { margin-top: 16px; font-size: .875rem; color: var(--text-secondary); }
.local-map-caption a { color: var(--primary-color); text-decoration: underline; }
@media (max-width: 600px) { .local-map { padding: 40px 0; } .local-map iframe { height: 320px; } .local-map .btn { white-space: normal; text-align: center; } }
