body { background-color: #fdfcf8; overflow-x: hidden; }

.custom-cursor {
    width: 20px; height: 20px;
    border: 2px solid #21d411; border-radius: 50%;
    position: fixed; pointer-events: none; z-index: 9999;
    transition: transform 0.1s ease, background 0.3s ease; opacity: 0.6;
}
@media (max-width: 1024px) { .custom-cursor { display: none !important; } }

.sparkle {
    position: fixed; width: 4px; height: 4px;
    background: #21d411; border-radius: 50%;
    pointer-events: none; z-index: 9998; opacity: 0; transition: opacity 0.5s ease;
}

.glass {
    background: rgba(255,255,255,0.05); backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px); border: 1px solid rgba(255,255,255,0.1);
}

.particle { position: fixed; pointer-events: none; z-index: 1; filter: blur(1px); opacity: 0.4; }

.product-card { transition: transform 0.3s ease, box-shadow 0.3s ease; }
.product-card:hover { box-shadow: 0 25px 50px -12px rgba(33,212,17,0.15); }
.glow-effect {
    position: absolute; inset: 0;
    background: radial-gradient(circle at var(--mouse-x,50%) var(--mouse-y,50%), rgba(33,212,17,0.15) 0%, transparent 70%);
    opacity: 0; transition: opacity 0.3s; pointer-events: none;
}
.product-card:hover .glow-effect { opacity: 1; }

#cart-sidebar.pointer-events-none *, #checkout-modal.pointer-events-none * { pointer-events: none !important; }

.flip-card { perspective: 1000px; }
.flip-card-inner { transition: transform 0.8s cubic-bezier(0.175,0.885,0.32,1.275); transform-style: preserve-3d; }
.flip-card:hover .flip-card-inner { transform: rotateY(180deg); }
.flip-card-front, .flip-card-back { position: absolute; width: 100%; height: 100%; -webkit-backface-visibility: hidden; backface-visibility: hidden; }
.flip-card-back { transform: rotateY(180deg); }

.ritual-card { transition: all 0.6s cubic-bezier(0.4,0,0.2,1); cursor: pointer; }
.ritual-card.expanded { height: auto !important; min-height: 600px; }
@media (min-width: 768px) { .ritual-card.expanded { height: 800px !important; } }
.ritual-card.expanded .ritual-extra-content { display: block; opacity: 1; }
.ritual-extra-content { display: none; opacity: 0; transition: opacity 0.5s ease; }
.ritual-card:hover { background-color: var(--ritual-color); }
.ritual-card:hover h3, .ritual-card:hover p, .ritual-card:hover .ritual-extra-content { color: white; }

.catalog-section { margin-bottom: 2.5rem; }
.catalog-section-row {
    display: flex; gap: 1rem; overflow-x: auto;
    scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch;
    padding-bottom: 0.75rem; scrollbar-width: none;
}
.catalog-section-row::-webkit-scrollbar { display: none; }
.catalog-section-row .card-container { flex: 0 0 160px; scroll-snap-align: start; }
@media (min-width: 640px) { .catalog-section-row .card-container { flex: 0 0 200px; } }
@media (min-width: 1024px) { .catalog-section-row .card-container { flex: 0 0 230px; } }

.cat-pill-nav { display: flex; gap: 0.5rem; overflow-x: auto; scrollbar-width: none; }
.cat-pill-nav::-webkit-scrollbar { display: none; }
.cat-pill { transition: all 0.2s; white-space: nowrap; }
.cat-pill.active { background: #21d411; color: #1a2e1a; }

.text-reveal { clip-path: polygon(0 0,100% 0,100% 100%,0% 100%); transition: transform 1s cubic-bezier(0.77,0,0.175,1); }
.quick-add-sidebar { transition: transform 0.4s cubic-bezier(0.4,0,0.2,1); }

.whatsapp-float {
    position: fixed; bottom: 20px; right: 20px; width: 60px; height: 60px;
    background-color: #25D366; border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    box-shadow: 0 4px 12px rgba(37,211,102,0.4); z-index: 100; cursor: pointer; transition: all 0.3s ease;
}
.whatsapp-float:hover { transform: scale(1.1); box-shadow: 0 6px 20px rgba(37,211,102,0.6); }
.whatsapp-float svg { width: 35px; height: 35px; fill: white; }
@media (max-width: 640px) {
    .whatsapp-float { width: 56px; height: 56px; bottom: 16px; right: 16px; }
    .whatsapp-float svg { width: 32px; height: 32px; }
}
