/* ============================================
   RESPONSIVE STYLES — creer-faire-part.fr
   ============================================ */

@media (max-width: 1024px) {
    .hero .container { grid-template-columns: 1fr; }
    .hero-visual { display: none; }
    .hero-content { text-align: center; }
    .hero-subtitle { max-width: none; }
    .hero-actions { justify-content: center; }
    .hero-trust { justify-content: center; }

    .steps-grid { grid-template-columns: repeat(3, 1fr); }
    .templates-grid { grid-template-columns: repeat(2, 1fr); }
    .features-grid { grid-template-columns: repeat(2, 1fr); }
    .pricing-grid { grid-template-columns: repeat(3, 1fr); }
    .testimonials-grid { grid-template-columns: repeat(2, 1fr); }
    .footer-grid { grid-template-columns: repeat(3, 1fr); }

    /* Editor */
    .editor-container { flex-direction: column; }
    .editor-panel { width: 100%; min-width: 100%; max-height: 50vh; }
    .editor-preview-panel { min-height: 50vh; }
}

@media (max-width: 768px) {
    :root { --header-height: 60px; }

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

    h1 { font-size: var(--text-3xl); }
    h2 { font-size: var(--text-2xl); }

    .main-nav { display: none; }
    .main-nav.active {
        display: flex;
        flex-direction: column;
        position: absolute;
        top: var(--header-height);
        left: 0;
        right: 0;
        background: var(--white);
        border-bottom: 1px solid var(--gray-200);
        padding: var(--space-4);
        box-shadow: var(--shadow-lg);
        gap: var(--space-2);
    }

    .main-nav.active .nav-link { padding: var(--space-3) var(--space-4); }
    .main-nav.active .nav-cta { margin-left: 0; }

    .mobile-menu-toggle { display: flex; }

    .hero { padding: var(--space-10) 0 var(--space-12); }
    .hero-title { font-size: var(--text-3xl); }
    .hero-actions { flex-direction: column; }
    .hero-actions .btn { width: 100%; }

    .types-grid { grid-template-columns: repeat(2, 1fr); }
    .steps-grid { grid-template-columns: repeat(2, 1fr); }
    .templates-grid { grid-template-columns: 1fr; }
    .features-grid { grid-template-columns: 1fr; }

    .pricing-grid {
        grid-template-columns: 1fr;
        max-width: 400px;
        margin: 0 auto;
    }
    .pricing-card--featured { transform: none; }

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

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

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

    /* Editor responsive */
    .editor-panel { max-height: 60vh; }
    .wizard-step { font-size: 10px; padding: var(--space-2) var(--space-1); }
    .wizard-step span:not(.wizard-step-num) { display: none; }
    .wizard-panel { padding: var(--space-4); }

    .fp-preview { width: 100%; height: auto; aspect-ratio: 559 / 793; }

    /* Dashboard */
    .dashboard-header { flex-direction: column; gap: var(--space-4); text-align: center; }
    .dashboard-grid { grid-template-columns: 1fr; }

    /* Auth */
    .auth-links { flex-direction: column; align-items: center; gap: var(--space-2); }
    .form-row { flex-direction: column; gap: 0; }
}

@media (max-width: 480px) {
    .hero-title { font-size: var(--text-2xl); }
    .types-grid { grid-template-columns: repeat(2, 1fr); gap: var(--space-2); }
    .type-card { padding: var(--space-4) var(--space-2); }
    .steps-grid { grid-template-columns: 1fr; }
    .section-title { font-size: var(--text-3xl); }
    .final-cta-content h2 { font-size: var(--text-2xl); }

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