 :root {
            --pink: #db2777;
            --pink-dark: #be185d;
            --indigo: #4f46e5;
            --indigo-dark: #3730a3;
        }

        * {
            box-sizing: border-box;
        }

        body {
            background: #f3f4f6;
            font-family: 'Segoe UI', sans-serif;
            overflow-x: hidden;
        }

        /* WhatsApp Float */
        .whatsapp-float {
            position: fixed;
            bottom: 24px;
            right: 24px;
            z-index: 1055;
            background: #22c55e;
            color: #fff;
            border-radius: 50%;
            width: 56px;
            height: 56px;
            display: flex;
            align-items: center;
            justify-content: center;
            box-shadow: 0 4px 24px rgba(34, 197, 94, 0.4);
            animation: pulse 2s infinite;
            text-decoration: none;
            font-size: 1.7rem;
            transition: background 0.2s;
        }

        .whatsapp-float:hover {
            background: #16a34a;
            color: #fff;
        }

        @keyframes pulse {

            0%,
            100% {
                transform: scale(1);
            }

            50% {
                transform: scale(1.1);
            }
        }

        /* Header */
        .site-header {
            background: #fff;
            box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
            position: sticky;
            top: 0;
            z-index: 1040;
        }

        .site-header .logo img {
            height: 48px;
            width: auto;
        }

        .search-form .form-control {
            border: 2px solid #e5e7eb;
            border-radius: 50px 0 0 50px;
            padding: 10px 20px;
            font-size: 0.97rem;
            border-right: none;
        }

        .search-form .form-control:focus {
            border-color: var(--indigo);
            box-shadow: none;
        }

        .search-form .btn-search {
            background: var(--indigo);
            color: #fff;
            border-radius: 0 50px 50px 0;
            padding: 10px 20px;
            border: none;
        }

        .search-form .btn-search:hover {
            background: var(--indigo-dark);
        }

        .btn-track {
            background: var(--pink);
            color: #fff;
            border-radius: 8px;
            font-size: 0.85rem;
            font-weight: 600;
            padding: 8px 14px;
            border: none;
            white-space: nowrap;
        }

        .btn-track:hover {
            background: var(--pink-dark);
            color: #fff;
        }

        .btn-call {
            background: #16a34a;
            color: #fff;
            border-radius: 8px;
            font-size: 0.85rem;
            font-weight: 600;
            padding: 8px 14px;
            border: none;
            white-space: nowrap;
        }

        .btn-call:hover {
            background: #15803d;
            color: #fff;
        }

        /* Main Nav */
        .main-nav {
            background: #1f2937;
        }

        .main-nav .nav-link {
            color: #d1d5db;
            font-weight: 600;
            font-size: 0.97rem;
            padding: 12px 18px;
            border-radius: 8px;
            white-space: nowrap;
            transition: background 0.15s, color 0.15s;
        }

        .main-nav .nav-link:hover {
            color: #fff;
            background: #374151;
        }

        /* Offcanvas */
        .offcanvas-nav .nav-link {
            padding: 12px 16px;
            border-radius: 8px;
            font-weight: 600;
            color: #374151;
            font-size: 1rem;
        }

        .offcanvas-nav .nav-link:hover {
            background: #f3f4f6;
            color: var(--indigo);
        }

        /* Hero Slider */
        .hero-slider {
            border-radius: 12px;
            overflow: hidden;
            box-shadow: 0 8px 32px rgba(0, 0, 0, 0.15);
            height: 100%;
        }

        .hero-slider .carousel-inner {
            height: 100%;
        }

        .hero-slider .carousel-item {
            height: 100%;
        }

        .hero-slider .carousel-item a {
            display: block;
            height: 100%;
        }

        .hero-slider .carousel-item img {
            width: 100%;
            height: 700px;
            object-fit: cover;
            display: block;
        }

        /* Side Banners */
        .side-banners {
            height: 480px;
        }

        .side-banners .banner-img {
            border-radius: 12px;
            overflow: hidden;
            box-shadow: 0 4px 16px rgba(0, 0, 0, 0.10);
            flex: 1 1 0;
            min-height: 0;
        }

        .side-banners .banner-img img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            display: block;
            transition: transform 0.5s;
        }

        .side-banners .banner-img:hover img {
            transform: scale(1.05);
        }

        /* Mobile */
        @media (max-width: 991.98px) {
            .hero-slider .carousel-item img {
                height: 357px;
            }

            .side-banners {
                height: auto;
            }

            .side-banners .banner-img {
                height: 130px;
            }

            .side-banners .banner-img img {
                height: 130px;
            }
        }

        @media (max-width: 575.98px) {
            .hero-slider .carousel-item img {
                height: 175px;
            }

            .side-banners .banner-img {
                height: 100px;
            }

            .side-banners .banner-img img {
                height: 100px;
            }
        }

        /* Marquee Notice */
        .notice-bar {
            background: linear-gradient(90deg, var(--indigo), #7c3aed);
            border-radius: 10px;
            padding: 10px 0;
            overflow: hidden;
        }

        .notice-label {
            background: #fff;
            color: var(--indigo);
            font-weight: 700;
            font-size: 0.85rem;
            padding: 4px 14px;
            border-radius: 0 20px 20px 0;
            white-space: nowrap;
        }

        .marquee-wrap {
            overflow: hidden;
            flex: 1;
            margin-left: 16px;
        }

        .marquee-text {
            display: inline-block;
            white-space: nowrap;
            color: #fff;
            font-weight: 700;
            font-size: 0.97rem;
            animation: marquee 28s linear infinite;
        }

        @keyframes marquee {
            0% {
                transform: translateX(0);
            }

            100% {
                transform: translateX(-50%);
            }
        }

        /* Featured Offers */
        .offer-section {
            background: linear-gradient(135deg, #dc2626, #db2777);
        }

        .countdown-box {
            background: rgba(255, 255, 255, 0.2);
            backdrop-filter: blur(6px);
            border-radius: 10px;
            padding: 8px 18px;
            color: #fff;
            text-align: center;
            min-width: 64px;
        }

        .countdown-box .num {
            font-size: 1.5rem;
            font-weight: 700;
            line-height: 1;
        }

        .countdown-box .lbl {
            font-size: 0.72rem;
        }

        /* Product Cards */
        .product-card {
            background: #fff;
            border-radius: 14px;
            overflow: hidden;
            box-shadow: 0 2px 12px rgba(0, 0, 0, 0.07);
            transition: box-shadow 0.25s, transform 0.25s;
            height: 100%;
        }

        .product-card:hover {
            box-shadow: 0 8px 32px rgba(0, 0, 0, 0.13);
            transform: translateY(-3px);
        }

        .product-card .img-wrap {
            position: relative;
            aspect-ratio: 3/4;
            overflow: hidden;
            background: #f9fafb;
        }

        .product-card .img-wrap img {
            width: 100%;
            object-fit: fill;
            transition: transform 0.3s;
            display: block;
        }

        .product-card:hover .img-wrap img {
            transform: scale(1.06);
        }

        .badge-off {
            position: absolute;
            top: 8px;
            left: 8px;
            background: #ef4444;
            color: #fff;
            font-size: 0.72rem;
            font-weight: 700;
            border-radius: 20px;
            padding: 3px 9px;
            z-index: 2;
        }

        .product-card .card-body {
            padding: 12px;
        }

        .product-card .prod-name {
            font-weight: 600;
            font-size: 0.87rem;
            color: #111827;
            display: -webkit-box;
            -webkit-line-clamp: 2;
            -webkit-box-orient: vertical;
            overflow: hidden;
            min-height: 2.6em;
            margin-bottom: 6px;
            text-decoration: none;
        }

        .product-card .prod-name:hover {
            color: var(--pink);
        }

        .product-card .price-sale {
            color: #dc2626;
            font-size: 1.05rem;
            font-weight: 700;
        }

        .product-card .price-old {
            color: #9ca3af;
            font-size: 0.82rem;
            text-decoration: line-through;
        }

        .btn-order {
            display: block;
            width: 100%;
            background: var(--pink);
            color: #fff;
            border: none;
            border-radius: 8px;
            padding: 8px;
            font-size: 0.87rem;
            font-weight: 600;
            text-align: center;
            text-decoration: none;
            transition: background 0.15s;
        }

        .btn-order:hover {
            background: var(--pink-dark);
            color: #fff;
        }

        /* Featured Carousel */
        .feat-slide-wrap {
            overflow: hidden;
        }

        .feat-slide-track {
            display: flex;
            transition: transform 0.5s ease;
        }

        .feat-slide-item {
            flex: 0 0 50%;
            padding: 0 6px;
        }

        @media (min-width: 768px) {
            .feat-slide-item {
                flex: 0 0 25%;
            }
        }

        /* Category */
        /* ===== MARQUEE OUTER ===== */
    .cat-marquee-outer {
        overflow: hidden;
        width: 100%;
        /* দুই পাশে fade effect */
        -webkit-mask-image: linear-gradient(
            to right,
            transparent 0%,
            black 8%,
            black 92%,
            transparent 100%
        );
        mask-image: linear-gradient(
            to right,
            transparent 0%,
            black 8%,
            black 92%,
            transparent 100%
        );
    }
 
    /* ===== MARQUEE TRACK ===== */
    .cat-marquee-track {
        display: flex;
        width: max-content;
        animation: catMarquee 28s linear infinite;
    }
 
    /* Hover করলে pause */
    .cat-marquee-track:hover {
        animation-play-state: paused;
    }
 
    @keyframes catMarquee {
        0%   { transform: translateX(0); }
        100% { transform: translateX(-50%); }
    }
 
    /* ===== EACH ITEM ===== */
    .cat-marquee-item {
        flex: 0 0 auto;
        width: 140px;
        padding: 0 8px;
        box-sizing: border-box;
    }
 
    @media (min-width: 576px) {
        .cat-marquee-item { width: 160px; }
    }
 
    @media (min-width: 992px) {
        .cat-marquee-item { width: 180px; }
    }
 
    /* ===== CAT CARD ===== */
    .cat-card {
        display: block;
        text-decoration: none;
    }
 
    .cat-img-wrap {
        height: 130px;
        border-radius: 14px;
        overflow: hidden;
        background: #e5e7eb;
        position: relative;
        box-shadow: 0 2px 10px rgba(0,0,0,0.08);
        transition: box-shadow 0.3s;
    }
 
    @media (min-width: 992px) {
        .cat-img-wrap { height: 150px; }
    }
 
    .cat-img-wrap img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        transition: transform 0.4s;
        display: block;
    }
 
    /* Dark overlay */
    .cat-img-wrap::after {
        content: '';
        position: absolute;
        inset: 0;
        background: rgba(0, 0, 0, 0.15);
        transition: background 0.2s;
        border-radius: 14px;
    }
 
    .cat-card:hover .cat-img-wrap {
        box-shadow: 0 6px 20px rgba(0,0,0,0.15);
    }
 
    .cat-card:hover .cat-img-wrap::after {
        background: rgba(0, 0, 0, 0.28);
    }
 
    .cat-card:hover .cat-img-wrap img {
        transform: scale(1.08);
    }
 
    /* ===== CAT NAME ===== */
    .cat-name {
        text-align: center;
        font-size: 0.85rem;
        font-weight: 600;
        color: #374151;
        margin-top: 8px;
        margin-bottom: 0;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }
 
    .cat-card:hover .cat-name {
        color: var(--indigo, #4f46e5);
    }


        /* All Products Grid */
        .all-products-section {
            background: #f9fafb;
        }

        /* Lazy img */
        img[data-src] {
            background: #f3f4f6;
        }

        /* Mobile nav toggle */
        .hamburger-btn {
            background: none;
            border: none;
            color: #374151;
            font-size: 1.5rem;
            padding: 4px;
        }

        /* Footer */
        .site-footer {
            background: #111827;
            color: #d1d5db;
        }

        .site-footer a {
            color: #9ca3af;
            text-decoration: none;
            font-size: 0.87rem;
        }

        .site-footer a:hover {
            color: #fff;
        }

        /* Sections spacing */
        .section-py {
            padding-top: 32px;
            padding-bottom: 32px;
        }

        @media (max-width: 767px) {
            .section-py {
                padding-top: 20px;
                padding-bottom: 20px;
            }
        }

        /* prevent overflow */
        .overflow-x-hidden {
            overflow-x: hidden;
        }

        /* BANNER ROW BEFORE PRODUCTS */
        .banner-row-img {
            display: block;
            width: 100%;
            overflow: hidden;
        }

        .banner-row-img img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            display: block;
        }


        /* offer-section */

        /* ---- Slider outer wrapper: clips overflow ---- */
        .feat-slide-outer {
            overflow: hidden;
            width: 100%;
        }

        /* ---- Sliding track ---- */
        .feat-slide-track {
            display: flex;
            gap: 0;
            transition: transform 0.55s cubic-bezier(.4, 0, .2, 1);
            will-change: transform;
        }

        /* ---- Each card takes up 1/2 on mobile, 1/4 on desktop ---- */
        .feat-slide-item {
            flex: 0 0 50%;
            /* 2 per view on mobile */
            max-width: 50%;
            padding: 0 6px;
            box-sizing: border-box;
        }

        @media (min-width: 768px) {
            .feat-slide-item {
                flex: 0 0 25%;
                /* 4 per view on tablet/desktop */
                max-width: 25%;
            }
        }



      