/**
 * FIRPCAM — Responsive Institutionnel
 * Bleu #003087 | Or #C9A84C
 */

/* ══════ 1024px ══════ */
@media screen and (max-width: 1024px) {
    :root { --fs-h1: 2.2rem; --fs-h2: 1.7rem; --fs-h3: 1.3rem; }
    .nav-link { padding: 8px 10px; font-size: 0.78rem; }
    .footer-grid { grid-template-columns: 1fr 1fr; }
    .grid-4 { grid-template-columns: repeat(2, 1fr); }

    /* Home */
    .hero-grid { grid-template-columns: 1fr; }
    .hero-title { font-size: 42px; }
    .mission-grid { grid-template-columns: 1fr; }
    .categories-grid, .avantages-grid { grid-template-columns: repeat(2, 1fr); }
    .chiffres-grid { grid-template-columns: repeat(2, 1fr); }
}

/* ══════ 768px ══════ */
@media screen and (max-width: 768px) {
    :root { --fs-h1: 1.8rem; --fs-h2: 1.5rem; --fs-h3: 1.2rem; --spacing-xl: 3rem; --spacing-xxl: 4rem; }

    /* Top bar */
    .top-bar-left { display: none; }
    .top-bar-right { width: 100%; justify-content: space-between; }

    /* Burger menu */
    .burger-toggle { display: flex; }
    .logo-subtitle { display: none; }
    .logo-name { font-size: 1.1rem; }
    .logo-icon { width: 34px; height: 34px; font-size: 0.85rem; }

    .nav-main {
        position: fixed; top: 0; right: -100%; width: 85%; max-width: 360px; height: 100vh;
        background: var(--bleu-institutionnel); flex-direction: column; align-items: stretch;
        padding: 70px 0 var(--spacing-md); overflow-y: auto; transition: right 0.3s ease;
        box-shadow: -4px 0 20px rgba(0,0,0,0.3); z-index: 1050;
    }
    .nav-main.open { right: 0; }
    .nav-list { flex-direction: column; width: 100%; }
    .nav-item { width: 100%; border-bottom: 1px solid rgba(255,255,255,0.1); }
    .nav-link { padding: 14px 20px; font-size: var(--fs-body); border-radius: 0; color: rgba(255,255,255,0.9); }
    .nav-link:hover { color: var(--or-antique); }
    .dropdown-menu { position: static; opacity: 1; visibility: visible; transform: none; box-shadow: none; border-top: none; border-radius: 0; background: rgba(0,0,0,0.15); display: none; min-width: auto; padding: 0; }
    .nav-item.has-dropdown.open .dropdown-menu { display: block; }
    .dropdown-link { padding: 10px 20px 10px 36px; color: rgba(255,255,255,0.7); }
    .dropdown-link:hover { color: var(--or-antique); background: rgba(255,255,255,0.05); }
    .nav-cta .nav-link { border-radius: 0; margin-left: 0; text-align: center; }
    .nav-overlay { display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.5); z-index: 1000; }
    .nav-overlay.active { display: block; }

    /* Grids */
    .grid-2, .grid-3, .grid-4 { grid-template-columns: 1fr; }
    .form-row { grid-template-columns: 1fr; }

    /* Footer */
    .footer-grid { grid-template-columns: 1fr; text-align: center; }
    .footer-col h4 { border-bottom: none; display: inline-block; padding-bottom: 8px; border-bottom: 2px solid var(--or-antique); }
    .footer-contact-info p { justify-content: center; }
    .footer-bottom .container { flex-direction: column; text-align: center; }
    .footer-legal { justify-content: center; }
    .stat-number { font-size: 2.2rem; }

    /* Home hero */
    .hero-section { padding: 60px 0 80px; }
    .hero-title { font-size: 36px; }
    .hero-text { max-width: 100%; }
    .hero-btns { flex-direction: column; }

    /* Home trust bar */
    .trust-bar { grid-template-columns: repeat(2, 1fr); border-radius: 12px; margin-top: -30px; }
    .trust-item { padding: 24px 16px; }
    .trust-num { font-size: 28px; }

    /* Home sections */
    .mission-grid, .carte-grid { grid-template-columns: 1fr; gap: 32px; }
    .categories-grid, .actualites-grid, .temoignages-grid { grid-template-columns: 1fr; }
    .avantages-grid { grid-template-columns: 1fr; }
    .chiffres-grid { grid-template-columns: repeat(2, 1fr); }
    .simulateur-results { grid-template-columns: 1fr; }
    .simulateur-input-row { flex-direction: column; }

    /* CTA */
    .section-cta-final { padding: 50px 24px; border-radius: 12px; }
    .section-cta-final h2 { font-size: 28px; }
    .section-cta-final .cta-buttons { flex-direction: column; align-items: center; }

    /* Pages */
    .page-hero { padding: var(--spacing-lg) 0; }
    .page-hero h1 { font-size: 1.5rem; }
    .doc-list-item { flex-direction: column; align-items: flex-start; gap: 4px; }
    .auth-card { border-radius: 12px; }
}

/* ══════ 480px ══════ */
@media screen and (max-width: 480px) {
    :root { --fs-h1: 1.5rem; --fs-h2: 1.3rem; --spacing-xl: 2rem; }
    .container { padding: 0 16px; }
    .btn { padding: 10px 20px; font-size: var(--fs-xs); }
    .btn-lg { padding: 12px 28px; font-size: var(--fs-small); }

    /* Home */
    .hero-title { font-size: 28px; }
    .hero-card { padding: 24px; }
    .hero-card-amount { font-size: 36px; }
    .trust-bar { grid-template-columns: 1fr; }
    .trust-num { font-size: 24px; }
    .simulateur-box { padding: 24px; }
    .section-cta-final { padding: 36px 16px; }
    .section-cta-final h2 { font-size: 24px; }
    .avantage-card { padding: 24px 16px; }
    .temoignage-card { padding: 24px; }
    .category-card-body { padding: 20px; }

    /* Pages */
    .page-hero h1 { font-size: 1.3rem; }
    .calculator-box { padding: var(--spacing-sm); }
    .quote-box { padding: var(--spacing-md); }
}
