/* Animaciones para scroll reveal */
.fade-in {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.7s cubic-bezier(0.2, 0.8, 0.2, 1), transform 0.7s cubic-bezier(0.2, 0.8, 0.2, 1);
}

.fade-in.appear {
    opacity: 1;
    transform: translateY(0);
}

.stagger-1 {
    transition-delay: 100ms;
}

.stagger-2 {
    transition-delay: 200ms;
}

.stagger-3 {
    transition-delay: 300ms;
}

/* Fondo Hero: Mezcla de gradiente semi-transparente sobre imagen realista */
.hero-bg {
    background-image: linear-gradient(90deg, rgba(250, 250, 250, 0.95) 0%, rgba(250, 250, 250, 0.85) 40%, rgba(250, 250, 250, 0.4) 100%), url('../img/fondo_home.jpg');
    background-size: cover;
    background-position: center;
}

/* Utilidad de zoom suave para cards */
.img-zoom {
    overflow: hidden;
}

.img-zoom img {
    transition: transform 0.6s cubic-bezier(0.2, 0.8, 0.2, 1);
}

.group:hover .img-zoom img {
    transform: scale(1.05);
}

/* Botones primarios (Brand Orange) - Animación micro-interactiva */
.btn-primary {
    transition: all 0.3s ease;
}

.btn-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(186, 62, 34, 0.25);
}

/* Ocultar barra de desplazamiento para carruseles horizontales */
.hide-scrollbar::-webkit-scrollbar {
    display: none;
}

.hide-scrollbar {
    -ms-overflow-style: none;
    /* IE y Edge */
    scrollbar-width: none;
    /* Firefox */
}