.gha__location-info {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

/* Info Cards (left column on desktop) */
.location-info__wrapper {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    gap: 20px;
    align-items: flex-start;
    width: 100%;
}

.location-info__card {
    padding: 0;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.location-info__label {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 0.25rem;
}

.label__label,
.label__label :is(h5, p) {
    margin: 0;
}

.location-info__detail {
    margin-top: auto;
}

.location-info__detail p {
    margin: 0;
}

/* Map section (right column on desktop) */
.location-map__wrapper {
    width: 100%;
    position: relative;
    height: auto;
}

.location-map__wrapper iframe {
    display: block;
    width: 100%;
    height: 300px;
    border: 0;
}

{# Place info cards next to map on larger screens #}
@media (min-width: 1024px) {
    .gha__location-info {
        flex-direction: row;
        /* align-items: flex-start; */
    }

    .location-info__wrapper {
        flex: 0 0 25%;
        max-width: 25%;
        flex-direction: column;
        gap: 0;
    }

    .location-info__card {
        width: 100%;
    }

    .location-info__card + .location-info__card {
        margin-top: 20px;
        padding-top: 20px;
        border-top: 1px solid #545454;
    }

    .location-map__wrapper {
        flex: 1 1 75%;
        max-width: 75%;
        height: auto;
    }

    /* iframe fill up container */
    .location-map__wrapper iframe {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
    }
}

@media (min-width: 768px) and (max-width: 1023px) {
    /* four cards per row on tablets */
    .location-info__card {
        flex: calc(100% / 4 - 20px * 3);
    }

    .location-map__wrapper iframe {
        height: 400px;
    }
}

@media (max-width: 767px) {
    /* two cards per row on mobile devices */
    .location-info__card {
        flex: calc(100% / 2 - 20px);
    }
}