/*=========================================================
  Santulan Therapy Clinic
  Animations
=========================================================*/

/* Buttons */
.btn{
    position:relative;
    overflow:hidden;
    transition:transform .25s ease, box-shadow .3s ease;
}
.btn:hover{
    transform:translateY(-3px);
    box-shadow:var(--shadow-lg);
}
.btn:active{
    transform:translateY(0);
}

/* Cards */
.card,
.service-card,
.feature-card,
.process-card,
.testimonial-card,
.stat-card,
.highlight-card{
    transition:transform .35s ease, box-shadow .35s ease;
}
.card:hover,
.service-card:hover,
.feature-card:hover,
.process-card:hover,
.testimonial-card:hover,
.stat-card:hover,
.highlight-card:hover{
    transform:translateY(-8px);
    box-shadow:var(--shadow-lg);
}

/* Logo */
.logo img{
    transition:transform .4s ease;
}
.logo:hover img{
    transform:scale(1.05);
}

/* Floating Images */
.hero-image img{
    animation:floatImage 8s ease-in-out infinite;
}
.therapist-illustration img{
    animation:floatImage 10s ease-in-out infinite;
}

/* WhatsApp */
.floating-whatsapp{
    animation:whatsappPulse 3.5s infinite;
}
.floating-whatsapp:hover{
    transform:scale(1.08);
}

/* FAQ */
details{
    transition:box-shadow .3s ease;
}
details[open]{
    box-shadow:var(--shadow-md);
}
summary{
    transition:color .3s ease;
}
summary:hover{
    color:var(--primary);
}

/* Scroll Reveal */
.reveal{
    opacity:0;
    transform:translateY(40px);
    transition:opacity .8s ease, transform .8s ease;
}
.reveal.active{
    opacity:1;
    transform:translateY(0);
}

.fade{
    opacity:0;
    transition:opacity .8s ease;
}
.fade.active{opacity:1;}

.scale{
    opacity:0;
    transform:scale(.95);
    transition:opacity .8s ease, transform .8s ease;
}
.scale.active{
    opacity:1;
    transform:scale(1);
}

.slide-left{
    opacity:0;
    transform:translateX(-60px);
    transition:opacity .8s ease, transform .8s ease;
}
.slide-left.active{
    opacity:1;
    transform:translateX(0);
}

.slide-right{
    opacity:0;
    transform:translateX(60px);
    transition:opacity .8s ease, transform .8s ease;
}
.slide-right.active{
    opacity:1;
    transform:translateX(0);
}

/* Keyframes */
@keyframes floatImage{
    0%{transform:translateY(0);}
    50%{transform:translateY(-16px);}
    100%{transform:translateY(0);}
}

@keyframes whatsappPulse{
    0%{box-shadow:0 0 0 0 rgba(37,211,102,.4);}
    70%{box-shadow:0 0 0 18px rgba(37,211,102,0);}
    100%{box-shadow:0 0 0 0 rgba(37,211,102,0);}
}

@keyframes rotateBlob{
    from{transform:rotate(0);}
    to{transform:rotate(360deg);}
}

@keyframes rotateBlobReverse{
    from{transform:rotate(360deg);}
    to{transform:rotate(0);}
}

/* Reduced Motion */
@media (prefers-reduced-motion:reduce){
    *,*::before,*::after{
        animation:none !important;
        transition:none !important;
        scroll-behavior:auto !important;
    }
}
