/* --- GLOBAL RESPONSIVE FIXES --- */

html, body {
    overflow-x: hidden !important;
    width: 100% !important;
}

@media (max-width: 1200px) {
    .container { padding: 0 20px !important; }
    .hero-title { font-size: 3.5rem !important; }
    .cole-play-grid { gap: 30px !important; }
}

@media (max-width: 991px) {
    .hero-title { font-size: 3rem !important; }
    .section-title { font-size: 2.2rem !important; }
    
    /* Grids to single column */
    .news-grid, 
    .cole-play-grid, 
    .asociate-grid,
    .membership-actions,
    .cuotas-grid { 
        grid-template-columns: 1fr !important; 
        gap: 30px !important; 
    }
    
    .news-grid { height: auto !important; }
    .news-media { height: 400px !important; order: -1 !important; justify-content: center !important; }
    .news-media img { width: 100% !important; }
}

@media (max-width: 768px) {
    .section-padding { padding: 60px 0 !important; }
    .section-title { font-size: 1.8rem !important; margin-bottom: 25px !important; }
    
    /* Header & Mobile Toggle */
    .main-header { padding: 10px 0 !important; }
    .logo img { height: 40px !important; }
    .mobile-toggle { 
        display: block !important; 
        background: none !important;
        border: none !important;
        color: white !important;
        font-size: 1.5rem !important;
        cursor: pointer !important;
        padding: 5px !important;
    }
    
    .nav-menu {
        position: fixed !important;
        top: 70px !important; /* Height of header */
        left: -100% !important;
        width: 100% !important;
        height: calc(100vh - 70px) !important;
        background: var(--primary-color) !important;
        padding: 40px 20px !important;
        transition: var(--transition-base) !important;
        z-index: 1000 !important;
        overflow-y: auto !important;
        display: flex !important;
    }
    
    .nav-menu.active { left: 0 !important; }
    
    .nav-menu ul { 
        flex-direction: column !important; 
        gap: 0 !important; 
    }
    
    .nav-menu ul li { width: 100% !important; border-bottom: 1px solid rgba(255,255,255,0.1) !important; }
    .nav-menu ul li a { 
        padding: 15px 0 !important; 
        display: block !important; 
        font-size: 1.2rem !important; 
    }
    .nav-menu ul li a::after { display: none !important; }
    
    .dropdown-menu {
        position: static !important;
        transform: none !important;
        opacity: 1 !important;
        visibility: visible !important;
        background: rgba(0,0,0,0.1) !important;
        box-shadow: none !important;
        min-width: unset !important;
        display: none !important;
        margin-bottom: 10px !important;
    }
    
    .nav-menu ul li.dropdown.active .dropdown-menu,
    .nav-menu ul li.dropdown:hover .dropdown-menu { display: flex !important; }
    
    .dropdown-menu li a { color: white !important; padding: 10px 20px !important; }
    
    .nav-actions .btn { display: none !important; } /* Hide "HACETE SOCIO" in header on small mobile */
    .nav-actions { gap: 15px !important; }

    /* Hero */
    .hero-section, .historia-hero { height: auto !important; padding: 100px 0 60px !important; min-height: unset !important; }
    .hero-title { font-size: 2.2rem !important; line-height: 1.1 !important; }
    .hero-subtitle { font-size: 1rem !important; margin-bottom: 30px !important; }
    .hero-cta { flex-direction: column !important; gap: 15px !important; }
    .btn-large { width: 100% !important; }

    /* News */
    .news-title { font-size: 1.6rem !important; }
    .news-media { height: 300px !important; }
    
    /* Cole Play */
    .cole-play-text h2 { font-size: 2.5rem !important; }
    
    /* Hacete Socio Banner */
    .hacete-socio-banner h2 { font-size: 1.8rem !important; }

    /* Predios */
    .predios-col h3 { font-size: 1.8rem !important; }
    .details-card { padding: 20px !important; }
    .details-info p { font-size: 1.1rem !important; }
    
    /* Timeline */
    .timeline-content { padding: 20px !important; }
    .timeline-year { font-size: 1.3rem !important; }
    
    /* Footer */
    .main-footer { padding: 60px 0 20px !important; }
    .footer-grid { grid-template-columns: 1fr !important; gap: 40px !important; }
    .footer-section { text-align: center !important; }
    .social-links { justify-content: center !important; }
    
    /* Utilities */
    .premium-card:hover { transform: none !important; }
}

@media (max-width: 480px) {
    .hero-title { font-size: 1.8rem !important; }
    .section-title { font-size: 1.5rem !important; }
}

/* Body lock when menu open */
body.menu-open { overflow: hidden !important; }

/* Timeline Fix */
.timeline-item {
    width: 100% !important;
}

/* Predios Gallery Fix */
.predios-gallery-card {
    height: 320px;
    border: 1px solid var(--border-color);
    border-radius: var(--radius-md);
    overflow: hidden;
    background: #000 !important;
}

.predios-gallery-card img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    margin: 0 !important;
    display: block !important;
}

@media (max-width: 768px) {
    .predios-col {
        width: 100% !important;
        flex: none !important;
    }
    
    .predios-swiper .gallery-card,
    .predios-gallery-card {
        height: auto !important;
        min-height: 250px !important;
    }
    
    /* Aligned Floating Buttons */
    .accessibility-widget {
        bottom: 20px !important;
        left: 20px !important;
    }
    
    .floating-buttons {
        bottom: 20px !important;
        right: 20px !important;
    }
}

/* Sticky Header Fix - Using Fixed for better mobile support */
.main-header {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    z-index: 3000 !important;
    height: 70px !important;
    display: flex !important;
    align-items: center !important;
}

/* Offset for fixed header */
body {
    padding-top: 70px !important;
}

/* Video Responsiveness */
video {
    max-width: 100%;
    width: 100%;
    height: auto;
    object-fit: cover;
    border-radius: var(--radius-md);
}

iframe {
    max-width: 100%;
    width: 100%;
    height: auto;
    border: none;
}

.premium-card video {
    border-radius: var(--radius-md);
}

.video-aspect-ratio {
    position: relative;
    width: 100%;
    height: 0;
    padding-bottom: 56.25%;
    overflow: hidden;
    background: #000 !important;
}

.video-aspect-ratio iframe,
.video-aspect-ratio video {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

/* Force toggle visibility and clickability */
@media (max-width: 991px) {
    .mobile-toggle {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        z-index: 4000 !important;
        width: 45px !important;
        height: 45px !important;
    }
}

/* Ensure mobile menu shows correctly when active */
@media (max-width: 991px) {
    .nav-menu {
        top: 70px !important;
        height: calc(100vh - 70px) !important;
    }
    
    .nav-menu.active {
        display: flex !important;
        left: 0 !important;
        visibility: visible !important;
        opacity: 1 !important;
    }
    
    .mobile-toggle i {
        pointer-events: none !important;
    }
}
