/**
 * Map Block Styles
 */

.block-map {
    --block-map-safe-space: 0.5em;

    background-color: var(--color-1, #F1EEE9);
    color: var(--color-2, #03090D);
    padding: 0 var(--block-map-safe-space) var(--block-map-safe-space);
}

.block-map__container {
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(var(--grid-columns), minmax(0, 1fr));
    column-gap: var(--grid-gap);
    padding: 5em var(--grid-margin) 6em;
}

.block-map__content {
    grid-column: 2 / 5;
    grid-row: 1 / 3;
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: clamp(13em, 17vw, 19em);
}

.block-map__title-wrap {
    width: 100%;
}

.block-map__title {
    margin: 0;
}

.block-map__info {
    width: min(100%, 16em);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2em;
}

.block-map__button {
    margin-top: 0.25em;
}

.block-map__media {
    grid-column: 5 / -1;
    grid-row: 2;
    position: relative;
    width: calc(100% + var(--grid-margin));
    margin-top: -5em;
    margin-right: calc(var(--grid-margin) * -1);
    overflow: hidden;
    background-color: #e8e4dc;
    border-radius: 0.375em;
}

.block-map__image-link {
    display: block;
    width: 100%;
}

.block-map__image {
    width: 100%;
    height: auto;
    display: block;
}

@media screen and (max-width: 1024px) {
    .block-map {
        --block-map-safe-space: 0.375em;
        padding: 0 0.375em 0.375em;
    }

    .block-map__container {
        grid-template-columns: 1fr;
        padding: 4em var(--grid-margin) 3.375em;
    }

    .block-map__content,
    .block-map__media {
        grid-column: 1 / -1;
        grid-row: auto;
    }

    .block-map__content {
        gap: 6em;
    }

    .block-map__media {
        width: calc(100% + (var(--grid-margin) * 2));
        margin-top: 0;
        margin-right: calc(var(--grid-margin) * -1);
        margin-left: calc(var(--grid-margin) * -1);
    }

    .block-map__title {
        max-width: 18em;
    }

    .block-map__info {
        width: 100%;
        gap: 1.875em;
        margin-bottom: 2em;
    }

    .block-map__text {
        max-width: 17em;
    }

    .block-map__button {
        margin-top: 0;
    }
}
