.ocf-service-area-map { background: var(--ocf-bg-alt); }
.ocf-service-area-map__inner { max-width: var(--ocf-container-width); }
.ocf-service-area-map__inner > .heading-2 { margin: 0 auto calc(var(--ocf-grid-gap) * 1.25); text-align: center; }
.ocf-service-area-map__frame { width: 100%; overflow: hidden; border: var(--card-border-width) solid var(--ocf-border); border-radius: var(--card-radius); background: var(--ocf-bg); box-shadow: var(--card-shadow); }
.ocf-service-area-map__frame iframe { display: block; width: 100%; height: clamp(360px, 55vw, 620px); border: 0; }
@media (max-width: 640px) { .ocf-service-area-map__frame iframe { height: 420px; } }

/* OCF_AGENT_BLOCK:service-area-map-inline START */
/* Integrated beneath the service-area directory and contact prompt. */
.ocf-areas-archive .ocf-service-area-map {
    margin-top: calc(var(--ocf-grid-gap) * 1.5);
    padding: calc(var(--ocf-space-unit) * 1.5);
    border: var(--card-border-width) solid var(--ocf-border-light);
    border-radius: var(--card-radius);
}
.ocf-areas-archive .ocf-service-area-map__inner { max-width: var(--ocf-container-width); }
.ocf-areas-archive .ocf-service-area-map__inner > .heading-2 { margin: 0 auto calc(var(--ocf-grid-gap) * 1.25); text-align: center; }
@media (max-width: 640px) {
    .ocf-areas-archive .ocf-service-area-map { padding: calc(var(--ocf-space-unit) * 0.75); }
}
/* OCF_AGENT_BLOCK:service-area-map-inline END */
