/* =============================================
   Slider Animations — Home Page
   Extracted from pages/home.php
   ============================================= */

/* Base: all slider elements start hidden */
.slide-title, .slide-subtitle, .slide-btn { opacity: 0; }
.slide-active .slide-title, .slide-active .slide-subtitle, .slide-active .slide-btn { animation-fill-mode: forwards; }

/* Fade Up */
.anim-fade-up .slide-active .slide-title { animation: fadeUp 0.8s ease forwards; }
.anim-fade-up .slide-active .slide-subtitle { animation: fadeUp 0.8s ease 0.2s forwards; }
.anim-fade-up .slide-active .slide-btn { animation: fadeUp 0.8s ease 0.4s forwards; }
@keyframes fadeUp { from { opacity:0; transform:translateY(40px); } to { opacity:1; transform:translateY(0); } }

/* Fade In */
.anim-fade-in .slide-active .slide-title { animation: slideFadeIn 1s ease forwards; }
.anim-fade-in .slide-active .slide-subtitle { animation: slideFadeIn 1s ease 0.3s forwards; }
.anim-fade-in .slide-active .slide-btn { animation: slideFadeIn 1s ease 0.6s forwards; }
@keyframes slideFadeIn { from { opacity:0; } to { opacity:1; } }

/* Slide Left */
.anim-slide-left .slide-active .slide-title { animation: slideLeft 0.7s ease forwards; }
.anim-slide-left .slide-active .slide-subtitle { animation: slideLeft 0.7s ease 0.15s forwards; }
.anim-slide-left .slide-active .slide-btn { animation: slideLeft 0.7s ease 0.3s forwards; }
@keyframes slideLeft { from { opacity:0; transform:translateX(-80px); } to { opacity:1; transform:translateX(0); } }

/* Zoom In */
.anim-zoom-in .slide-active .slide-title { animation: zoomIn 0.8s ease forwards; }
.anim-zoom-in .slide-active .slide-subtitle { animation: zoomIn 0.8s ease 0.2s forwards; }
.anim-zoom-in .slide-active .slide-btn { animation: zoomIn 0.8s ease 0.4s forwards; }
@keyframes zoomIn { from { opacity:0; transform:scale(0.6); } to { opacity:1; transform:scale(1); } }

/* Typewriter */
.anim-typewriter .slide-active .slide-title { animation: slideFadeIn 0.3s ease forwards; }
.anim-typewriter .slide-active .slide-title span { display: inline-block; opacity:0; animation: typeChar 0.05s ease forwards; }
.anim-typewriter .slide-active .slide-subtitle { animation: fadeUp 0.8s ease 0.8s forwards; }
.anim-typewriter .slide-active .slide-btn { animation: fadeUp 0.8s ease 1s forwards; }
@keyframes typeChar { to { opacity:1; } }

/* Split Reveal */
.anim-split .slide-active .slide-title { animation: splitReveal 0.8s ease forwards; }
.anim-split .slide-active .slide-subtitle { animation: fadeUp 0.6s ease 0.3s forwards; }
.anim-split .slide-active .slide-btn { animation: fadeUp 0.6s ease 0.5s forwards; }
@keyframes splitReveal { from { opacity:0; clip-path:inset(0 50% 0 50%); } to { opacity:1; clip-path:inset(0 0 0 0); } }

/* Bounce */
.anim-bounce .slide-active .slide-title { animation: bounceIn 0.8s cubic-bezier(0.34,1.56,0.64,1) forwards; }
.anim-bounce .slide-active .slide-subtitle { animation: bounceIn 0.8s cubic-bezier(0.34,1.56,0.64,1) 0.2s forwards; }
.anim-bounce .slide-active .slide-btn { animation: bounceIn 0.8s cubic-bezier(0.34,1.56,0.64,1) 0.4s forwards; }
@keyframes bounceIn { from { opacity:0; transform:scale(0.3) translateY(30px); } to { opacity:1; transform:scale(1) translateY(0); } }

/* Cascade */
.anim-cascade .slide-active .slide-title { animation: cascadeDrop 0.6s ease forwards; }
.anim-cascade .slide-active .slide-subtitle { animation: cascadeDrop 0.6s ease 0.25s forwards; }
.anim-cascade .slide-active .slide-btn { animation: cascadeDrop 0.6s ease 0.5s forwards; }
@keyframes cascadeDrop { from { opacity:0; transform:translateY(-50px) rotateX(20deg); } to { opacity:1; transform:translateY(0) rotateX(0); } }

/* Slide image zoom */
.slide-active .slide-img { animation: slowZoom 8s ease forwards; }
@keyframes slowZoom { from { transform:scale(1); } to { transform:scale(1.08); } }
