.animate-fade-up {
    opacity: 0;
    transform: translateY(20px);
    animation: fadeUp .6s forwards;
}

.animate-fade-up.delay-1 {
    animation-delay: .2s;
}

.animate-zoom {
    opacity: 0;
    transform: scale(.95);
    animation: zoomIn .5s forwards .3s;
}

.animate-stagger span {
    opacity: 0;
    animation: fadeUp .5s forwards;
}
.animate-stagger span:nth-child(1) { animation-delay: .2s; }
.animate-stagger span:nth-child(2) { animation-delay: .3s; }
.animate-stagger span:nth-child(3) { animation-delay: .4s; }

.card-animate {
    transition: .3s ease;
}
.card-animate:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 25px rgba(0,0,0,.1);
}

.hover-slide {
    position: relative;
    transition: .2s;
}
.hover-slide:hover {
    padding-left: 5px;
}

@keyframes fadeUp {
    to { opacity: 1; transform: translateY(0); }
}
@keyframes zoomIn {
    to { opacity: 1; transform: scale(1); }
}


.hero-photo {
    position: relative;
    background-image: url('http://localhost/~boualem/SNOE/public/uploads/lessons/thumbnail_694b00d192c8a.png');
    background-size: cover;
    background-position: center;
    padding: 100px 20px;
    border-radius: 12px;
    overflow: hidden;
}

.hero-photo::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.35); /* assombrit l’image */
}

.hero-photo h1,
.hero-photo p {
    position: relative;
    z-index: 2;
    color: white;
}
