/* ============================================================
   MFALME LUXURY LIVING — RESPONSIVE
   ============================================================ */

/* ============================================================
   LARGE DESKTOP   ≥ 1600px
   ============================================================ */
@media (min-width: 1600px) {
    :root {
        --container-max: 1480px;
    }

    .hero {
        min-height: 88vh;
    }
}

/* ============================================================
   DESKTOP   ≥ 1200px
   ============================================================ */
@media (min-width: 1200px) {
    .hero {
        min-height: 90vh;
    }
}

/* Header currency selector becomes visible from the nav */
@media (min-width: 992px) {
    .nav-currency {
        display: inline-flex;
    }
}

/* Free up header space on narrow desktops by hiding "Sign In" */
@media (min-width: 992px) and (max-width: 1199.98px) {
    .nav-text-btn {
        display: none;
    }
}

/* ============================================================
   TABLET / LARGE MOBILE   < 992px
   ============================================================ */
@media (max-width: 991.98px) {
    .nav-links {
        display: none;
    }

    .nav-text-btn {
        display: none;
    }

    .nav-burger {
        display: inline-flex;
    }

    .nav-currency {
        display: none;
    }

    .site-nav {
        height: 72px;
    }

    .site-header.is-scrolled .site-nav {
        height: 62px;
    }

    .navbar-brand-mark,
    .brand-mark {
        width: 40px;
        height: 40px;
        font-size: 1.4rem;
    }

    /* Hero beats */
    .hero {
        min-height: 100svh;
    }

    .hero-content {
        padding-top: 110px;
        /* extra room so the search card overlaps nicely once stacked */
    }

    .hero-search-wrap {
        margin-top: 0;
    }

    .hero-search-form {
        flex-direction: column;
    }

    .search-field {
        border-right: 0;
        border-bottom: 1px solid var(--hairline);
        padding: 1rem 1.3rem;
    }

    .search-field:last-of-type {
        border-bottom: 0;
    }

    .search-error {
        position: static;
        min-height: 0;
        padding-top: 0.3rem;
    }

    .search-field {
        flex: 1 1 auto;
    }

    .search-field--cta {
        padding: 1rem;
    }

    .search-field--cta .btn {
        height: 54px;
        border-radius: var(--radius-pill);
    }

    .guest-panel {
        position: static;
        margin-top: 0.75rem;
        min-width: 0;
        animation: none;
    }

    /* Press band */
    .press-band .container-xl {
        justify-content: flex-start;
    }

    /* Intro */
    .intro-copy {
        padding-right: 0;
    }

    .intro-visual {
        margin-top: 3rem;
    }

    /* Destinations grid */
    .dest-grid-item {
        grid-column: span 6;
    }

    .dest-grid-item--wide {
        grid-column: span 6;
    }

    /* Footer */
    .footer-top {
        grid-template-columns: 1fr 1fr;
        gap: 2.5rem 2rem;
    }

    .footer-brand-col {
        grid-column: 1 / -1;
    }
}

/* ============================================================
   MOBILE   ≤ 767px
   ============================================================ */
@media (max-width: 767.98px) {
    .section {
        padding-block: 4rem;
    }

    /* Buttons scale down slightly */
    .btn-lg {
        --bs-btn-padding-y: 0.85rem;
        --bs-btn-padding-x: 1.6rem;
    }

    .hero-actions .btn {
        width: 100%;
    }

    .hero-actions {
        gap: 0.75rem;
    }

    /* Press strip */
    .press-band-list {
        gap: 0.4rem 1.4rem;
    }

    .press-band-list li {
        font-size: 0.95rem;
    }

    /* Intro */
    .intro-stats {
        gap: 1.5rem;
    }

    .intro-stat {
        padding-right: 1.5rem;
    }

    .intro-stat-num {
        font-size: 2rem;
    }

    .intro-badge {
        padding: 0.9rem 1.1rem;
    }

    .intro-badge-title {
        font-size: 1rem;
    }

    /* Destinations */
    .dest-grid-item,
    .dest-grid-item--wide {
        grid-column: span 12;
    }

    .dest-tile,
    .dest-tile--wide {
        aspect-ratio: 4 / 5;
    }

    /* Section heads */
    .section-head--row {
        flex-direction: column;
        align-items: flex-start;
        gap: 1rem;
    }

    .section-sub--right {
        max-width: none;
    }

    /* Experience cards a touch shorter on phones */
    .experience-card {
        aspect-ratio: 3 / 4;
    }

    /* Testimonials */
    .testimonial-track {
        min-height: 380px;
    }

    .testimonial-mark {
        font-size: 4.5rem;
    }

    /* Newsletter field */
    .newsletter-field {
        grid-template-columns: 1fr;
        border-radius: var(--radius-md);
        padding: 0.9rem;
    }

    .newsletter-field .btn {
        width: 100%;
    }

    /* Footer */
    .footer-top {
        grid-template-columns: 1fr;
        gap: 2rem;
    }

    .footer-brand-col {
        grid-column: auto;
    }

    .footer-bottom {
        flex-direction: column;
        text-align: center;
    }

    .footer-legal {
        gap: 1rem;
    }
}

/* ============================================================
   SMALL PHONE   ≤ 420px
   ============================================================ */
@media (max-width: 420px) {
    .brand-name {
        font-size: 1.2rem;
    }

    .brand-sub {
        font-size: 0.56rem;
    }

    .btn-cta {
        padding: 0.5rem 1rem;
        font-size: 0.76rem;
    }

    .hero-lead {
        font-size: 1rem;
    }

    .intro-image--small {
        width: 52%;
    }

    .intro-badge {
        right: 8%;
    }
}