/* Ajustes para dispositivos móviles */
@media (max-width: 576px) {
    .display-4 {
        font-size: 2.5rem;
    }
    
    .lead {
        font-size: 1rem;
    }
    
    .btn-lg {
        padding: 10px 20px;
        font-size: 1rem;
    }
    
    #filtroCategorias {
        gap: 5px;
    }
    
    #filtroCategorias .btn {
        font-size: 0.8rem;
        padding: 6px 12px;
    }
    
    .card-title {
        font-size: 1.1rem;
    }
}

/* Ajustes para tablets */
@media (min-width: 577px) and (max-width: 992px) {
    .hero-section .row {
        text-align: center;
    }
    
    .hero-image {
        margin-top: 40px;
    }
}

/* Ajustes para pantallas grandes */
@media (min-width: 1200px) {
    .container {
        max-width: 1140px;
    }
}

/* Mejoras de accesibilidad */
@media (prefers-reduced-motion: reduce) {
    * {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}

/* Alto contraste */
@media (prefers-contrast: high) {
    :root {
        --primary-color: #0053ba;
    }
    
    .btn-primary {
        border: 2px solid var(--dark-color);
    }
}