/* Responsive Design */
@media (max-width: 992px) {
    .hero-content {
        grid-template-columns: 1fr;
        text-align: center;
        gap: 2rem;
    }
    
    .hero-title {
        font-size: 2.5rem;
    }
    
    .hero-buttons {
        justify-content: center;
    }
    
    .dni-card {
        grid-template-columns: 1fr;
    }
    
    .giving-container {
        grid-template-columns: 1fr;
    }
    
    .contact-container {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {
    .nav-menu {
        position: fixed;
        top: 70px;
        left: -100%;
        flex-direction: column;
        background: var(--white);
        width: 100%;
        text-align: center;
        transition: 0.3s;
        box-shadow: var(--shadow);
        padding: 2rem;
        z-index: 999;
    }
    
    .nav-menu.active {
        left: 0;
    }
    
    .menu-toggle {
        display: block;
    }
    
    .section {
        padding: 3rem 0;
    }
    
    .section-header h2 {
        font-size: 2rem;
        flex-direction: column;
        gap: 0.25rem;
    }
    
    .hero-title {
        font-size: 2rem;
    }
    
    .hero-subtitle {
        font-size: 1rem;
    }
}

@media (max-width: 576px) {
    .hero {
        padding: 6rem 0 3rem;
    }
    
    .hero-title {
        font-size: 1.75rem;
    }
    
    .btn {
        width: 100%;
        justify-content: center;
    }
    
    .hero-buttons {
        flex-direction: column;
    }
    
    .grid-cards {
        grid-template-columns: 1fr;
    }
    
    .dni-card {
        padding: 2rem;
    }
    
    .dni-image i {
        font-size: 5rem;
    }
}


@media (max-width: 768px) {
    .hero-with-bg,
    .hero-parallax,
    .hero-split-bg {
        background-attachment: scroll; /* Desactivar parallax en móviles */
        min-height: 70vh;
    }
    
    .hero-split-bg .hero-bg-image::after {
        background: linear-gradient(135deg, 
            rgba(74, 108, 247, 0.95) 0%, 
            rgba(74, 108, 247, 0.85) 100%);
    }
    
    .hero-with-bg .hero-title,
    .hero-parallax .hero-title,
    .hero-split-bg .hero-title {
        font-size: 2.5rem;
    }
    
    .hero-with-bg .hero-subtitle,
    .hero-parallax .hero-subtitle,
    .hero-split-bg .hero-subtitle {
        font-size: 1.2rem;
    }
}

@media (max-width: 480px) {
    .hero-with-bg,
    .hero-parallax,
    .hero-split-bg {
        min-height: 60vh;
        text-align: center;
    }
    
    .hero-split-bg .hero-text {
        margin: 0 auto;
    }
    
    .hero-with-bg .hero-title,
    .hero-parallax .hero-title,
    .hero-split-bg .hero-title {
        font-size: 2rem;
    }
}