/* ============================================
   CUSTOM ANIMATIONS & EFFECTS
   Beyond what theme.json can handle
   ============================================ */

/* Gentle fade-in animation */
@keyframes fadeInGentle {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

/* Breathing effect for sections */
@keyframes breathe {

    0%,
    100% {
        transform: scale(1);
    }

    50% {
        transform: scale(1.002);
    }
}

/* Scroll-triggered reveal */
.fade-in {
    opacity: 0;
    transition: opacity 0.8s cubic-bezier(0.25, 0.1, 0.25, 1);
}

.fade-in.visible {
    opacity: 1;
}

/* Staggered children animations */
.fade-in:nth-child(1) {
    transition-delay: 0ms;
}

.fade-in:nth-child(2) {
    transition-delay: 150ms;
}

.fade-in:nth-child(3) {
    transition-delay: 300ms;
}

/* Button hover micro-interaction */
.wp-block-button__link {
    transition: all 0.4s cubic-bezier(0.25, 0.1, 0.25, 1);
}

.wp-block-button__link:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 16px rgba(196, 129, 107, 0.25);
}

.wp-block-button__link:active {
    transform: translateY(0);
}

/* Image hover effect */
.service-card .wp-block-image img,
.about-image img {
    transition: transform 0.8s cubic-bezier(0.25, 0.1, 0.25, 1);
}

.service-card:hover .wp-block-image img {
    transform: scale(1.03);
}

/* Link underline animation */
.wp-block-group a:not(.wp-block-button__link) {
    text-decoration: none;
    background-image: linear-gradient(currentColor, currentColor);
    background-position: 0% 100%;
    background-repeat: no-repeat;
    background-size: 0% 1px;
    transition: background-size 0.4s cubic-bezier(0.25, 0.1, 0.25, 1);
}

.wp-block-group a:not(.wp-block-button__link):hover {
    background-size: 100% 1px;
}

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce) {
    .fade-in {
        opacity: 1;
        transition: none;
    }

    .wp-block-button__link:hover {
        transform: none;
    }

    .service-card:hover .wp-block-image img {
        transform: none;
    }

    .wp-block-group a:not(.wp-block-button__link) {
        background-image: none;
        text-decoration: underline;
    }
}