/*
 * ALBE LMS — Client CSS
 * File: public/assets/css/client.css
 */

/* Scroll animations */
@keyframes fadeUp {
    from { opacity: 0; transform: translateY(20px); }
    to   { opacity: 1; transform: translateY(0); }
}
.anim { opacity: 0; }
.anim.visible { animation: fadeUp .5s ease forwards; }
.anim.d1 { animation-delay: .1s; }
.anim.d2 { animation-delay: .2s; }
.anim.d3 { animation-delay: .3s; }

/* Navbar scrolled shadow */
#navbar.scrolled { box-shadow: 0 4px 24px rgba(26,92,48,.08); }

/* Slider */
.slider-track { display: flex; transition: transform .5s cubic-bezier(.4,0,.2,1); }
.slide { min-width: 100%; position: relative; overflow: hidden; }
.slide-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.slide-overlay { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(10,30,15,.75) 0%, rgba(10,30,15,.4) 60%, transparent 100%); }
.slide-content { position: relative; z-index: 2; }

/* Dot active */
.slider-dot { transition: all .3s; }
.slider-dot.active { width: 24px !important; background: #1a5c30 !important; }

/* Hero stat divider */
.stat-divider { width: 1px; height: 36px; background: #d4e8d8; }

/* Pulse dot */
@keyframes pulse { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:.5;transform:scale(.8)} }
.pulse-dot { animation: pulse 2s infinite; }