/* CSS Responsive - Fundación Panorama de Colores */

/* ========== LOGO RESPONSIVE 1024×1024px ========== */

/* Tablets y dispositivos medianos (1024px y menos) */
@media screen and (max-width: 1024px) {
    .section {
        padding: 4rem 0;
    }
    
    .slide-title {
        font-size: 2.5rem;
    }
    
    .slide-text {
        font-size: 1.2rem;
    }
    
    .about-content {
        gap: 2rem;
    }
    
    .contact-container {
        gap: 2rem;
    }
    
    /* Logo en tablet grande */
    .logo img {
        height: 70px;
        width: 70px;
    }
    
    .navbar {
        min-height: 80px;
    }
    
    .nav-container {
        padding: 0.7rem 1.5rem;
    }
    
    .nav-menu {
        gap: 1.8rem;
    }
}

/* Tablets pequeñas (768px y menos) */
@media screen and (max-width: 768px) {
    .section-title {
        font-size: 2rem;
    }
    
    .section-subtitle {
        font-size: 1.1rem;
    }
    
    .slider-section {
        height: 70vh;
        min-height: 450px;
        margin-top: 75px; /* Ajustar por navbar más alto */
    }
    
    .slide-title {
        font-size: 2.2rem;
    }
    
    .slide-text {
        font-size: 1.1rem;
    }
    
    /* Menú responsive */
    .menu-toggle {
        display: block;
        font-size: 1.6rem;
    }
    
    .nav-menu {
        position: fixed;
        top: 75px;
        left: 0;
        width: 100%;
        background-color: var(--neutral-white);
        flex-direction: column;
        align-items: center;
        padding: 2rem 0;
        gap: 1.5rem;
        box-shadow: 0 5px 15px var(--shadow-light);
        transform: translateY(-100%);
        opacity: 0;
        visibility: hidden;
        transition: all var(--transition-medium);
    }
    
    .nav-menu.active {
        transform: translateY(0);
        opacity: 1;
        visibility: visible;
    }
    
    .about-content {
        grid-template-columns: 1fr;
    }
    
    .contact-container {
        grid-template-columns: 1fr;
    }
    
    .impact-number {
        font-size: 3.5rem;
    }
    
    /* Logo en tablet pequeña */
    .logo img {
        height: 60px;
        width: 60px;
    }
    
    .logo-container {
        min-width: 140px;
    }
    
    .navbar {
        min-height: 75px;
    }
    
    .nav-container {
        padding: 0.6rem 1.2rem;
    }
}

/* Dispositivos móviles (576px y menos) */
@media screen and (max-width: 576px) {
    .container {
        padding: 0 1rem;
    }
    
    .section {
        padding: 3rem 0;
    }
    
    .section-title {
        font-size: 1.8rem;
    }
    
    .slider-section {
        height: 60vh;
        min-height: 400px;
        margin-top: 70px;
    }
    
    .slide {
        padding: 1rem;
    }
    
    .slide-title {
        font-size: 1.8rem;
        margin-bottom: 1rem;
    }
    
    .slide-text {
        font-size: 1rem;
        margin-bottom: 1.5rem;
    }
    
    .btn-slide, .btn-donation, .btn-submit {
        padding: 0.8rem 1.5rem;
        font-size: 0.9rem;
    }
    
    /* Logo en móviles */
    .logo img {
        height: 52px;
        width: 52px;
    }
    
    .logo-container {
        min-width: 120px;
    }
    
    .navbar {
        min-height: 70px;
    }
    
    .nav-container {
        padding: 0.5rem 1rem;
    }
    
    .nav-menu {
        top: 70px;
        padding: 1.8rem 0;
        gap: 1.3rem;
    }
    
    .impact-number {
        font-size: 3rem;
    }
    
    .gallery-grid {
        grid-template-columns: 1fr;
    }
    
    .programs-grid, .donation-options {
        grid-template-columns: 1fr;
    }
    
    .impact-grid, .alliances-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .footer-content {
        grid-template-columns: 1fr;
        text-align: center;
    }
    
    .footer-links ul {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 1rem;
    }
    
    .footer-links li {
        margin-bottom: 0;
    }
    
    .footer-social .social-icons {
        justify-content: center;
    }
}

/* Dispositivos móviles muy pequeños (400px y menos) */
@media screen and (max-width: 400px) {
    .slide-title {
        font-size: 1.6rem;
    }
    
    .section-title {
        font-size: 1.6rem;
    }
    
    /* Logo en móviles pequeños */
    .logo img {
        height: 46px;
        width: 46px;
    }
    
    .logo-container {
        min-width: 110px;
    }
    
    .navbar {
        min-height: 65px;
    }
    
    .nav-container {
        padding: 0.4rem 0.8rem;
    }
    
    .nav-menu {
        top: 65px;
        padding: 1.5rem 0;
        gap: 1.2rem;
    }
    
    .slider-section {
        margin-top: 65px;
        height: 55vh;
    }
    
    .impact-grid, .alliances-grid {
        grid-template-columns: 1fr;
    }
    
    .impact-number {
        font-size: 2.5rem;
    }
    
    .contact-form {
        padding: 1.5rem;
    }
}

/* Dispositivos muy pequeños (350px y menos) */
@media screen and (max-width: 350px) {
    .logo img {
        height: 42px;
        width: 42px;
    }
    
    .logo-container {
        min-width: 100px;
    }
    
    .navbar {
        min-height: 60px;
    }
    
    .nav-menu {
        top: 60px;
    }
    
    .slider-section {
        margin-top: 60px;
    }
}