/* Shared Styles */
        .product-item .img-product-container { position: relative !important; }

        /* 1. Star & Rotating Text (Top-Left) */
        .discount-star-badge { position: absolute; top: -5px; left: -5px; width: 70px; height: 70px; z-index: 9; pointer-events: none; display: flex; align-items: center; justify-content: center; }
        .rotating-text-wrapper { position: absolute; width: 100%; height: 100%; animation: rotate-discount 18s linear infinite; }
        .rotating-text-wrapper svg { width: 100%; height: 100%; overflow: visible; }
        .rotating-text-wrapper path { fill: none; }
        .rotating-text-wrapper text { fill: #9b30ff; font-weight: 900; font-size: 13px; text-transform: uppercase; letter-spacing: 0.5px; }
        .discount-stars { display: flex; flex-wrap: nowrap; justify-content: center; align-items: center; background: transparent; border-radius: 50%; width: 36px; height: 36px; z-index: 2; color: #9b30ff; }
        .discount-stars i { font-family: "mds-icons" !important; font-size: 12px !important; margin: 0 0.5px; line-height: 1; font-style: normal; font-weight: normal; font-variant: normal; text-transform: none; -webkit-font-smoothing: antialiased; text-shadow: 0 1px 2px rgba(0,0,0,0.1); }
        .discount-stars i:before { content: "\e843" !important; }
        @keyframes rotate-discount { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }

        /* 2. Sunburst Badge (Bottom-Left) */
        .sunburst-badge {
            position: absolute;
            bottom: 22px;
            left: 5px;
            width: 64px;
            height: 64px;
            z-index: 10;
            pointer-events: none;
            filter: drop-shadow(0 4px 10px rgba(0,0,0,0.5));
            animation: sunburst-live 2s cubic-bezier(0.4, 0, 0.2, 1) infinite;
        }
        .sunburst-svg { width: 100%; height: 100%; overflow: visible; }
        .sunburst-path { 
            stroke: #fff;
            stroke-width: 3.5; 
            stroke-linejoin: round; 
        }
        .sunburst-text { 
            fill: #fff; 
            font-family: 'Inter', sans-serif; 
            font-weight: 900; 
            text-transform: uppercase; 
            letter-spacing: -0.5px;
            text-shadow: 1px 1px 2px rgba(0,0,0,0.8);
        }
        .sunburst-text.top-text { font-size: 26px; }
        .sunburst-text.bottom-text { font-size: 26px; }
        .sunburst-text.small-text { font-size: 15px; }

        @keyframes sunburst-live {
            0% { transform: scale(1) rotate(0deg); }
            50% { transform: scale(1.08) rotate(3deg); }
            100% { transform: scale(1) rotate(0deg); }
        }

        /* 3. Out of Stock Styles */
        .product-out-of-stock {
            color: #ff0000;
            font-weight: 800;
            text-transform: uppercase;
            font-size: 14px;
            display: block;
            margin-top: 5px;
        }
        .btn-notify-stock {
            color: #555;
            font-size: 13px;
            font-weight: 600;
            text-decoration: underline;
            margin-top: 2px;
            display: inline-block;
        }
        .btn-notify-stock:hover { color: #000; }
        /* Fix Add to Cart Button Visuals */
        .btn-product-cart {
            display: flex !important;
            align-items: center !important;
            justify-content: center !important;
            flex-direction: row !important;
            min-height: 44px !important;
            padding: 10px 20px !important;
            gap: 10px;
        }
        .btn-product-cart .btn-cart-icon {
            display: flex !important;
            align-items: center !important;
            justify-content: center !important;
            margin: 0 !important;
            padding: 0 !important;
            width: auto !important;
            height: auto !important;
        }
        .btn-product-cart .btn-cart-icon i {
            margin: 0 !important;
            font-size: 18px !important;
        }
        /* 4. Bestseller Bar */
        .bestseller-bar {
            position: absolute;
            bottom: 0;
            left: 0;
            width: 100%;
            background-color: #ffd700;
            color: #6f42c1;
            height: 26px;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 13px;
            font-weight: 700;
            z-index: 11;
            text-transform: uppercase;
        }
        .bestseller-bar i {
            margin-right: 5px;
            color: #6f42c1;
        }

        /* 4.5. Coupon Bar */
        .coupon-bar {
            position: absolute;
            bottom: 0;
            left: 0;
            width: 100%;
            background-color: #6f42c1;
            color: #fff;
            height: 26px;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 13px;
            font-weight: 700;
            z-index: 11;
            text-transform: uppercase;
        }
        .coupon-bar i {
            margin-right: 5px;
            color: #fff;
        }

        /* 4.6. Free Shipping Bar & Highlight */
        .free-shipping-bar {
            position: absolute;
            bottom: 0;
            left: 0;
            width: 100%;
            background: linear-gradient(90deg, #ff8c00 0%, #ffd700 100%);
            color: #fff !important;
            height: 26px;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 13px;
            font-weight: 700;
            z-index: 11;
            text-transform: uppercase;
            text-shadow: 1px 1px 2px rgba(0,0,0,0.3);
            box-shadow: 0 -2px 10px rgba(0,0,0,0.1);
        }
        .free-shipping-bar i {
            margin-right: 5px;
            color: #fff !important;
            font-size: 15px;
        }
        .product-item-framed {
            border: 1px solid #ededed !important;
            transition: all 0.3s ease;
            background: #fff;
        }
        .item-free-shipping {
            border: 2px solid #ff8c00 !important;
            box-shadow: 0 4px 15px rgba(255, 140, 0, 0.15) !important;
        }
        .item-has-coupon {
            border: 2px solid #6f42c1 !important;
            box-shadow: 0 4px 15px rgba(111, 66, 193, 0.15) !important;
        }
        .item-has-bestseller {
            border: 2px solid #ffd700 !important;
            box-shadow: 0 4px 15px rgba(255, 215, 0, 0.15) !important;
        }
        .product-item-framed:hover {
            transform: translateY(-2px);
            box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1) !important;
        }
        .item-free-shipping:hover { box-shadow: 0 8px 25px rgba(255, 140, 0, 0.25) !important; }
        .item-has-coupon:hover { box-shadow: 0 8px 25px rgba(111, 66, 193, 0.25) !important; }
        .item-has-bestseller:hover { box-shadow: 0 8px 25px rgba(255, 215, 0, 0.25) !important; }

        /* 5. New Product Ribbon */
        .ribbon-new-wrapper {
            position: absolute;
            top: -5px;
            right: -5px;
            width: 75px;
            height: 75px;
            overflow: hidden;
            z-index: 12;
            pointer-events: none;
        }
        .ribbon-new {
            font-family: 'Inter', sans-serif;
            font-size: 11px;
            font-weight: 800;
            color: #fff;
            text-transform: uppercase;
            text-align: center;
            line-height: 22px;
            transform: rotate(45deg);
            width: 110px;
            display: block;
            background: linear-gradient(135deg, #00f2fe 0%, #4facfe 100%);
            position: absolute;
            top: 18px;
            right: -28px;
            box-shadow: 0 2px 5px rgba(0,0,0,0.2);
            letter-spacing: 0.5px;
            border: 1px solid rgba(255,255,255,0.3);
        }
        .product-item .badge-discount {
            position: absolute !important;
            text-align: center !important;
            top: 45% !important;
            right: 0 !important;
            left: auto !important;
            padding: 6px 8px !important;
            border-radius: 4px 0 0 4px !important;
            font-weight: 400 !important;
            font-size: 12px !important;
            background-color: #f6465d !important;
            color: #fff !important;
            z-index: 5 !important;
            transform: translateY(-50%) !important;
        }

/* --- Bestsellers Compact Slider Styles --- */
.section-bestseller-compact {
            padding: 30px 0;
            background-color: #fcfcfc;
            overflow: hidden;
            border-top: 1px solid #eee;
        }
        .section-title-compact {
            font-size: 22px;
            font-weight: 800;
            color: #333;
            margin-bottom: 20px;
            letter-spacing: 0.5px;
        }
        .bestseller-slider-outer-frame {
            border: 2px solid #6f42c1;
            padding: 12px;
            border-radius: 12px;
            background-color: #fff;
            box-shadow: 0 4px 12px rgba(0,0,0,0.05);
        }
        .bestseller-compact-slider .bs-compact-item {
            padding: 0 8px;
            outline: none;
        }
        .bestseller-compact-slider .bs-compact-content {
            border: 1px solid #ddd;
            border-radius: 10px;
            padding: 8px;
            background-color: #fff;
            transition: all 0.3s ease;
            height: 180px;
            display: flex;
            flex-direction: column;
        }
        .bestseller-compact-slider .bs-compact-content:hover {
            border-color: #6f42c1;
            transform: translateY(-3px);
            box-shadow: 0 5px 15px rgba(0,0,0,0.1);
        }
        .bs-compact-content a {
            text-decoration: none;
            color: inherit;
            display: flex;
            flex-direction: column;
            height: 100%;
        }
        .bs-compact-content .img-container {
            position: relative;
            height: 100px;
            margin-bottom: 8px;
            text-align: center;
        }
        .bs-compact-content .img-container img {
            max-height: 100%;
            max-width: 100%;
            object-fit: contain;
            margin: 0 auto;
        }
        .compact-sales-badge {
            position: absolute;
            top: -5px;
            left: -5px;
            background: #ffc107;
            color: #fff;
            width: 20px;
            height: 20px;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 10px;
            box-shadow: 0 2px 4px rgba(0,0,0,0.2);
        }
        .bs-compact-content .details {
            display: flex;
            flex-direction: column;
            justify-content: space-between;
            flex-grow: 1;
        }
        .bs-compact-content .title {
            font-size: 11px;
            font-weight: 600;
            line-height: 1.2;
            color: #444;
            display: -webkit-box;
            -webkit-line-clamp: 2;
            -webkit-box-orient: vertical;
            overflow: hidden;
            margin-bottom: 4px;
            height: 26px;
        }
        .bs-compact-content .price {
            font-size: 13px;
            font-weight: 700;
            color: #333;
        }
        .bestseller-compact-slider .slick-track {
            display: flex;
            align-items: center;
        }

/* --- Aras Plus Container Styles --- */
.aras-plus-container {
        margin-bottom: 10px !important; 
        background-color: #ffffff; 
        padding: 5px 15px !important; 
        border-radius: 8px; 
        border: 2px solid #6f42c1; 
        box-shadow: 0 2px 10px rgba(111, 66, 193, 0.08);
    }
    .aras-plus-title {
        color: #6f42c1; 
        font-weight: 800; 
        margin-bottom: 0px !important; 
        font-size: 15px !important;
        display: flex;
        align-items: center;
        gap: 5px;
    }
    .aras-plus-desc {
        color: #666; 
        margin-bottom: 4px !important; 
        font-size: 12px !important;
        font-weight: 500;
        line-height: 1.1;
    }
    .aras-plus-2-container {
        margin-bottom: 10px; 
        background-color: #ffffff; 
        padding: 5px 15px; 
        border-radius: 8px; 
        border: 2px solid #fd7e14; 
        box-shadow: 0 2px 10px rgba(253, 126, 20, 0.08);
    }
    .aras-plus-2-title {
        color: #fd7e14; 
        font-weight: 800; 
        margin-bottom: 0px; 
        font-size: 15px;
        display: flex;
        align-items: center;
        gap: 5px;
    }
    .aras-plus-2-desc {
        color: #666; 
        margin-bottom: 5px; 
        font-size: 12px;
        font-weight: 500;
        line-height: 1.1;
    }
    @media (max-width: 768px) {
        .aras-plus-container, .aras-plus-2-container {
            padding: 10px !important;
            border-radius: 8px;
            margin-bottom: 20px;
        }
        .aras-plus-title, .aras-plus-2-title {
            font-size: 15px !important;
        }
        .aras-plus-desc, .aras-plus-2-desc {
            font-size: 11px !important;
            margin-bottom: 8px;
            line-height: 1.3;
        }
    }
    /* Hide non-essential items in Aras Plus to reduce height (except countdown) */
    .aras-plus-container .sliding-meta-container,
    .aras-plus-container .product-item-rating,
    .aras-plus-container .sunburst-badge,
    .aras-plus-container .discount-star-badge,
    .aras-plus-container .ribbon-new-wrapper {
        display: none !important;
    }
    .aras-plus-container .product-item {
        padding-bottom: 5px !important;
    }
    .aras-plus-container .product-title {
        font-size: 13px !important;
        height: 32px !important;
        overflow: hidden;
    }
    .aras-plus-container .item-details {
        padding-top: 5px !important;
    }
    /* Radical Shrinkage for Aras Plus Products */
    .aras-plus-product-row {
        display: flex !important;
        flex-wrap: nowrap !important;
        overflow-x: auto !important;
        gap: 12px;
        padding: 5px 0 15px 0 !important;
        scroll-behavior: smooth;
        -webkit-overflow-scrolling: touch;
    }
    .aras-plus-product-row::-webkit-scrollbar { display: none; }
    .aras-plus-product-row .col-product {
        flex: 0 0 160px !important;
        max-width: 160px !important;
        padding: 0 !important;
    }
    .aras-plus-container .product-item {
        border-width: 1px !important;
        box-shadow: 0 2px 8px rgba(0,0,0,0.05) !important;
    }
    .aras-plus-container .img-product-container {
        height: 160px !important;
    }
    .aras-plus-container .img-product {
        padding: 0 !important;
        width: 100% !important;
        height: 100% !important;
        object-fit: contain !important;
        background-color: #fff;
    }
    .aras-plus-container .product-item-options {
        display: none !important;
    }
    .aras-plus-container .badge-discount {
        font-size: 10px !important;
        padding: 2px 4px !important;
    }
    .aras-plus-container .price {
        font-size: 15px !important;
    }
    .aras-plus-container .old-price {
        font-size: 11px !important;
    }

/* --- Vitrin Outer & Campaign Styles --- */
/* Global Section Styles */
    .vitrin-outer { 
        background: #fff; 
        padding: 5px 0 15px 0; 
        font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; 
        overflow: hidden; 
        width: 100%; 
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        text-rendering: optimizeLegibility;
    }
    .vitrin-section { margin-bottom: 20px; width: 100%; }
    .vitrin-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 10px; padding: 0 5px; }
    .vitrin-title { font-size: 15px; font-weight: 700; color: #333; margin: 0; letter-spacing: -0.2px; }
    .vitrin-all { font-size: 13px; font-weight: 600; color: #f27a1a; text-decoration: none !important; display: flex; align-items: center; gap: 4px; }
    .vitrin-all i { font-size: 10px; margin-top: 1px; }

    .vitrin-row { display: flex; gap: 10px; overflow-x: auto; padding: 5px 0 15px 5px; scroll-behavior: smooth; -webkit-overflow-scrolling: touch; scroll-snap-type: x mandatory; width: 100%; }
    .vitrin-row::-webkit-scrollbar { display: none; }
    
    /* Percent Banners */
    .banner-card { flex: 1; min-width: 165px; max-width: 320px; height: 75px; border-radius: 8px; padding: 8px 10px; display: flex; align-items: center; gap: 8px; text-decoration: none !important; transition: transform .2s ease; box-shadow: 0 1px 5px rgba(0,0,0,0.06); position: relative; scroll-snap-align: start; border: 1px solid #f0f0f0; }
    .banner-card:hover { transform: scale(1.02); }
    .banner-img-wrap { width: 50px; height: 50px; min-width: 50px; background: #fff; border-radius: 6px; padding: 4px; display: flex; align-items: center; justify-content: center; overflow: hidden; box-shadow: inset 0 0 5px rgba(0,0,0,0.02); }
    .banner-img { width: 100%; height: 100%; object-fit: contain; }
    .banner-txt { display: flex; flex-direction: column; flex: 1; overflow: hidden; line-height: 1.1; }
    .banner-pct { font-size: 22px; font-weight: 800; letter-spacing: -0.5px; margin-bottom: 0px; color: inherit; }
    .banner-lbl { font-size: 11px; font-weight: 600; opacity: 0.9; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; margin-top: -1px; }

    .vitrin-row-banners { justify-content: space-between; overflow-x: visible; }

    /* Category Circles */
    .cat-item { flex: 1; display: flex; flex-direction: column; align-items: center; max-width: 140px; text-decoration: none !important; scroll-snap-align: start; }
    .cat-circle { width: 75px; height: 75px; border-radius: 50%; display: flex; align-items: center; justify-content: center; position: relative; margin-bottom: 8px; transition: transform .2s ease; border: 1.5px solid #fff; background: #fafafa; box-shadow: 0 4px 10px rgba(0,0,0,0.05); overflow: visible; }
    .cat-item:hover .cat-circle { transform: scale(1.06); box-shadow: 0 6px 15px rgba(0,0,0,0.08); }
    .cat-circle img { width: 100%; height: 100%; object-fit: cover; border-radius: 50%; }
    .cat-badge { position: absolute; top: -1px; right: -1px; background: #f44336; color: #fff; width: 22px; height: 22px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 11px; font-weight: 800; border: 2px solid #fff; box-shadow: 0 2px 5px rgba(0,0,0,0.1); z-index: 2; }
    .cat-name { font-size: 12px; font-weight: 600; color: #333; text-align: center; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; width: 100%; }

    .vitrin-row-cats { justify-content: space-between; overflow-x: visible; }

    /* Campaign Cards */
    .camp-card { flex: 1; min-width: 310px; max-width: 480px; height: 155px; display: flex; border-radius: 12px; overflow: hidden; text-decoration: none !important; box-shadow: 0 4px 12px rgba(0,0,0,0.07); transition: transform .2s ease; scroll-snap-align: start; border: 1px solid #eee; }
    .camp-card:hover { transform: translateY(-3px); box-shadow: 0 8px 20px rgba(0,0,0,0.1); }
    .camp-imgs { width: 50%; background: #fff; display: flex; padding: 4px; gap: 4px; align-items: center; justify-content: center; border-right: 1px solid #f5f5f5; overflow: hidden; }
    .camp-imgs img { width: 48%; height: 92%; object-fit: cover; border-radius: 4px; }
    .camp-content { flex: 1; padding: 15px 20px; display: flex; flex-direction: column; justify-content: center; position: relative; overflow: hidden; }
    .camp-brand { font-size: 13px; font-weight: 700; text-transform: lowercase; margin-bottom: 2px; letter-spacing: -0.2px; }
    .camp-title { font-size: 19px; font-weight: 800; line-height: 1.1; letter-spacing: -0.3px; }
    .camp-desc { font-size: 11px; opacity: 0.95; margin-top: 6px; font-weight: 600; letter-spacing: 0px; }

    .vitrin-row-camps { justify-content: space-between; overflow-x: visible; }

    @media (max-width: 768px) {
        .vitrin-outer { padding: 5px 0 10px 0; }
        .vitrin-header { text-align: center; margin-bottom: 12px; }
        .vitrin-title { font-size: 16px; }
        .banner-card { flex: 0 0 155px; min-width: 155px; height: 70px; padding: 8px 10px; }
        .banner-pct { font-size: 19px; }
        .banner-img-wrap { width: 45px; height: 45px; min-width: 45px; }
        .cat-item { flex: 0 0 auto; width: 80px; }
        .cat-circle { width: 60px; height: 60px; }
        .vitrin-row-cats { justify-content: flex-start; overflow-x: auto; padding-bottom: 10px; }
        .vitrin-row-banners { justify-content: flex-start; overflow-x: auto; padding-bottom: 10px; }
        .vitrin-row-camps { justify-content: flex-start; overflow-x: auto; padding-bottom: 10px; }
        .camp-card { flex: 0 0 295px; min-width: 295px; height: 135px; }
        .camp-title { font-size: 17px; }
    }

    @media (max-width: 375px) {
        .banner-card { flex: 0 0 140px; min-width: 140px; }
        .camp-card { flex: 0 0 260px; min-width: 260px; }
        .cat-item { width: 70px; }
        .cat-circle { width: 55px; height: 55px; }
    }