/* =========================================================
   VMENTORZ — CONTACT PAGE
   contact-responsive.css
   Mobile + Tablet Optimization
   ========================================================= */


/* =========================================================
   TABLET
   901px → 1200px
========================================================= */

@media (max-width: 1200px) {

    .contact-page {
        padding-left: 24px;
        padding-right: 24px;
    }

    .contact-grid {
        max-width: 100%;
        gap: 22px;
    }

    .contact-info-card,
    .contact-map-card {
        border-radius: 22px;
    }

    .contact-info-card {
        padding: 28px;
    }

    .contact-map-card {
        padding: 22px;
    }

    .map-wrapper {
        height: 360px;
    }

}


/* =========================================================
   TABLET / SMALL LAPTOP
   768px → 900px
========================================================= */

@media (max-width: 900px) {

    .contact-page {
        padding-top: 105px;
        padding-bottom: 70px;
    }


    /* Heading */

    .contact-heading {
        max-width: 680px;
        margin-bottom: 40px;
    }

    .contact-heading h1 {
        font-size: 48px;
    }

    .contact-heading p {
        font-size: 15px;
        line-height: 1.7;
    }


    /* Stack cards */

    .contact-grid {
        grid-template-columns: 1fr;
        gap: 24px;
        max-width: 720px;
        margin: 0 auto;
    }


    /* Contact card */

    .contact-info-card {
        padding: 30px;
    }


    /* Map */

    .contact-map-card {
        padding: 24px;
    }

    .map-wrapper {
        height: 380px;
    }


    /* Bottom message */

    .contact-bottom-message {
        max-width: 720px;
    }

}


/* =========================================================
   MOBILE
   576px → 767px
========================================================= */

@media (max-width: 767px) {

    .contact-page {
        min-height: auto;
        padding: 90px 18px 55px;
    }


    /* -----------------------------------------
       Heading
    ----------------------------------------- */

    .contact-heading {
        margin-bottom: 32px;
    }

    .contact-eyebrow {
        padding: 7px 12px;
        font-size: 10px;
    }

    .contact-heading h1 {
        font-size: clamp(38px, 10vw, 46px);
        letter-spacing: -0.04em;
    }

    .contact-heading p {
        margin-top: 15px;
        font-size: 13px;
        line-height: 1.7;
    }


    /* -----------------------------------------
       Contact Grid
    ----------------------------------------- */

    .contact-grid {
        display: flex;
        flex-direction: column;
        gap: 20px;
    }


    /* -----------------------------------------
       Cards
    ----------------------------------------- */

    .contact-info-card,
    .contact-map-card {
        width: 100%;
        border-radius: 20px;
    }

    .contact-info-card {
        padding: 22px;
    }

    .contact-map-card {
        padding: 18px;
    }


    /* -----------------------------------------
       Contact Header
    ----------------------------------------- */

    .contact-card-header {
        gap: 12px;
        padding-bottom: 20px;
    }

    .contact-card-icon {
        width: 46px;
        height: 46px;
        flex-basis: 46px;
        border-radius: 13px;
        font-size: 17px;
    }

    .contact-card-header h2,
    .map-header h2 {
        font-size: 20px;
    }


    /* -----------------------------------------
       Contact Details
    ----------------------------------------- */

    .contact-detail {
        gap: 12px;
        padding: 16px 0;
    }

    .detail-icon {
        width: 37px;
        height: 37px;
        flex-basis: 37px;
        border-radius: 10px;
        font-size: 13px;
    }

    .contact-detail h3 {
        font-size: 13px;
    }

    .contact-detail p,
    .contact-detail a {
        font-size: 12px;
        line-height: 1.6;
    }


    /* -----------------------------------------
       Social Footer
    ----------------------------------------- */

    .contact-card-footer {
        gap: 14px;
        padding-top: 18px;
    }

    .contact-card-footer > span {
        font-size: 11px;
    }


    /* -----------------------------------------
       Map Header
    ----------------------------------------- */

    .map-header {
        padding: 4px 3px 15px;
    }

    .map-pin {
        width: 38px;
        height: 38px;
        border-radius: 11px;
        font-size: 15px;
    }


    /* -----------------------------------------
       Google Map
    ----------------------------------------- */

    .map-wrapper {
        height: 300px;
        border-radius: 14px;
    }


    /* -----------------------------------------
       Map Location
    ----------------------------------------- */

    .map-location-info {
        gap: 10px;
        margin-top: 12px;
        padding: 12px;
        border-radius: 12px;
    }

    .map-location-icon {
        width: 34px;
        height: 34px;
        flex-basis: 34px;
        border-radius: 9px;
        font-size: 12px;
    }

    .map-location-info strong {
        font-size: 12px;
    }

    .map-location-info p {
        font-size: 10px;
    }

    .directions-btn {
        width: 100%;
        justify-content: center;
        margin-top: 5px;
        padding: 11px;
        font-size: 11px;
    }


    /* -----------------------------------------
       Bottom Message
    ----------------------------------------- */

    .contact-bottom-message {
        align-items: flex-start;
        justify-content: flex-start;
        margin-top: 20px;
        padding: 14px 16px;
        border-radius: 14px;
    }

    .bottom-message-icon {
        width: 34px;
        height: 34px;
        flex-basis: 34px;
        border-radius: 10px;
    }

    .contact-bottom-message strong {
        font-size: 12px;
    }

    .contact-bottom-message p {
        font-size: 10px;
        line-height: 1.5;
    }


    /* -----------------------------------------
       Background Glow
    ----------------------------------------- */

    .contact-glow-one {
        width: 220px;
        height: 220px;
        right: -120px;
        top: 100px;
    }

    .contact-glow-two {
        width: 200px;
        height: 200px;
        left: -120px;
        bottom: -70px;
    }

}


/* =========================================================
   SMALL MOBILE
   375px → 575px
========================================================= */

@media (max-width: 575px) {

    .contact-page {
        padding: 80px 14px 45px;
    }


    /* Heading */

    .contact-heading h1 {
        font-size: 38px;
    }

    .contact-heading p {
        font-size: 12px;
    }


    /* Cards */

    .contact-info-card {
        padding: 19px;
    }

    .contact-map-card {
        padding: 15px;
    }


    /* Header */

    .contact-card-header h2,
    .map-header h2 {
        font-size: 18px;
    }

    .contact-card-header span,
    .map-header span {
        font-size: 9px;
    }


    /* Details */

    .contact-detail {
        padding: 14px 0;
    }

    .contact-detail p,
    .contact-detail a {
        font-size: 11px;
    }


    /* Map */

    .map-wrapper {
        height: 260px;
    }


    /* Social icons */

    .contact-socials a {
        width: 31px;
        height: 31px;
        font-size: 11px;
    }

}


/* =========================================================
   VERY SMALL DEVICES
   Below 375px
========================================================= */

@media (max-width: 374px) {

    .contact-page {
        padding-left: 12px;
        padding-right: 12px;
    }

    .contact-heading h1 {
        font-size: 34px;
    }

    .contact-heading p {
        font-size: 11px;
    }

    .contact-info-card {
        padding: 17px;
    }

    .contact-map-card {
        padding: 13px;
    }

    .contact-detail {
        gap: 9px;
    }

    .detail-icon {
        width: 34px;
        height: 34px;
        flex-basis: 34px;
    }

    .map-wrapper {
        height: 235px;
    }

}


/* =========================================================
   LANDSCAPE MOBILE
========================================================= */

@media (max-width: 767px) and (orientation: landscape) {

    .contact-page {
        padding-top: 75px;
    }

    .map-wrapper {
        height: 280px;
    }

}


/* =========================================================
   REDUCE MOTION
   Accessibility
========================================================= */

@media (prefers-reduced-motion: reduce) {

    .contact-detail:hover .detail-icon,
    .contact-socials a:hover,
    .directions-btn:hover {
        transform: none;
    }

}