/* =========================================================
   TAMINYAR LEGAL MOTION V2
   مستقل از reveal / IntersectionObserver
   ========================================================= */


/* ---------------------------------------------------------
   CRITICAL FIX
   تمام سیستم‌های Reveal قدیمی را در صفحات حقوقی خنثی کن
   --------------------------------------------------------- */

body.legal-page-v2 .reveal,
body.legal-page-v2 .revealed,
body.legal-page-v2 .is-visible,
body.legal-page-v2 [data-reveal],
body.legal-page-v2 .ty-reveal,
body.legal-page-v2 .ty-first-enter,

body.legal-page-v2 .page-hero,
body.legal-page-v2 .page-hero *,
body.legal-page-v2 .legal-wrap,
body.legal-page-v2 .legal-nav,
body.legal-page-v2 .legal-nav *,
body.legal-page-v2 .legal-card,
body.legal-page-v2 .legal-card * {
    visibility: visible !important;
}


/*
 * حتی اگر CSS قدیمی opacity:0 گذاشته باشد،
 * محتوای حقوقی هرگز مخفی نمی‌ماند.
 */
body.legal-page-v2 .reveal,
body.legal-page-v2 [data-reveal],
body.legal-page-v2 .ty-reveal {
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
}


/* ---------------------------------------------------------
   Hero
   --------------------------------------------------------- */

body.legal-page-v2 .page-hero .breadcrumb {
    animation:
        legalBreadcrumbEnter .42s ease-out both;
}

body.legal-page-v2 .page-hero h1 {
    animation:
        legalTitleEnter .55s cubic-bezier(.22,.61,.36,1) .07s both;
}

body.legal-page-v2 .page-hero .container > p {
    animation:
        legalTextEnter .55s cubic-bezier(.22,.61,.36,1) .14s both;
}


/* ---------------------------------------------------------
   Navigation
   --------------------------------------------------------- */

body.legal-page-v2 .legal-nav {
    animation:
        legalNavEnter .52s cubic-bezier(.22,.61,.36,1) .12s both;
}


/* ---------------------------------------------------------
   Main legal card
   --------------------------------------------------------- */

body.legal-page-v2 .legal-card {
    opacity: 1 !important;

    animation:
        legalCardEnter .62s cubic-bezier(.22,.61,.36,1) .16s both;
}


/*
 * متن داخل کارت را دیگر تک‌تک مخفی نمی‌کنیم.
 * فقط خود کارت ورود نرم دارد.
 *
 * این بخش دلیل اصلی جلوگیری از مشکل
 * «باید کمی اسکرول کنم تا متن بیاید» است.
 */

body.legal-page-v2 .legal-card > h2,
body.legal-page-v2 .legal-card > h3,
body.legal-page-v2 .legal-card > p,
body.legal-page-v2 .legal-card > ul,
body.legal-page-v2 .legal-card > ol,
body.legal-page-v2 .legal-card > table,
body.legal-page-v2 .legal-card li {
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    filter: none !important;
}


/* ---------------------------------------------------------
   Keyframes
   --------------------------------------------------------- */

@keyframes legalBreadcrumbEnter {
    from {
        opacity: 0;
        transform: translate3d(10px, 7px, 0);
    }

    to {
        opacity: 1;
        transform: none;
    }
}


@keyframes legalTitleEnter {
    from {
        opacity: 0;
        transform: translate3d(0, 18px, 0);
    }

    to {
        opacity: 1;
        transform: none;
    }
}


@keyframes legalTextEnter {
    from {
        opacity: 0;
        transform: translate3d(0, 12px, 0);
    }

    to {
        opacity: 1;
        transform: none;
    }
}


@keyframes legalNavEnter {
    from {
        opacity: 0;
        transform: translate3d(16px, 0, 0);
    }

    to {
        opacity: 1;
        transform: none;
    }
}


@keyframes legalCardEnter {
    from {
        opacity: 0;
        transform: translate3d(0, 18px, 0);
    }

    to {
        opacity: 1;
        transform: none;
    }
}


/* ---------------------------------------------------------
   جلوگیری از مشکلات Scroll
   --------------------------------------------------------- */

body.legal-page-v2,
body.legal-page-v2 main,
body.legal-page-v2 .legal-wrap,
body.legal-page-v2 .legal-card {
    scroll-behavior: auto !important;
}


/* ---------------------------------------------------------
   Mobile
   --------------------------------------------------------- */

@media (max-width: 768px) {

    body.legal-page-v2 .page-hero h1 {
        animation-duration: .42s;
    }

    body.legal-page-v2 .page-hero .container > p {
        animation-duration: .42s;
    }

    body.legal-page-v2 .legal-card {
        animation-duration: .48s;
        animation-delay: .1s;
    }

    body.legal-page-v2 .legal-nav {
        animation-duration: .42s;
        animation-delay: .08s;
    }
}


/* ---------------------------------------------------------
   Accessibility
   --------------------------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    body.legal-page-v2 .page-hero *,
    body.legal-page-v2 .legal-nav,
    body.legal-page-v2 .legal-card {
        animation: none !important;
        opacity: 1 !important;
        transform: none !important;
    }
}
