.reveal {
    opacity: 0;
    transform: translateY(24px) scale(0.985);
    transition: opacity 0.75s ease, transform 0.75s ease;
}

.reveal.in-view {
    opacity: 1;
    transform: translateY(0) scale(1);
}

.ambient-orb {
    animation: orbFloat 18s ease-in-out infinite;
}

.orb-two {
    animation-delay: -5s;
}

.orb-three {
    animation-delay: -9s;
}

.primary-btn:hover,
.ghost-btn:hover,
.danger-btn:hover,
.product-card:hover,
.category-card:hover,
.feature-card:hover,
.metric-card:hover,
.list-card:hover,
.order-card:hover {
    transform: translateY(-4px);
}

.product-card,
.category-card,
.feature-card,
.metric-card,
.list-card,
.order-card,
.glass-panel {
    transition: transform 0.32s ease, box-shadow 0.32s ease, border-color 0.32s ease;
}

.product-card:hover,
.category-card:hover,
.feature-card:hover,
.metric-card:hover,
.list-card:hover,
.order-card:hover {
    box-shadow: 0 26px 50px rgba(0, 0, 0, 0.26);
    border-color: rgba(105, 213, 255, 0.16);
}

.floating-panel,
.orbital-card,
.hero-metrics div {
    animation: floatCard 6s ease-in-out infinite;
}

.panel-b {
    animation-delay: -1.8s;
}

.hero-metrics div:nth-child(2) {
    animation-delay: -2.4s;
}

.hero-metrics div:nth-child(3) {
    animation-delay: -3.2s;
}

.wishlist-btn.active {
    animation: pulseHeart 0.5s ease;
}

.skeleton-card {
    min-height: 320px;
    border-radius: 28px;
    background:
        linear-gradient(90deg, rgba(255, 255, 255, 0.03), rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.03));
    background-size: 200% 100%;
    animation: shimmer 1.2s linear infinite;
}

.toast {
    animation: toastIn 0.35s ease forwards;
}

.hero-showcase::before {
    content: "";
    position: absolute;
    inset: 12% 16%;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(105, 213, 255, 0.16), transparent 64%);
    filter: blur(8px);
    animation: breathe 7s ease-in-out infinite;
}

@keyframes orbFloat {
    0%, 100% {
        transform: translate3d(0, 0, 0) scale(1);
    }
    33% {
        transform: translate3d(18px, -22px, 0) scale(1.06);
    }
    66% {
        transform: translate3d(-16px, 18px, 0) scale(0.96);
    }
}

@keyframes floatCard {
    0%, 100% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(-12px);
    }
}

@keyframes shimmer {
    0% {
        background-position: 200% 0;
    }
    100% {
        background-position: -200% 0;
    }
}

@keyframes toastIn {
    from {
        opacity: 0;
        transform: translateY(-12px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes pulseHeart {
    0% {
        transform: scale(1);
    }
    50% {
        transform: scale(1.16);
    }
    100% {
        transform: scale(1);
    }
}

@keyframes breathe {
    0%, 100% {
        opacity: 0.6;
        transform: scale(0.96);
    }
    50% {
        opacity: 1;
        transform: scale(1.04);
    }
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}
