/* ============================================
   VinciBridge — Responsive Breakpoints
   ============================================ */

/* ---------- TABLET (≤1024px) ---------- */
@media (max-width: 1024px) {
    .hero__inner {
        grid-template-columns: 1fr;
        gap: var(--space-2xl);
    }
    .hero__left { align-items: center; }
    .hero__text {
        max-width: 100%;
        text-align: center;
    }
    .hero__cta-group { justify-content: center; }
    .hero__video-wrap {
        max-width: 600px;
    }
    .hero__form-wrap {
        max-width: 480px;
        margin: 0 auto;
    }
    .pain-grid__items {
        grid-template-columns: repeat(2, 1fr);
    }
    .pain-card:last-child {
        grid-column: span 2;
    }
    .pillar {
        grid-template-columns: 1fr;
        gap: var(--space-xl);
    }
    .pillar:nth-child(even) { direction: ltr; }
    .pillar__image { max-width: 500px; margin: 0 auto; }
}

/* ---------- MOBILE (≤768px) ---------- */
@media (max-width: 768px) {
    :root {
        --nav-height: 64px;
    }

    .section-title {
        font-size: var(--fs-2xl);
        margin-bottom: var(--space-2xl);
    }

    /* Nav mobile */
    .nav__toggle { display: block; }

    .nav__links {
        position: fixed;
        top: var(--nav-height);
        left: 0;
        right: 0;
        background-color: var(--color-white);
        flex-direction: column;
        gap: 0;
        padding: var(--space-lg) 0;
        border-bottom: 1px solid var(--color-border);
        box-shadow: var(--shadow-md);
        transform: translateY(-120%);
        opacity: 0;
        pointer-events: none;
        transition: transform 300ms ease, opacity 300ms ease;
    }

    .nav__links.is-open {
        transform: translateY(0);
        opacity: 1;
        pointer-events: auto;
    }

    .nav__links li { width: 100%; }

    /* EU button centered inside mobile menu */
    .nav__eu { width: 100%; padding: 0 var(--space-lg); }
    .nav__eu a {
        display: flex;
        justify-content: center;
        width: 100%;
        padding: var(--space-sm) var(--space-md);
    }

    .nav__links a,
    .nav__lang-btn {
        display: block;
        width: 100%;
        padding: var(--space-md) var(--space-lg);
        text-align: center;
    }

    /* Nav CTA in mobile menu */
    .nav__cta-wrap { margin-left: 0; padding: var(--space-sm) var(--space-lg); }
    .nav__cta { width: 100%; }

    /* Hero */
    .hero {
        padding: var(--space-3xl) 0;
        min-height: auto;
    }
    .hero__headline { font-size: var(--fs-3xl); }
    .hero__subheadline { font-size: var(--fs-base); }
    .hero__cta-group {
        flex-direction: column;
        align-items: center;
    }

    /* Pain grid mobile */
    .pain-grid { padding: var(--space-3xl) 0; }
    .pain-grid__items {
        grid-template-columns: 1fr;
        gap: var(--space-lg);
    }
    .pain-card:last-child { grid-column: span 1; }

    /* Pillars mobile */
    .pillars { padding: var(--space-3xl) 0; }
    .pillar__num { font-size: var(--fs-2xl); }
    .pillar__image { max-width: 100%; }

    /* CTA strip mobile */
    .cta-strip { padding: var(--space-3xl) 0; }
    .cta-strip__title { font-size: var(--fs-2xl); }
    .cta-strip__points {
        flex-direction: column;
        align-items: center;
        gap: var(--space-xl);
    }
    .cta-point {
        max-width: 100%;
        text-align: center;
        flex-direction: column;
        align-items: center;
    }

    /* Footer mobile */
    .footer__links {
        flex-wrap: wrap;
        justify-content: center;
        gap: var(--space-md);
    }
    .footer__eu { padding: var(--space-xs) var(--space-sm); }
    .footer__eu img { height: 30px; }

    /* Contact mobile */
    .contact { padding: var(--space-3xl) 0; }
    .contact__grid { grid-template-columns: 1fr; }
}
