/* =========================================================
   CONTACT US MAP
========================================================= */

section[data-module="contact-us-map"] {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 0;
    overflow: hidden;
    background-color: var(--color-white);
}


/* =========================================================
   MAP WRAPPER
========================================================= */

section[data-module="contact-us-map"] .contact-us-map-wrap {
    position: relative;
    width: 100%;
    height: var(--contact-map-height,520px);
    min-height: 400px;
    overflow: hidden;
    background-color: #e6e7e8;
}


/* =========================================================
   GOOGLE MAP
========================================================= */

section[data-module="contact-us-map"] .contact-us-map-frame {
    position: relative;
    z-index: 1;
    display: block;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    border: 0;
}


/* =========================================================
   PLACEHOLDER
========================================================= */

section[data-module="contact-us-map"] .contact-us-map-placeholder {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    background-color: #d1d3d4;
    font-family: var(--font-heading);
    font-size: 40px;
    font-weight: 400;
    line-height: 1.2;
    color: var(--color-white);
    text-align: center;
}


/* =========================================================
   DECORATIVE SHAPES
========================================================= */

section[data-module="contact-us-map"] .contact-us-map-shape {
    position: absolute;
    bottom: 0;
    z-index: 3;
    display: block;
    background-repeat: no-repeat;
    background-size: contain;
    pointer-events: none;
}


/* =========================================================
   LEFT SHAPE
========================================================= */

section[data-module="contact-us-map"] .contact-us-map-shape-left {
    left: 0;
    width: 520px;
    height: 240px;
    background-image: url("/wp-content/uploads/2026/08/shape-left.png");
    background-position: left bottom;
}


/* =========================================================
   RIGHT SHAPE
========================================================= */

section[data-module="contact-us-map"] .contact-us-map-shape-right {
    right: 0;
    width: 520px;
    height: 240px;
    background-image: url("/wp-content/uploads/2026/08/shape-right.png");
    background-position: right bottom;
}


/* =========================================================
   <= 1400
========================================================= */

@media (max-width: 1400px) {

    section[data-module="contact-us-map"] .contact-us-map-shape-left,
    section[data-module="contact-us-map"] .contact-us-map-shape-right {
        width: 460px;
        height: 220px;
    }
}


/* =========================================================
   <= 1200
========================================================= */

@media (max-width: 1200px) {

    section[data-module="contact-us-map"] .contact-us-map-wrap {
        min-height: 380px;
    }

    section[data-module="contact-us-map"] .contact-us-map-shape-left,
    section[data-module="contact-us-map"] .contact-us-map-shape-right {
        width: 400px;
        height: 195px;
    }
}


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

@media (max-width: 1024px) {

    section[data-module="contact-us-map"] .contact-us-map-wrap {
        height: 450px;
        min-height: 350px;
    }

    section[data-module="contact-us-map"] .contact-us-map-shape-left,
    section[data-module="contact-us-map"] .contact-us-map-shape-right {
        width: 330px;
        height: 170px;
    }

    section[data-module="contact-us-map"] .contact-us-map-placeholder {
        font-size: 34px;
    }
}


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

@media (max-width: 767px) {

    section[data-module="contact-us-map"] .contact-us-map-wrap {
        height: 400px;
        min-height: 320px;
    }

    section[data-module="contact-us-map"] .contact-us-map-shape-left,
    section[data-module="contact-us-map"] .contact-us-map-shape-right {
        width: 230px;
        height: 125px;
    }

    section[data-module="contact-us-map"] .contact-us-map-placeholder {
        font-size: 28px;
    }
}


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

@media (max-width: 480px) {

    section[data-module="contact-us-map"] .contact-us-map-wrap {
        height: 350px;
        min-height: 300px;
    }

    section[data-module="contact-us-map"] .contact-us-map-shape-left,
    section[data-module="contact-us-map"] .contact-us-map-shape-right {
        width: 175px;
        height: 100px;
    }

    section[data-module="contact-us-map"] .contact-us-map-placeholder {
        font-size: 24px;
    }
}