/* --- 9. MOBILE RESPONSIVENESS --- */


/* ===== MOBILE NAVIGATION FIX ===== */

@media (max-width: 992px) {
    /* Hide main nav links */
    .nav-menu {
        display: none;
    }
    /* Show hamburger toggle */
    #sidebarToggle {
        display: block;
        font-size: 2rem;
        cursor: pointer;
        color: white;
        margin: 0 10px;
    }
    /* Top bar adjustments */
    .top-bar {
        flex-direction: column;
        gap: 5px;
        text-align: center;
        padding: 8px 2%;
    }
    .top-right {
        font-size: 12px;
    }
    /* Sidebar menu (mobile menu) */
    .side-menu {
        right: -100%;
        width: 80%;
        max-width: 300px;
        padding: 25px 20px;
        transition: 0.3s;
    }
    .side-menu.active {
        right: 0;
    }
    .side-menu-header {
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin-bottom: 20px;
    }
    #closeMenu {
        font-size: 2rem;
    }
    .side-nav-links a {
        display: block;
        padding: 12px 0;
        font-size: 1.1rem;
        color: white;
        text-decoration: none;
        border-bottom: 1px solid rgba(255, 255, 255, 0.1);
        transition: 0.3s;
    }
    .side-nav-links a:hover {
        color: var(--primary);
        padding-left: 10px;
    }
    /* Ensure Donate button stands out */
    .side-nav-links a.paecho-btn {
        display: inline-block;
        margin-top: 15px;
        width: 100%;
        text-align: center;
    }
    /* Mobile dropdown functionality */
    .mobile-dropdown {
        margin-bottom: 15px;
    }
    .mobile-dropdown>a {
        display: flex;
        justify-content: space-between;
        align-items: center;
        color: white;
        text-decoration: none;
        font-weight: 600;
        padding: 10px 0;
        cursor: pointer;
    }
    .mobile-dropdown-content {
        display: none;
        flex-direction: column;
        padding-left: 10px;
    }
    .mobile-dropdown.active .mobile-dropdown-content {
        display: flex;
    }
    .mobile-dropdown-content a {
        padding: 8px 0;
        color: #fff;
        text-decoration: none;
        font-size: 0.95rem;
    }
    .mobile-dropdown-content a:hover {
        color: var(--primary);
        padding-left: 5px;
    }
    /* HERO MOBILE FIX */
    /* --- FORCE HERO FULL WIDTH ON MOBILE --- */
    @media (max-width: 768px) {
        html,
        body {
            width: 100%;
            overflow-x: hidden;
        }
        .hero {
            width: 100vw !important;
            max-width: 100vw !important;
            overflow: hidden;
        }
        .hero-track {
            display: flex !important;
            width: 100vw !important;
            transform: translateX(0) !important;
        }
        .hero-card {
            flex: 0 0 100vw !important;
            width: 100vw !important;
            margin: 0;
            padding: 0;
        }
        .hero-card img {
            width: 100vw !important;
            height: 70vh !important;
            object-fit: cover;
        }
        .hero-caption {
            width: 90% !important;
            left: 50% !important;
            transform: translateX(-50%) !important;
        }
    }
    /* Stats Section */
    .impact-stats {
        flex-direction: column;
        gap: 45px;
        padding: 50px 10%;
    }
    .stat-item h2 {
        font-size: 2.8rem;
    }
    .stat-item p {
        font-size: 1rem;
        letter-spacing: 1px;
    }
    /* VMG Cards Stack */
    .vmg-section {
        padding: 50px 5%;
    }
    .vmg-section .container {
        flex-direction: column;
        gap: 20px;
    }
    .vmg-card {
        padding: 30px 20px;
    }
    /* Call to Action Buttons */
    .cta-btns {
        display: flex;
        flex-direction: column;
        gap: 15px;
        align-items: center;
    }
    .paecho-btn {
        width: 100%;
        max-width: 280px;
        margin: 0 !important;
    }
    /* Footer Cleanup */
    .main-footer {
        padding: 50px 5% 30px;
    }
    .footer-grid {
        grid-template-columns: 1fr;
        text-align: center;
        gap: 35px;
    }
    .footer-logo {
        margin: 0 auto 15px auto;
        height: 45px;
    }
    .footer-social {
        justify-content: center;
        display: flex;
        gap: 20px;
    }
}


/* Extra Small Devices (Phones under 400px width) */

@media (max-width: 400px) {
    .hero-card img {
        height: 60vh;
        min-height: 320px;
    }
    .hero-caption h2 {
        font-size: 1.3rem;
    }
    .stat-item h2 {
        font-size: 2.2rem;
    }
    .main-header {
        padding: 10px 5%;
    }
}