/* Responsive rules for desktop, tablet, and mobile. */

/* =========================================
   MAHATEJ HEADER — RESPONSIVE
   ========================================= */

@media (max-width: 1366px) {
    .nav-list > li > a {
        font-size: 0.78rem;
        padding: 0 0.68rem;
    }

    .brand-logo {
        width: 6.2rem;
        height: 6.2rem;
    }
}

@media (max-width: 1240px) {
    .topbar-license span:last-child {
        white-space: normal;
    }

    .topbar-inner {
        padding-top: 0.35rem;
        padding-bottom: 0.35rem;
    }
}

@media (max-width: 1099px) {
    .navbar-inner {
        flex-wrap: wrap;
        min-height: 4.15rem;
    }

    .brand {
        margin: 0.2rem 0 -0.65rem;
    }

    .brand-logo {
        width: 4.75rem;
        height: 4.75rem;
    }

    .navbar-tools {
        display: flex;
    }

    .search-btn-mobile {
        display: inline-flex;
    }

    .search-btn-desktop {
        display: none;
    }

    .nav-toggle {
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }

    .site-nav {
        display: none;
        width: 100%;
        flex: 1 0 100%;
        flex-direction: column;
        align-items: stretch;
        padding: 0.4rem 0 0.9rem;
        border-top: 1px solid #e8edf3;
    }

    .site-nav.is-open {
        display: flex;
    }

    .nav-list {
        flex-direction: column;
        align-items: stretch;
    }

    .nav-list > li,
    .nav-list > li + li {
        border-left: 0;
        border-top: 1px solid #eef2f6;
    }

    .nav-list > li > a {
        padding: 0.85rem 0.35rem;
        white-space: normal;
        font-size: 0.95rem;
        clip-path: none;
    }

    .nav-list > li > a[aria-current="page"] {
        clip-path: none;
        box-shadow: inset 4px 0 0 var(--color-gold);
    }
}

@media (max-width: 720px) {
    .topbar-inner {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.2rem;
    }

    .topbar-right {
        width: 100%;
        justify-content: flex-start;
        flex-wrap: wrap;
    }

    .topbar-contact {
        padding-left: 0;
        padding-right: 0.75rem;
    }

    .topbar-contact + .topbar-contact {
        border-left: 0;
    }

    .topbar-launcher {
        border-left: 0;
    }

    .quick-services {
        right: auto;
        left: 0;
    }

    .hero-inner,
    .page-hero-inner,
    .cta-inner,
    .section {
        padding-top: 2.75rem;
        padding-bottom: 2.75rem;
    }

    h1 {
        max-width: none;
    }

    .card-grid,
    .reason-grid,
    .split,
    .footer-inner,
    .contact-grid {
        grid-template-columns: 1fr;
    }

    .hero-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .hero-actions .btn,
    .cta-inner .btn {
        width: 100%;
    }
}

@media (max-width: 430px) {
    .topbar {
        font-size: 0.72rem;
    }

    .brand-logo {
        width: 4.25rem;
        height: 4.25rem;
    }

    .brand {
        margin-bottom: -0.45rem;
    }

    .quick-services {
        width: min(18.75rem, calc(100vw - 1.25rem));
        left: 0;
        right: auto;
    }
}

@media (max-width: 360px) {
    .quick-services-grid {
        grid-template-columns: 1fr;
    }

    .quick-service {
        min-height: 4.75rem;
        flex-direction: row;
        justify-content: flex-start;
        text-align: left;
        padding-left: 0.85rem;
    }
}

@media (min-width: 1100px) {
    .card-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .reason-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 960px) and (min-width: 721px) {
    .card-grid,
    .reason-grid,
    .split,
    .footer-inner,
    .contact-grid {
        grid-template-columns: 1fr 1fr;
    }
}

body.nav-open {
    overflow: hidden;
}
