/* Feature: Core Layout & Premium Pink Background */
body { font-family: 'Poppins', sans-serif; background-color: #fce4ec; }
.cm-scroll-x { display: flex; overflow-x: auto; scroll-behavior: smooth; gap: 10px; padding-bottom: 5px; scrollbar-width: none; user-select: none; -webkit-user-select: none; position: relative; }
.cm-scroll-x::-webkit-scrollbar { display: none; }
.cm-scroll-x img { -webkit-user-drag: none; }
.slider-btn { position: absolute; top: 50%; transform: translateY(-50%); z-index: 10; background: #fff; border: 1px solid #ddd; border-radius: 50%; width: 30px; height: 30px; display: flex; justify-content: center; align-items: center; cursor: pointer; box-shadow: 0 4px 6px rgba(0,0,0,0.1); color: #2c0b0e; transition: 0.3s; }
.slider-btn:hover { background: #d4af37; color: #fff; border-color: #d4af37; }
.slider-btn.left { left: 5px; }
.slider-btn.right { right: 5px; }
.slider-wrapper { position: relative; padding: 0 15px; }

/* Feature: Circle Categories */
.cm-circle-cat { text-align: center; flex-shrink: 0; width: 80px; text-decoration: none; color: #333; transition: 0.3s; }
.cm-circle-cat:hover { transform: translateY(-3px); }
.cm-circle-cat img { width: 70px; height: 70px; border-radius: 50%; object-fit: cover; border: 2px solid #d4af37; padding: 2px; margin-bottom: 5px; box-shadow: 0 4px 6px rgba(0,0,0,0.1); }
.cm-circle-cat span { font-size: 11px; font-weight: 500; display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* Feature: Trust Badges & Cards */
.cm-trust-badge { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 5px; font-size: 12px; font-weight: 600; color: #2c0b0e; background: #fff; padding: 10px 5px; border-radius: 10px; box-shadow: 0 2px 8px rgba(0,0,0,0.05); text-align: center; border-bottom: 3px solid #d4af37; }
.cm-trust-badge i { font-size: 18px; color: #d4af37; }
.cm-product-card { border: none; border-radius: 12px; transition: 0.3s; overflow: hidden; background: #fff; }
.cm-product-card:hover { transform: translateY(-5px); box-shadow: 0 10px 20px rgba(0,0,0,0.1) !important; }

/* Feature: Wishlist Toggle Button */
.cm-wishlist-btn { position: absolute; top: 8px; right: 8px; background: #fff; border: none; border-radius: 50%; width: 28px; height: 28px; display: flex; align-items: center; justify-content: center; box-shadow: 0 2px 5px rgba(0,0,0,0.2); z-index: 10; color: #ccc; transition: 0.3s; cursor: pointer; }
.cm-wishlist-btn:hover { color: #e74c3c; }
.cm-wishlist-btn.active i { color: #e74c3c; font-weight: 900; }
.cm-swipe-card-wrapper { flex: 0 0 180px; }
.cm-pink-section { background-color: #fce4ec; padding: 10px 0; margin-bottom: 15px; border-top: 1px solid #f9e1e6; border-bottom: 1px solid #f9e1e6; }

/* Feature: Promo Banners (Fixed Image Cropping) */
.cm-banner-wrapper { flex: 0 0 90%; }
@media (min-width: 768px) { .cm-banner-wrapper { flex: 0 0 48%; } }
.cm-promo-banner { border-radius: 15px; width: 100%; height: auto; object-fit: contain; }

/* Feature: Reel Cards */
.cm-reel-card { width: 140px; height: 220px; border-radius: 12px; flex-shrink: 0; background-color: #333; position: relative; overflow: hidden; }
.cm-reel-card img { width: 100%; height: 100%; object-fit: cover; opacity: 0.8; }
.cm-reel-play { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); color: #fff; font-size: 30px; }
.page-link { color: #2c0b0e; }
.page-item.active .page-link { background-color: #d4af37; border-color: #d4af37; color: #000; }
#cmHeroSlider .carousel-item img { height: 400px !important; object-fit: contain !important; }
@media (max-width: 768px) { 
    #cmHeroSlider .carousel-item img { height: 200px !important; object-fit: cover !important; } 
}

/* Feature: Marquee */
.cm-marquee-container { overflow: hidden; white-space: nowrap; background: #fcebeb; color: #e74c3c; padding: 6px 0; border-top: 1px solid #f5caca; border-bottom: 1px solid #f5caca; }
.cm-marquee-content { display: inline-block; animation: marquee-left 20s linear infinite; }
@keyframes marquee-left { 0% { transform: translateX(100vw); } 100% { transform: translateX(-100%); } }

/* Feature: Pink Trail Animation */
.cm-pink-trail { position: absolute; width: 8px; height: 8px; background: #ff4d6d; border-radius: 50%; box-shadow: 0 0 10px #ff758f, 0 0 20px #fce4ec; pointer-events: none; z-index: 9999; animation: cm-trail-fade 0.8s linear forwards; }
@keyframes cm-trail-fade { 0% { transform: scale(1); opacity: 1; } 100% { transform: scale(0.2) translateY(15px); opacity: 0; } }