/* Keep the alternating desktop layout; stack each location on phones/tablets. */
@media (max-width: 1024px) {
    .locations-page {
        margin-top: 60px !important;
    }

    .locations-page .row.location-row {
        display: flex;
        flex-direction: column;
        gap: 24px;
        margin: 0 auto 48px;
        padding: 0 24px;
        max-width: 680px;
        box-sizing: border-box;
    }

    .locations-page .location-row > .columns {
        float: none;
        width: 100%;
        margin: 0;
        padding: 0;
    }

    .locations-page .location-row .location-image {
        display: block;
        order: 0;
    }

    .locations-page .location-row .columns.location-image img {
        display: block;
        width: 100%;
        height: auto;
        aspect-ratio: 4 / 3;
        object-fit: cover;
    }

    .locations-page .location-row .location-details {
        order: 1;
        margin: 0 !important;
        text-align: left;
        color: #595959;
    }

    .locations-page .location-details h3 {
        margin: 0 0 16px;
        color: #4d7f28;
    }

    .locations-page .location-details p:last-child {
        margin-bottom: 0;
    }

    .locations-page .location-details a {
        color: #4d7f28;
        display: inline-block;
        min-height: 44px;
        padding: 8px 0;
        box-sizing: border-box;
        line-height: 1.5;
        overflow-wrap: anywhere;
    }

    .locations-page .location-details a:focus-visible {
        outline: 2px solid currentColor;
        outline-offset: 4px;
    }

    .locations-page .block-green-quote-full {
        float: none;
        margin: 0 0 32px;
        padding: 20px 24px;
    }

    .locations-page .block-green-quote-full blockquote {
        padding: 0;
        font-size: 26px;
        line-height: 34px;
        text-align: center;
    }
}

@media (max-width: 360px) {
    .locations-page .row.location-row {
        padding-right: 20px;
        padding-left: 20px;
    }
}
