/* ==============================================
   RESPONSIVE — Formation Praticien EFT v5
   Editorial magazine approach
   ============================================== */

/* Desktop small (< 1024px) */
@media (max-width: 1024px) {
    .split { grid-template-columns: 1fr; gap: var(--gap); }
    .split--wide-left, .split--wide-right { grid-template-columns: 1fr; }
    .split__body { max-width: none; }

    .bento { grid-template-columns: repeat(2, 1fr); }
    .bento-card--span2 { grid-column: span 1; }

    .content-layout { grid-template-columns: 1fr; }
    .content-sidebar { order: -1; position: static; }

    .blog-grid { grid-template-columns: repeat(2, 1fr); }
    .related-articles__grid { grid-template-columns: repeat(2, 1fr); }
    .footer-grid { grid-template-columns: repeat(2, 1fr); }
    .card-grid { grid-template-columns: repeat(2, 1fr); }
    .pricing-cards { grid-template-columns: repeat(2, 1fr); }
    .steps { grid-template-columns: repeat(2, 1fr); }

    .pre-footer-cta__inner { flex-direction: column; text-align: center; }
    .pre-footer-cta__content p { max-width: none; }

    .hscroll__card { flex: 0 0 280px; }
}


/* Tablet (< 768px) */
@media (max-width: 768px) {
    .site-header .container { height: auto; }

    /* Navigation mobile */
    .main-nav {
        position: fixed; top: 0; left: 0; right: 0; bottom: 0;
        background: var(--white); z-index: 999;
        padding: calc(80px + 1.5rem) var(--gutter) 2rem;
        flex-direction: column; justify-content: flex-start;
        overflow-y: auto;
        transform: translateX(100%);
        transition: transform var(--transition);
    }
    .main-nav.is-open { transform: translateX(0); }
    .nav-list { flex-direction: column; align-items: stretch; gap: 0; }
    .nav-item > a {
        padding: 1rem 0.5rem;
        font-size: var(--fs-body);
        color: var(--slate) !important;
        border-bottom: 1px solid var(--border);
        border-radius: 0;
    }
    .nav-item > a:hover { background: none; color: var(--violet) !important; }
    .nav-item > a .nav-chevron { display: none; }

    /* Mega menu on mobile: stacked */
    .mega-menu {
        position: static;
        opacity: 1;
        visibility: visible;
        transform: none;
        box-shadow: none;
        border: none;
        padding: 0.5rem 0;
        background: var(--cloud);
        border-radius: var(--radius);
        margin-bottom: 0.5rem;
    }
    .mega-menu__inner {
        grid-template-columns: 1fr;
        gap: 1rem;
        padding: 0.75rem;
    }
    .mega-menu__featured { display: none; }
    .mega-menu__link { padding: 0.5rem; }
    .mega-menu__link-icon { display: none; }
    .mega-menu__link-desc { display: none; }
    .mega-menu__col-title { margin-bottom: 0.5rem; font-size: 0.6875rem; }

    .dropdown {
        position: static; transform: none; opacity: 1; visibility: visible;
        box-shadow: none; border: none; background: var(--cloud);
        border-radius: var(--radius); padding: 0.5rem; margin: 0 0 0.5rem; min-width: auto;
    }
    .dropdown a { padding: 0.625rem 1rem; }
    .nav-cta { display: none; }
    .menu-toggle { display: block; }

    /* Hero */
    .hero-cover {
        min-height: 85vh;
        padding-bottom: clamp(2rem, 6vw, 4rem);
    }
    .hero-cover__title { font-size: clamp(2.25rem, 6vw, 3.5rem); }
    .hero-cover__actions { flex-direction: column; align-items: flex-start; }
    .hero-cover__actions .btn { width: 100%; max-width: 320px; }
    .hero__actions { flex-direction: column; align-items: flex-start; }
    .hero__actions .btn { width: 100%; max-width: 320px; }

    /* Sub-page grids */
    .card-grid { grid-template-columns: 1fr; }
    .pricing-cards { grid-template-columns: 1fr; }
    .steps { grid-template-columns: 1fr; }
    .comparison-table { font-size: var(--fs-xs); }
    .table th, .table td { padding: 0.75rem; }

    /* Bento */
    .bento { grid-template-columns: 1fr; }
    .bento-card--span2 { grid-column: span 1; }

    /* Blog & articles */
    .blog-grid { grid-template-columns: 1fr; }
    .related-articles__grid { grid-template-columns: 1fr; }
    .article-list__item { grid-template-columns: 1fr; gap: 0.5rem; }
    .article-list__date { order: -1; }
    .article-list__arrow { display: none; }

    /* Footer */
    .footer-grid { grid-template-columns: 1fr; gap: 2rem; }
    .footer-bottom__row { flex-direction: column; text-align: center; gap: 0.75rem; }
    .footer-bottom__links { justify-content: center; }
    .footer-newsletter__inner { flex-direction: column; text-align: center; }
    .footer-newsletter__form { width: 100%; }
    .footer-newsletter__input { flex: 1; width: auto; }
    .pre-footer-cta__inner { flex-direction: column; text-align: center; }
    .pre-footer-cta__content p { max-width: none; }

    /* CTA */
    .cta-primary .cta-block__inner {
        flex-direction: column; text-align: center;
        padding: 2rem;
    }
    .cta-block__reassurance { justify-content: center; }
    .cta-banner__inner { flex-direction: column; text-align: center; gap: 1rem; }

    /* Horizontal scroll */
    .hscroll__card { flex: 0 0 260px; padding: 1.5rem; }

    /* Chapter headings */
    .chapter { gap: 1rem; }
    .chapter__number { font-size: 2.5rem; }

    /* Page header */
    .page-header { padding-top: calc(64px + 2rem); }

    /* Pagination */
    .pagination { gap: 0.25rem; }
    .pagination__link, .pagination__current { min-width: 38px; height: 38px; font-size: var(--fs-xs); }
}


/* Mobile (< 480px) */
@media (max-width: 480px) {
    :root {
        --gutter: 1rem;
    }

    .hero-cover { min-height: 80vh; }
    .hero-cover__title { font-size: 2rem; }

    .chapter { flex-direction: column; gap: 0.5rem; }
    .chapter__number { font-size: 2rem; }
    .chapter__text { padding-top: 0; }

    .pricing-card { padding: 1.5rem; }
    .pricing-card__price { font-size: 2.5rem; }

    .trust-strip__track { gap: 2rem; }
    .trust-strip__item { font-size: var(--fs-xs); }

    .hscroll__card { flex: 0 0 240px; padding: 1.25rem; }

    .btn-primary, .btn-accent, .btn-outline { padding: 0.875rem 1.75rem; font-size: var(--fs-sm); }
    .btn-lg { padding: 1rem 2rem; }
}


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


/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
    .reveal { opacity: 1; transform: none; }
    .reveal-stagger > * { opacity: 1; transform: none; }
    .trust-strip__track { animation: none; }
}


/* Print */
@media print {
    .site-header, .menu-toggle, .nav-cta,
    .cta-block, .cta-banner, .cta-card, .cta-sidebar,
    .pre-footer-cta, .site-footer, .trust-strip,
    .hscroll-section { display: none !important; }
    body { font-size: 12pt; color: #000; background: #fff; }
    a { color: #000; text-decoration: underline; }
    .container { max-width: 100%; }
}
