        @import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&display=swap');

        body {
            font-family: 'Inter', sans-serif;
            background-color: #fcfcfc;
        }

        /* --- Navbar Styles --- */
        .navbar {
            background: #fff;
            border-bottom: 1px solid #eee;
            padding: 15px 0;
        }
        .brand-logo {
            font-weight: 800;
            font-size: 1.8rem;
            text-decoration: none;
            margin-right: 20px;
        }
        .search-bar {
            background-color: #f3f4f6;
            border-radius: 8px;
            border: 1px solid #e5e7eb;
            width: 100%;
            max-width: 600px;
        }
        .search-bar input {
            background: transparent;
            border: none;
            box-shadow: none;
        }
        .search-bar input:focus {
            background: transparent;
            box-shadow: none;
        }
        .nav-icon-text {
            font-size: 14px;
            font-weight: 600;
            color: #333;
        }

        /* --- Sub Header (Categories) --- */
        .sub-header {
            background: #fff;
            box-shadow: 0 2px 4px rgba(0,0,0,0.05);
            padding: 10px 0;
            overflow-x: auto;
            white-space: nowrap;
        }
        .sub-link {
            text-decoration: none;
            color: #666;
            font-weight: 500;
            margin: 0 15px;
            display: inline-flex;
            align-items: center;
            gap: 5px;
        }
        .sub-link.active {
            color: #9c27b0;
            font-weight: 700;
        }

        /* --- Category Circles --- */
        .category-scroll {
            display: flex;
            overflow-x: auto;
            gap: 20px;
            padding: 20px 0;
            scrollbar-width: none; /* Firefox */
        }
        .category-scroll::-webkit-scrollbar {
            display: none; /* Chrome/Safari */
        }
        .cat-item {
            text-align: center;
            min-width: 90px;
            cursor: pointer;
        }
        .cat-img {
            width: 80px;
            height: 80px;
            border-radius: 50%;
            object-fit: cover;
            background: #f0f0f0;
            margin-bottom: 8px;
            border: 1px solid #eee;
        }
        .cat-name {
            font-size: 12px;
            font-weight: 600;
            line-height: 1.2;
            color: #333;
        }

        /* --- Banners --- */
        .banner-card {
            border-radius: 16px;
            overflow: hidden;
            height: 220px;
            position: relative;
            background-size: cover;
            background-position: center;
            margin-bottom: 20px;
        }
        .banner-card img.banner-img {
            max-height: 100%;  
            max-width: 100%;
            object-fit: cover;
            border-radius: 16px;
            display: block;
        }
        /* Placeholder gradients since I don't have exact images */
        .banner-red {
            background: linear-gradient(135deg, #ffd25e, #ede617);
            display: flex;
            align-items: center;
            padding: 30px;
            color: white;
        }
        .banner-btn {
            margin-top: 15px;
            display: inline-block;
        }

        /* --- Product Section --- */
        .section-header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-bottom: 15px;
        }
        .section-title {
            font-weight: 700;
            font-size: 1.5rem;
            color: #1a1a1a;
        }
        .see-all {
            color: #4cbf42;
            font-weight: 600;
            text-decoration: none;
        }

        /* --- Product Card --- */
        .product-scroller {
            display: grid;
            grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); /* পিসির জন্য অটোমেটিক হ্যান্ডেল করবে */
            gap: 15px;
            padding: 10px;
        }

        /* পিসিতে যদি স্পেসিফিক ২১টা কলামই চান */
        @media (min-width: 1201px) {
             .product-scroller {
                grid-template-columns: repeat(7, 1fr); /* ২১টি খুব বেশি ছোট হয়ে যায়, সাধারণ গ্রিডে ৫-৬টি ভালো */
            }
        }

        .product-card {
            min-width: 170px; /* পিসির জন্য ডিফল্ট সাইজ */
            background: #fff;
            border: 1px solid #e0e0e0;
            border-radius: 12px;
            padding: 10px;
            position: relative;
            width: 100%;
        }

        /* Mobile Devices (Tablet & Large Phone) */
        @media (max-width: 768px) {
            .product-scroller {
                grid-template-columns: repeat(3, 1fr); /* ৩টি কলাম */
                gap: 8px; /* গ্যাপ কমানো হয়েছে জায়গা বাঁচানোর জন্য */
            }
            
            .product-card {
                min-width: unset; /* ফিক্সড সাইজ তুলে দেওয়া হলো */
                width: 100%;
                padding: 5px; /* প্যাডিং কমানো হলো */
            }

            /* কার্ডের ভিতরের ফন্ট ও বাটন ছোট করতে হবে নাহলে ভেঙে যাবে */
            .prod-title {
                font-size: 12px;
            }
            .price {
                font-size: 12px;
            }
            .add-btn {
                padding: 2px 8px;
                font-size: 10px;
            }
            .offer-tag {
                font-size: 8px;
            }
        }

        /* Small Phones (খুব ছোট স্ক্রিন) */
        @media (max-width: 400px) {
            /* ছোট মোবাইলে ৩টা কলাম খুব চাপাচাপি হয়ে যায়, তাই ২টা দেওয়াই ভালো। 
               তবুও আপনি ৩টা চাইলে নিচের কোডটি রাখুন */
            .product-scroller {
                grid-template-columns: repeat(3, 1fr); 
                gap: 5px;
            }
            .product-card {
                min-width: 0; /* ফোর্সলি ছোট করা */
            }
        }
        .prod-img-container {
            height: 100px;
            display: flex;
            align-items: center;
            justify-content: center;
            margin-bottom: 10px;
            position: relative;
            overflow: hidden;
        }
        .prod-img {
            max-height: 100%;
            max-width: 100%;
            object-fit: contain;
        }
        .add-btn-position{
            position: absolute;
            bottom: 0;
            right: 0;
        }
        .add-btn {
            background: #4cbf42;
            border: 1px solid #4cbf42;
            color: #ffffff;
            font-weight: 700;
            font-size: 12px;
            padding: 4px 15px;
            border-radius: 6px;
            text-transform: uppercase;
            cursor: pointer;
        }
        .add-btn:hover {
            background: #4cbf42;
            color: white;
        }
        .add-num-btn {
            color: #ffffff;
            font-weight: 700;
            font-size: 12px;
            cursor: pointer;
            width: 16px;
            height: 16px;
            border: none;
            background: #4cbf42;
        }
        .price {
            font-size: 14px;
            font-weight: 800;
            color: #1a1a1a;
        }
        .old-price {
            font-size: 12px;
            text-decoration: line-through;
            color: #888;
            margin-left: 5px;
        }
        .prod-title {
            font-size: 13px;
            font-weight: 600;
            color: #333;
            margin-top: 10px;
            display: -webkit-box;
            -webkit-line-clamp: 2;
            -webkit-box-orient: vertical;
            overflow: hidden;
            line-height: 1.3;
            height: 35px;
        }
        .offer-tag {
            background-color: #eafce8;
            border: 1px dashed #4cbf42;
            color: #2e8c25;
            font-size: 9px;
            padding: 2px 4px;
            border-radius: 3px;
            font-weight: 700;
        }

        /* --- Footer Styles --- */
        footer {
            background-color: #fff;
            border-top: 1px solid #e0e0e0;
            padding-top: 40px;
            padding-bottom: 40px;
            margin-top: 50px;
            font-size: 14px;
        }

        .footer-heading {
            font-weight: 700;
            color: #1a1a1a;
            margin-bottom: 15px;
            font-size: 16px;
        }

        /* Popular Searches Section */
        .search-label {
            font-weight: 700;
            color: #333;
            margin-right: 5px;
        }
        .search-text {
            color: #666;
            line-height: 1.6;
            font-size: 13px;
        }
        .search-text a {
            color: #666;
            text-decoration: none;
        }
        .search-text a:hover {
            color: #9c27b0;
        }

        /* Categories Grid */
        .cat-link {
            display: block;
            color: #1a1a1a;
            text-decoration: none;
            margin-bottom: 10px;
            font-weight: 500;
            font-size: 14px;
        }
        .cat-link:hover {
            color: #9c27b0;
        }

        /* Main Footer Bottom */
        .footer-divider {
            border-top: 1px solid #eee;
            margin: 30px 0;
        }
        .logo-footer {
            font-size: 2rem;
            font-weight: 800;
            text-decoration: none;
            display: inline-block;
            margin-bottom: 15px;
        }
        .social-icons a {
            color: #666;
            margin-right: 15px;
            font-size: 20px;
            text-decoration: none;
            transition: 0.3s;
        }
        .social-icons a:hover {
            color: #1a1a1a;
        }
        .copyright-text {
            font-size: 12px;
            color: #999;
            margin-top: 10px;
            line-height: 1.5;
        }

        .footer-nav-link {
            display: block;
            color: #444;
            text-decoration: none;
            margin-bottom: 12px;
            font-weight: 500;
        }
        .footer-nav-link:hover {
            color: #1a1a1a;
            text-decoration: underline;
        }

        /* App Buttons */
        .app-btn {
            display: flex;
            align-items: center;
            justify-content: center;
            border: 1px solid #ddd;
            border-radius: 6px;
            padding: 8px 15px;
            margin-bottom: 10px;
            color: #333;
            text-decoration: none;
            transition: 0.2s;
            background: #fff;
            width: 100%;
            max-width: 200px;
        }
        .app-btn:hover {
            background: #f9f9f9;
            border-color: #bbb;
            color: #000;
        }
        .app-btn i {
            font-size: 20px;
            margin-right: 10px;
        }
        .app-btn span {
            font-size: 12px;
            font-weight: 600;
        }
        .profile_icon {
            width: 24px; height: 24px; font-size: 11px;
        }

            /* Custom Styles */
        .upload-zone {
            border-color: #dee2e6;
            cursor: pointer;
            background-color: #f8f9fa;
        }
        .upload-zone:hover {
            border-color: #198754;
            background-color: #f1fdf5;
        }
        .border-dashed { border-style: dashed !important; }
        
        /* Image Preview Styling */
        .image-preview {
            position: relative;
            width: 100px;
            height: 100px;
            border-radius: 8px;
            overflow: hidden;
            border: 1px solid #ddd;
        }
        .image-preview img {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }
        .remove-image {
            position: absolute;
            top: 0;
            right: 0;
            background: rgba(220, 53, 69, 0.8);
            color: white;
            width: 20px;
            height: 20px;
            text-align: center;
            line-height: 18px;
            cursor: pointer;
            font-weight: bold;
        }

            /* Sidebar Styles */
        .cart-sidebar {
            position: fixed;
            top: 0;
            right: 0;
            width: 350px;
            height: 100%;
            background: white;
            z-index: 1050;
            box-shadow: -2px 0 5px rgba(0,0,0,0.2);
            display: flex;
            flex-direction: column;
            transition: transform 0.3s ease-in-out;
        }

        .cart-sidebar.hidden {
            transform: translateX(100%); /* Hide sidebar to the right */
        }

        .cart-overlay {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: rgba(0,0,0,0.5);
            z-index: 1040;
        }

        .cart-overlay.hidden {
            display: none;
        }

        /* For responsiveness on mobile */
        @media (max-width: 400px) {
            .cart-sidebar { width: 100%; }
        }

        .breadcrumb-item + .breadcrumb-item::before {
            content: ">";
        }

        .product-image-wrapper {
            background: #f8f9fa;
            border-radius: 15px;
            padding: 20px;
        }

        /* Image Gallery Styles */
        .thumbnail-img {
            width: 70px;
            height: 70px;
            object-fit: cover;
            border-radius: 8px;
            cursor: pointer;
            border: 2px solid #4cbf42;
            transition: all 0.3s ease;
        }
        
        .thumbnail-img:hover {
            transform: scale(1.05);
        }
        
        @media (min-width: 992px) {
            .thumbnail-img {
                width: 128px;
                height: 128px;
            }
        }
        
        .main-image-container {
            height: 400px;
            position: relative;
            border-radius: 12px;
            overflow: hidden;
        }
        
        @media (min-width: 992px) {
            .main-image-container {
                height: 500px;
            }
        }
        
        .main-image {
            width: 100%;
            height: 100%;
            object-fit: contain;
            border-radius: 12px;
        }
        
        /* Badge Styles */
        .discount-badge {
            background-color: #dc3545;
            color: white;
            padding: 4px 10px;
            border-radius: 50px;
            font-size: 14px;
            font-weight: 600;
        }
        
        .tag-badge {
            background-color: #4cbf42;
            color: white;
            padding: 4px 12px;
            border-radius: 50px;
            font-size: 14px;
            font-weight: 600;
        }
        
        .save-badge {
            background-color: #edf9eb;
            border: 1px dashed #4cbf42;
            text-transform: uppercase;
            color: #2e8c25;
            padding: 4px 12px;
            border-radius: 50px;
            font-size: 12px;
            font-weight: 400;
            display: inline-block;
        }
        
        /* Icon Button Styles */
        .icon-btn {
            background: white;
            padding: 8px;
            border-radius: 50%;
            box-shadow: 0 2px 8px rgba(0,0,0,0.1);
            border: none;
            cursor: pointer;
            transition: all 0.3s ease;
        }
        
        .icon-btn:hover {
            background-color: #f8f9fa;
        }
        
        /* Tab Styles */
        .nav-tabs-custom {
            border-bottom: 1px solid #dee2e6;
        }
        
        .nav-tabs-custom .nav-link {
            border: none;
            border-bottom: 2px solid transparent;
            color: #6c757d;
            font-weight: 600;
            padding: 16px 24px;
            cursor: pointer;
        }
        
        .nav-tabs-custom .nav-link:hover {
            color: #495057;
        }
        
        .nav-tabs-custom .nav-link.active {
            color: #212529;
            border-bottom-color: #4cbf42;
        }
        
        @media (max-width: 768px) {
            .nav-tabs-custom .nav-link {
                padding: 16px 8px;
                font-size: 14px;
            }
        }
        
        /* Gradient Card */
        .gradient-card {
            background: #ffffff;
            border-radius: 12px;
            padding: 16px;
        }
        
        /* Progress Bar */
        .progress-custom {
            height: 8px;
            border-radius: 50px;
            background-color: #e9ecef;
        }
        
        .progress-custom .progress-bar {
            background-color: #4cbf42;
            border-radius: 50px;
        }
        
        /* Timer Badge */
        .timer-badge {
            background-color: #dc3545;
            color: white;
            padding: 8px 12px;
            border-radius: 8px;
            display: inline-flex;
            align-items: center;
            gap: 4px;
        }
        
        /* Price Styles */
        .price-old {
            color: #9ca3af;
            text-decoration: line-through;
            font-size: 18px;
        }
        
        .price-new {
            color: #4cbf42;
            font-size: 28px;
            font-weight: 700;
        }
        
        /* Participant Card */
        .participant-card {
            border-radius: 8px;
            padding: 16px;
            background: #ffffff;
        }
        
        .participant-avatar {
            width: 40px;
            height: 40px;
            border-radius: 50%;
            background-color: #d1d5db;
            display: flex;
            align-items: center;
            justify-content: center;
            font-weight: 700;
            color: #374151;
        }
        
        .reviewer-avatar {
            width: 48px;
            height: 48px;
            border-radius: 50%;
            background-color: #3b82f6;
            display: flex;
            align-items: center;
            justify-content: center;
            font-weight: 700;
            color: white;
            font-size: 18px;
        }
        
        /* Feature Grid */
        .feature-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 8px;
            margin-top: 40px;
        }
        
        .feature-card {
            display: flex;
            flex-direction: column;
            align-items: center;
            text-align: center;
            background-color: #eff6ff;
            padding: 12px 8px;
            border-radius: 12px;
            transition: transform 0.2s ease;
        }
        
        .feature-card:hover {
            transform: translateY(-3px);
        }
        
        .feature-icon {
            width: 32px;
            height: 32px;
            margin-bottom: 8px;
        }
        
        .feature-title {
            font-weight: 700;
            color: #111827;
            font-size: 10px;
            line-height: 1.2;
        }
        
        .feature-desc {
            font-size: 8px;
            color: #4b5563;
            line-height: 1.2;
            margin-top: 4px;
        }
        
        @media (min-width: 768px) {
            .feature-grid {
                gap: 24px;
            }
            .feature-card {
                padding: 20px;
            }
            .feature-icon {
                width: 48px;
                height: 48px;
            }
            .feature-title {
                font-size: 16px;
            }
            .feature-desc {
                font-size: 14px;
            }
        }
        
        /* Mobile Sticky Footer */
        .mobile-sticky-footer {
            display: none;
        }
        
        @media (max-width: 767px) {
            .mobile-sticky-footer {
                display: block;
                position: fixed;
                bottom: -17px;
                left: 0;
                width: 100%;
                background: #ffffff;
                box-shadow: 0 -4px 15px rgba(0, 0, 0, 0.1);
                padding: 12px 16px;
                z-index: 1040;
                border-top-left-radius: 20px;
                border-top-right-radius: 20px;
            }
            
            .desktop-controls {
                display: none !important;
            }
        }
        
        .mobile-qty-btn {
            width: 35px;
            height: 35px;
            border-radius: 50%;
            border: none;
            display: flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
        }
        
        .action-button {
            width: 100%;
            background-color: #4cbf42;
            color: white;
            padding: 14px;
            border: none;
            border-radius: 50px;
            font-weight: bold;
            font-size: 16px;
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 8px;
            cursor: pointer;
        }
        
        .action-button:hover {
            background-color: #3da835;
            color: white;
        }
        
        /* Modal Styles */
        .modal-custom .modal-content {
            border-radius: 12px;
            border: none;
        }
        
        .modal-icon-circle {
            background-color: #4cbf42;
            width: 60px;
            height: 60px;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
        }
        
        .modal-icon-circle img {
            width: 28px;
            height: 28px;
        }
        
        /* Star Rating */
        .star-rating {
            color: #fbbf24;
        }
        
        /* See More Button */
        .btn-see-more {
            background-color: #dcfce7;
            color: #22c55e;
            padding: 12px 20px;
            border-radius: 50px;
            border: none;
            cursor: pointer;
        }
        
        /* Spinner Animation */
        .spinner-border-sm {
            width: 20px;
            height: 20px;
        }
        
        /* Gallery Layout */
        .gallery-wrapper {
            display: flex;
            flex-direction: column-reverse;
            gap: 16px;
        }
        
        @media (min-width: 992px) {
            .gallery-wrapper {
                display: grid;
                grid-template-columns: auto 1fr;
                gap: 16px;
            }
            
            .gallery-wrapper.no-gallery {
                grid-template-columns: 1fr;
            }
        }
        
        .thumbnail-container {
            display: flex;
            flex-direction: row;
            gap: 16px;
            overflow-x: auto;
        }
        
        @media (min-width: 992px) {
            .thumbnail-container {
                flex-direction: column;
                overflow: visible;
            }
        }
        
        /* Top Icons Container */
        .top-icons-left {
            position: absolute;
            top: 16px;
            left: 16px;
        }
        
        .top-icons-right {
            position: absolute;
            top: 16px;
            right: 16px;
            display: flex;
            flex-direction: column;
            align-items: flex-end;
            gap: 8px;
        }

        .otp-input {
            width:48px;
            height:48px;
            text-align:center;
            font-size:18px;
            border:1px solid #ccc;
            border-radius:6px;
        }
        .otp-input:focus {
            border-color:#4CBF42;
            outline:none;
        }

        /* Hide PC navbar on mobile */
        @media (max-width: 991px) {
            nav.navbar:not(.mobile-navbar),
            .sub-header {
                display: none !important;
            }
        }

        /* Mobile Drawer */
        .mobile-menu-drawer {
            position: fixed;
            top: 0;
            left: 0;
            width: 260px;
            height: 100%;
            background: #fff;
            z-index: 1050;
            transform: translateX(-100%);
            transition: transform 0.3s ease;
            overflow-y: auto;
        }

        .mobile-menu-drawer.show {
            transform: translateX(0);
        }

        .mobile-menu-overlay {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: rgba(0,0,0,0.4);
            z-index: 1040;
            opacity: 0;
            pointer-events: none;
            transition: opacity 0.3s ease;
        }

        .mobile-menu-overlay.show {
            opacity: 1;
            pointer-events: all;
        }
        .cursor-pointer {
            cursor: pointer;
        }

        .search-input {
            padding-left: 0;
        }

        .animated-placeholder {
            position: absolute;
            left: 55px;
            top: 50%;
            transform: translateY(-50%);
            color: #adb5bd;
            pointer-events: none;
            transition: all 0.4s ease;
            opacity: 1;
            white-space: nowrap;
        }

        .animated-placeholder.hide {
            opacity: 0;
            transform: translateY(-120%);
        }

        .payment-option {
            display: flex;
            align-items: center;
            gap: 8px;
            border: 1px solid #e5e7eb;
            border-radius: 12px;
            padding: 12px 14px;
            cursor: pointer;
            transition: all 0.25s ease;
            background: #f9fafb;
            font-weight: 600;
            position: relative;
        }

        .payment-option:hover {
            border-color: #4cbf42;
            background: #f0f6ff;
        }

        .payment-option input {
            position: absolute;
            opacity: 0;
            pointer-events: none;
        }

        .payment-option .checkmark {
            margin-left: auto;
            color: #4cbf42;
            font-weight: bold;
            opacity: 0;
        }

        .payment-option input:checked ~ .checkmark {
            opacity: 1;
        }

        .payment-option input:checked {
            accent-color: #4cbf42;
        }

        .payment-option:has(input:checked) {
            border-color: #4cbf42;
            background: #f0fff4;
        }



