/* === FONTS === */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&family=Playfair+Display:wght@700;900&display=swap');

/* === CUSTOM ANIMATIONS === */
@keyframes reveal {
    from { clip-path: inset(0 100% 0 0); }
    to { clip-path: inset(0 0 0 0); }
}

.reveal-text {
    animation: reveal 1s cubic-bezier(0.77, 0, 0.175, 1);
}

/* === EFFECTS === */
.noise-bg {
    position: relative;
}
.noise-bg::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3%3Ffilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E");
    opacity: 0.05;
    pointer-events: none;
    z-index: 1;
}

.gradient-mesh {
    background-color: #FEF9EF;
    background-image: 
        radial-gradient(at 0% 0%, hsla(197,100%,82%,0.3) 0, transparent 50%), 
        radial-gradient(at 50% 0%, hsla(47,100%,82%,0.3) 0, transparent 50%), 
        radial-gradient(at 100% 0%, hsla(197,100%,82%,0.3) 0, transparent 50%);
}

/* === MODULE STYLES === */
/* module: catalog */
.product-card-hover {
    transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}
.product-card-hover:hover {
    transform: translateY(-12px);
    box-shadow: 0 20px 40px -15px rgba(0, 168, 232, 0.15);
}

.aspect-product {
    aspect-ratio: 4 / 5;
}
