/* Kein eigenes Section-Padding: die Themes geben jedem Inhaltsblock über
   `main > section[class*="block-"]` automatisch vertikalen Abstand. */
.block-map h2 { margin-bottom: 16px; }
.block-map .map-frame {
    position: relative;
    width: 100%;
    height: 450px;
    border-radius: var(--radius-md, 12px);
    overflow: hidden;
    box-shadow: var(--shadow, 0 2px 16px rgba(0,0,0,0.08));
}
.block-map .map-frame iframe {
    width: 100%; height: 100%; border: 0;
}
.block-map .map-address {
    margin-top: 12px;
    text-align: center;
    font-size: 0.95rem;
    color: var(--text-medium, #64748b);
}
.block-map .map-actions {
    display: flex;
    justify-content: center;
    margin-top: 18px;
    /* Abstand nach unten, damit der Button nicht am Footer klebt */
    margin-bottom: 8px;
}
.block-map .map-route-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    text-decoration: none;
}
.block-map .map-error {
    padding: 16px;
    background: #fef3c7;
    border: 1px solid #f59e0b;
    border-radius: 8px;
    color: #92400e;
}

@media (max-width: 768px) {
    .block-map .map-frame { height: 320px; }
}
