.contact-location-map{box-sizing:border-box;grid-column:1/-1;width:100%;max-width:1200px;margin:1.5rem auto;padding:clamp(16px,3vw,24px);border:1px solid color-mix(in srgb,currentColor 18%,transparent);border-radius:12px;color:inherit;background:transparent}
.contact-location-map h2{margin:0 0 .75rem;font-size:clamp(1.15rem,2vw,1.5rem);line-height:1.25}
.contact-location-map address{margin:0 0 .5rem;font:inherit;overflow-wrap:anywhere}
.contact-location-map__registered{margin:0 0 1rem;font-size:.875rem;opacity:.8}
.contact-location-map__canvas{min-height:280px;overflow:hidden;border-radius:8px;background:color-mix(in srgb,currentColor 5%,transparent)}
.contact-location-map__placeholder{display:flex;min-height:280px;padding:24px;flex-direction:column;align-items:center;justify-content:center;gap:16px;text-align:center}
.contact-location-map__placeholder p{max-width:560px;margin:0}
.contact-location-map button{min-height:44px;padding:10px 18px;border:1px solid currentColor;border-radius:8px;color:inherit;background:transparent;font:inherit;cursor:pointer}
.contact-location-map button:hover{background:color-mix(in srgb,currentColor 8%,transparent)}
.contact-location-map button:focus-visible,.contact-location-map__external:focus-visible{outline:2px solid currentColor;outline-offset:4px}
.contact-location-map iframe{display:block;width:100%;height:360px;border:0}
.contact-location-map__external{display:inline-flex;align-items:center;gap:6px;min-height:44px;margin-top:8px;color:inherit;font-weight:600;text-decoration:underline;text-underline-offset:3px}
@media(max-width:575.98px){.contact-location-map iframe{height:300px}}
