/* ==========================================================================
   CCI RDC Gestion & Portail Public - Styles Responsifs Dédefinitifs
   Points de rupture standards : 1200px, 992px, 768px, 576px
   ========================================================================== */

/* ==========================================================================
   1. GRANDS ÉCRANS INTERMÉDIAIRES (MAX 1200px) - CONSERVÉ & ENRICHI
   ========================================================================== */
@media (max-width: 1200px) {
    /* Code Applicatif d'Origine */
    .sidebar { width: 220px; }
    .main-content { margin-left: 220px; }
    .dashboard-grid { grid-template-columns: repeat(3, 1fr); }
    .charts-grid { grid-template-columns: 1fr 1fr; }
    .footer-grid { grid-template-columns: 1fr 1fr 1fr; gap: 1.5rem; }

    /* Code Portail Public */
    .slide-content h2 { font-size: 2.5rem; }
    .stats-grid-public, .services-grid-public, .members-grid-public { grid-template-columns: repeat(3, 1fr); }
}

/* ==========================================================================
   2. TABLETTES ET LARGEUR SUPPORTS MOYENS (MAX 992px)
   ========================================================================== */
@media (max-width: 992px) {
    /* Code Applicatif d'Origine */
    .sidebar { transform: translateX(-100%); width: 260px; z-index: 501; }
    .sidebar.active { transform: translateX(0); }
    .main-content { margin-left: 0; }
    .sidebar-toggle { display: flex; }
    .dashboard-grid { grid-template-columns: repeat(2, 1fr); }

    /* Code Portail Public (Activation Menu Hamburger Mobile) */
    .hamburger-btn { display: block; }
    .nav-menu-public {
        display: none;
        flex-direction: column;
        position: absolute;
        top: 100%;
        left: 0;
        width: 100%;
        background: var(--primary-dark);
        padding: 20px;
        box-shadow: 0 4px 10px rgba(0,0,0,0.2);
    }
    .nav-menu-public.open { display: flex; }
    .nav-menu-public a { width: 100%; padding: 12px 0; border-bottom: 1px solid rgba(255,255,255,0.05); }
    .nav-menu-public a.btn-cta-nav { margin-left: 0; margin-top: 10px; text-align: center; }

    .president-block { flex-direction: column; text-align: center; gap: 30px; }
    .president-img-box { width: 100%; max-width: 400px; height: 350px; }

    .stats-grid-public, .services-grid-public, .process-steps, .events-grid-public, .members-grid-public { grid-template-columns: repeat(2, 1fr); }
    .contact-box-public { grid-template-columns: 1fr; }
    .footer-grid-public { grid-template-columns: 1fr; gap: 30px; }
}

/* ==========================================================================
   3. SMARTPHONES ET ÉCRANS COURANTS (MAX 768px)
   ========================================================================== */
@media (max-width: 768px) {
    .slide-content h2 { font-size: 2rem; }
    .slide-content p { font-size: 1rem; }
    .hero-slider-section { height: 500px; }
    
    .stats-grid-public, .services-grid-public, .process-steps, .events-grid-public, .members-grid-public, .testimonials-grid {
        grid-template-columns: 1fr;
    }
    
    .header-top-public { display: none; } /* Epuration mobile */
}

/* ==========================================================================
   4. PETITS COMPACTS SMARTPHONES (MAX 576px) - CONSERVÉ
   ========================================================================== */
@media (max-width: 576px) {
    .dashboard-grid { grid-template-columns: 1fr; }
    .modal-content { width: 95%; padding: 1.5rem; }
    .slide-content { padding: 0 20px; }
    .hero-actions { display: flex; flex-direction: column; gap: 10px; }
    .hero-actions .btn-gold { margin-right: 0; text-align: center; }
    .hero-actions .btn-outline-white { text-align: center; }
}

/* ==========================================================================
   5. ACCESSIBILITÉ ET REDUCTION DES MOUVEMENTS IMPOSÉS
   ========================================================================== */
@media (prefers-reduced-motion: reduce) {
    * {
        animation-delay: 0s !important;
        animation-duration: 0s !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0s !important;
        scroll-behavior: auto !important;
    }
    [data-aos] { opacity: 1 !important; transform: none !important; }
    .slide { transition: none !important; }
}