/* ==============================================
   PYTADO — GLOBAL ANIMATION SYSTEM
   Shared across all pages. Activated via JS
   IntersectionObserver adding .is-visible
   ============================================== */

/* ── Base fade-up state ── */
.anim-fade-up {
    opacity: 0;
    transform: translateY(32px);
    transition: opacity 0.6s cubic-bezier(0.4, 0, 0.2, 1),
                transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}
.anim-fade-up.is-visible {
    opacity: 1;
    transform: translateY(0);
}

/* ── Fade from left ── */
.anim-fade-left {
    opacity: 0;
    transform: translateX(-32px);
    transition: opacity 0.6s cubic-bezier(0.4, 0, 0.2, 1),
                transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}
.anim-fade-left.is-visible {
    opacity: 1;
    transform: translateX(0);
}

/* ── Fade from right ── */
.anim-fade-right {
    opacity: 0;
    transform: translateX(32px);
    transition: opacity 0.6s cubic-bezier(0.4, 0, 0.2, 1),
                transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}
.anim-fade-right.is-visible {
    opacity: 1;
    transform: translateX(0);
}

/* ── Scale in ── */
.anim-scale-in {
    opacity: 0;
    transform: scale(0.9);
    transition: opacity 0.55s cubic-bezier(0.4, 0, 0.2, 1),
                transform 0.55s cubic-bezier(0.4, 0, 0.2, 1);
}
.anim-scale-in.is-visible {
    opacity: 1;
    transform: scale(1);
}

/* ── Stagger delays (1–12) ── */
.anim-d1  { transition-delay: 0.05s; }
.anim-d2  { transition-delay: 0.12s; }
.anim-d3  { transition-delay: 0.19s; }
.anim-d4  { transition-delay: 0.26s; }
.anim-d5  { transition-delay: 0.33s; }
.anim-d6  { transition-delay: 0.40s; }
.anim-d7  { transition-delay: 0.47s; }
.anim-d8  { transition-delay: 0.54s; }
.anim-d9  { transition-delay: 0.61s; }
.anim-d10 { transition-delay: 0.68s; }
.anim-d11 { transition-delay: 0.75s; }
.anim-d12 { transition-delay: 0.82s; }

/* ── Product card hover: gold glow + lift ── */
.product-card {
    transition: transform 0.35s cubic-bezier(0.4,0,0.2,1),
                border-color 0.35s ease,
                box-shadow 0.35s ease !important;
}
.product-card:hover {
    transform: translateY(-6px) !important;
    border-color: var(--accent-gold, #c9a84c) !important;
    box-shadow: 0 16px 40px rgba(0,0,0,0.5), 0 0 0 1px rgba(201,168,76,0.15) !important;
}

/* ── Product card image zoom on hover ── */
.product-card .card-img,
.product-card [class*="img"] {
    overflow: hidden;
}
.product-card .card-img > *:first-child,
.product-card .product-img-inner {
    transition: transform 0.5s cubic-bezier(0.4,0,0.2,1) !important;
}
.product-card:hover .card-img > *:first-child,
.product-card:hover .product-img-inner {
    transform: scale(1.07) !important;
}

/* ── Subcat card hover ── */
.subcat-card {
    transition: transform 0.35s cubic-bezier(0.4,0,0.2,1),
                border-color 0.35s ease,
                box-shadow 0.35s ease !important;
}
.subcat-card:hover {
    transform: translateY(-5px) !important;
    border-color: var(--accent-gold, #c9a84c) !important;
    box-shadow: 0 14px 35px rgba(0,0,0,0.45) !important;
}

/* ── Contact card hover ── */
.contact-card {
    transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease !important;
}
.contact-card:hover {
    transform: translateY(-5px) !important;
    box-shadow: 0 12px 30px rgba(0,0,0,0.4) !important;
    border-color: var(--accent-gold, #c9a84c) !important;
}

/* ── Timeline step hover ── */
.timeline-step {
    transition: transform 0.3s ease !important;
}
.timeline-step:hover {
    transform: translateX(6px) !important;
}

/* ── Cart item row subtle hover ── */
.cart-item-row {
    transition: background 0.2s ease !important;
}
.cart-item-row:hover {
    background: rgba(201,168,76,0.03) !important;
}

/* ── Summary card glow on hover ── */
.summary-card {
    transition: box-shadow 0.3s ease !important;
}
.summary-card:hover {
    box-shadow: 0 0 0 1px rgba(201,168,76,0.2), 0 16px 40px rgba(0,0,0,0.4) !important;
}

/* ── Page hero fade-in on load ── */
@keyframes pytado-hero-in {
    from { opacity: 0; transform: translateY(24px); }
    to   { opacity: 1; transform: translateY(0); }
}
.page-hero-anim {
    animation: pytado-hero-in 0.75s cubic-bezier(0.4, 0, 0.2, 1) both;
}
.page-hero-anim-delay {
    animation: pytado-hero-in 0.75s cubic-bezier(0.4, 0, 0.2, 1) 0.2s both;
}
.page-hero-anim-delay2 {
    animation: pytado-hero-in 0.75s cubic-bezier(0.4, 0, 0.2, 1) 0.4s both;
}

/* ── Gold shimmer on buttons/CTAs ── */
@keyframes gold-shimmer {
    0%   { background-position: 200% center; }
    100% { background-position: -200% center; }
}
.btn-shimmer {
    background: linear-gradient(90deg, #c9a84c 30%, #f0d98a 50%, #c9a84c 70%);
    background-size: 200% auto;
    animation: gold-shimmer 3s linear infinite;
}

/* ── Product grid: auto stagger via nth-child ── */
.products-grid-custom .product-card.anim-fade-up:nth-child(1)  { transition-delay: 0.03s; }
.products-grid-custom .product-card.anim-fade-up:nth-child(2)  { transition-delay: 0.09s; }
.products-grid-custom .product-card.anim-fade-up:nth-child(3)  { transition-delay: 0.15s; }
.products-grid-custom .product-card.anim-fade-up:nth-child(4)  { transition-delay: 0.21s; }
.products-grid-custom .product-card.anim-fade-up:nth-child(5)  { transition-delay: 0.27s; }
.products-grid-custom .product-card.anim-fade-up:nth-child(6)  { transition-delay: 0.33s; }
.products-grid-custom .product-card.anim-fade-up:nth-child(7)  { transition-delay: 0.39s; }
.products-grid-custom .product-card.anim-fade-up:nth-child(8)  { transition-delay: 0.45s; }
.products-grid-custom .product-card.anim-fade-up:nth-child(n+9) { transition-delay: 0.5s; }

/* ── subcat-card auto stagger ── */
.subcat-cards-grid .subcat-card.anim-fade-up:nth-child(1)  { transition-delay: 0.05s; }
.subcat-cards-grid .subcat-card.anim-fade-up:nth-child(2)  { transition-delay: 0.13s; }
.subcat-cards-grid .subcat-card.anim-fade-up:nth-child(3)  { transition-delay: 0.21s; }
.subcat-cards-grid .subcat-card.anim-fade-up:nth-child(4)  { transition-delay: 0.29s; }
.subcat-cards-grid .subcat-card.anim-fade-up:nth-child(5)  { transition-delay: 0.37s; }
.subcat-cards-grid .subcat-card.anim-fade-up:nth-child(6)  { transition-delay: 0.45s; }
.subcat-cards-grid .subcat-card.anim-fade-up:nth-child(n+7) { transition-delay: 0.52s; }

/* ── AJAX-loaded .content-header animation ── */
.anime-cat-content .content-header.anim-fade-up { opacity: 0; }
.anime-cat-content .content-header.anim-fade-up.is-visible { opacity: 1; }

/* ── Reduced motion: disable all animations ── */
@media (prefers-reduced-motion: reduce) {
    .anim-fade-up,
    .anim-fade-left,
    .anim-fade-right,
    .anim-scale-in {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }
    .page-hero-anim,
    .page-hero-anim-delay,
    .page-hero-anim-delay2 {
        animation: none !important;
    }
}
