/* ============================================================
   MARRC PREMIUM CONTACT LOCATION V2
   Large balanced map layout
   ============================================================ */

html body .contact-location-section {
    width: 100% !important;
    max-width: 1480px !important;

    margin: 0 auto !important;
    padding: 72px 40px !important;

    box-sizing: border-box !important;
}

/* MAIN TWO-COLUMN LAYOUT */
html body .contact-location-section .location-panel {
    display: grid !important;

    grid-template-columns:
        minmax(360px, 0.82fr)
        minmax(560px, 1.18fr) !important;

    gap: 52px !important;

    align-items: center !important;

    width: 100% !important;
    max-width: 1400px !important;

    margin: 0 auto !important;
    padding: 0 !important;

    box-sizing: border-box !important;
}

/* LEFT CONTENT */
html body .contact-location-section .location-details {
    width: 100% !important;
    max-width: 520px !important;

    margin: 0 !important;
    padding: 0 !important;

    box-sizing: border-box !important;
}

html body .contact-location-section .location-details .eyebrow {
    margin: 0 0 18px !important;

    color: #b58b27 !important;

    font-size: 0.78rem !important;
    font-weight: 800 !important;

    letter-spacing: 0.18em !important;
    text-transform: uppercase !important;
}

html body .contact-location-section .location-details h2 {
    margin: 0 0 22px !important;

    color: #0b1730 !important;

    font-size: clamp(2rem, 3.6vw, 3.25rem) !important;

    line-height: 1.08 !important;

    letter-spacing: -0.025em !important;

    max-width: 600px !important;
}

html body .contact-location-section .location-details p:not(.eyebrow) {
    margin: 0 0 30px !important;

    color: #53647a !important;

    font-size: 1.05rem !important;
    font-weight: 500 !important;

    line-height: 1.8 !important;

    max-width: 560px !important;
}

/* GOOGLE MAP BUTTON */
html body .contact-location-section .location-details .button.primary {
    display: inline-flex !important;

    align-items: center !important;
    justify-content: center !important;

    min-height: 58px !important;

    padding: 0 32px !important;

    border-radius: 999px !important;

    font-size: 1rem !important;
    font-weight: 750 !important;

    text-decoration: none !important;

    white-space: nowrap !important;

    box-shadow:
        0 12px 28px rgba(0,0,0,0.14) !important;

    transition:
        transform .2s ease,
        box-shadow .2s ease !important;
}

html body .contact-location-section .location-details .button.primary:hover {
    transform: translateY(-2px) !important;

    box-shadow:
        0 16px 34px rgba(0,0,0,0.18) !important;
}

/* ============================================================
   MAP COLUMN
   ============================================================ */

html body .contact-location-section .location-map {
    display: block !important;

    width: 100% !important;
    max-width: none !important;

    min-width: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    box-sizing: border-box !important;

    overflow: hidden !important;

    border-radius: 22px !important;

    background: #e9edf2 !important;

    border: 1px solid rgba(12,29,53,0.10) !important;

    box-shadow:
        0 22px 55px rgba(12,29,53,0.16),
        0 4px 14px rgba(12,29,53,0.08) !important;
}

html body .contact-location-section .location-map iframe {
    display: block !important;

    width: 100% !important;

    height: 440px !important;

    min-height: 440px !important;

    max-height: none !important;

    margin: 0 !important;
    padding: 0 !important;

    border: 0 !important;

    border-radius: 22px !important;

    box-sizing: border-box !important;
}

/* ============================================================
   LARGE DESKTOP
   ============================================================ */

@media (min-width: 1400px) {
    html body .contact-location-section .location-panel {
        grid-template-columns:
            minmax(420px, 0.78fr)
            minmax(650px, 1.22fr) !important;

        gap: 64px !important;
    }

    html body .contact-location-section .location-map iframe {
        height: 460px !important;
        min-height: 460px !important;
    }
}

/* ============================================================
   TABLET
   ============================================================ */

@media (max-width: 1050px) {
    html body .contact-location-section {
        padding: 58px 28px !important;
    }

    html body .contact-location-section .location-panel {
        grid-template-columns:
            minmax(300px, 0.82fr)
            minmax(430px, 1.18fr) !important;

        gap: 34px !important;
    }

    html body .contact-location-section .location-map iframe {
        height: 390px !important;
        min-height: 390px !important;
    }
}

/* ============================================================
   SMALL TABLET / MOBILE
   ============================================================ */

@media (max-width: 780px) {
    html body .contact-location-section {
        padding: 48px 20px !important;
    }

    html body .contact-location-section .location-panel {
        grid-template-columns: 1fr !important;

        gap: 34px !important;

        max-width: 680px !important;
    }

    html body .contact-location-section .location-details {
        max-width: none !important;
    }

    html body .contact-location-section .location-details h2 {
        font-size: clamp(2rem, 8vw, 2.7rem) !important;
    }

    html body .contact-location-section .location-map iframe {
        height: 380px !important;
        min-height: 380px !important;
    }
}

/* ============================================================
   MOBILE
   ============================================================ */

@media (max-width: 520px) {
    html body .contact-location-section {
        padding: 38px 16px !important;
    }

    html body .contact-location-section .location-panel {
        gap: 28px !important;
    }

    html body .contact-location-section .location-details p:not(.eyebrow) {
        font-size: 0.98rem !important;
        line-height: 1.7 !important;
    }

    html body .contact-location-section .location-details .button.primary {
        width: 100% !important;
        min-height: 54px !important;

        padding: 0 20px !important;

        font-size: 0.93rem !important;

        white-space: normal !important;
        text-align: center !important;
    }

    html body .contact-location-section .location-map {
        border-radius: 18px !important;
    }

    html body .contact-location-section .location-map iframe {
        height: 330px !important;
        min-height: 330px !important;

        border-radius: 18px !important;
    }
}

/* ============================================================
   MARRC PREMIUM CONTACT LOCATION V2 END
   ============================================================ */
