/* =========================
   HOVER ANIMATIONS
   ========================= */

.btn-primary,
.btn-secondary,
.home-button,
.booking-button,
.price-card,
.staff-card,
.profile-card {
    transition: transform 0.25s ease, box-shadow 0.25s ease, color 0.25s ease, background 0.25s ease, border-color 0.25s ease;
}

    .btn-primary:hover,
    .btn-secondary:hover,
    .booking-button:hover,
    .price-card:hover,
    .staff-card:hover {
        transform: translateY(-3px);
    }


/* =========================
   SCROLL REVEAL
   Используем translate отдельно,
   чтобы не ломать hover-transform
   ========================= */

.reveal-item {
    opacity: 0;
    translate: 0 38px;
    transition: opacity 0.75s ease, translate 0.85s cubic-bezier(0.22, 1, 0.36, 1);
    transition-delay: var(--reveal-delay, 0ms);
    will-change: opacity, translate;
}

    .reveal-item.reveal-from-left {
        translate: -45px 0;
    }

    .reveal-item.reveal-from-right {
        translate: 45px 0;
    }

    .reveal-item.is-visible {
        opacity: 1;
        translate: 0 0;
    }


/* Лёгкое появление карточек девушек */

.profile-card.reveal-item {
    scale: 0.96;
    transition: opacity 0.7s ease, translate 0.8s cubic-bezier(0.22, 1, 0.36, 1), scale 0.8s cubic-bezier(0.22, 1, 0.36, 1), transform 0.32s ease, border-color 0.32s ease, box-shadow 0.32s ease;
}

    .profile-card.reveal-item.is-visible {
        scale: 1;
    }


/* Декоративное свечение заголовков */

.home-section-heading h2,
.staff-heading h1 {
    text-shadow: 0 8px 25px rgba(0, 0, 0, 0.4);
}


/* Уважение системной настройки
   уменьшенных анимаций */

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }

    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }

    .reveal-item,
    .reveal-item.reveal-from-left,
    .reveal-item.reveal-from-right {
        opacity: 1;
        translate: 0 0;
        scale: 1;
    }
}

/* =========================
   MOBILE REVEAL FIX
   ========================= */

@media (max-width: 900px) {
    .reveal-item,
    .reveal-item.reveal-from-left,
    .reveal-item.reveal-from-right {
        translate: 0 26px;
    }

        .reveal-item.is-visible,
        .reveal-item.reveal-from-left.is-visible,
        .reveal-item.reveal-from-right.is-visible {
            translate: 0 0;
        }
}

@media (max-width: 900px) {
    .staff-page .reveal-item,
    .staff-page .reveal-item.reveal-from-left,
    .staff-page .reveal-item.reveal-from-right {
        translate: 0 24px !important;
    }

        .staff-page .reveal-item.is-visible,
        .staff-page .reveal-item.reveal-from-left.is-visible,
        .staff-page .reveal-item.reveal-from-right.is-visible {
            translate: 0 0 !important;
        }
}

/* =========================
   MOBILE REVEAL STABILITY
   ========================= */

@media (max-width: 900px) {
    body.page-home .reveal-item,
    body.page-home .reveal-item.reveal-from-left,
    body.page-home .reveal-item.reveal-from-right,
    body.page-staff .reveal-item,
    body.page-staff .reveal-item.reveal-from-left,
    body.page-staff .reveal-item.reveal-from-right {
        translate: 0 24px !important;
    }

        body.page-home .reveal-item.is-visible,
        body.page-home .reveal-item.reveal-from-left.is-visible,
        body.page-home .reveal-item.reveal-from-right.is-visible,
        body.page-staff .reveal-item.is-visible,
        body.page-staff .reveal-item.reveal-from-left.is-visible,
        body.page-staff .reveal-item.reveal-from-right.is-visible {
            translate: 0 0 !important;
        }
}

