/* ============================================================
   VAMOS – cssResponsive.css
   Media queries – Mobile first
   ============================================================ */

@media (max-width: 1100px) {
    .steps-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 960px) {
    /* Nav */
    .nav-links, .nav-cta { display: none; }
    .nav-hamburger { display: flex; }
    .nav-links.open {
        display: flex; flex-direction: column; align-items: flex-start;
        position: fixed; top: 72px; left: 0; right: 0;
        background: rgba(26, 26, 26, 0.98);
        padding: 24px 5%; gap: 20px;
        border-bottom: 1px solid var(--border);
    }

    /* Hero */
    .hero-visual { display: none; }
    .hero-content { max-width: 100%; }

    /* Grilles */
    .features-grid { grid-template-columns: 1fr; }
    .feature-card.large { grid-column: span 1; }
    .pricing-grid  { grid-template-columns: 1fr; }
    .reviews-grid  { grid-template-columns: 1fr; }
    .status-row    { grid-template-columns: 1fr; }
    .contact-grid  { grid-template-columns: 1fr; gap: 48px; }
    .footer-grid   { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 600px) {
    section { padding: 70px 5%; }
    .steps-grid  { grid-template-columns: 1fr; }
    .form-row    { grid-template-columns: 1fr; }
    .footer-grid { grid-template-columns: 1fr; }
    .hero-stats  { gap: 24px; }
    .hero h1     { letter-spacing: -1.5px; }
    .cookie-banner { bottom: 0; left: 0; right: 0; border-radius: var(--radius-lg) var(--radius-lg) 0 0; }
}


/* ============================================================
   PATCH MULTILANGUE MOBILE
   ============================================================ */
@media (max-width: 960px) {
    .nav-lang-mobile {
        display: block !important;
        width: 100% !important;
        margin-top: 6px !important;
    }

    .nav-lang-mobile .lang-dropdown {
        width: 100% !important;
        margin-right: 0 !important;
    }

    .nav-lang-mobile .lang-trigger {
        width: 100% !important;
        justify-content: space-between !important;
        border-radius: 14px !important;
        padding: 12px 14px !important;
    }

    .nav-lang-mobile .lang-menu {
        position: static !important;
        width: 100% !important;
        margin-top: 10px !important;
        box-shadow: 0 10px 28px rgba(15,23,42,0.14) !important;
        transform: none !important;
    }

    .nav-links.open {
        z-index: 1500 !important;
        background: rgba(255,255,255,0.98) !important;
        border-bottom: 1px solid #E2E8F0 !important;
        box-shadow: 0 18px 40px rgba(15,23,42,0.14) !important;
    }

    .nav-links.open a:not(.lang-opt) {
        color: #1A1A1A !important;
    }
}
