/* Site-wide polish & motion */
html {
    scroll-behavior: smooth;
}

/* Scroll reveal */
.reveal {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity 0.55s cubic-bezier(0.22, 1, 0.36, 1), transform 0.55s cubic-bezier(0.22, 1, 0.36, 1);
}

.reveal.visible {
    opacity: 1;
    transform: translateY(0);
}

.reveal-delay-1 { transition-delay: 0.06s; }
.reveal-delay-2 { transition-delay: 0.12s; }
.reveal-delay-3 { transition-delay: 0.18s; }
.reveal-delay-4 { transition-delay: 0.24s; }
.reveal-delay-5 { transition-delay: 0.3s; }
.reveal-delay-6 { transition-delay: 0.36s; }

/* Sticky nav shadow on scroll */
.main-nav {
    transition: box-shadow 0.3s ease, background 0.3s ease;
}

.main-nav.scrolled {
    box-shadow: 0 8px 32px rgba(15, 23, 42, 0.1);
    background: rgba(255, 255, 255, 0.98);
}

/* Button press feedback */
.btn-send:active,
.btn-nav-cta:active,
.btn-login:active,
.btn-product:active {
    transform: scale(0.97);
}

/* Shop page enhancements */
body.page-shop {
    background: #f8fafc;
    background-image:
        radial-gradient(ellipse 100% 70% at 100% 0%, rgba(224, 242, 254, 0.45) 0%, transparent 55%),
        radial-gradient(ellipse 70% 50% at 0% 100%, rgba(254, 243, 199, 0.2) 0%, transparent 50%);
}

.page-shop .shop-hero {
    position: relative;
    overflow: hidden;
}

.page-shop .shop-hero::after {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 80% 20%, rgba(56, 189, 248, 0.15) 0%, transparent 45%);
    pointer-events: none;
}

.page-shop .shop-sidebar {
    transition: box-shadow 0.3s ease, transform 0.3s ease;
}

.page-shop .shop-sidebar:hover {
    box-shadow: 0 8px 32px rgba(33, 150, 243, 0.1);
}

.page-shop .shop-toolbar {
    transition: box-shadow 0.3s ease;
}

.page-shop .shop-toolbar:hover {
    box-shadow: 0 4px 20px rgba(15, 23, 42, 0.06);
}

.page-shop .product-card {
    transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.35s ease, border-color 0.3s ease;
}

.page-shop .product-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 48px rgba(33, 150, 243, 0.14);
    border-color: rgba(33, 150, 243, 0.2);
}

.page-shop .product-card:hover .product-thumb-icon {
    transform: scale(1.08);
}

.page-shop .product-thumb-icon {
    transition: transform 0.4s cubic-bezier(0.22, 1, 0.36, 1);
}

.page-shop .btn-product {
    transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

.page-shop .btn-product:hover {
    transform: translateY(-1px);
}

.page-shop .cat-item > a,
.page-shop .cat-item > button {
    transition: background 0.2s, color 0.2s, padding-right 0.2s;
}

.page-shop .cat-item > a:hover,
.page-shop .cat-item > button:hover {
    padding-right: 22px;
}
/* Footer link hover */
footer a {
    transition: color 0.2s ease, padding-right 0.2s ease;
}

footer .footer-col ul a:hover {
    color: #1976d2;
    padding-right: 4px;
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    .reveal { opacity: 1; transform: none; transition: none; }
    .support-widget-btn { animation: none; }
    .support-widget-btn::before { animation: none; display: none; }
}
