/* Block hover & interaction effects */
.site-effect-none .site-card,
.site-effect-none .service-card,
.site-effect-none .gallery-item,
.site-effect-none .site-testimonial,
.site-effect-none .site-pricing-card { transition: none; }

.site-effect-hover-lift .site-card,
.site-effect-hover-lift .service-card,
.site-effect-hover-lift .gallery-item,
.site-effect-hover-lift .site-testimonial,
.site-effect-hover-lift .site-pricing-card {
    transition: transform 0.28s ease, box-shadow 0.28s ease;
}

.site-effect-hover-lift .site-card:hover,
.site-effect-hover-lift .service-card:hover,
.site-effect-hover-lift .gallery-item:hover,
.site-effect-hover-lift .site-testimonial:hover,
.site-effect-hover-lift .site-pricing-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 48px rgba(15, 23, 42, 0.12);
}

.site-effect-hover-zoom .site-card-media,
.site-effect-hover-zoom .site-card-hover-zoom .site-card-media {
    overflow: hidden;
}

.site-effect-hover-zoom .site-card-img {
    transition: transform 0.45s ease;
}

.site-effect-hover-zoom .site-card:hover .site-card-img,
.site-effect-hover-zoom .service-card:hover .site-card-img,
.site-effect-hover-zoom .gallery-item:hover .site-card-img {
    transform: scale(1.08);
}

.site-effect-hover-blur .site-card,
.site-effect-hover-blur .service-card,
.site-effect-hover-blur .gallery-item {
    transition: filter 0.3s ease, transform 0.3s ease;
}

.site-effect-hover-blur .site-card:hover,
.site-effect-hover-blur .service-card:hover,
.site-effect-hover-blur .gallery-item:hover {
    filter: brightness(1.02);
}

.site-effect-hover-blur .site-card-media {
    overflow: hidden;
    position: relative;
}

.site-effect-hover-blur .site-card-media::after {
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(255,255,255,0.15);
    backdrop-filter: blur(0px);
    opacity: 0;
    transition: opacity 0.3s ease, backdrop-filter 0.3s ease;
}

.site-effect-hover-blur .site-card:hover .site-card-media::after,
.site-effect-hover-blur .service-card:hover .site-card-media::after {
    opacity: 1;
    backdrop-filter: blur(2px);
}

.site-effect-hover-glow .site-card,
.site-effect-hover-glow .service-card,
.site-effect-hover-glow .site-pricing-card {
    transition: box-shadow 0.3s ease, border-color 0.3s ease;
}

.site-effect-hover-glow .site-card:hover,
.site-effect-hover-glow .service-card:hover,
.site-effect-hover-glow .site-pricing-card:hover {
    box-shadow: 0 0 0 1px var(--accent, var(--brand)), 0 16px 40px color-mix(in srgb, var(--accent, var(--brand)) 25%, transparent);
}

.site-effect-hover-tilt .site-card,
.site-effect-hover-tilt .service-card {
    transition: transform 0.25s ease;
    transform-style: preserve-3d;
}

.site-effect-hover-tilt .site-card:hover,
.site-effect-hover-tilt .service-card:hover {
    transform: perspective(800px) rotateX(2deg) rotateY(-2deg) translateY(-4px);
}

.site-btn-shine {
    position: relative;
    overflow: hidden;
}

.site-btn-shine::after {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 60%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.35), transparent);
    transition: left 0.5s ease;
}

.site-btn-shine:hover::after {
    left: 120%;
}

/* Per-block animation overrides */
.site-block-anim-fade-up .site-animate { animation-name: siteFadeUp !important; }
.site-block-anim-fade-in .site-animate { animation-name: siteFadeIn !important; }
.site-block-anim-scale .site-animate { animation-name: siteScaleIn !important; }
.site-block-anim-slide-left .site-animate { animation-name: siteSlideLeft !important; }
.site-block-anim-none .site-animate { opacity: 1 !important; animation: none !important; }
