 :root {
     --primary: #0a0a0a;
     --secondary: #1a1a1a;
     --surface: #141414;
     --gold: #c9a84c;
     --gold-light: #e8c97e;
     --white: #f5f5f0;
     --muted: #888888;
     --border: rgba(201, 168, 76, 0.2);
     --sidebar-width: 300px;
 }

 * {
     box-sizing: border-box;
     margin: 0;
     padding: 0;
 }

 body {
     font-family: 'Lato', sans-serif;
     background: var(--primary);
     color: var(--white);
     overflow-x: hidden;
 }

 /* header css start */

 /* ─── TOPBAR MARQUEE ─── */
 .topbar {
     background: var(--gold);
     color: var(--primary);
     font-family: 'Lato', sans-serif;
     font-size: 12px;
     font-weight: 700;
     letter-spacing: 1.5px;
     text-transform: uppercase;
     padding: 7px 0;
     overflow: hidden;
 }

 .topbar-marquee {
     display: flex;
     white-space: nowrap;
     animation: marquee 30s linear infinite;
 }

.topbar-marquee span {
    padding-right: 32px;
}

.topbar-marquee span::before {
    content: none;
}

 @keyframes marquee {
     0% {
         transform: translateX(0);
     }

     100% {
         transform: translateX(-50%);
     }
 }

 /* ─── HEADER ─── */
 .site-header {
     background: var(--primary);
     border-bottom: 1px solid var(--border);
     position: sticky;
     top: 0;
     z-index: 1050;
     transition: box-shadow 0.3s ease;
 }

 .site-header.scrolled {
     box-shadow: 0 4px 30px rgba(201, 168, 76, 0.12);
 }

 .header-inner {
     display: flex;
     align-items: center;
     justify-content: space-between;
     padding: 0 32px;
     height: 70px;
 }

 /* ─── LEFT: HAMBURGER ─── */
 .btn-hamburger {
     background: none;
     border: none;
     cursor: pointer;
     padding: 8px;
     display: flex;
     flex-direction: column;
     gap: 5px;
     transition: transform 0.2s;
 }

 .btn-hamburger:hover {
     transform: scale(1.1);
 }

 .btn-hamburger span {
     display: block;
     width: 22px;
     height: 2px;
     background: var(--gold);
     transition: all 0.3s ease;
 }

 .btn-hamburger.active span:nth-child(1) {
     transform: rotate(45deg) translate(5px, 5px);
 }

 .btn-hamburger.active span:nth-child(2) {
     opacity: 0;
 }

 .btn-hamburger.active span:nth-child(3) {
     transform: rotate(-45deg) translate(5px, -5px);
 }

 /* ─── CENTER: LOGO ─── */
 .header-logo {
     position: absolute;
     left: 50%;
     transform: translateX(-50%);
     text-decoration: none;
     display: flex;
     align-items: center;
 }

 .header-logo .logo-img {
     height: 100px;
     width: auto;
     object-fit: contain;
     display: block;
 }

 @media (max-width: 991.98px) {
     .header-logo .logo-img {
         height: 100px;
     }
 }

 /* ─── RIGHT: ACTIONS ─── */
 .header-actions {
     display: flex;
     align-items: center;
     gap: 6px;
 }

 .action-btn {
     background: none;
     border: none;
     color: var(--white);
     cursor: pointer;
     padding: 8px 10px;
     display: flex;
     flex-direction: column;
     align-items: center;
     gap: 3px;
     transition: color 0.2s;
     position: relative;
     font-size: 13px;
 }

 .action-btn:hover {
     color: var(--gold);
 }

 .action-btn i {
     font-size: 18px;
 }

 .action-btn .action-label {
     font-size: 9px;
     letter-spacing: 1px;
     text-transform: uppercase;
     font-weight: 700;
 }

 /* ─── DESKTOP SEARCH (inline in header) ─── */
 .search-wrap {
     display: flex;
     align-items: center;
     gap: 6px;
 }

 .search-input-expand {
     width: 0;
     overflow: hidden;
     transition: width 0.35s ease, opacity 0.35s ease;
     opacity: 0;
 }

 .search-input-expand.open {
     width: 320px;
     /* bigger than before */
     opacity: 1;
 }

 .search-input-expand input {
     background: var(--secondary);
     border: 1px solid var(--border);
     color: var(--white);
     padding: 8px 18px;
     font-size: 14px;
     outline: none;
     border-radius: 2px;
     width: 100%;
     font-family: 'Lato', sans-serif;
 }

 .search-input-expand input::placeholder {
     color: var(--muted);
 }

 .search-input-expand input:focus {
     border-color: var(--gold);
 }

 /* ─── MOBILE SEARCH BAR (below header) ─── */
 .mobile-search-bar {
     display: none;
     /* hidden by default, shown via JS on mobile */
     background: var(--surface);
     border-bottom: 1px solid var(--border);
     padding: 10px 16px;
     overflow: hidden;
     max-height: 0;
     transition: max-height 0.35s ease, padding 0.35s ease, opacity 0.35s ease;
     opacity: 0;
 }

 .mobile-search-bar.open {
     max-height: 70px;
     opacity: 1;
     padding: 10px 16px;
 }

 .mobile-search-bar input {
     width: 100%;
     background: var(--secondary);
     border: 1px solid var(--border);
     color: var(--white);
     padding: 10px 18px;
     font-size: 14px;
     outline: none;
     border-radius: 2px;
     font-family: 'Lato', sans-serif;
 }

 .mobile-search-bar input::placeholder {
     color: var(--muted);
 }

 .mobile-search-bar input:focus {
     border-color: var(--gold);
 }

 /* Cart bubble */
 .cart-count {
     position: absolute;
     top: 2px;
     right: 4px;
     background: var(--gold);
     color: var(--primary);
     font-size: 9px;
     font-weight: 700;
     width: 16px;
     height: 16px;
     border-radius: 50%;
     display: flex;
     align-items: center;
     justify-content: center;
     line-height: 1;
 }

 /* Account dropdown */
 .account-wrap {
     position: relative;
 }

 .account-dropdown {
     position: absolute;
     top: calc(100% + 12px);
     right: 0;
     background: var(--secondary);
     border: 1px solid var(--border);
     min-width: 180px;
     display: none;
     z-index: 999;
     box-shadow: 0 12px 40px rgba(0, 0, 0, 0.6);
 }

 .account-dropdown.show {
     display: block;
 }

 .account-dropdown a {
     display: flex;
     align-items: center;
     gap: 10px;
     padding: 12px 18px;
     color: var(--white);
     text-decoration: none;
     font-size: 13px;
     letter-spacing: 0.5px;
     border-bottom: 1px solid rgba(255, 255, 255, 0.05);
     transition: background 0.2s, color 0.2s;
 }

 .account-dropdown a:last-child {
     border-bottom: none;
 }

 .account-dropdown a:hover {
     background: rgba(201, 168, 76, 0.12);
     color: var(--gold);
 }

 .account-dropdown a i {
     font-size: 14px;
     width: 18px;
     color: var(--gold);
 }

 /* ─── DESKTOP NAVBAR (below header) ─── */
 .desktop-navbar {
     background: #FAE8D4;
     border-bottom: 1px solid var(--border);
     display: none;
     /* shown on lg+ */
 }

 .desktop-navbar ul {
     display: flex;
     align-items: center;
     justify-content: center;
     list-style: none;
     padding: 0;
     margin: 0;
     gap: 0;
 }

 .desktop-navbar ul li a {
     display: block;
     padding: 13px 22px;
     color: var(--primary);
     text-decoration: none;
     font-size: 15px;
     letter-spacing: 1px;
     text-transform: uppercase;
     font-weight: 700;
     font-family: 'Cinzel', serif;
     transition: color 0.2s, background 0.2s;
     position: relative;
 }

 .desktop-navbar ul li a::after {
     content: '';
     position: absolute;
     bottom: 0;
     left: 50%;
     transform: translateX(-50%);
     width: 0;
     height: 2px;
     background: var(--gold);
     transition: width 0.25s ease;
 }

 .desktop-navbar ul li a:hover,
 .desktop-navbar ul li a.active {
     color: var(--primary);
     background: rgba(201, 168, 76, 0.04);
 }

 .desktop-navbar ul li a:hover::after,
 .desktop-navbar ul li a.active::after {
     width: 60%;
 }

 /* ─── LEFT SIDEBAR ─── */
 .sidebar-overlay {
     position: fixed;
     inset: 0;
     background: rgba(0, 0, 0, 0.75);
     z-index: 1098;
     opacity: 0;
     pointer-events: none;
     transition: opacity 0.3s;
 }

 .sidebar-overlay.active {
     opacity: 1;
     pointer-events: all;
 }

 .sidebar-left {
     position: fixed;
     top: 0;
     left: 0;
     width: var(--sidebar-width);
     height: 100%;
     background: var(--secondary);
     border-right: 1px solid var(--border);
     z-index: 1099;
     transform: translateX(-100%);
     transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
     display: flex;
     flex-direction: column;
     overflow-y: auto;
 }

 .sidebar-left.open {
     transform: translateX(0);
 }

 .sidebar-header {
     display: flex;
     align-items: center;
     justify-content: space-between;
     padding: 22px 24px;
     border-bottom: 1px solid var(--border);
 }

 .sidebar-header .logo-text {
     font-family: 'Cinzel', serif;
     font-size: 16px;
     font-weight: 700;
     color: var(--gold);
     letter-spacing: 2px;
 }

 .btn-close-sidebar {
     background: none;
     border: none;
     color: var(--muted);
     font-size: 18px;
     cursor: pointer;
     padding: 4px;
     transition: color 0.2s;
 }

 .btn-close-sidebar:hover {
     color: var(--gold);
 }

 .sidebar-nav {
     padding: 16px 0;
     flex: 1;
 }

 .sidebar-nav a {
     display: flex;
     align-items: center;
     gap: 14px;
     padding: 13px 24px;
     color: #0a0a0a;
     text-decoration: none;
     font-size: 12px;
     letter-spacing: 2px;
     text-transform: uppercase;
     font-weight: 700;
     font-family: 'Cinzel', serif;
     border-left: 3px solid transparent;
     transition: all 0.2s;
 }

 .sidebar-nav a:hover,
 .sidebar-nav a.active {
     color: var(--gold);
     border-left-color: var(--gold);
     background: rgba(201, 168, 76, 0.06);
 }

 .sidebar-nav a i {
     width: 20px;
     font-size: 14px;
     color: var(--gold);
 }

 .sidebar-footer {
     padding: 20px 24px;
     border-top: 1px solid var(--border);
     font-size: 11px;
     color: var(--muted);
     letter-spacing: 1px;
 }

 /* ─── CART SIDEBAR (right) ─── */
 .cart-sidebar {
     position: fixed;
     top: 0;
     right: 0;
     width: 360px;
     height: 100%;
     background: var(--secondary);
     border-left: 1px solid var(--border);
     z-index: 1099;
     transform: translateX(100%);
     transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
     display: flex;
     flex-direction: column;
 }

 .cart-sidebar.open {
     transform: translateX(0);
 }

 .cart-sidebar-header {
     display: flex;
     align-items: center;
     justify-content: space-between;
     padding: 22px 24px;
     border-bottom: 1px solid var(--border);
 }

 .cart-sidebar-header h5 {
     font-family: 'Cinzel', serif;
     font-size: 15px;
     font-weight: 700;
     letter-spacing: 2px;
     color: var(--gold);
     text-transform: uppercase;
 }

 .cart-body {
     flex: 1;
     overflow-y: auto;
     padding: 24px;
 }

 .cart-empty {
     text-align: center;
     padding: 60px 20px;
     color: var(--muted);
 }

 .cart-empty i {
     font-size: 48px;
     color: var(--border);
     margin-bottom: 16px;
     display: block;
 }

 .cart-empty p {
     font-size: 14px;
     letter-spacing: 1px;
 }

 .cart-continue {
     display: inline-block;
     margin-top: 20px;
     padding: 10px 28px;
     background: var(--gold);
     color: var(--primary);
     font-size: 11px;
     font-weight: 700;
     letter-spacing: 2px;
     text-transform: uppercase;
     text-decoration: none;
     font-family: 'Cinzel', serif;
     transition: background 0.2s;
 }

 .cart-continue:hover {
     background: var(--gold-light);
     color: var(--primary);
 }

 .cart-item {
     display: flex;
     gap: 14px;
     padding: 14px 0;
     border-bottom: 1px solid rgba(255, 255, 255, 0.06);
 }

 .cart-item-img {
     width: 70px;
     height: 80px;
     background: rgba(201, 168, 76, 0.08);
     border: 1px solid var(--border);
     flex-shrink: 0;
     display: flex;
     align-items: center;
     justify-content: center;
     color: var(--gold);
     font-size: 20px;
 }

 .cart-item-info {
     flex: 1;
 }

 .cart-item-title {
     font-size: 12px;
     font-weight: 700;
     letter-spacing: 0.5px;
     margin-bottom: 4px;
 }

 .cart-item-price {
     font-size: 13px;
     color: var(--gold);
 }

 .cart-item-remove {
     background: none;
     border: none;
     color: var(--muted);
     cursor: pointer;
     font-size: 13px;
     transition: color 0.2s;
 }

 .cart-item-remove:hover {
     color: #e55;
 }

 .cart-footer {
     padding: 20px 24px;
     border-top: 1px solid var(--border);
 }

 .cart-total {
     display: flex;
     justify-content: space-between;
     font-size: 14px;
     font-weight: 700;
     letter-spacing: 1px;
     margin-bottom: 16px;
 }

 .cart-total span:last-child {
     color: var(--gold);
 }

 .btn-checkout {
     display: block;
     width: 100%;
     padding: 14px;
     background: var(--gold);
     color: var(--primary);
     font-family: 'Cinzel', serif;
     font-size: 12px;
     font-weight: 700;
     letter-spacing: 3px;
     text-transform: uppercase;
     border: none;
     cursor: pointer;
     transition: background 0.2s;
 }

 .btn-checkout:hover {
     background: var(--gold-light);
 }


 /* ─── RESPONSIVE ─── */

 /* Desktop: show navbar, hide mobile search bar */
 @media (min-width: 992px) {
     .desktop-navbar {
         display: block;
     }

     .mobile-search-bar {
         display: none !important;
     }

     .action-label {
         display: block;
     }

     .header-inner {
         padding: 0 32px;
     }
 }

 /* Mobile/Tablet */
 @media (max-width: 991.98px) {
     .header-inner {
         padding: 0 16px;
         height: 60px;
     }

     .cart-sidebar {
         width: 100%;
         max-width: 360px;
     }

     .desktop-navbar {
         display: none;
     }

     .mobile-search-bar {
         display: block;
     }

     /* visible block, toggled by JS */
     .action-label {
         display: none;
     }
 }

 @media (max-width: 480px) {
     .header-logo {
         font-size: 16px;
         letter-spacing: 2px;
     }
 }

 /* Scrollbar styling */
 .sidebar-left::-webkit-scrollbar,
 .cart-body::-webkit-scrollbar {
     width: 4px;
 }

 .sidebar-left::-webkit-scrollbar-track,
 .cart-body::-webkit-scrollbar-track {
     background: var(--secondary);
 }

 .sidebar-left::-webkit-scrollbar-thumb,
 .cart-body::-webkit-scrollbar-thumb {
     background: var(--border);
     border-radius: 2px;
 }

 /* header css end */

 /* banner css start */
 /* banner css */
 .custom-banner {
     width: 100%;
     overflow: hidden;
     position: relative;
 }

 .banner-slide {
     width: 100%;
 }

 .banner-slide img {
     width: 100%;
     height: 400px;
     object-fit: cover;
     object-position: center;
     display: block;
 }

 /* Slick Dots */
 .custom-banner .slick-dots {
     bottom: 16px;
 }

 .custom-banner .slick-dots li button:before {
     color: #d4af37;
     font-size: 10px;
     opacity: 0.5;
 }

 .custom-banner .slick-dots li.slick-active button:before {
     color: #d4af37;
     opacity: 1;
 }

 /* Arrows */
 .custom-banner .slick-prev,
 .custom-banner .slick-next {
     z-index: 10;
     width: 42px;
     height: 42px;
     background: rgba(212, 175, 55, 0.85) !important;
     border-radius: 50%;
 }

 .custom-banner .slick-prev {
     left: 16px;
 }

 .custom-banner .slick-next {
     right: 16px;
 }

 .custom-banner .slick-prev:before,
 .custom-banner .slick-next:before {
     color: #121E51;
     font-size: 20px;
 }

 /* Large screen */
 @media (min-width: 1400px) {
     .banner-slide img {
         height: 600px;
     }
 }

 /* Mobile */
 @media (max-width: 576px) {
     .banner-slide img {
         height: 190px;
     }
 }

 /* banner css end */

 /* new arrivals start*/
 /* Product Section */

 /* New Arrival — responsive image height */
.new-arrival-img-wrap {
    height: 280px;
}

@media (min-width: 480px) {
    .new-arrival-img-wrap { height: 300px; }
}

@media (min-width: 768px) {
    .new-arrival-img-wrap { height: 360px; }
}

@media (min-width: 992px) {
    .new-arrival-img-wrap { height: 400px; }
}

@media (min-width: 1200px) {
    .new-arrival-img-wrap { height: 440px; }
}

/* Card full height */
.new-arrival-card {
    height: 100%;
    display: flex;
    flex-direction: column;
}

.new-arrival-card .p-3 {
    flex: 1;
    display: flex;
    flex-direction: column;
}

 /* new arrivals */
 .badge-header-wrap {
     position: relative;
     display: flex;
     align-items: center;
     justify-content: center;
     margin-bottom: 36px;
 }

 .badge-header-line {
     position: absolute;
     left: 0;
     right: 0;
     top: 50%;
     height: 1px;
     background: var(--border);
 }

 .badge-header {
     position: relative;
     z-index: 1;
     background: #111111;
     clip-path: polygon(5% 0%, 100% 0%, 95% 100%, 0% 100%);
     padding: 10px 48px;
 }

 .badge-header h2 {
     color: #c9a84c;
     font-size: 25px;
     font-weight: 700;
     margin: 0;
     letter-spacing: 1px;
 }

 .product-section {
     background: #ffffff;
 }

 .product-card {
     background: #ffffff;
     border-radius: 10px;
     overflow: hidden;
     box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
     transition: box-shadow 0.3s, transform 0.3s;
     display: flex;
     flex-direction: column;
     margin: 6px;
     border: 1px solid #e5e5e5;
     height: 100%;
     /* এটা যোগ করো */
 }

 .product-card:hover {
     box-shadow: 0 6px 24px rgba(0, 0, 0, 0.15);
     transform: translateY(-3px);
 }

 .product-img-wrap {
     position: relative;
     overflow: hidden;
     height: 260px;
     background: #f5f5f5;
 }

 .product-img-wrap img {
     position: absolute;
     inset: 0;
     width: 100%;
     height: 100%;
     object-fit: cover;
     transition: transform 0.5s ease;
 }

 .product-img-wrap .img-hover {
     transform: translateX(100%);
 }

 .product-card:hover .img-default {
     transform: translateX(-100%);
 }

 .product-card:hover .img-hover {
     transform: translateX(0);
 }

 .badge-discount {
     position: absolute;
     top: 10px;
     left: 10px;
     background: #c9a84c;
     color: #0a0a0a;
     font-size: 11px;
     font-weight: 700;
     padding: 3px 8px;
     border-radius: 4px;
     z-index: 2;
 }

 .product-body {
     padding: 16px;
     flex-grow: 1;
     display: flex;
     flex-direction: column;
 }

 .product-title {
     font-size: 0.88rem;
     font-weight: 700;
     color: #0a0a0a;
     margin-bottom: 4px;
     display: -webkit-box;
     -webkit-line-clamp: 2;
     /* এটা 2 এ fixed রাখো */
     -webkit-box-orient: vertical;
     overflow: hidden;
     line-height: 1.4;
     min-height: 2.4em;
     /* এটা থাকলে সব card এ same height */
 }

 .-desc {
     font-size: 0.78rem;
     color: #888;
     margin-bottom: 8px;
     display: -webkit-box;
     -webkit-line-clamp: 2;
     -webkit-box-orient: vertical;
     overflow: hidden;
 }

 .product-price {
     font-size: 1rem;
     font-weight: 700;
     color: #0a0a0a;
 }

 .product-old-price {
     font-size: 0.78rem;
     color: #e53935;
     text-decoration: line-through;
     margin-left: 6px;
 }

 .btn-buy {
     background: #0a0a0a;
     color: #ffffff;
     border: 2px solid #0a0a0a;
     border-radius: 6px;
     padding: 8px 0;
     font-size: 0.82rem;
     font-weight: 600;
     width: 100%;
     margin-top: auto;
     transition: background 0.2s, color 0.2s, border-color 0.2s;
 }

 .btn-buy:hover {
     background: #c9a84c;
     color: #0a0a0a;
     border-color: #c9a84c;
 }

 .slick-dots {
     bottom: -28px;
 }

 .slick-dots li button:before {
     color: #c9a84c;
     font-size: 9px;
     opacity: 0.5;
 }

 .slick-dots li.slick-active button:before {
     color: #c9a84c;
     opacity: 1;
 }


 .btn-view-all {
     display: inline-block;
     padding: 11px 40px;
     background: #0a0a0a;
     color: #ffffff;
     border: 2px solid #0a0a0a;
     border-radius: 6px;
     font-size: 0.9rem;
     font-weight: 700;
     text-decoration: none;
     letter-spacing: 0.5px;
     transition: background 0.2s, color 0.2s, border-color 0.2s;
 }

 .btn-view-all:hover {
     background: #c9a84c;
     color: #0a0a0a;
     border-color: #c9a84c;
 }

 /* new arrivals end */

 /* all products css start  */
 /* All Products Grid Section */
 .all-products-section {
     background: #f8f9fa;
 }

 .all-products-grid {
     display: grid;
     grid-template-columns: repeat(5, 1fr);
     gap: 16px;
 }

 /* Tablet */
 @media (max-width: 1199px) {
     .all-products-grid {
         grid-template-columns: repeat(4, 1fr);
     }
 }

 /* Small Tablet */
 @media (max-width: 991px) {
     .all-products-grid {
         grid-template-columns: repeat(3, 1fr);
     }
 }

 /* Mobile */
 @media (max-width: 767px) {
     .all-products-grid {
         grid-template-columns: repeat(2, 1fr);
         gap: 10px;
     }
 }

@media (max-width: 576px) {
    .badge-header {
        padding: 8px 28px 8px 14px; /* ← padding কমাও */
    }

    .badge-header h2 {
        font-size: 16px; /* ← font ছোট */
    }

    .btn-view-more {
        padding: 5px 12px;
        font-size: 0.75rem;
        gap: 5px;
    }

    .btn-view-more i {
        font-size: 0.7rem;
    }
}

 .btn-view-more {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 7px 18px;
    background: var(--primary);  /* ← black bg */
    color: #ffffff;              /* ← white text */
    border: 1.5px solid var(--primary);
    border-radius: 4px;
    font-size: 0.82rem;
    font-weight: 600;
    text-decoration: none;
    position: relative;
    z-index: 1;
    white-space: nowrap;
    flex-shrink: 0;
    transition: background 0.25s, color 0.25s, border-color 0.25s;
}

.btn-view-more i {
    font-size: 0.78rem;
    transition: transform 0.25s;
}

.btn-view-more:hover {
    background: var(--gold);     /* ← hover gold */
    color: var(--primary);       /* ← hover black text */
    border-color: var(--gold);
}

.btn-view-more:hover i {
    transform: translateX(4px);
}

 /* all products css end */

 /* section banner css start  */
 /* ══════════════════════════════════
         SECTION
    ══════════════════════════════════ */
 .section-banner-cta {
     background: #f0ece4;
     padding: 64px 20px;
 }

 .container-xxl {
     max-width: 1100px;
     margin: 0 auto;
 }

 /* ══════════════════════════════════
         CARD SHELL
    ══════════════════════════════════ */
 .banner-card {
     display: flex;
     flex-direction: row;
     border-radius: 2px;
     overflow: hidden;
     min-height: 440px;
     position: relative;
     box-shadow:
         0 2px 4px rgba(0, 0, 0, 0.04),
         0 12px 48px rgba(0, 0, 0, 0.16),
         0 32px 80px rgba(0, 0, 0, 0.10);
 }

 /* ══════════════════════════════════
         IMAGE COLUMN
    ══════════════════════════════════ */
 .banner-img-col {
     position: relative;
     width: 44%;
     flex-shrink: 0;
     overflow: hidden;
 }

 .banner-img-col img {
     width: 100%;
     height: 100%;
     object-fit: cover;
     object-position: top center;
     display: block;
     transition: transform 1s cubic-bezier(0.25, 0.46, 0.45, 0.94);
     filter: brightness(0.85) contrast(1.05) saturate(0.9);
 }

 .banner-card:hover .banner-img-col img {
     transform: scale(1.05);
 }

 /* multi-layer overlay */
 .banner-img-overlay {
     position: absolute;
     inset: 0;
     background:
         linear-gradient(to right, rgba(10, 10, 10, 0.50) 0%, rgba(10, 10, 10, 0.05) 60%, transparent 100%),
         linear-gradient(to top, rgba(10, 10, 10, 0.45) 0%, transparent 45%);
     pointer-events: none;
 }

 /* floating badge */
 .banner-img-tag {
     position: absolute;
     top: 18px;
     left: 18px;
     background: var(--gold);
     color: var(--primary);
     font-family: 'Outfit', sans-serif;
     font-size: 9px;
     font-weight: 700;
     letter-spacing: 0.2em;
     text-transform: uppercase;
     padding: 5px 14px;
     border-radius: 0;
 }

 /* bottom stats strip */
 .banner-img-stats {
     position: absolute;
     bottom: 0;
     left: 0;
     right: 0;
     display: flex;
     align-items: stretch;
     border-top: 1px solid rgba(201, 168, 76, 0.2);
 }

 .banner-img-stat {
     flex: 1;
     padding: 10px 14px;
     background: rgba(10, 10, 10, 0.75);
     backdrop-filter: blur(8px);
     -webkit-backdrop-filter: blur(8px);
     border-right: 1px solid rgba(201, 168, 76, 0.15);
 }

 .banner-img-stat:last-child {
     border-right: none;
 }

 .banner-img-stat strong {
     display: block;
     font-size: 15px;
     font-weight: 700;
     color: var(--gold);
     line-height: 1;
     margin-bottom: 2px;
 }

 .banner-img-stat span {
     font-size: 9px;
     color: rgba(255, 255, 255, 0.55);
     letter-spacing: 0.1em;
     text-transform: uppercase;
 }

 /* ══════════════════════════════════
         CONTENT COLUMN
    ══════════════════════════════════ */
 .banner-content-col {
     position: relative;
     flex: 1;
     display: flex;
     flex-direction: column;
     justify-content: center;
     padding: 48px 44px 48px 52px;
     background: var(--primary);
     overflow: hidden;
 }

 /* dot texture */
 .banner-content-col::before {
     content: '';
     position: absolute;
     inset: 0;
     background-image: radial-gradient(circle, rgba(201, 168, 76, 0.07) 1px, transparent 1px);
     background-size: 20px 20px;
     pointer-events: none;
 }

 /* large decorative letter */
 .banner-bg-letter {
     position: absolute;
     right: -10px;
     bottom: -24px;
     font-family: 'Cormorant Garamond', serif;
     font-size: 220px;
     font-weight: 700;
     font-style: italic;
     color: rgba(201, 168, 76, 0.045);
     line-height: 1;
     pointer-events: none;
     user-select: none;
 }

 /* gold top bar */
 .banner-top-line {
     position: absolute;
     top: 0;
     left: 0;
     right: 0;
     height: 3px;
     background: linear-gradient(to right, var(--gold), rgba(201, 168, 76, 0.1));
 }

 /* eyebrow */
 .banner-eyebrow {
     display: flex;
     align-items: center;
     gap: 10px;
     margin-bottom: 18px;
     position: relative;
 }

 .banner-eyebrow-line {
     width: 24px;
     height: 1px;
     background: var(--gold);
     flex-shrink: 0;
 }

 .banner-eyebrow span {
     font-size: 10px;
     font-weight: 600;
     letter-spacing: 0.22em;
     text-transform: uppercase;
     color: var(--gold);
 }

 /* heading */
 .banner-heading {
     font-family: 'Cormorant Garamond', serif;
     font-size: clamp(26px, 3vw, 46px);
     font-weight: 700;
     line-height: 1.08;
     color: var(--white);
     margin-bottom: 6px;
     position: relative;
 }

 .banner-heading em {
     font-style: italic;
     color: var(--gold);
 }

 .banner-subheading {
     display: block;
     font-family: 'Outfit', sans-serif;
     font-size: 11px;
     font-weight: 500;
     color: rgba(201, 168, 76, 0.7);
     letter-spacing: 0.18em;
     text-transform: uppercase;
     margin-bottom: 22px;
 }

 /* divider */
 .banner-divider {
     width: 40px;
     height: 1px;
     background: linear-gradient(to right, var(--gold), transparent);
     margin-bottom: 18px;
 }

 /* description */
 .banner-desc {
     font-family: 'Outfit', sans-serif;
     font-size: 13.5px;
     color: rgba(255, 255, 255, 0.5);
     line-height: 1.85;
     margin-bottom: 28px;
     max-width: 360px;
     position: relative;
 }

 /* feature pills */
 .banner-features {
     display: flex;
     flex-wrap: wrap;
     gap: 7px;
     margin-bottom: 30px;
     position: relative;
 }

 .banner-feature-pill {
     display: inline-flex;
     align-items: center;
     gap: 5px;
     background: rgba(201, 168, 76, 0.09);
     border: 1px solid rgba(201, 168, 76, 0.20);
     color: rgba(201, 168, 76, 0.82);
     font-size: 10.5px;
     font-weight: 500;
     letter-spacing: 0.05em;
     padding: 4px 12px;
     border-radius: 2px;
 }

 .banner-feature-pill::before {
     content: '✦';
     font-size: 6px;
     color: var(--gold);
 }

 /* buttons */
 .banner-actions {
     display: flex;
     align-items: center;
     gap: 14px;
     flex-wrap: wrap;
     position: relative;
 }

 .banner-btn-primary {
     display: inline-flex;
     align-items: center;
     gap: 9px;
     background: var(--gold);
     color: var(--primary);
     font-family: 'Outfit', sans-serif;
     font-size: 11px;
     font-weight: 700;
     letter-spacing: 0.16em;
     text-transform: uppercase;
     padding: 13px 30px;
     border-radius: 0;
     border: 1px solid var(--gold);
     text-decoration: none;
     transition: background 0.3s, color 0.3s, box-shadow 0.3s;
 }

 .banner-btn-primary:hover {
     background: transparent;
     color: var(--gold);
     box-shadow: 0 0 20px rgba(201, 168, 76, 0.15);
 }

 .banner-btn-primary svg {
     width: 13px;
     height: 13px;
     transition: transform 0.3s;
     flex-shrink: 0;
 }

 .banner-btn-primary:hover svg {
     transform: translateX(4px);
 }

 .banner-btn-ghost {
     display: inline-flex;
     align-items: center;
     gap: 5px;
     background: transparent;
     color: rgba(255, 255, 255, 0.4);
     font-family: 'Outfit', sans-serif;
     font-size: 11px;
     font-weight: 500;
     letter-spacing: 0.1em;
     text-transform: uppercase;
     padding: 13px 0;
     text-decoration: none;
     border-bottom: 1px solid rgba(255, 255, 255, 0.12);
     transition: color 0.3s, border-color 0.3s;
 }

 .banner-btn-ghost:hover {
     color: var(--white);
     border-color: rgba(255, 255, 255, 0.4);
 }

 /* corner gold accent */
 .banner-corner-accent {
     position: absolute;
     bottom: 0;
     right: 0;
     width: 0;
     height: 0;
     border-style: solid;
     border-width: 0 0 56px 56px;
     border-color: transparent transparent var(--gold) transparent;
     opacity: 0.45;
 }

 /* corner mark */
 .banner-corner-mark {
     position: absolute;
     bottom: 8px;
     right: 10px;
     font-family: 'Cormorant Garamond', serif;
     font-size: 10px;
     font-style: italic;
     color: var(--primary);
     font-weight: 700;
     letter-spacing: 0.05em;
     z-index: 2;
 }

 /* ══════════════════════════════════
         RESPONSIVE
    ══════════════════════════════════ */
 @media (max-width: 991px) {
     .banner-content-col {
         padding: 40px 32px 40px 40px;
     }

     .banner-img-col {
         width: 46%;
     }
 }

 @media (max-width: 767px) {
     .section-banner-cta {
         padding: 40px 16px 48px;
     }

     .banner-card {
         flex-direction: column;
         min-height: unset;
     }

     .banner-img-col {
         width: 100%;
         height: 220px;
     }

     .banner-img-stats {
         display: none;
     }

     .banner-content-col {
         padding: 30px 22px 34px 28px;
     }

     .banner-bg-letter {
         font-size: 160px;
         right: -8px;
         bottom: -18px;
     }

     .banner-desc {
         font-size: 13px;
         margin-bottom: 20px;
     }

     .banner-btn-primary {
         padding: 11px 22px;
         font-size: 10.5px;
     }
 }

 @media (min-width: 1400px) {
     .section-banner-cta {
         padding: 0px 0px 0px;
     }

     .container-xxl {
         max-width: 1320px;
     }

     .banner-card {
         min-height: 500px;
     }

     .banner-img-col {
         width: 46%;
     }

     .banner-content-col {
         padding: 60px 56px 60px 64px;
     }
 }

 /* section banner css end */

 /* ===== REVIEW SECTION ===== */
 /* ===== REVIEW SECTION (WHITE BG WITH ROOT COLORS) ===== */
 .review-section {
     background: #f8f9fa;
     /* ব্যাকগ্রাউন্ড সম্পূর্ণ সাদা থাকবে */
     padding: 3.5rem 0;
 }

 .review-section h2 {
     font-size: 35px;
     font-weight: 700;
     color: var(--primary);
     /* হেডিং ডার্ক কালার */
 }

 .review-card {
     background: #ffffff;
     /* কার্ডের ব্যাকগ্রাউন্ড ডার্ক সারফেস */
     border: 1px solid var(--border);
     /* হালকা গোল্ডেন বর্ডার */
     border-radius: 16px;
     padding: 1.2rem;
     box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
     /* কার্ড হাইলাইট করার জন্য হালকা শ্যাডো */
     height: 100%;
 }

 /* রিভিউ দাতার নামের কালার */
 .review-card h6 {
     color: var(--primary) !important;
 }

 .reviewer-img {
     width: 60px;
     height: 60px;
     border-radius: 50%;
     object-fit: cover;
     border: 2px solid #e9ecef;
     /* ইমেজের চারপাশে গোল্ডেন বর্ডার */
     flex-shrink: 0;
 }

 .review-body {
     background: #DEEAF1;
     /* রিভিউর লেখার বক্সটি আরেকটু ডার্ক */
     border-radius: 12px;
     padding: 0.85rem 1.1rem;
 }

 .review-body p {
     font-size: 0.82rem;
     color: #495057;
     /* লেখার কালার হোয়াইট */
     margin: 0;
     line-height: 1.7;
     opacity: 0.95;
 }

 .star-rating .fa-star {
     font-size: 0.85rem;
 }

 .star-on {
     color: #ffc107;
     /* একটিভ স্টার গোল্ডেন */
 }

 .star-off {
     color: #dee2e6;
     /* ইন-একটিভ স্টার মিউটেড গ্রে */
 }

 /* ডটস (Dots) কালার */
 .slider-dots {
     display: flex;
     justify-content: center;
     gap: 8px;
     margin-top: 1.5rem;
 }

 .slider-dots span {
     width: 10px;
     height: 10px;
     border-radius: 50%;
     background: var(--primary);
     /* অফ ডট */
     cursor: pointer;
     transition: background 0.3s;
 }

 .slider-dots span.active {
     background: var(--gold);
     /* একটিভ ডট গোল্ডেন */
 }

 /* নেভিগেশন বাটন */
 .slider-nav {
     display: flex;
     justify-content: center;
     gap: 1rem;
     margin-top: 1rem;
 }

 .slider-nav button {
     background: #ffffff;
     border: 1px solid #dee2e6;
     border-radius: 50%;
     width: 40px;
     height: 40px;
     display: flex;
     align-items: center;
     justify-content: center;
     cursor: pointer;
     transition: all 0.2s;
     color: var(--primary);
 }

 .slider-nav button:hover {
     background: var(--gold);
     color: var(--primary);
     border-color: var(--gold);
 }

 .slides-wrapper {
     overflow: hidden;
 }

 .slides-track {
     display: flex;
     transition: transform 0.4s ease;
 }

 .slide-item {
     flex: 0 0 33.333%;
     padding: 0 10px;
     box-sizing: border-box;
 }

 /* review section end */

 /* terms and conditions css start */
 /* Policy Bar */
 .policy-bar {
     background: #f5f5f0;
     /* off-white */
     border-top: 1px solid var(--border);
 }

 .policy-item {
     display: flex;
     align-items: center;
     justify-content: center;
     gap: 12px;
     padding: 14px 12px;
     text-decoration: none;
     transition: background 0.3s;
     height: 100%;
 }

 .policy-item:hover {
     background: rgba(201, 168, 76, 0.06);
 }

 .policy-icon-wrap {
     width: 42px;
     height: 42px;
     border-radius: 50%;
     border: 2px solid var(--primary);
     /* gold → black */
     display: flex;
     align-items: center;
     justify-content: center;
     flex-shrink: 0;
     color: var(--primary);
     /* gold → black */
     transition: background 0.3s, color 0.3s;
 }

 .policy-label {
    font-size: 0.85rem;
    font-weight: 700;
    color: var(--primary);  /* ← এটা যোগ করো */
    white-space: nowrap;
    transition: color 0.3s;
}
 .policy-item:hover .policy-icon-wrap {
     background: var(--gold);
     /* hover → gold */
     border-color: var(--gold);
     color: var(--primary);
 }

 .policy-item:hover .policy-icon-wrap svg {
     stroke: var(--primary);
     
 }

 .policy-item:hover .policy-label {
     color: var(--gold);
     /* hover → gold */
 }

 /* divider — desktop এ vertical line, mobile এ horizontal */
 @media (min-width: 768px) {
     .divide-policy .col-md-3:not(:last-child) .policy-item {
         border-right: 1px solid var(--border);
     }
 }

 @media (max-width: 767px) {

     .divide-policy .col-6:nth-child(1) .policy-item,
     .divide-policy .col-6:nth-child(2) .policy-item {
         border-bottom: 1px solid var(--border);
     }

     .divide-policy .col-6:nth-child(odd) .policy-item {
         border-right: 1px solid var(--border);
     }
 }

 /* terms and conditions css end */




 /* footer css start */
 /* আইকনগুলোকে একদম মাঝখানে এলাইন করার গ্লোবাল কাস্টম রুল */
 footer .d-flex.align-items-center.justify-content-center i,
 footer .d-flex.align-items-center.justify-content-center span {
     display: inline-flex !important;
     align-items: center !important;
     justify-content: center !important;
     margin: 0 !important;
     padding: 0 !important;
 }

 .transition-all {
     transition: all 0.2s ease-in-out;
 }

 .transition-colors {
     transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out;
 }

 .transition-transform {
     transition: transform 0.2s ease-
 }

 /* footer css end */












 /* ─── DESKTOP NAVBAR DROPDOWN FIX ─── */
.desktop-navbar ul li {
    position: relative;
}

.nav-sub-menu {
    display: none !important;
    position: absolute;
    top: 100%;
    left: 0;
    background: #ffffff;
    min-width: 220px;
    border: 1px solid #e5e7eb;
    border-top: 2px solid #c9a84c;
    box-shadow: 0 8px 24px rgba(0,0,0,0.12);
    z-index: 9999;
    padding: 6px 0;
    list-style: none;
    margin: 0;
}

.desktop-navbar ul li.has-dropdown:hover .nav-sub-menu {
    display: block !important;
}

.nav-sub-menu li a {
    display: block !important;
    padding: 10px 20px !important;
    color: #1a1a1a !important;
    font-size: 12px !important;
    letter-spacing: 1px !important;
    font-weight: 600 !important;
    border-left: none !important;
    white-space: nowrap;
    transition: background 0.2s, color 0.2s !important;
}

.nav-sub-menu li a:hover {
    background: rgba(201, 168, 76, 0.1) !important;
    color: #c9a84c !important;
}

.nav-sub-menu li a::after {
    display: none !important;
}



/* ═══════════════════════════════════
   SIDEBAR — Professional White Theme
   ═══════════════════════════════════ */

.sidebar-left {
    position: fixed;
    top: 0;
    left: 0;
    width: 300px;
    height: 100%;
    background: #ffffff;
    border-right: 1px solid #e5e7eb;
    z-index: 1099;
    transform: translateX(-100%);
    transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.sidebar-left.open {
    transform: translateX(0);
}

/* Header: Black background with logo */
.sidebar-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 20px;
    height: 70px;
    background: #0a0a0a;
    border-bottom: 2px solid #c9a84c;
    flex-shrink: 0;
}

.btn-close-sidebar {
    background: none;
    border: none;
    color: #ffffff;
    font-size: 20px;
    cursor: pointer;
    padding: 6px;
    border-radius: 4px;
    transition: color 0.2s, background 0.2s;
    line-height: 1;
}

.btn-close-sidebar:hover {
    color: #c9a84c;
    background: rgba(201,168,76,0.1);
}

/* Nav: White background */
.sidebar-nav {
    flex: 1;
    overflow-y: auto;
    overflow-x: hidden;
    background: #ffffff;
    padding: 8px 0;
}

.sidebar-nav::-webkit-scrollbar {
    width: 4px;
}
.sidebar-nav::-webkit-scrollbar-track {
    background: #f9fafb;
}
.sidebar-nav::-webkit-scrollbar-thumb {
    background: #e5e7eb;
    border-radius: 2px;
}

/* Category group */
.sidebar-nav-group {
    width: 100%;
    border-bottom: 1px solid #f3f4f6;
}

/* Toggle button (has subcategories) */
.sidebar-nav-toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 14px 20px;
    background: none;
    border: none;
    border-left: 3px solid transparent;
    color: #1a1a1a;
    font-size: 12px;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    font-weight: 700;
    font-family: 'Cinzel', serif;
    cursor: pointer;
    transition: all 0.2s;
    text-align: left;
    box-sizing: border-box;
}

.sidebar-nav-toggle:hover {
    background: #fffbf0;
    border-left-color: #c9a84c;
    color: #c9a84c;
}

.sidebar-nav-label {
    display: flex;
    align-items: center;
    gap: 12px;
    flex: 1;
    min-width: 0;
    margin-right: 10px;
    overflow: hidden;
}

.sidebar-nav-label span {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Plain link (no subcategories) */
.sidebar-nav-link {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 20px;
    color: #1a1a1a;
    text-decoration: none;
    font-size: 12px;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    font-weight: 700;
    font-family: 'Cinzel', serif;
    border-left: 3px solid transparent;
    border-bottom: 1px solid #f3f4f6;
    transition: all 0.2s;
    width: 100%;
    box-sizing: border-box;
}

.sidebar-nav-link:hover {
    background: #fffbf0;
    border-left-color: #c9a84c;
    color: #c9a84c;
    text-decoration: none;
}

/* Sub-menu (hidden by default) */
.sidebar-sub-nav {
    display: none;
    background: #fafafa;
    border-top: 1px solid #f3f4f6;
}

.sidebar-sub-nav.open {
    display: block;
}

.sidebar-sub-nav a {
    display: flex;
    align-items: center;
    padding: 11px 20px 11px 44px;
    color: #4b5563;
    text-decoration: none;
    font-size: 11px;
    letter-spacing: 1px;
    text-transform: uppercase;
    font-family: 'Cinzel', serif;
    font-weight: 600;
    border-left: 3px solid transparent;
    border-bottom: 1px solid #f3f4f6;
    transition: all 0.2s;
    width: 100%;
    box-sizing: border-box;
}

.sidebar-sub-nav a:last-child {
    border-bottom: none;
}

.sidebar-sub-nav a:hover {
    background: #fffbf0;
    color: #c9a84c;
    border-left-color: #c9a84c;
    text-decoration: none;
}

/* Footer */
.sidebar-footer-white {
    padding: 16px 20px;
    background: #f9fafb;
    border-top: 1px solid #e5e7eb;
    flex-shrink: 0;
    font-size: 11px;
    color: #6b7280;
    font-family: 'Lato', sans-serif;
    letter-spacing: 0.3px;
}



