/* ============================================
   GREENSPARK — responsive.css
   Media Queries
   ============================================ */

/* --- Tablet (max 1024px) --- */
@media (max-width: 1024px) {
    :root {
        --font-size-5xl: 2.5rem;
        --font-size-4xl: 2rem;
        --font-size-3xl: 1.75rem;
    }

    .functions__grid {
        grid-template-columns: repeat(3, 1fr);
    }

    .solutions__grid {
        grid-template-columns: repeat(3, 1fr);
    }

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

    .stats-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .contact__grid {
        grid-template-columns: 1fr;
        gap: var(--space-2xl);
    }

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

    .qualiopi__badge {
        flex: 0 0 auto;
    }
}

/* --- Small Tablet (max 768px) --- */
@media (max-width: 768px) {
    :root {
        --font-size-5xl: 2rem;
        --font-size-4xl: 1.75rem;
        --font-size-3xl: 1.5rem;
        --space-4xl: 4rem;
    }

    .container {
        padding: 0 var(--space-lg);
    }

    /* Navigation mobile */
    .nav__toggle {
        display: flex;
    }

    .nav__list {
        display: none;
        position: absolute;
        top: var(--nav-height);
        left: 0;
        right: 0;
        flex-direction: column;
        background: rgba(255, 255, 255, 0.96);
        backdrop-filter: saturate(180%) blur(20px);
        -webkit-backdrop-filter: saturate(180%) blur(20px);
        border-bottom: 1px solid var(--color-border);
        box-shadow: var(--shadow-8);
        padding: var(--space-md);
        gap: var(--space-xs);
    }

    .nav__list.open {
        display: flex;
    }

    .nav__link {
        width: 100%;
        padding: var(--space-md);
        border-radius: var(--radius-md);
    }

    .nav__link--cta {
        text-align: center;
        margin-top: var(--space-sm);
    }

    /* Grids */
    .argument__grid {
        grid-template-columns: 1fr;
    }

    .reasons__grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .solutions__grid {
        grid-template-columns: 1fr;
        max-width: 400px;
        margin-left: auto;
        margin-right: auto;
    }

    .functions__grid {
        grid-template-columns: repeat(2, 1fr);
    }

    /* Hero */
    .hero__logo {
        width: 100px;
        height: 100px;
    }

    .hero__subtitle {
        font-size: var(--font-size-base);
    }

    /* Map */
    #map {
        height: 350px;
    }

    /* Carousel arrows */
    .carousel__arrow--prev {
        left: 8px;
    }

    .carousel__arrow--next {
        right: 8px;
    }

    /* Partners */
    .partner-card {
        width: 150px;
    }

    /* Footer */
    .footer .container {
        flex-direction: column;
        text-align: center;
    }

    .footer__links {
        flex-wrap: wrap;
        justify-content: center;
    }
}

/* --- Mobile (max 480px) --- */
@media (max-width: 480px) {
    :root {
        --font-size-5xl: 1.75rem;
        --font-size-4xl: 1.5rem;
        --font-size-3xl: 1.25rem;
        --space-4xl: 3rem;
        --space-3xl: 2.5rem;
    }

    .container {
        padding: 0 var(--space-md);
    }

    .reasons__grid {
        grid-template-columns: 1fr;
    }

    .functions__grid {
        grid-template-columns: repeat(2, 1fr);
        gap: var(--space-md);
    }

    .hero {
        min-height: auto;
        padding-top: calc(var(--nav-height) + var(--space-3xl));
        padding-bottom: var(--space-3xl);
        padding-left: var(--space-lg);
        padding-right: var(--space-lg);
        text-align: center;
        justify-content: center;
    }

    .hero__logo {
        margin: 0 auto var(--space-xl);
    }

    .hero__subtitle {
        margin: 0 auto var(--space-2xl);
    }

    .hero__actions {
        flex-direction: column;
        align-items: center;
    }

    .announce__features {
        flex-direction: column;
        align-items: center;
    }

    .stats-grid {
        grid-template-columns: 1fr;
        gap: var(--space-md);
    }

    .references__tabs {
        gap: var(--space-xs);
    }

    .tab-btn {
        padding: var(--space-sm) var(--space-md);
        font-size: var(--font-size-xs);
    }

    .reference-logo {
        width: 100px;
        height: 60px;
    }

    #map {
        height: 280px;
    }

    .partner-card {
        width: calc(50% - var(--space-sm));
    }

    .btn--lg {
        padding: 14px 28px;
        font-size: var(--font-size-base);
    }

    .scroll-indicator {
        display: none;
    }
}

/* --- Large screens (min 1400px) --- */
@media (min-width: 1400px) {
    :root {
        --container-max: 1320px;
    }
}
