/* =========================================
   Basic Reset & Typography
   ========================================= */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: 'Poppins', sans-serif;
}

body {
    background-color: #f9f9f9;
}

a {
    text-decoration: none;
    color: inherit;
}

ul {
    list-style: none;
}

.container {
    max-width: 1300px;
    margin: 0 auto;
    padding: 0 15px;
}

/* =========================================
   Header Top Section
   ========================================= */
.header-top {
    /* আপনার লোকাল মার্বেল ব্যাকগ্রাউন্ডের লিংক দিন */
    background-image: url('https://www.transparenttextures.com/patterns/white-marble.png');
    background-color: #ffffff;
    padding: 15px 0;
    border-bottom: 1px solid #eaeaea;
}

.header-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
}

/* Mobile Menu Button */
.menu-btn {
    display: none;
    font-size: 26px;
    color: #333;
    cursor: pointer;
}

/* Logo */
.logo img {
    height: 50px;
    object-fit: contain;
}

/* Search Box */
.search-box {
    display: flex;
    align-items: center;
    width: 80%;
    max-width: 900px;
}

.search-box input {
    width: 100%;
    padding: 10px 20px;
    border: 1px solid #dcdcdc;
    border-right: none;
    border-radius: 4px 0 0 4px;
    outline: none;
    font-size: 14px;
    color: #555;
}

.search-box button {
    background-color: #000;
    color: #fff;
    border: 1px solid #000;
    padding: 10px 20px;
    border-radius: 0 4px 4px 0;
    cursor: pointer;
    font-size: 16px;
    transition: 0.3s ease;
}

.search-box button:hover {
    background-color: #333;
}

/* Header Actions (User & Cart) */
.header-actions {
    display: flex;
    align-items: center;
    gap: 25px;
}

.user-icon {
    font-size: 22px;
    color: #000;
}

.cart-box {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #000;
}

.cart-icon {
    position: relative;
    font-size: 22px;
}

.cart-badge {
    position: absolute;
    top: -8px;
    right: -10px;
    background-color: #000;
    color: #fff;
    font-size: 10px;
    font-weight: 600;
    width: 18px;
    height: 18px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
}

.cart-price {
    font-size: 15px;
    font-weight: 500;
}

/* =========================================
   Desktop Navigation Menu
   ========================================= */
.desktop-nav {
    background-color: #ffffff;
    border-bottom: 1px solid #eaeaea;
    position: relative;
}

.nav-list {
    display: flex;
    justify-content: space-between; /* center এর বদলে space-between করা হলো */
    align-items: center;
    flex-wrap: wrap;
    width: 100%; /* পুরো উইডথ কভার করার জন্য */
}

.nav-list > li {
    padding: 15px 0;
    position: relative;
}

.nav-list li a {
    font-size: 16px;
    font-weight: 600;
    color: #333;
    text-transform: uppercase;
    display: flex;
    align-items: center;
    gap: 5px;
    transition: color 0.2s ease;
}

.nav-list li a i {
    font-size: 10px;
    color: #888;
}

.nav-list li a:hover {
    color: #000;
}

/* Desktop Dropdown */
.dropdown {
    position: absolute;
    top: 100%;
    left: 0;
    width: 200px;
    background-color: #fff;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    transition: all 0.3s ease;
    z-index: 999;
}

.has-dropdown:hover > .dropdown {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.dropdown li {
    padding: 0;
    border-bottom: 1px solid #f1f1f1;
    position: relative;
}

.dropdown li:last-child {
    border-bottom: none;
}

.dropdown li a {
    padding: 12px 20px;
    font-size: 13px;
    text-transform: capitalize;
    color: #555;
    justify-content: space-between;
}

.dropdown li a:hover {
    background-color: #f9f9f9;
    color: #000;
}

/* Desktop Sub-dropdown */
.sub-dropdown {
    position: absolute;
    top: 0;
    left: 100%;
    width: 200px;
    background-color: #fff;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
    opacity: 0;
    visibility: hidden;
    transform: translateX(10px);
    transition: all 0.3s ease;
    z-index: 1000;
}

.has-sub-dropdown:hover > .sub-dropdown {
    opacity: 1;
    visibility: visible;
    transform: translateX(0);
}

.sub-dropdown li a {
    justify-content: flex-start;
}

/* =========================================
   Mobile Sidebar Menu & Overlay Styles
   ========================================= */
.sidebar-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 1000;
    opacity: 0;
    visibility: hidden;
    transition: 0.3s ease;
}

.sidebar-overlay.active {
    opacity: 1;
    visibility: visible;
}

.mobile-sidebar {
    position: fixed;
    top: 0;
    left: -320px;
    width: 300px;
    height: 100vh;
    background-color: #fff;
    z-index: 1001;
    overflow-y: auto;
    transition: 0.4s ease;
    box-shadow: 2px 0 10px rgba(0,0,0,0.1);
}

.mobile-sidebar.active {
    left: 0;
}

/* Sidebar Search */
.sidebar-search {
    display: flex;
    padding: 20px;
    border-bottom: 1px solid #eaeaea;
}

.sidebar-search input {
    width: 100%;
    border: none;
    outline: none;
    font-size: 14px;
    color: #555;
}

.sidebar-search button {
    background: none;
    border: none;
    font-size: 18px;
    color: #888;
    cursor: pointer;
}

/* Sidebar Tabs */
.sidebar-tabs {
    display: flex;
    background-color: #f9f9f9;
}

.tab-btn {
    flex: 1;
    padding: 15px 0;
    border: none;
    background-color: transparent;
    font-size: 13px;
    font-weight: 500;
    color: #888;
    cursor: pointer;
    border-bottom: 2px solid transparent;
    transition: 0.3s;
}

.tab-btn.active {
    background-color: #ebebeb;
    color: #222;
    border-bottom: 2px solid #000;
}

/* Tab Content */
.tab-content {
    display: none;
}

.tab-content.active {
    display: block;
}

.sidebar-list {
    list-style: none;
}

.sidebar-list > li {
    border-bottom: 1px solid #eaeaea;
}

.sidebar-list > li > a {
    display: block;
    padding: 15px 20px;
    font-size: 13px;
    font-weight: 500;
    color: #111;
    text-transform: uppercase;
}

/* Categories Accordion */
.cat-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.cat-header a {
    padding: 15px 20px;
    font-size: 13px;
    font-weight: 500;
    color: #111;
    text-transform: uppercase;
    flex: 1;
}

.toggle-btn {
    width: 50px;
    height: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-left: 1px solid #eaeaea;
    cursor: pointer;
    font-size: 12px;
    color: #555;
    transition: 0.3s;
}

.cat-header.active .toggle-btn {
    background-color: #000;
    color: #fff;
}

.sidebar-sub-list {
    display: none;
    list-style: none;
    background-color: #fff;
}

.sidebar-sub-list li {
    border-bottom: 1px solid #f5f5f5;
}

.sidebar-sub-list li:last-child {
    border-bottom: none;
}

.sidebar-sub-list li a {
    display: block;
    padding: 12px 20px 12px 20px;
    font-size: 13px;
    color: #666;
    text-transform: capitalize;
}

/* =========================================
   Responsive Media Queries
   ========================================= */

/* Mobile Layout Controls (Updated for Search Box) */
@media screen and (max-width: 768px) {
    .desktop-nav {
        display: none !important;
    }
    .menu-btn {
        display: block;
        order: 1;
    }
    .logo {
        order: 2;
        margin: 0 auto;
    }
    .header-actions {
        order: 3;
    }
    .header-actions .user-icon {
        display: none; /* User icon hidden on mobile as per reference */
    }
    /* Restored Search Box for Mobile */
    .search-box {
        order: 4;
        width: 100%;
        max-width: 100%;
        margin-top: 15px; /* Adds space above the search box */
    }
}

/* Desktop Layout Controls */
@media screen and (min-width: 769px) {
    .mobile-sidebar, .sidebar-overlay {
        display: none !important;
    }
}



/* =========================================
   Hero Section (Full Width Slider) Styles
   ========================================= */
.hero-section {
    width: 100%;
    /* হেডারের নিচ থেকে একটু জায়গা চাইলে নিচের margin-top ব্যবহার করতে পারেন */
    /* margin-top: 20px; */ 
}

.hero-slider {
    position: relative;
    width: 100%;
    max-width: 100vw; /* Ensures it spans the full viewport width */
    overflow: hidden;
}

/* Slides Container */
.slides-container {
    display: flex;
    width: 100%;
    position: relative;
}

/* Individual Slide */
.slide {
    flex: 0 0 100%;
    display: none; /* Hidden by default */
    width: 100%;
}

.slide.active {
    display: block; /* Shown when active */
}

/* Make image responsive and full width */
.slide img {
    width: 100%;
    height: auto;
    object-fit: cover; /* Ensures image covers the area nicely */
    display: block;
    max-height: 600px; /* ডেস্কটপে সর্বোচ্চ উচ্চতা, আপনার ইমেজের রেশিও অনুযায়ী পরিবর্তন করতে পারেন */
}

/* Slider Navigation Buttons */
.slider-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background-color: rgba(255, 255, 255, 0.7);
    color: #333;
    border: none;
    width: 50px;
    height: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
    cursor: pointer;
    font-size: 24px;
    transition: all 0.3s ease;
    z-index: 10;
}

.slider-btn:hover {
    background-color: #fff;
    color: #000;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
}

.prev-btn {
    left: 20px;
}

.next-btn {
    right: 20px;
}

/* Slider Dots */
.slider-dots {
    position: absolute;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 10px;
    z-index: 10;
}

.dot {
    width: 12px;
    height: 12px;
    background-color: rgba(255, 255, 255, 0.5);
    border-radius: 50%;
    cursor: pointer;
    transition: all 0.3s ease;
}

.dot:hover {
    background-color: rgba(255, 255, 255, 0.8);
}

.dot.active {
    background-color: #fff;
    transform: scale(1.2);
    box-shadow: 0 0 5px rgba(0,0,0,0.3);
}



/* =========================================
   Mobile Responsive Styles (Hero Section Update)
   ========================================= */
@media screen and (max-width: 768px) {
    .hero-section {
        padding: 10px 0; /* মোবাইলে স্পেস কমানো হলো */
    }

    .slide img {
        height: 180px; /* মোবাইলের জন্য পারফেক্ট উচ্চতা। আপনার ইমেজের সাইজ অনুযায়ী এটি 150px বা 200px করে দেখতে পারেন */
        object-fit: cover;
        object-position: center; /* ছবিটি যেন মাঝখান থেকে ফোকাস থাকে */
        border-radius: 6px; /* মোবাইলে দেখতে সুন্দর লাগার জন্য হালকা বর্ডার রেডিয়াস */
    }

    /* মোবাইলে নেভিগেশন অ্যারো বাটনগুলো আরও ছোট ও সাইডে সরানো হলো */
    .slider-btn {
        width: 30px;
        height: 30px;
        font-size: 14px;
        background-color: rgba(255, 255, 255, 0.8);
    }

    .prev-btn {
        left: 5px;
    }

    .next-btn {
        right: 5px;
    }

    /* মোবাইলে নিচের ডটগুলো ছোট এবং কাছাকাছি আনা হলো */
    .dot {
        width: 8px;
        height: 8px;
    }
    
    .slider-dots {
        bottom: 10px;
        gap: 6px;
    }
}


/* =========================================
   Top Category Section (Same to same as image)
   ========================================= */
.top-categories-section {
    padding: 40px 0;
}

/* The wide border box for the Title */
.category-header-box {
    width: 100%;
    border: 1px solid #333; /* Dark border just like the image */
    background-color: #ffffff;
    padding: 15px 0;
    margin-bottom: 30px;
    text-align: center;
}

.category-header-box h2 {
    margin: 0;
    font-size: 22px;
    font-weight: 600;
    color: #000000;
    letter-spacing: 1px;
}

/* 6 Column Grid Setup */
.categories-grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 15px; /* Spacing between images */
}

/* Individual Image Box */
.category-item {
    position: relative;
    border-radius: 8px; /* Slightly rounded corners for the image */
    overflow: hidden;
    aspect-ratio: 1 / 1; /* Forces the images to be perfect squares */
    box-shadow: 0 2px 5px rgba(0,0,0,0.05);
}

.category-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* The Pill-shaped white label at top-center */
.category-label {
    position: absolute;
    top: 10px; /* Distance from the top edge */
    left: 50%;
    transform: translateX(-50%); /* Centers the label horizontally */
    background-color: #ffffff;
    color: #000000;
    font-size: 12px;
    font-weight: 500;
    padding: 4px 12px;
    border-radius: 20px; /* Makes it a pill shape */
    white-space: nowrap; /* Prevents text from breaking into two lines */
    max-width: 90%; /* Prevents the label from being wider than the image */
    overflow: hidden;
    text-overflow: ellipsis; /* Adds '...' if the text is too long */
    box-shadow: 0 2px 4px rgba(0,0,0,0.15);
}

/* =========================================
   Mobile Responsive Styles (Categories)
   ========================================= */
@media screen and (max-width: 992px) {
    /* Tablet view: 4 columns */
    .categories-grid {
        grid-template-columns: repeat(4, 1fr);
    }
}

@media screen and (max-width: 768px) {
    /* Mobile view: 2 columns */
    .categories-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
    }
    
    .category-header-box {
        padding: 10px 0;
        margin-bottom: 20px;
    }

    .category-header-box h2 {
        font-size: 18px;
    }

    .category-label {
        font-size: 10px;
        padding: 3px 8px;
        top: 6px;
    }
}


/* =========================================
   Top Selling Product Section
   ========================================= */
.top-selling-products-section {
    padding: 20px 0 40px 0;
    background-color: #ffffff;
}

/* Header with lines */
.top-selling-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 30px;
}

.header-line {
    flex: 1;
    height: 1px;
    background-color: #eaeaea;
}

.top-selling-header h2 {
    font-size: 24px;
    font-weight: 600;
    color: #1a1a1a;
    white-space: nowrap;
}

.view-all-btn {
    font-size: 13px;
    color: #444;
    display: flex;
    align-items: center;
    gap: 5px;
    padding: 6px 12px;
    background-color: #fff;
    border: 1px solid #ddd;
    border-radius: 4px;
    white-space: nowrap;
    transition: all 0.3s;
}

.view-all-btn:hover {
    color: #000;
    border-color: #999;
}

/* Content Layout */
.top-selling-content {
    display: flex;
    gap: 20px;
    align-items: stretch;
}

/* Left: Banner Card */
.top-selling-banner-card {
    flex: 0 0 45%;
    position: relative;
    border-radius: 8px;
    overflow: hidden;
}

.top-selling-banner-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.top-selling-banner-card .banner-text {
    position: absolute;
    top: 50%;
    right: 30px;
    transform: translateY(-50%);
    color: #fff;
    text-align: right;
    width: 60%;
    pointer-events: none;
}

.top-selling-banner-card h3 {
    font-size: 40px;
    font-weight: 700;
    line-height: 1.1;
    margin-bottom: 5px;
}

.top-selling-banner-card p {
    font-size: 16px;
    font-weight: 600;
    margin-bottom: 5px;
}

.top-selling-banner-card span {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 1px;
}

/* Right: Carousel Container */
.top-selling-carousel-container {
    flex: 1;
    position: relative;
    border-radius: 8px;
    overflow: hidden; /* উইডথ ফিক্স রাখার জন্য */
}

/* Arrows - Hidden by default */
.ts-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 35px;
    height: 35px;
    background: #fff;
    border: 1px solid #eaeaea;
    border-radius: 50%;
    font-size: 16px;
    color: #333;
    cursor: pointer;
    z-index: 20;
    display: flex;
    justify-content: center;
    align-items: center;
    box-shadow: 0 2px 5px rgba(0,0,0,0.2);
    transition: all 0.3s ease;
    
    /* হোভারের আগে অদৃশ্য থাকবে */
    opacity: 0; 
    visibility: hidden;
}

/* Show arrows ONLY when hovering over the carousel container */
.top-selling-carousel-container:hover .ts-arrow {
    opacity: 1;
    visibility: visible;
}

.ts-arrow:hover {
    background: #000;
    color: #fff;
}

/* Position arrows INSIDE the container */
.ts-prev { left: 10px; }
.ts-next { right: 10px; }


/* Carousel Inner (Scrollable) */
.top-selling-carousel-inner {
    display: flex;
    gap: 15px;
    overflow-x: auto;
    scroll-behavior: smooth;
    padding: 10px 5px; /* শ্যাডোর জন্য একটু প্যাডিং */
    scrollbar-width: none; /* Firefox */
    scroll-snap-type: x mandatory; /* নিখুঁতভাবে কার্ড থামানোর জন্য */
}

.top-selling-carousel-inner::-webkit-scrollbar {
    display: none; /* Chrome/Safari */
}

.product-card {
    flex: 0 0 calc((100% - 30px) / 3); /* ডেস্কটপে ৩টি কার্ড */
    background-color: #fff;
    border: 1px solid #eaeaea;
    border-radius: 8px;
    padding: 15px;
    text-align: center;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    transition: all 0.3s;
    scroll-snap-align: start; /* স্ক্রল হলে কার্ডের শুরুতেই এসে থামবে */
}

.product-card:hover {
    box-shadow: 0 5px 15px rgba(0,0,0,0.08);
}

.discount-label {
    position: absolute;
    top: 10px;
    left: 10px;
    background-color: #000;
    color: #fff;
    font-size: 11px;
    font-weight: 600;
    padding: 4px 8px;
    border-radius: 3px;
    z-index: 5;
}

.product-card img {
    width: 100%;
    height: 280px;
    object-fit: contain;
    margin-bottom: 10px;
}

.product-card h4 {
    font-size: 14px;
    font-weight: 500;
    color: #333;
    margin-bottom: 5px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.price {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    margin-bottom: 15px;
}

.old-price {
    font-size: 13px;
    color: #999;
    text-decoration: line-through;
}

.new-price {
    font-size: 15px;
    color: #000;
    font-weight: 600;
}

/* =========================================
   Add To Cart Button Animation
   ========================================= */
.add-to-cart-btn {
    width: 100%;
    height: 42px; /* এনিমেশনের জন্য ফিক্সড হাইট জরুরি */
    background-color: #000;
    color: #fff;
    border: none;
    border-radius: 6px;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    position: relative;
    overflow: hidden; /* বাটনের বাইরের অংশ হাইড করবে */
    display: block;
}

/* ডিফল্ট টেক্সট */
.add-to-cart-btn .btn-text {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

/* আইকন (শুরুতে নিচে লুকিয়ে থাকবে) */
.add-to-cart-btn .btn-icon {
    position: absolute;
    top: 100%; /* বাটনের নিচে পজিশন করা */
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 18px;
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

/* হোভার ইফেক্ট */
.add-to-cart-btn:hover {
    background-color: #666666;
}

/* হোভার করলে টেক্সট উপরে উঠে যাবে */
.add-to-cart-btn:hover .btn-text {
    transform: translateY(-100%); 
}

/* হোভার করলে আইকন নিচ থেকে উপরে আসবে */
.add-to-cart-btn:hover .btn-icon {
    transform: translateY(-100%); 
}



/* =========================================
   Responsive Settings (Updated for 2 cards on mobile)
   ========================================= */
@media screen and (max-width: 992px) {
    .top-selling-content {
        flex-direction: column;
    }
    
    .top-selling-banner-card {
        height: 300px;
    }
    
    .product-card {
        flex: 0 0 calc((100% - 30px) / 3);
    }
}

@media screen and (max-width: 768px) {
    .top-selling-header h2 {
        font-size: 18px;
    }
    
    .product-card {
        flex: 0 0 calc((100% - 15px) / 2); /* মোবাইলে ২টি কার্ড */
        padding: 10px; /* ছোট স্ক্রিনে ফিট হওয়ার জন্য প্যাডিং কমানো হলো */
    }

    .product-card img {
        height: 200px; /* মোবাইলের জন্য ইমেজের হাইট কমানো হলো */
    }

    .product-card h4 {
        font-size: 13px; /* ফন্ট সাইজ একটু কমানো হলো */
    }

    .new-price {
        font-size: 14px;
    }

    .old-price {
        font-size: 12px;
    }

    .add-to-cart-btn {
        height: 36px;
        font-size: 11px;
    }
    
    /* মোবাইলে হোভার ছাড়াই অ্যারো দেখানোর জন্য */
    .ts-arrow {
        opacity: 1;
        visibility: visible;
        width: 30px;
        height: 30px;
        font-size: 14px;
    }
}

@media screen and (max-width: 480px) {
    /* একদম ছোট স্ক্রিনেও ২টি কার্ডই থাকবে */
    .product-card {
        flex: 0 0 calc((100% - 10px) / 2); /* গ্যাপ অনুযায়ী ২টি কার্ড */
    }
    
    .top-selling-carousel-inner {
        gap: 10px; /* ছোট স্ক্রিনে গ্যাপ একটু কমানো হলো */
    }
}


/* =========================================
   About Brand Section (Updated: Compact & 25% Image)
   ========================================= */
.about-brand-section {
    padding: 15px 0; /* সেকশনের উচ্চতা কমানোর জন্য প্যাডিং কমানো হয়েছে */
    background-color: #ffffff;
}

.about-brand-content {
    display: flex;
    align-items: center; /* টেক্সট এবং ছবিকে লম্বালম্বি মাঝে রাখবে */
    justify-content: space-between;
    gap: 40px; /* মাঝখানের ফাঁকা জায়গা */
}

/* Left Side Text */
.about-text {
    flex: 1; /* বাকি পুরো জায়গা (প্রায় ৭৫%) টেক্সট নিবে */
}

.about-title-link {
    display: inline-block;
    color: #111;
    transition: color 0.3s;
}

.about-title-link:hover {
    color: #555;
}

.about-text h2 {
    font-size: 28px; /* উচ্চতা কমানোর জন্য ফন্ট একটু মানানসই করা হয়েছে */
    font-weight: 500;
    margin-bottom: 8px; /* মার্জিন কমানো হয়েছে */
    display: flex;
    align-items: center;
    gap: 12px;
}

.about-text h2 i {
    font-size: 20px;
    font-weight: 900;
}

.about-text h3 {
    font-size: 18px;
    font-weight: 400;
    color: #333;
    margin-bottom: 15px; /* মার্জিন কমানো হয়েছে */
}

.about-text p {
    font-size: 14px;
    line-height: 1.6; /* লাইনের মাঝখানের গ্যাপ কমানো হয়েছে */
    color: #444;
    font-weight: 400;
    text-align: left;
}

/* Right Side Image - Exactly 25% Width */
.about-image {
    flex: 0 0 25%; /* ছবিকে ঠিক ২৫% জায়গা দেওয়া হলো */
    max-width: 25%;
}

.about-image img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 8px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.05);
}

/* =========================================
   Responsive Settings (About Brand)
   ========================================= */
@media screen and (max-width: 992px) {
    /* ট্যাবলেটে ২৫% ছবি খুব ছোট দেখাবে, তাই উপরে-নিচে করে দেওয়া হলো */
    .about-brand-content {
        flex-direction: column;
        gap: 25px;
    }
    
    .about-text {
        text-align: center;
        order: 1; /* টেক্সট উপরে থাকবে */
    }

    .about-text h2 {
        justify-content: center;
    }

    .about-text p {
        text-align: center;
    }

    .about-image {
        flex: 0 0 100%; /* ট্যাবলেটে ছবি ফুল উইডথ বা আপনার পছন্দমতো নিবে */
        max-width: 80%; /* খুব বেশি বড় যেন না হয় */
        order: 2; /* ছবি নিচে থাকবে */
    }
}

@media screen and (max-width: 768px) {
    .about-brand-section {
        padding: 25px 0;
    }
    
    .about-text h2 {
        font-size: 24px;
    }

    .about-text h3 {
        font-size: 16px;
    }

    .about-image {
        max-width: 100%; 
    }
}







/* =========================================
   Footer Section Styles
   ========================================= */
.main-footer {
    background-color: #000000;
    color: #ffffff;
    padding-top: 60px;
    margin-top: 50px; /* আগের সেকশন থেকে একটু ফাঁকা রাখার জন্য */
}

.footer-container {
    display: grid;
    grid-template-columns: repeat(4, 1fr); /* ডেস্কটপে ৪টি কলাম */
    gap: 30px;
    padding-bottom: 50px;
}

.footer-col h3 {
    font-size: 15px;
    font-weight: 600;
    color: #ffffff;
    margin-bottom: 25px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Contact Info (Column 1) */
.contact-info {
    list-style: none;
    padding: 0;
    margin: 0;
}

.contact-info li {
    font-size: 13px;
    color: #cccccc;
    margin-bottom: 15px;
    display: flex;
    align-items: flex-start;
    gap: 12px;
    line-height: 1.6;
}

/* ছবির মতো গোল্ডেন কালার আইকন */
.contact-info i {
    color: #d4af37; 
    font-size: 14px;
    margin-top: 3px;
}

/* Links (Column 2 & 3) */
.footer-links {
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer-links li {
    margin-bottom: 12px;
}

.footer-links li a {
    font-size: 13px;
    color: #cccccc;
    text-decoration: none;
    transition: color 0.3s ease;
}

.footer-links li a:hover {
    color: #d4af37; /* হোভার করলে গোল্ডেন হবে */
}

/* Social Links (Column 4) */
.social-icons {
    display: flex;
    gap: 12px;
    margin-bottom: 35px;
}

.social-icons a {
    width: 32px;
    height: 32px;
    border: 1px solid #d4af37; /* গোল্ডেন বর্ডার */
    color: #d4af37;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    text-decoration: none;
    transition: all 0.3s ease;
}

.social-icons a:hover {
    background-color: #d4af37;
    color: #000000;
}

/* Payment Methods */
h3.payment-title {
    text-transform: capitalize; /* "Payment Method" এর জন্য */
    margin-bottom: 15px;
    font-size: 18px;
}

.payment-methods img {
    max-width: 100%;
    height: auto;
    display: block;
}

/* Footer Bottom (Copyright Line) */
.footer-bottom {
    border-top: 1px solid #222222; /* হালকা বর্ডার লাইন */
    padding: 20px 0;
    text-align: center;
}

.footer-bottom p {
    font-size: 13px;
    color: #aaaaaa;
    margin: 0;
}

/* =========================================
   Responsive Settings (Footer)
   ========================================= */
@media screen and (max-width: 992px) {
    /* ট্যাবলেটে ২টি কলাম করে দেখাবে */
    .footer-container {
        grid-template-columns: repeat(2, 1fr);
        gap: 40px;
    }
}

@media screen and (max-width: 768px) {
    /* মোবাইলে ১টি কলাম এবং সবকিছু মাঝখানে (Center) থাকবে */
    .footer-container {
        grid-template-columns: 1fr;
        gap: 35px;
        text-align: center; 
    }
    
    .contact-info li {
        justify-content: center; /* আইকন এবং টেক্সট মাঝখানে রাখার জন্য */
        text-align: center;
    }
    
    .social-icons {
        justify-content: center;
    }
    
    .payment-methods img {
        margin: 0 auto;
    }
}



/* =========================================
   Single Product Page Styles
   ========================================= */
.single-product-section {
    padding: 40px 0 80px 0;
    background-color: #ffffff;
}

.product-page-layout {
    display: flex;
    gap: 40px;
    align-items: flex-start;
}

/* --- Left: Product Gallery --- */
.product-gallery {
    flex: 0 0 50%;
    display: flex;
    gap: 15px;
    position: relative; /* Expand করলে যেন এই বক্সের ভেতরেই ফুলস্ক্রিন হয় */
}

.product-thumbnails {
    display: flex;
    flex-direction: column;
    gap: 10px;
    width: 80px; /* থাম্বনেইলের চওড়া */
}

.thumb-img {
    width: 100%;
    height: 80px;
    object-fit: cover;
    border: 2px solid transparent;
    cursor: pointer;
    background-color: #f4f4f4;
    transition: 0.3s;
}

.thumb-img:hover {
    opacity: 0.8;
}

.thumb-img.active-thumb {
    border-color: #000;
}

/* Main Image Container */
.product-main-image {
    flex: 1;
    position: relative;
    background-color: #a491d3; /* ছবির পার্পল ব্যাকগ্রাউন্ড */
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 500px;
    transition: all 0.3s ease;
}

.product-main-image img {
    max-width: 100%;
    height: auto;
    object-fit: contain;
}

/* Expanded Image State (Full Width inside Gallery Box) */
.product-main-image.expanded {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 20;
}

/* Navigation Arrows (Hidden by default, shown when expanded) */
.gallery-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 40px;
    height: 40px;
    background-color: rgba(255, 255, 255, 0.8);
    border: none;
    border-radius: 50%;
    font-size: 18px;
    cursor: pointer;
    z-index: 21;
    display: none; /* Expand না হওয়া পর্যন্ত হাইড থাকবে */
    box-shadow: 0 2px 5px rgba(0,0,0,0.2);
    transition: 0.3s;
}

.gallery-nav:hover {
    background-color: #000;
    color: #fff;
}

.product-main-image.expanded .gallery-nav {
    display: block; /* Expand হলে অ্যারো দেখাবে */
}

.prev-nav { left: 15px; }
.next-nav { right: 15px; }

/* Product Badge & Expand Button */
.product-badge {
    position: absolute;
    top: 20px;
    right: 20px;
    background-color: #000;
    color: #fff;
    font-size: 14px;
    font-weight: 600;
    padding: 5px 10px;
    z-index: 21;
}

.expand-btn {
    position: absolute;
    bottom: 20px;
    left: 20px;
    width: 40px;
    height: 40px;
    background-color: #fff;
    border: none;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 16px;
    cursor: pointer;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
    transition: 0.3s;
    z-index: 21;
}

.expand-btn:hover {
    background-color: #000;
    color: #fff;
}

/* --- Right: Product Info --- */
.product-info {
    flex: 0 0 50%;
    padding-top: 10px;
}

.breadcrumb {
    font-size: 13px;
    color: #888;
    margin-bottom: 20px;
}

.breadcrumb span {
    color: #333;
    font-weight: 500;
}

.product-title {
    font-size: 26px;
    font-weight: 400; 
    color: #111;
    line-height: 1.3;
    margin-bottom: 20px;
}

.product-price {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 30px;
}

.old-price {
    font-size: 18px;
    color: #999;
    text-decoration: line-through;
}

.new-price {
    font-size: 22px;
    font-weight: 600;
    color: #000;
}

/* Size Selector */
.product-size-wrapper {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 30px;
}

.size-label {
    font-size: 14px;
    font-weight: 600;
    color: #111;
}

.size-options {
    display: flex;
    gap: 10px;
}

.size-btn {
    min-width: 40px;
    height: 40px;
    background-color: #fff;
    border: 1px solid #ddd;
    color: #333;
    font-size: 14px;
    cursor: pointer;
    transition: 0.3s;
    display: flex;
    justify-content: center;
    align-items: center;
}

.size-btn:hover, .size-btn.active-size {
    border-color: #000;
}

/* Actions: Qty & Buttons */
.product-action-row {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 40px;
}

.qty-selector {
    display: flex;
    align-items: center;
    border: 1px solid #ddd;
    height: 45px;
}

.qty-btn {
    width: 35px;
    height: 100%;
    background: transparent;
    border: none;
    font-size: 18px;
    color: #666;
    cursor: pointer;
}

#qty-input {
    width: 40px;
    height: 100%;
    border: none;
    border-left: 1px solid #ddd;
    border-right: 1px solid #ddd;
    text-align: center;
    font-size: 15px;
    font-weight: 500;
    appearance: none;
}

#qty-input::-webkit-inner-spin-button { 
    appearance: none; 
}

.btn-add-cart, .btn-buy-now {
    height: 45px;
    padding: 0 30px;
    background-color: #0b0b0b;
    color: #fff;
    border: none;
    border-radius: 4px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: 0.3s;
}

.btn-buy-now {
    background-color: #0b0b0b; 
}

.btn-add-cart:hover, .btn-buy-now:hover {
    background-color: #333;
}

/* Meta Data */
.separator-line {
    width: 100%;
    height: 1px;
    background-color: #eaeaea;
    margin-bottom: 25px;
}

.product-meta p {
    font-size: 14px;
    color: #555;
    margin-bottom: 15px;
}

.product-meta strong {
    color: #111;
    font-weight: 600;
    margin-right: 5px;
}

.share-links {
    display: flex;
    align-items: center;
    gap: 15px;
    font-size: 14px;
    color: #555;
}

.share-links a {
    color: #555;
    font-size: 16px;
    transition: 0.3s;
}

.share-links a:hover {
    color: #000;
}

/* =========================================
   Responsive Settings (Product Page)
   ========================================= */
@media screen and (max-width: 992px) {
    .product-page-layout {
        flex-direction: column;
    }
    
    .product-info {
        flex: 0 0 100%;
        width: 100%;
    }
    
    /* মোবাইলে থাম্বনেইল মেইন ইমেজের নিচে যাবে */
    .product-gallery {
        flex: 0 0 100%;
        width: 100%;
        flex-direction: column-reverse; /* এটি থাম্বনেইলকে নিচে নিয়ে যাবে */
    }
    
    .product-thumbnails {
        width: 100%;
        flex-direction: row; /* থাম্বনেইলগুলো পাশাপাশি থাকবে */
        justify-content: center;
    }
    
    .thumb-img {
        width: 70px; /* মোবাইলে থাম্বনেইলের সাইজ */
    }
}

@media screen and (max-width: 768px) {
    .product-main-image {
        min-height: 350px;
    }
    
    .product-title {
        font-size: 22px;
    }
    
    .product-action-row {
        flex-wrap: wrap; /* ছোট স্ক্রিনে বাটনগুলো নিচে নেমে যাবে */
    }
    
    .btn-add-cart, .btn-buy-now {
        flex: 1;
        padding: 0 15px;
    }
    
    /* মোবাইলে ব্রেডক্রাম্ব থেকে টাইটেল হাইড করা */
    .breadcrumb-title {
        display: none;
    }
}


/* =========================================
   Lightbox Styles
   ========================================= */
.product-lightbox {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    z-index: 9999; /* সবার উপরে রাখার জন্য */
    display: flex;
    justify-content: center;
    align-items: center;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
}

/* যখন লাইটবক্স ওপেন হবে */
.product-lightbox.active {
    opacity: 1;
    visibility: visible;
}

.lightbox-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.9); /* ডার্ক ওভারলে */
    cursor: zoom-out;
}

.lightbox-content {
    position: relative;
    width: 90%;
    max-width: 800px; /* লাইটবক্সের ছবির সর্বোচ্চ চওড়া */
    height: 85vh; /* স্ক্রিনের হাইটের ৮৫% */
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 10000;
}

.lightbox-content img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    border-radius: 4px;
    box-shadow: 0 5px 25px rgba(0,0,0,0.5);
    user-select: none;
}

/* Lightbox Navigation Buttons */
.lightbox-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 50px;
    height: 50px;
    background-color: rgba(255, 255, 255, 0.1);
    color: #fff;
    border: 1px solid rgba(255, 255, 255, 0.3);
    border-radius: 50%;
    font-size: 24px;
    cursor: pointer;
    transition: 0.3s;
    display: flex;
    justify-content: center;
    align-items: center;
}

.lightbox-nav:hover {
    background-color: #fff;
    color: #000;
}

.lightbox-prev { left: -60px; }
.lightbox-next { right: -60px; }

/* Lightbox Close Button */
.lightbox-close {
    position: absolute;
    top: -40px;
    right: -40px;
    width: 40px;
    height: 40px;
    background: transparent;
    color: #fff;
    border: none;
    font-size: 30px;
    cursor: pointer;
    transition: 0.3s;
}

.lightbox-close:hover {
    color: #d4af37; /* হোভার করলে গোল্ডেন হবে */
    transform: scale(1.1);
}

/* =========================================
   Mobile Fixes for Lightbox
   ========================================= */
@media screen and (max-width: 992px) {
    .lightbox-content {
        width: 100%;
        height: 70vh;
    }
    /* মোবাইলে নেভিগেশন বাটন ভেতরে আনা হলো */
    .lightbox-prev { left: 10px; background-color: rgba(0,0,0,0.5); border: none; }
    .lightbox-next { right: 10px; background-color: rgba(0,0,0,0.5); border: none; }
    
    .lightbox-close {
        top: -40px;
        right: 10px;
    }
}


/* =========================================
   Product Info Tabs Section (Complete & Left Aligned)
   ========================================= */
.product-info-tabs-section {
    padding: 0 0 60px 0; /* উপর থেকে প্যাডিং জিরো করা হলো */
    background-color: #ffffff;
    border-top: none; 
}

/* --- Tabs Header (Fixed Border) --- */
.tabs-header {
    display: flex;
    justify-content: flex-start;
    gap: 40px;
    margin-bottom: 40px;
    border-top: 1px solid #eaeaea; /* পুরো হেডার জুড়ে হালকা গ্রে লাইন */
    border-bottom: none !important; /* নিশ্চিতভাবে নিচের বর্ডার রিমুভ করা হলো */
}

.tab-btn {
    background: transparent;
    border: none !important; /* বাটনের সব ডিফল্ট বর্ডার রিমুভ */
    outline: none;
    font-size: 14px;
    font-weight: 500;
    color: #000000;
    padding: 20px 0 10px 0; 
    cursor: pointer;
    position: relative;
    text-transform: uppercase;
    transition: 0.3s;
}

.tab-btn:hover {
    color: #000;
}

.tab-btn.active {
    background-color: #ebebeb00;
    color: #000;
    font-weight: 600;
    border-bottom: none !important; /* একটিভ অবস্থাতেও নিচে কোনো বর্ডার থাকবে না */
}

/* Active Tab - Thick Black Border ONLY on Top */
.tab-btn.active::before {
    content: '';
    position: absolute;
    top: -1px; /* গ্রে লাইনের ঠিক উপরে বসানোর জন্য */
    left: 0;
    width: 100%;
    height: 3px; /* ছবির মতো মোটা কালো লাইন */
    background-color: #000;
}

/* --- Tab Content - Left Aligned --- */
.tab-content {
    display: none;
    animation: fadeIn 0.4s ease;
    text-align: left;
}

.tab-content.active {
    display: block;
}

@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

/* --- Tab 1: Description Content --- */
.desc-image {
    width: 100%;
    max-width: 450px;
    margin: 0 0 30px 0;
}

.desc-image img {
    width: 100%;
    height: auto;
    display: block;
}

.desc-text {
    color: #111;
    font-size: 15px;
    line-height: 2;
}

.desc-text p {
    margin-bottom: 5px;
}

/* --- Tab 2: Additional Info --- */
.additional-text {
    color: #555;
    line-height: 1.8;
}

/* --- Tab 3: Shipping & Delivery --- */
.shipping-banner {
    background-color: #5cd65c;
    padding: 15px;
    text-align: center;
    border-radius: 4px;
    margin-bottom: 30px;
}

.shipping-banner h3 {
    color: #114211;
    font-size: 22px;
    font-weight: 600;
    margin: 0;
}

.delivery-details-title {
    text-align: center;
    font-size: 20px;
    font-weight: 600;
    color: #333;
    margin-bottom: 30px;
}

/* Shipping Cards Container */
.shipping-cards {
    display: flex;
    justify-content: center;
    gap: 20px;
    flex-wrap: wrap;
}

/* Individual Card Base */
.shipping-card {
    flex: 1;
    max-width: 300px;
    padding: 30px 20px;
    border-radius: 6px;
    text-align: center;
    border: 1px solid;
}

.shipping-card h5 {
    font-size: 18px;
    margin-bottom: 20px;
}

.shipping-card p {
    font-size: 13px;
    color: #666;
    margin-bottom: 15px;
    line-height: 1.5;
}

.shipping-card p:last-child {
    margin-bottom: 0;
}

/* Inside Dhaka Card (Green) */
.card-inside {
    background-color: #f0fff0;
    border-color: #b2f5b2;
}
.card-inside h5 { color: #008000; }

/* Sub Dhaka Card (Orange) */
.card-sub {
    background-color: #fffbf0;
    border-color: #ffe0b2;
}
.card-sub h5 { color: #ff9800; }

/* Outside Dhaka Card (Blue) */
.card-outside {
    background-color: #f0f8ff;
    border-color: #bbdefb;
}
.card-outside h5 { color: #2196f3; }

/* =========================================
   Responsive Settings (Tabs)
   ========================================= */
@media screen and (max-width: 768px) {
    .tabs-header {
        gap: 20px;
        overflow-x: auto;
        white-space: nowrap;
        padding-bottom: 5px;
    }
    
    .tab-btn {
        font-size: 12px;
    }
    
    .desc-text {
        font-size: 14px;
    }

    .shipping-cards {
        flex-direction: column;
        align-items: center;
    }
    
    .shipping-card {
        max-width: 100%;
        width: 100%;
    }
}


/* =========================================
   Related Products Section
   ========================================= */
.related-products-section {
    padding: 0 0 80px 0;
    background-color: #ffffff;
}

/* Header & Underline */
.related-header {
    margin-bottom: 40px;
}

.related-header h2 {
    font-size: 20px;
    font-weight: 600;
    color: #111;
    text-transform: uppercase;
    display: inline-block;
    position: relative;
    padding-bottom: 10px;
}

.related-header h2::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 45px; /* ছবির মতো ছোট কালো লাইন */
    height: 2px;
    background-color: #000;
}

/* Carousel Container */
.related-carousel-container {
    position: relative;
    border-radius: 8px;
    overflow: hidden;
}

/* Hover Arrows (Hidden by default) */
.rel-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 35px;
    height: 35px;
    background: #fff;
    border: 1px solid #eaeaea;
    border-radius: 50%;
    font-size: 16px;
    color: #333;
    cursor: pointer;
    z-index: 20;
    display: flex;
    justify-content: center;
    align-items: center;
    box-shadow: 0 2px 5px rgba(0,0,0,0.2);
    transition: all 0.3s ease;
    opacity: 0;
    visibility: hidden;
}

.related-carousel-container:hover .rel-arrow {
    opacity: 1;
    visibility: visible;
}

.rel-arrow:hover {
    background: #000;
    color: #fff;
}

.rel-prev { left: 10px; }
.rel-next { right: 10px; }

/* Carousel Inner */
.related-carousel-inner {
    display: flex;
    gap: 15px;
    overflow-x: auto;
    scroll-behavior: smooth;
    padding: 5px; /* শ্যাডোর জন্য */
    scrollbar-width: none;
    scroll-snap-type: x mandatory;
}

.related-carousel-inner::-webkit-scrollbar {
    display: none;
}

/* Desktop: 4 Cards per view */
.related-carousel-inner .product-card {
    flex: 0 0 calc((100% - 45px) / 4);
    scroll-snap-align: start;
}

/* Sold Out Label */
.sold-out-label {
    position: absolute;
    top: 40px; /* কালো ব্যাজের ঠিক নিচে */
    left: 10px;
    background-color: #ffffff;
    color: #000000;
    font-size: 11px;
    font-weight: 600;
    padding: 4px 8px;
    border-radius: 3px;
    z-index: 5;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

/* =========================================
   Mobile Responsive Fixes for Related Products
   ========================================= */
@media screen and (max-width: 768px) {
    
    /* ১. গ্যাপ কমিয়ে ঠিক ২টা কার্ড পাশাপাশি বসানোর হিসাব */
    .related-carousel-inner {
        gap: 10px; /* মোবাইলে কার্ডের মাঝখানের ফাঁকা জায়গা কমানো হলো */
        padding: 5px 0; 
    }
    
    .related-carousel-inner .product-card {
        flex: 0 0 calc(50% - 5px); /* ১০০% কে ২ ভাগ করে গ্যাপ মাইনাস করা হয়েছে, এখন ঠিক ২টা দেখাবে */
    }
    
    /* ২. মোবাইলের জন্য টেক্সট এবং প্রাইস ছোট করা */
    .product-card h4 {
        font-size: 13px; /* টাইটেলের ফন্ট ছোট করা হলো */
        line-height: 1.4;
        margin-bottom: 8px;
    }

    .product-card .old-price {
        font-size: 13px;
    }

    .product-card .new-price {
        font-size: 15px; /* দামের ফন্ট ছোট করা হলো */
    }

    /* ৩. Add to cart বাটন মোবাইলের জন্য অপ্টিমাইজ করা */
    .product-card .add-to-cart-btn {
        height: 36px;
        font-size: 12px;
        padding: 0 10px;
    }

    /* ৪. ডিসকাউন্ট ও সোল্ড আউট ব্যাজ ছোট করা */
    .discount-label {
        font-size: 10px;
        padding: 3px 6px;
    }
    
    .sold-out-label {
        font-size: 10px;
        top: 35px;
        padding: 3px 6px;
    }
    
    /* ৫. অ্যারো বাটনগুলো সাইজে একটু ছোট করা */
    .rel-arrow {
        width: 30px;
        height: 30px;
        font-size: 14px;
        opacity: 1;
        visibility: visible;
    }
    
    /* অ্যারোগুলো একটু ভেতরের দিকে আনা হলো যেন স্ক্রিনের বাইরে না যায় */
    .rel-prev { left: 5px; }
    .rel-next { right: 5px; }
}





/* =========================================
   Shop Page General Styles
   ========================================= */
.shop-page-section {
    padding: 50px 0;
    background-color: #ffffff;
}

.shop-layout {
    display: flex;
    gap: 40px;
    align-items: flex-start;
}

/* =========================================
   Sidebar Overlay & Close Button (For Mobile)
   ========================================= */
.sidebar-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(0,0,0,0.6);
    z-index: 999;
    display: none;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.sidebar-overlay.active {
    display: block;
    opacity: 1;
}

.sidebar-close-btn {
    display: none; /* Desktop এ হাইড থাকবে */
    text-align: right;
    font-size: 15px;
    color: #111;
    cursor: pointer;
    margin-bottom: 30px;
    font-weight: 500;
}

/* =========================================
   Left Sidebar Styles
   ========================================= */
.shop-sidebar {
    flex: 0 0 250px; /* ডেস্কটপে সাইডবারের চওড়া */
}

.filter-widget {
    margin-bottom: 40px;
}

.widget-title {
    font-size: 14px; 
    font-weight: 600;
    color: #111;
    margin-bottom: 20px;
    text-transform: uppercase;
}

/* 1. Price Filter (Dual Slider) */
.price-slider-wrapper {
    position: relative;
    width: 100%;
    height: 5px;
    background-color: #e0e0e0;
    border-radius: 5px;
    margin-bottom: 25px;
}

.slider-track {
    position: absolute;
    height: 100%;
    background-color: #000;
    z-index: 1;
}

.range-slider {
    position: absolute;
    width: 100%;
    height: 5px;
    top: 0;
    background: none;
    pointer-events: none;
    -webkit-appearance: none;
    z-index: 2;
}

.range-slider::-webkit-slider-thumb {
    height: 15px;
    width: 15px;
    border-radius: 0;
    background-color: #000;
    pointer-events: auto;
    -webkit-appearance: none;
    cursor: pointer;
}

.price-action-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.price-label {
    font-size: 12px; 
    color: #555;
}

.btn-filter {
    background-color: #111;
    color: #fff;
    border: none;
    padding: 6px 15px;
    font-size: 11px;
    font-weight: 600;
    cursor: pointer;
    border-radius: 3px;
    transition: 0.3s;
}

.btn-filter:hover { background-color: #333; }

/* 2. Size Filter */
.size-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.size-list li {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 15px;
}

.size-name {
    font-size: 13px; 
    color: #333;
    font-weight: 500;
}

.size-count {
    font-size: 11px;
    color: #888;
    background-color: #f5f5f5;
    padding: 2px 8px;
    border-radius: 12px;
    border: 1px solid #eaeaea;
}

/* 3. Stock Filter */
.custom-checkbox {
    display: block;
    position: relative;
    padding-left: 25px;
    margin-bottom: 15px;
    cursor: pointer;
    font-size: 13px; 
    color: #555;
    user-select: none;
}

.custom-checkbox input {
    position: absolute;
    opacity: 0;
    cursor: pointer;
    height: 0;
    width: 0;
}

.checkmark {
    position: absolute;
    top: 1px;
    left: 0;
    height: 15px;
    width: 15px;
    background-color: #fff;
    border: 1px solid #ccc;
    border-radius: 2px;
}

.custom-checkbox input:checked ~ .checkmark {
    background-color: #000;
    border-color: #000;
}

.checkmark:after {
    content: "";
    position: absolute;
    display: none;
    left: 4px;
    top: 1px;
    width: 4px;
    height: 8px;
    border: solid white;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}

.custom-checkbox input:checked ~ .checkmark:after {
    display: block;
}

/* =========================================
   Right Main Content Styles
   ========================================= */
.shop-main-content {
    flex: 1;
}

/* Top Bar Alignment (Desktop vs Mobile) */
.desktop-top-bar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    margin-bottom: 30px;
}

.mobile-top-bar {
    display: none; /* Desktop এ হাইড থাকবে */
}

.desktop-top-bar .breadcrumb {
    font-size: 12px; 
    color: #888;
    margin: 0;
}

.desktop-top-bar .breadcrumb span {
    color: #111;
    font-weight: 600;
}

.top-bar-controls {
    display: flex;
    align-items: center;
    gap: 25px;
    flex-wrap: wrap;
}

.show-items {
    font-size: 12px; 
    color: #555;
}

.show-items a {
    color: #888;
    margin: 0 2px;
}
.show-items a.active { color: #111; font-weight: 600; }

.view-icons {
    display: flex;
    gap: 10px;
    color: #ccc;
    font-size: 15px;
}
.view-icons i { cursor: pointer; transition: 0.3s; }
.view-icons i:hover, .view-icons i.active { color: #111; }

.sort-dropdown select {
    padding: 6px 10px;
    border: 1px solid #eaeaea;
    border-radius: 3px;
    font-size: 12px; 
    color: #555;
    outline: none;
    cursor: pointer;
}

/* =========================================
   Product Grid & Cards
   ========================================= */
.shop-product-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr); /* ডেস্কটপে ৩ কলাম */
    gap: 25px;
}

.shop-card {
    text-align: center;
    border: 1px solid #eaeaea;
    padding: 15px;
    border-radius: 5px;
    position: relative;
    transition: 0.3s;
}

.shop-card:hover {
    box-shadow: 0 5px 15px rgba(0,0,0,0.05);
}

.shop-card img {
    width: 100%;
    height: auto;
    margin-bottom: 15px;
}

.shop-card h4 {
    font-size: 13px; 
    font-weight: 500;
    color: #111;
    margin-bottom: 10px;
    line-height: 1.4;
}

.shop-card .price {
    margin-bottom: 15px;
}

.shop-card .old-price {
    font-size: 14px; 
    color: #999;
    text-decoration: line-through;
    margin-right: 5px;
}

.shop-card .new-price {
    font-size: 16px; 
    font-weight: 600;
    color: #000;
}

/* Animated Add to Cart Button */
.shop-card .add-to-cart-btn {
    width: 100%;
    height: 40px;
    background-color: #0b0b0b;
    color: #fff;
    border: none;
    border-radius: 4px;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    position: relative;
    overflow: hidden;
    display: block;
    transition: all 0.3s;
}

.shop-card .add-to-cart-btn:hover {
    background-color: #333;
}

.shop-card .add-to-cart-btn .btn-text {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: transform 0.4s ease;
}

.shop-card .add-to-cart-btn .btn-icon {
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 15px;
    transition: transform 0.4s ease;
}

.shop-card .add-to-cart-btn:hover .btn-text { transform: translateY(-100%); }
.shop-card .add-to-cart-btn:hover .btn-icon { transform: translateY(-100%); }

/* Badges (SALE) */
.badges {
    position: absolute;
    top: 15px;
    left: 15px;
    right: 15px;
    display: flex;
    justify-content: space-between;
    pointer-events: none;
}

.badge-sale {
    background-color: #000;
    color: #fff;
    font-size: 10px;
    font-weight: 600;
    padding: 3px 8px;
    height: fit-content;
}

/* =========================================
   Responsive Settings (Tablet & Mobile)
   ========================================= */
@media screen and (max-width: 992px) {
    /* সাইডবারকে অফ-ক্যানভাস (লুকানো) মেনু বানানো হলো */
    .shop-sidebar {
        position: fixed;
        top: 0;
        left: -100%; /* স্ক্রিনের বাইরে লুকানো */
        width: 300px;
        height: 100vh;
        background: #fff;
        z-index: 1000;
        padding: 30px 20px;
        overflow-y: auto;
        transition: left 0.4s ease-in-out;
    }

    .shop-sidebar.active {
        left: 0; /* ক্লিক করলে স্ক্রিনে আসবে */
    }

    .sidebar-close-btn { display: block; } /* মোবাইলে ক্লোজ বাটন দেখাবে */

    /* টপ বার পরিবর্তন (Desktop হাইড, Mobile শো) */
    .desktop-top-bar { display: none; }
    .mobile-top-bar { display: block; width: 100%; margin-bottom: 30px; }

    /* ছবির মতো মোবাইল টপ বারের স্টাইল */
    .mob-top-row {
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin-bottom: 15px;
    }

    .mob-top-row .breadcrumb { font-size: 13px; color: #888; }
    .mob-top-row .breadcrumb span { color: #111; font-weight: 600; }
    .mob-top-row .result-count { font-size: 13px; color: #555; }

    .mob-divider {
        width: 100%;
        height: 1px;
        background-color: #eaeaea;
        margin-bottom: 15px;
    }

    .mob-bottom-row {
        display: flex;
        justify-content: space-between;
        align-items: center;
    }

    .btn-show-sidebar {
        background: none;
        border: none;
        font-size: 15px;
        color: #111;
        font-weight: 500;
        cursor: pointer;
        display: flex;
        align-items: center;
        gap: 8px;
    }

    .btn-mob-sort {
        background: none;
        border: none;
        font-size: 18px;
        color: #555;
        cursor: pointer;
    }
}

@media screen and (max-width: 768px) {
    /* ম্যাজিক ফিক্স: minmax(0, 1fr) কার্ডকে জোর করে ঠিক ৫০% জায়গাতেই আটকে রাখবে */
    .shop-product-grid {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 10px !important;
        width: 100%;
        box-sizing: border-box;
    }

    .shop-card {
        width: 100%;
        min-width: 0 !important; /* কার্ড যেন ভেতরের কন্টেন্টের কারণে ওভারফ্লো না হয় */
        padding: 10px !important;
        box-sizing: border-box;
        overflow: hidden;
    }

    .shop-card img {
        width: 100%;
        max-width: 100%;
        height: auto;
    }

    .shop-card h4 {
        font-size: 12px; 
        margin-bottom: 8px;
        white-space: normal; /* লম্বা টেক্সট স্ক্রিনের বাইরে না গিয়ে ভেঙে নিচে নামবে */
        word-wrap: break-word;
    }

    .shop-card .price {
        display: flex;
        flex-direction: column; /* মোবাইলে দাম পাশাপাশি না ধরে গেলে নিচে নিচে দেখাবে */
        gap: 2px;
        margin-bottom: 10px;
    }

    .shop-card .old-price { 
        font-size: 12px; 
        margin-right: 0;
    }
    
    .shop-card .new-price { 
        font-size: 14px; 
    }

    .shop-card .add-to-cart-btn {
        height: 35px;
        font-size: 11px;
        padding: 0 5px;
    }

    .badges {
        top: 8px;
        left: 8px;
        right: 8px;
    }

    .badge-sale {
        font-size: 9px;
        padding: 2px 5px;
    }
    
    .top-bar-controls {
        width: 100%;
        justify-content: space-between;
    }
}

@media screen and (max-width: 480px) {
    .mob-top-row { flex-direction: column; align-items: flex-start; gap: 5px; }
}


/* =========================================
   Shop Page View Toggles (Grid & List Views)
   ========================================= */
/* এই ডিজাইনগুলো শুধু ৭৬৮px এর উপরের স্ক্রিনের জন্য */
@media screen and (min-width: 769px) {
    
    /* --- Grid Views --- */
    .shop-product-grid.grid-view-2 {
        grid-template-columns: repeat(2, 1fr) !important;
    }
    .shop-product-grid.grid-view-3 {
        grid-template-columns: repeat(3, 1fr) !important; /* Default */
    }
    .shop-product-grid.grid-view-4 {
        grid-template-columns: repeat(4, 1fr) !important;
    }

    /* --- List View (Magic CSS Grid without HTML changes) --- */
    .shop-product-grid.list-view {
        grid-template-columns: 1fr !important; /* এক লাইনে একটি কার্ড */
    }
    
    .shop-product-grid.list-view .shop-card {
        display: grid;
        grid-template-areas:
            "img title"
            "img price"
            "img btn";
        grid-template-columns: 220px 1fr; /* বামে ২২০px এর ছবি, ডানে বাকি জায়গা */
        gap: 10px 40px;
        align-items: center;
        text-align: left;
        padding: 20px;
    }

    .shop-product-grid.list-view .shop-card img {
        grid-area: img;
        margin: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .shop-product-grid.list-view .shop-card h4 {
        grid-area: title;
        align-self: end;
        margin: 0;
        font-size: 16px; /* লিস্ট ভিউতে লেখা একটু বড় হবে */
    }

.shop-product-grid.list-view .shop-card .price {
        grid-area: price;
        margin: 0;
        display: flex;
        justify-content: flex-start; /* এটি দামকে একদম বামে এলাইন করে রাখবে */
        align-items: center;
        gap: 15px;
    }

    .shop-product-grid.list-view .shop-card .add-to-cart-btn {
        grid-area: btn;
        margin: 0;
        align-self: start;
        max-width: 180px; /* বাটন বামে থাকবে */
    }

    /* লিস্ট ভিউতে ব্যাজের সাইজ ফিক্স করা */
    .shop-product-grid.list-view .badges {
        width: calc(220px - 30px); /* ছবির সাইজ অনুযায়ী ব্যাজ বসবে */
    }
}




/* =========================================
   Checkout Page Styles (Complete & Updated)
   ========================================= */
body.bg-light-gray {
    background-color: #f7f8fa;
}

.checkout-section {
    padding: 40px 0 80px 0;
}

.checkout-layout {
    display: flex;
    gap: 30px;
    align-items: flex-start;
}

/* ================== Left Column: Form ================== */
.checkout-form-col {
    flex: 0 0 55%;
}

.checkout-box {
    background: #ffffff;
    border: 1px solid #eaeaea;
    border-radius: 6px;
    padding: 30px;
    margin-bottom: 25px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.02);
}

.box-title {
    font-size: 16px;
    font-weight: 600;
    color: #111;
    margin-bottom: 25px;
    display: flex;
    align-items: center;
    gap: 10px;
}

.box-title i {
    color: #555;
    font-size: 18px;
}

/* Form Styles */
.form-group {
    margin-bottom: 20px;
}

.form-group label {
    display: block;
    font-size: 13px;
    font-weight: 500;
    color: #333;
    margin-bottom: 8px;
}

.required {
    color: #e74c3c;
}

.form-group input, 
.custom-select-wrapper select {
    width: 100%;
    height: 45px;
    border: 1px solid #ddd;
    border-radius: 4px;
    padding: 0 15px;
    font-size: 14px;
    color: #333;
    outline: none;
    transition: 0.3s;
    font-family: inherit;
    background: #fff;
}

.form-group input:focus, 
.custom-select-wrapper select:focus {
    border-color: #111;
}

.form-group input::placeholder {
    color: #aaa;
}

.form-row {
    display: flex;
    gap: 20px;
}

.half-width { flex: 1; }
.full-width { width: 100%; }

/* ================== Right Column: Unified Box ================== */
.checkout-summary-col {
    flex: 1;
}

.checkout-unified-box {
    background: #ffffff;
    border: 1px solid #eaeaea;
    border-radius: 6px;
    padding: 0;
    box-shadow: 0 2px 10px rgba(0,0,0,0.02);
}

/* Header */
.summary-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 25px 30px;
    border-bottom: 1px solid #eaeaea;
}

.summary-header h3 {
    font-size: 15px;
    font-weight: 600;
    color: #111;
    margin: 0;
}

.modify-link {
    font-size: 12px;
    color: #555;
    text-decoration: underline;
}

/* Product Item */
.checkout-product-item {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 20px 30px;
    border-bottom: 1px solid #eaeaea;
}

.checkout-product-item img {
    width: 60px;
    height: 60px;
    object-fit: cover;
    border-radius: 4px;
    border: 1px solid #eee;
}

.product-info { flex: 1; }

.product-info h4 {
    font-size: 13px;
    font-weight: 500;
    color: #333;
    margin-bottom: 5px;
    line-height: 1.4;
}

.product-info p {
    font-size: 11px;
    color: #777;
}

.product-price-info {
    text-align: right;
    display: flex;
    flex-direction: column;
}

.product-price-info .old-price {
    font-size: 11px;
    color: #999;
    text-decoration: line-through;
    margin-bottom: 2px;
}

.product-price-info .new-price {
    font-size: 14px;
    font-weight: 600;
    color: #111;
}

/* Calculations */
.summary-calculations {
    padding: 20px 30px;
}

.calc-row {
    display: flex;
    justify-content: space-between;
    font-size: 13px;
    color: #555;
    margin-bottom: 15px;
}

.calc-row:last-child { margin-bottom: 0; }

.total-row {
    font-size: 16px;
    font-weight: 600;
    color: #111;
    border-top: 1px solid #eaeaea;
    padding-top: 20px;
    margin-top: 5px;
}

/* Delivery Estimate */
.delivery-estimate {
    background-color: #f0faf0;
    color: #198754;
    padding: 12px 20px;
    margin: 0 30px 25px 30px;
    border-radius: 4px;
    font-size: 12px;
    display: flex;
    align-items: center;
    gap: 10px;
}

.delivery-estimate i { font-size: 14px; }

/* Coupon */
.coupon-section {
    display: flex;
    gap: 10px;
    padding: 0 30px 25px 30px;
    border-bottom: 1px solid #eaeaea;
}

.coupon-section input {
    flex: 1;
    height: 40px;
    border: 1px solid #ddd;
    border-radius: 4px;
    padding: 0 15px;
    font-size: 13px;
    outline: none;
}

.coupon-section .btn-apply {
    height: 40px;
    background-color: #333;
    color: #fff;
    border: none;
    border-radius: 4px;
    padding: 0 20px;
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    transition: 0.3s;
}

.coupon-section .btn-apply:hover { background-color: #111; }

/* Payment Methods */
.payment-method-header {
    padding: 25px 30px 15px 30px;
}

.payment-method-header h3 {
    font-size: 14px;
    font-weight: 600;
    color: #111;
    margin: 0;
}

.payment-options-wrapper {
    padding: 0 30px 25px 30px;
}

.payment-option {
    display: block;
    margin-bottom: 15px;
    cursor: pointer;
}

.payment-option input { display: none; }

.payment-card {
    display: flex;
    align-items: center;
    border: 1px solid #eaeaea;
    padding: 15px;
    border-radius: 4px;
    background: #fff;
    transition: 0.3s;
    position: relative;
}

.radio-circle {
    width: 16px;
    height: 16px;
    border: 2px solid #ccc;
    border-radius: 50%;
    margin-right: 15px;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
}

.payment-option input:checked + .payment-card {
    border-color: #111;
    box-shadow: 0 0 0 1px #111;
}

.payment-option input:checked + .payment-card .radio-circle {
    border-color: #111;
}

.payment-option input:checked + .payment-card .radio-circle::after {
    content: '';
    width: 8px;
    height: 8px;
    background: #111;
    border-radius: 50%;
}

/* Colored Icon Boxes */
.pay-icon-box {
    width: 35px;
    height: 35px;
    border-radius: 4px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 18px;
}

.cod-bg { background-color: #fdf2d0; color: #f39c12; }
.card-bg { background-color: #e3f2fd; color: #1976d2; }
.bkash-bg { background-color: #fce4ec; color: #d81b60; }

.pay-details {
    flex: 1;
    margin-left: 15px;
}

.pay-details h5 {
    font-size: 13px;
    font-weight: 600;
    color: #333;
    margin-bottom: 3px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.pay-details p {
    font-size: 11px;
    color: #777;
}

.badge-popular {
    background: #f1f1f1;
    color: #555;
    font-size: 9px;
    padding: 2px 5px;
    border-radius: 2px;
    font-weight: 600;
}

.badge-secure {
    background: #e8f5e9;
    color: #2e7d32;
    font-size: 9px;
    padding: 2px 5px;
    border-radius: 2px;
    font-weight: 600;
}

.pay-logos {
    position: absolute;
    right: 15px;
    bottom: 15px;
}

/* Action Area */
.checkout-action-area {
    padding: 25px 30px;
    background-color: #fcfcfc;
    border-top: 1px solid #eaeaea;
    border-radius: 0 0 6px 6px;
}

.terms-checkbox {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    cursor: pointer;
    margin-bottom: 20px;
}

.terms-checkbox input { display: none; }

.custom-check {
    width: 16px;
    height: 16px;
    border: 1px solid #ccc;
    border-radius: 3px;
    background: #fff;
    position: relative;
    margin-top: 2px;
}

.terms-checkbox input:checked + .custom-check {
    background: #111;
    border-color: #111;
}

.terms-checkbox input:checked + .custom-check::after {
    content: '\f00c';
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
    color: #fff;
    font-size: 10px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.terms-checkbox p {
    font-size: 12px;
    color: #555;
    line-height: 1.5;
}

.terms-checkbox a {
    color: #111;
    text-decoration: underline;
}

.btn-confirm-order {
    width: 100%;
    background-color: #222;
    color: #fff;
    border: none;
    border-radius: 4px;
    padding: 15px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    transition: 0.3s;
    margin-bottom: 25px;
}

.btn-confirm-order:hover { background-color: #000; }

.trust-badges {
    display: flex;
    justify-content: center;
    gap: 20px;
}

.trust-badges span {
    font-size: 11px;
    color: #666;
    display: flex;
    align-items: center;
    gap: 5px;
}



/* =========================================
   Responsive Settings (Checkout Page)
   ========================================= */
@media screen and (max-width: 992px) {
    .checkout-layout {
        flex-direction: column;
    }
    .checkout-form-col, .checkout-summary-col {
        flex: 1;
        width: 100%;
    }
}

@media screen and (max-width: 576px) {
    .form-row {
        flex-direction: column;
        gap: 0;
    }
    
    .checkout-box, 
    .summary-header, 
    .checkout-product-item, 
    .summary-calculations, 
    .coupon-section, 
    .payment-method-header, 
    .payment-options-wrapper, 
    .checkout-action-area { 
        padding: 20px; 
    }
    
    .delivery-estimate {
        margin: 0 20px 20px 20px;
    }
    
    /* ট্রাস্ট ব্যাজ মোবাইলে এক লাইনে (1 Row) রাখার আপডেট */
    .trust-badges { 
        flex-direction: row; 
        justify-content: space-between;
        align-items: center; 
        gap: 5px; 
    }
    
    .trust-badges span {
        font-size: 9px; /* এক লাইনে ধরার জন্য ফন্ট সাইজ অপ্টিমাইজ করা হলো */
        text-align: center;
        flex-direction: column; /* আইকন উপরে, টেক্সট নিচে দেখানোর জন্য */
        gap: 3px;
    }
    
    .trust-badges i { 
        font-size: 12px; 
    }
}



/* =========================================
   Cart Page Styles
   ========================================= */
.cart-page-section {
    padding: 60px 0 80px 0;
    background-color: #ffffff;
}

.cart-layout {
    display: flex;
    gap: 40px;
    align-items: flex-start;
}

/* ================== Left Column: Cart Table ================== */
.cart-table-col {
    flex: 1;
}

.cart-table {
    width: 100%;
    margin-bottom: 25px;
}

/* Table Header */
.cart-thead {
    display: flex;
    padding-bottom: 15px;
    border-bottom: 1px solid #eaeaea;
    font-size: 14px;
    font-weight: 600;
    color: #111;
}

.th-product { flex: 0 0 50%; }
.th-price { flex: 0 0 15%; text-align: center; }
.th-qty { flex: 0 0 20%; text-align: center; }
.th-subtotal { flex: 0 0 15%; text-align: right; }

/* Table Body Row */
.cart-item-row {
    display: flex;
    align-items: center;
    padding: 25px 0;
    border-bottom: 1px solid #eaeaea;
}

.item-remove {
    flex: 0 0 40px;
}

.remove-btn {
    background: none;
    border: none;
    font-size: 18px;
    color: #999;
    cursor: pointer;
    transition: 0.3s;
}

.remove-btn:hover { color: #e74c3c; }

.item-product-info {
    flex: 0 0 calc(50% - 40px);
    display: flex;
    align-items: center;
    gap: 20px;
}

.item-product-info img {
    width: 70px;
    height: 70px;
    object-fit: cover;
    border: 1px solid #eaeaea;
}

.item-title {
    font-size: 14px;
    color: #333;
    line-height: 1.5;
    text-decoration: none;
    transition: 0.3s;
}

.item-title:hover { color: #000; text-decoration: underline; }

.item-price {
    flex: 0 0 15%;
    text-align: center;
    font-size: 14px;
    color: #777;
}

/* Quantity Selector */
.item-qty {
    flex: 0 0 20%;
    display: flex;
    justify-content: center;
}

.cart-item-row .qty-selector {
    display: flex;
    align-items: center;
    border: 1px solid #ddd;
    height: 40px;
    width: 100px;
}

.cart-item-row .qty-btn {
    width: 30px;
    height: 100%;
    background: #fff;
    border: none;
    font-size: 16px;
    color: #555;
    cursor: pointer;
}

.cart-item-row .qty-input {
    width: 40px;
    height: 100%;
    border: none;
    border-left: 1px solid #ddd;
    border-right: 1px solid #ddd;
    text-align: center;
    font-size: 14px;
    font-weight: 500;
    -moz-appearance: textfield; /* Firefox */
}

.cart-item-row .qty-input::-webkit-outer-spin-button,
.cart-item-row .qty-input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.item-subtotal {
    flex: 0 0 15%;
    text-align: right;
    font-size: 15px;
    font-weight: 600;
    color: #111;
}

/* Coupon Row */
.cart-coupon-row {
    display: flex;
    gap: 10px;
    margin-top: 20px;
}

.coupon-input {
    width: 250px;
    height: 45px;
    border: 1px solid #ddd;
    padding: 0 15px;
    font-size: 14px;
    border-radius: 2px;
    outline: none;
}

.btn-apply-coupon {
    height: 45px;
    background-color: #111;
    color: #fff;
    border: none;
    padding: 0 25px;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    border-radius: 2px;
    transition: 0.3s;
}

.btn-apply-coupon:hover { background-color: #333; }

/* ================== Right Column: Cart Totals ================== */
.cart-totals-col {
    flex: 0 0 380px; /* ডানদিকের বক্সের চওড়া */
}

.cart-totals-box {
    border: 1px solid #eaeaea;
    padding: 30px;
    background: #fff;
}

.cart-totals-box h3 {
    font-size: 18px;
    font-weight: 600;
    color: #111;
    margin-bottom: 25px;
}

.totals-row {
    display: flex;
    justify-content: space-between;
    padding: 15px 0;
    border-bottom: 1px solid #eaeaea;
    font-size: 14px;
}

.totals-label {
    font-weight: 500;
    color: #333;
}

.text-gray {
    color: #777;
}

/* Shipping Radios - Right Aligned Text */
.shipping-row {
    align-items: flex-start;
}

.shipping-options {
    flex: 1;
    text-align: right; /* টেক্সট ডান দিকে */
    margin-left: 20px;
}

.shipping-radio {
    display: flex;
    justify-content: flex-end; /* রেডিও বাটন ডানে নেওয়ার জন্য */
    align-items: flex-start;
    gap: 8px;
    margin-bottom: 12px;
    cursor: pointer;
}

.shipping-text {
    font-size: 16px; /* বাংলা ফন্টটি যেন পরিষ্কার বোঝা যায় তাই সাইজ ১৩px করা হলো */
    font-family: 'Hind Siliguri', sans-serif; /* বাংলা ফন্ট অ্যাপ্লাই করা হলো */
    color: #555;
    line-height: 1.6;
    text-align: right;
}

.shipping-text strong {
    color: #111;
    font-family: 'Poppins', sans-serif; /* টাকার এমাউন্ট এবং সংখ্যাগুলো Poppins ফন্টেই সুন্দর লাগবে */
}

.shipping-radio input[type="radio"] {
    margin-top: 3px;
    cursor: pointer;
}

.shipping-destination {
    margin-top: 15px;
    font-size: 13px;
    color: #555;
}

.change-address {
    display: block;
    color: #111;
    font-weight: 500;
    margin-top: 5px;
    text-decoration: underline;
}

/* Grand Total */
.grand-total-row {
    border-bottom: none;
    align-items: center;
    padding: 25px 0;
}

.bold-total {
    font-size: 20px;
    font-weight: 600;
    color: #111;
}

.btn-proceed-checkout {
    width: 100%;
    background-color: #111;
    color: #fff;
    border: none;
    padding: 15px 0;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    border-radius: 2px;
    transition: 0.3s;
}

.btn-proceed-checkout:hover { background-color: #333; }

/* =========================================
   Responsive Settings (Cart Page)
   ========================================= */
@media screen and (max-width: 992px) {
    .cart-layout {
        flex-direction: column;
    }
    .cart-totals-col {
        width: 100%;
        flex: 1;
    }
}

@media screen and (max-width: 768px) {
    .cart-thead {
        display: none; /* মোবাইলে টেবিল হেডার হাইড */
    }
    
    .cart-item-row {
        flex-wrap: wrap;
        position: relative;
        padding-right: 30px;
    }

    .item-remove {
        position: absolute;
        top: 20px;
        right: 0;
    }

    .item-product-info {
        flex: 0 0 100%;
        margin-bottom: 15px;
    }

    .item-price, .item-qty, .item-subtotal {
        flex: 1;
        text-align: left;
    }
    
    .item-qty {
        justify-content: center;
    }

    .item-subtotal {
        text-align: right;
    }

    .cart-coupon-row {
        flex-direction: column;
    }
    
    .coupon-input {
        width: 100%;
    }
}



/* =========================================
   Sticky Chat Styles
   ========================================= */
.sticky-chat-wrapper {
    position: fixed;
    bottom: 30px;
    right: 30px;
    z-index: 990;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 15px;
}

.chat-options {
    display: flex;
    flex-direction: column;
    gap: 10px;
    opacity: 0;
    visibility: hidden;
    transform: translateY(20px);
    transition: all 0.3s ease;
}

.chat-options.active {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.chat-option-btn {
    width: 45px;
    height: 45px;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    font-size: 24px;
    text-decoration: none;
    box-shadow: 0 4px 10px rgba(0,0,0,0.15);
    transition: 0.3s;
}

.chat-option-btn:hover { transform: scale(1.1); color: #fff; }

.whatsapp-bg { background-color: #25D366; }
.messenger-bg { background-color: #00B2FF; }

/* Main Chat Button (Purple) */
.main-chat-btn {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background-color: #a481d5; /* ছবির মতো পার্পল কালার */
    color: #fff;
    border: none;
    font-size: 28px;
    cursor: pointer;
    box-shadow: 0 4px 15px rgba(164, 129, 213, 0.4);
    display: flex;
    justify-content: center;
    align-items: center;
    transition: 0.3s;
}

.main-chat-btn:hover { transform: scale(1.05); }

/* =========================================
   Sidebar Cart Drawer Styles
   ========================================= */
.sidebar-cart-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(0,0,0,0.6);
    z-index: 9998;
    opacity: 0;
    visibility: hidden;
    transition: 0.3s ease;
}

.sidebar-cart-overlay.active {
    opacity: 1;
    visibility: visible;
}

.sidebar-cart {
    position: fixed;
    top: 0;
    right: -400px; /* স্ক্রিনের বাইরে থাকবে */
    width: 100%;
    max-width: 360px;
    height: 100vh;
    background: #fff;
    z-index: 9999;
    display: flex;
    flex-direction: column;
    transition: right 0.4s ease;
    box-shadow: -5px 0 15px rgba(0,0,0,0.05);
}

.sidebar-cart.active {
    right: 0; /* ওপেন হলে স্ক্রিনে আসবে */
}

/* Header */
.sidecart-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px;
    border-bottom: 1px solid #eaeaea;
}

.sidecart-header h3 {
    font-size: 18px;
    font-weight: 600;
    color: #111;
    margin: 0;
}

.sidecart-close {
    background: none;
    border: none;
    font-size: 14px;
    color: #555;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 5px;
    transition: 0.3s;
}

.sidecart-close:hover { color: #e74c3c; }

/* Scrollable Items Area */
.sidecart-items {
    flex: 1;
    overflow-y: auto;
    padding: 20px;
}

/* Custom Scrollbar for sidecart */
.sidecart-items::-webkit-scrollbar { width: 6px; }
.sidecart-items::-webkit-scrollbar-track { background: #f1f1f1; }
.sidecart-items::-webkit-scrollbar-thumb { background: #ccc; border-radius: 10px; }
.sidecart-items::-webkit-scrollbar-thumb:hover { background: #aaa; }

.sidecart-item {
    display: flex;
    align-items: flex-start;
    gap: 15px;
    margin-bottom: 20px;
    padding-bottom: 20px;
    border-bottom: 1px solid #f5f5f5;
    position: relative;
}

.sidecart-item img {
    width: 65px;
    height: 65px;
    object-fit: cover;
    border: 1px solid #eaeaea;
}

.sidecart-item-info {
    flex: 1;
    padding-right: 20px;
}

.sidecart-item-info h4 {
    font-size: 13px;
    font-weight: 500;
    color: #333;
    line-height: 1.4;
    margin-bottom: 5px;
}

.sidecart-qty-price {
    font-size: 13px;
    color: #777;
}

.sidecart-qty-price strong {
    color: #111;
    font-weight: 600;
}

.sidecart-remove {
    position: absolute;
    top: 0;
    right: 0;
    background: none;
    border: none;
    color: #999;
    font-size: 16px;
    cursor: pointer;
    transition: 0.3s;
}

.sidecart-remove:hover { color: #e74c3c; }

/* Footer */
.sidecart-footer {
    padding: 20px;
    border-top: 1px solid #eaeaea;
    background: #fafafa;
}

.sidecart-subtotal {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 18px;
    font-weight: 600;
    color: #111;
    margin-bottom: 20px;
}

.btn-sidecart {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 45px;
    background-color: #0b0b0b;
    color: #fff;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    border-radius: 4px;
    transition: 0.3s;
    margin-bottom: 10px;
}

.btn-sidecart:last-child { margin-bottom: 0; }
.btn-sidecart:hover { background-color: #333; color: #fff; }

/* Responsive */
@media screen and (max-width: 576px) {
    .sidebar-cart { max-width: 100%; }
}