/**
 * Section: contact-location-panel
 *
 * Extracted from template-parts/contact_location_panel.php.
 * Loaded via trunorth_enqueue_section('contact-location-panel').
 */

.clp-wrap {
        display: grid;
        grid-template-columns: 1fr 1.5fr;
        min-height: calc(var(--vw) * 46);
        font-family: 'Montserrat', sans-serif;
        background-color: #ffffff;
        padding: calc(var(--vw) * 3) calc(var(--vw) * 0);
    }

    /* --- Info panel --- */
    .clp-info {
        display: flex;
        flex-direction: column;
        padding: calc(var(--vw) * 3) calc(var(--vw) * 0) calc(var(--vw) * 6) calc(var(--vw) * 8);
        gap: calc(var(--vw) * 1);
    }

    .clp-company {
        font-size: var(--font-h2);
        font-weight: 300;
        color: #C22127;
        line-height: 1.2;
    }

    .clp-address {
        font-size: clamp(1rem, calc(var(--vw) * 1.5), calc(var(--vw) * 1.5));
        font-weight: 400;
        color: #333333;
        line-height: 1.4;
        margin: 0;
    }

    .clp-phone-block {
        display: flex;
        flex-direction: column;
        gap: calc(var(--vw) * 0.25);
        margin-top: calc(var(--vw) * 0.5);
    }

    .clp-phone-label {
        font-size: clamp(1rem, calc(var(--vw) * 1.5), calc(var(--vw) * 1.5));
        font-weight: 400;
        color: #C22127;
        margin: 0;
    }

    .clp-phone-number {
        font-size: clamp(1rem, calc(var(--vw) * 1.5), calc(var(--vw) * 1.5));
        font-weight: 400;
        color: #333333;
        margin: 0;
    }

    .clp-note {
        font-size: clamp(1rem, calc(var(--vw) * 1.5), calc(var(--vw) * 1.5));
        font-weight: 400;
        color: #333333;
        line-height: 1.5;
        margin: 0;
        margin-top: calc(var(--vw) * 0.5);
    }

    /* --- Map panel --- */
    .clp-map-panel {
        display: flex;
        align-items: center;
        justify-content: center;
        padding: calc(var(--vw) * 2) calc(var(--vw) * 4);
    }

    .clp-map {
        aspect-ratio: 5 / 4;
        width: auto;
        height: 100%;
        max-height: calc(var(--vw) * 50);
        display: block;
    }

    @media (max-width: 768px) {
        .clp-wrap {
            grid-template-columns: 1fr;
            max-height: unset;
            padding: calc(var(--vw) * 3) calc(var(--vw) * 5) calc(var(--vw) * 3) calc(var(--vw) * 5);
        }

        .clp-info {
            padding: 0;
            gap: calc(var(--vw) * 2);
            order: 1;
        }

        .clp-company {
            font-size: clamp(1.5rem, calc(var(--vw) * 3), calc(var(--vw) * 3));
        }

        .clp-address,
        .clp-phone-label,
        .clp-phone-number,
        .clp-note {
            font-size: clamp(1rem, calc(var(--vw) * 1.5), calc(var(--vw) * 1.5));
        }

        .clp-map-panel {
            order: 2;
            padding: calc(var(--vw) * 1) 0;
            justify-content: center;
        }

        .clp-map {
            width: 100%;
            height: auto;
            max-height: unset;
        }
    }
