/* =====================================================================
   Modern UI layer (v2) – loaded last.
   NOTE: button / theme COLORS are NOT touched here; they keep coming from
   Admin > General Settings (primary / secondary color). Only shape, spacing,
   layout and motion are styled.
   ===================================================================== */
:root{
  --mu-ink:#1f2937; --mu-muted:#6b7280; --mu-line:#eceef2; --mu-radius:16px;
  --mu-shadow:0 2px 12px rgba(16,24,40,.06); --mu-shadow-lg:0 14px 34px rgba(16,24,40,.13);
}

/* ---------- Header: slim, search = icon next to cart ---------- */
#navbar_top{ position:sticky; top:0; z-index:999; background:#fff; box-shadow:0 1px 0 var(--mu-line), 0 8px 20px rgba(16,24,40,.04); }
.main-header .menu-area, .main-header .logo-area{ transition:max-height .28s ease, opacity .2s ease, padding .28s ease; }
.main-header .logo-area{ padding-top:10px; padding-bottom:10px; }
.main-header .main-logo img{ max-height:46px; width:auto; }
.main-header .menu-area{ max-height:64px; }
.main-search form{ display:flex; align-items:stretch; }
.main-search input{ border-radius:999px 0 0 999px !important; border-color:#e5e7eb !important; height:42px; padding:0 18px; font-size:14px; flex:1; min-width:0; }
.main-search button{ border-radius:0 999px 999px 0 !important; height:42px; padding:0 18px; }
.header-list-items ul li a{ font-weight:600; font-size:14px; }
@media (min-width:992px){
  #navbar_top.hdr-hidden .menu-area{ max-height:0 !important; opacity:0; overflow:hidden; padding:0 !important; pointer-events:none; }
  #navbar_top.hdr-hidden .main-header .logo-area{ padding-top:6px; padding-bottom:6px; }
}
@media (max-width:991px){
  .mobile-logo{ display:grid !important; grid-template-columns:44px 1fr auto !important; align-items:center; height:60px !important; padding:0 12px; transition:height .25s ease; }
  .mobile-logo .menu-logo{ text-align:center; transition:opacity .2s ease; }
  .mobile-logo .menu-logo img{ max-height:34px; width:auto; }
  .menu-bag{ display:flex !important; align-items:center; justify-content:flex-end; gap:20px; margin:0 !important; }
  .m-search-toggle{ border:0; background:none; padding:4px; font-size:21px; line-height:1; color:var(--site-primary,#e62e04); cursor:pointer; }
  .menu-bag .margin-shopping{ width:auto !important; font-size:21px; }
  .mobile-search{ display:none !important; position:absolute; left:0; right:0; top:100%; background:#fff; padding:10px 12px !important; margin:0 !important; box-shadow:0 16px 28px rgba(16,24,40,.14); z-index:5; }
  .mobile-search.open{ display:block !important; }
  .mobile-search form{ display:flex; border:1.5px solid #e5e7eb !important; border-radius:999px; overflow:hidden; margin:0; }
  .mobile-search input{ width:auto !important; flex:1; min-width:0; text-align:left !important; border:0 !important; border-radius:0 !important; height:44px; padding:0 16px; }
  .mobile-search button{ width:auto !important; height:44px; padding:0 20px; border-radius:0 !important; }
  /* scrolled down: logo hides, slim bar with menu + search + cart icons stays */
  #navbar_top.hdr-hidden .mobile-logo{ height:48px !important; }
  #navbar_top.hdr-hidden .mobile-logo .menu-logo{ opacity:0; pointer-events:none; }
}

/* ---------- Shape-only polish for existing buttons ---------- */
.add_cart_btn, .order_now_btn, .order-btn, .order-btn-link, .call_now_btn, .btn-place-order, .go_cart, .pro_btn a, .pro_btn button{
  border-radius:12px !important; font-weight:600 !important; letter-spacing:.1px;
  transition:transform .15s ease, box-shadow .2s ease, filter .2s ease !important;
  box-shadow:0 4px 12px rgba(16,24,40,.12);
}
.add_cart_btn:hover, .order_now_btn:hover, .order-btn:hover, .order-btn-link:hover, .call_now_btn:hover, .btn-place-order:hover, .go_cart:hover, .pro_btn a:hover{
  transform:translateY(-1px); filter:brightness(1.05); box-shadow:0 8px 18px rgba(16,24,40,.18);
}
.add_cart_btn:active, .order_now_btn:active, .btn-place-order:active{ transform:scale(.98); }

/* ---------- Product grid + cards (Gorer-Bazar style) ---------- */
.main_product_inner, .category-product{ display:grid !important; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
@media (max-width:1199px){ .main_product_inner, .category-product{ grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:767px){ .main_product_inner, .category-product{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; } }

.product_item{
  position:relative; background:#fff; border-radius:18px !important; border:1px solid var(--mu-line) !important;
  box-shadow:var(--mu-shadow); overflow:hidden; max-width:100%; padding:0 !important;
  transition:transform .25s ease, box-shadow .25s ease;
}
.main_product_inner .product_item, .category-product .product_item{ width:auto !important; margin:0 !important; }
.product_item:hover{ transform:translateY(-4px); box-shadow:var(--mu-shadow-lg); }
.product_item_inner{ position:relative; }
.product_item .pro_img{ position:relative; aspect-ratio:1/1; overflow:hidden; background:#fff; padding:10px; }
.product_item .pro_img a{ display:block; height:100%; }
.product_item .pro_img img{ width:100%; height:100%; object-fit:contain; transition:transform .45s ease; }
.product_item:hover .pro_img img{ transform:scale(1.05); }
.product_item .pro_des{ padding:2px 14px 0; }
.product_item .pro_name a{
  color:var(--mu-ink); font-weight:600; font-size:15px; line-height:1.4;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; min-height:42px;
}
.pro_meta{ display:flex; align-items:center; gap:7px; padding:6px 14px 0; font-size:12.5px; color:var(--mu-muted); white-space:nowrap; overflow:hidden; }
.pro_meta .fa-star{ color:#f59e0b; margin-right:2px; }
.pro_meta_dot{ width:4px; height:4px; border-radius:50%; background:#cbd5e1; flex:0 0 auto; }
.product_item .pro_price{ padding:6px 14px 8px; }
.product_item .pro_price p{
  margin:0; display:flex; flex-direction:row-reverse; justify-content:flex-end; align-items:baseline; gap:8px; flex-wrap:wrap;
  font-weight:800; font-size:18px;
}
.product_item .pro_price del{ font-size:12.5px; font-weight:500; color:#9ca3af; }
.product_item .pro_btn{ padding:0 14px 14px; display:flex; gap:8px; }
.product_item .pro_btn > *{ flex:1; min-width:0; }
.product_item .pro_btn a, .product_item .pro_btn button{ display:block; text-align:center; padding:10px 8px; font-size:14px; }
/* discount badge -> top-right dark pill */
.product_item .sale-badge{ position:absolute !important; top:12px; right:12px; left:auto !important; z-index:3; }
.product_item .sale-badge-inner, .product_item .sale-badge-box{ background:transparent !important; box-shadow:none !important; padding:0 !important; border:0 !important; }
.product_item .sale-badge-text{
  display:inline-block; background:#1f2937 !important; color:#fff !important; border-radius:999px; padding:4px 11px;
  font-size:11.5px; font-weight:700; line-height:1.3;
}
.product_item .sale-badge-text *{ color:#fff !important; margin:0; display:inline; }
@media (max-width:575px){
  .product_item .pro_name a{ font-size:13.5px; min-height:38px; }
  .product_item .pro_des{ padding:0 10px; } .pro_meta{ padding:5px 10px 0; font-size:11.5px; gap:5px; }
  .product_item .pro_price{ padding:5px 10px 6px; } .product_item .pro_price p{ font-size:16px; }
  .product_item .pro_btn{ padding:0 10px 12px; } .product_item .pro_btn a{ font-size:13px; padding:9px 6px; }
}

/* ---------- Cart page ---------- */
.vcart-section{ padding:26px 0 48px; }
.vcart-inner, .cart-summary{ background:#fff; border-radius:var(--mu-radius); box-shadow:var(--mu-shadow); border:1px solid var(--mu-line); padding:16px; }
.vcart-inner .table thead th{ background:#f9fafb; border:0; font-size:12.5px; text-transform:uppercase; letter-spacing:.4px; color:var(--mu-muted); padding:12px; }
.vcart-inner .table td{ vertical-align:middle; border-color:var(--mu-line); padding:14px 12px; }
.vcart-inner .table img{ width:64px; height:64px; object-fit:cover; border-radius:12px; border:1px solid var(--mu-line); }
.cart-summary{ position:sticky; top:96px; }
.qty-cart .quantity{ display:inline-flex; align-items:center; border:1.5px solid #e5e7eb; border-radius:12px; overflow:hidden; background:#fff; }
.qty-cart .quantity .minus, .qty-cart .quantity .plus{ width:36px; height:36px; display:flex; align-items:center; justify-content:center; cursor:pointer; background:#f9fafb; font-weight:700; }
.qty-cart .quantity input{ width:46px; text-align:center; border:0 !important; box-shadow:none !important; font-weight:600; padding:0; }

/* ---------- Single product page (Gorer-Bazar style) ---------- */
.main-details-page{ padding:14px 0 30px; }
.main-details-page .product-section, .main-details-page .product-section .container, .details_right, .details_right .product, .details_right .product-cart{
  border:0 !important; box-shadow:none !important; background:transparent !important; padding-top:0 !important;
}
.main-details-page .product-section{ margin:0 !important; }
.main-details-page .col-sm-6.position-relative{ padding-top:4px; }
.main-details-page .details_slider{ max-width:460px; margin:0 auto; border-radius:20px; border:1px solid var(--mu-line); background:#fff; overflow:hidden; box-shadow:var(--mu-shadow); }
.main-details-page .details_slider .dimage_item{ display:flex; align-items:center; justify-content:center; background:#fff; padding:14px; }
.main-details-page .details_slider .dimage_item img{ width:auto !important; max-width:100%; max-height:360px; object-fit:contain; margin:0 auto; }
.main-details-page .indicator_thumb{ max-width:460px; margin:12px auto; }
.main-details-page .indicator-item{ border-radius:12px; overflow:hidden; border:1.5px solid var(--mu-line); background:#fff; }
.main-details-page .indicator-item img{ width:100%; height:62px; object-fit:contain; }
.product-details-discount-badge{ display:none !important; }
.details_right .breadcrumb{ display:none !important; }
.pd-category{ color:var(--mu-muted); font-size:14.5px; padding:6px 0 12px; border-bottom:1px solid var(--mu-line); margin-bottom:12px; }
.pd-category strong{ color:var(--mu-ink); }
.product-cart .name{ font-size:22px !important; font-weight:800 !important; text-transform:none !important; line-height:1.3; margin:4px 0 12px; color:var(--mu-ink); }
.pd-price-row{ display:flex !important; align-items:center; gap:10px; flex-wrap:wrap; margin:0 0 10px !important; }
.pd-price-row #newPrice{ font-size:34px; font-weight:800; line-height:1; color:var(--site-primary,#e62e04); }
.pd-price-row del{ font-size:17px !important; color:#9ca3af !important; margin:0 !important; }
.pd-off{ background:var(--site-primary,#e62e04); color:#fff; border-radius:8px; padding:4px 11px; font-weight:700; font-size:13px; }
.pd-save{ color:#15803d; font-weight:700; font-size:14px; }
.pd-stock{ display:flex; align-items:center; gap:8px; font-weight:700; padding:12px 0; margin-bottom:8px; border-top:1px dashed #e5e7eb; }
.pd-stock i{ width:9px; height:9px; border-radius:50%; background:#16a34a; }
.pd-stock.in{ color:#15803d; } .pd-stock.out{ color:#dc2626; } .pd-stock.out i{ background:#dc2626; }
.details-ratting-wrapper{ font-size:13px; color:#f59e0b; margin:0 0 8px; }
.details-ratting-wrapper span, .details-ratting-wrapper a{ color:var(--mu-muted); font-size:13px; }
.product-code{ background:none !important; clip-path:none !important; padding:0 !important; margin:0 0 6px !important; }
.product-code p, .product-code span{ color:var(--mu-muted) !important; font-size:13px; margin:0; background:none !important; }
.pro_brand p, .pro_unig label{ font-size:14px; font-weight:600; color:var(--mu-ink); margin:0 0 4px; }
.pd-qty-row{ display:flex; align-items:center; gap:16px; margin:14px 0; }
.pd-qty-label{ font-weight:700; }
.pd-qty-row .qty-cart{ margin:0; width:auto; }
.pd-qty-row .quantity{ display:flex !important; align-items:center; width:150px !important; height:46px !important; border:1.5px solid #e5e7eb !important; border-radius:14px !important; margin:0 !important; overflow:hidden; background:#fff; }
.pd-qty-row .quantity .minus, .pd-qty-row .quantity .plus{ flex:0 0 44px; height:100%; display:flex; align-items:center; justify-content:center; font-size:20px; cursor:pointer; background:none; position:static !important; }
.pd-qty-row .quantity input{ flex:1; min-width:0; width:100%; height:100%; border:0 !important; text-align:center; font-weight:700; background:transparent; padding:0; box-shadow:none !important; }
.pd-buy-grid{ display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-bottom:12px; }
.pd-buy-grid .btn{ width:100% !important; height:50px; display:flex; align-items:center; justify-content:center; gap:8px; font-size:15px; margin:0 !important; padding:0 8px !important; text-align:center; }
.pd-buy-grid .add_cart_btn{ background:var(--site-primary,#e62e04) !important; color:#fff !important; border:0 !important; }
.pd-buy-grid .order_now_btn{ background:var(--site-secondary,#1f2937) !important; color:#fff !important; border:0 !important; }
.pd-buy-grid .pd-wa{ background:#22c55e !important; color:#fff !important; border:0 !important; }
.pd-buy-grid .pd-call{ background:#1d4ed8 !important; color:#fff !important; border:0 !important; }
.pd-buy-grid .call_now_btn i{ margin:0; }
.pd-brand{ display:inline-flex; align-items:center; gap:10px; border:1px solid var(--mu-line); border-radius:16px; padding:10px 16px; margin:4px 0 12px; font-weight:600; color:var(--mu-muted); background:#fff; }
.pd-brand img{ height:32px; width:auto; max-width:90px; object-fit:contain; }
.pd-brand strong{ color:var(--mu-ink); }
.description-nav-ul li a, .desc-nav-ul li a{ border-radius:10px 10px 0 0; font-weight:600; }
@media (max-width:767px){
  .main-details-page .details_slider{ max-width:100%; }
  .main-details-page .details_slider .dimage_item img{ max-height:300px; }
  .product-cart .name{ font-size:19px !important; }
  .pd-price-row #newPrice{ font-size:30px; }
}

/* ---------- Checkout (customer + reseller) ---------- */
.checkout-card{ border-radius:16px !important; box-shadow:var(--mu-shadow) !important; border:1px solid var(--mu-line) !important; overflow:hidden; }
.card-body-custom{ padding:16px !important; }
.payment-options-list{ display:grid; gap:9px; }
.payment-option-label .payment-content{ display:flex; align-items:center; gap:11px; padding:9px 14px !important; border-radius:12px !important; min-height:0 !important; }
.payment-option-label .payment-content img, .payment-option-label .pay-logo{ height:22px !important; width:auto !important; max-width:58px !important; object-fit:contain; flex:0 0 auto; }
.payment-option-label .payment-content .fs-2, .payment-option-label .payment-content > i, .payment-option-label .payment-content .text-center i{ font-size:1.25rem !important; }
.payment-option-label .payment-content .text-center{ width:30px !important; }
.payment-option-label .pay-info strong{ font-size:13.5px !important; line-height:1.25; }
.payment-option-label .pay-info small{ font-size:11.5px !important; }
.payment-option-label .check-circle{ width:18px !important; height:18px !important; right:12px !important; }
.btn-place-order{ width:100%; padding:14px 18px !important; font-size:16px !important; }

@media (prefers-reduced-motion:reduce){ *{ transition:none !important; animation:none !important; } }

/* ---------- Card buttons: outlined order + small filled cart (theme color) ---------- */
.product_item .pro_price p{ color:var(--site-primary,#e62e04); }
.product_item .pro_price del{ color:#9ca3af; }
.product_item .pro_btn{ align-items:stretch; }
.product_item .pro_btn > :first-child{ flex:1 1 auto; }
.product_item .pro_btn > :first-child a, .product_item .pro_btn > :first-child button, .product_item .pro_btn > :first-child input[type=submit]{
  background:#fff !important; color:var(--site-primary,#e62e04) !important; border:1.5px solid var(--site-primary,#e62e04) !important; box-shadow:none !important;
}
.product_item .pro_btn > :last-child:not(:first-child){ flex:0 0 46px; max-width:46px; }
.product_item .pro_btn > :last-child:not(:first-child) a, .product_item .pro_btn > :last-child:not(:first-child) button{
  background:var(--site-primary,#e62e04) !important; color:#fff !important; border:1.5px solid var(--site-primary,#e62e04) !important; padding:9px 0 !important;
}
/* category tiles */
.category_item, .cat_item, .category-item{ border-radius:18px !important; box-shadow:var(--mu-shadow); border:1px solid var(--mu-line) !important; overflow:hidden; }

/* =====================================================================
   v5 fixes
   ===================================================================== */
/* header is sticky (in flow) now, so the old 122px offset for a fixed header must go */
#content{ padding-top:0 !important; }
@media (max-width:991px){
  .slider-section{ margin-top:8px !important; }
  .slider-section .col-sm-3.hidetosm{ display:none !important; }
}

/* slim, tidy action buttons (2 x 2 grid) */
.pd-buy-grid{ gap:9px; }
.pd-buy-grid .btn{ height:44px !important; font-size:14.5px !important; font-weight:600 !important; border-radius:12px !important; gap:7px; line-height:1; }
.pd-buy-grid .btn i{ font-size:15px; }
.product_item .pro_btn a, .product_item .pro_btn button, .product_item .pro_btn input[type=submit]{ min-height:38px; height:38px; padding:0 8px !important; font-size:13px !important; display:flex !important; align-items:center; justify-content:center; line-height:1; border-radius:10px !important; }
.product_item .pro_btn > :last-child:not(:first-child){ flex:0 0 40px; max-width:40px; }

/* variants: Color swatches + Size chips */
.color_inner, .size_inner{ display:block !important; margin-top:12px; }
.color_inner p, .size_inner p{ margin:0 0 8px !important; font-weight:700; font-size:14.5px; color:var(--mu-ink); }
.pro-color .selector, .pro-size .selector{ display:flex; flex-wrap:wrap; gap:10px; column-gap:10px; align-items:center; }
.pro-size .selector-item{ height:auto; }
.pro-size .selector-item_label{
  height:auto !important; width:auto !important; min-width:46px; padding:9px 16px; line-height:1.2 !important; white-space:nowrap;
  border:1.5px solid #e5e7eb !important; border-radius:12px !important; background:#fff; color:var(--mu-ink); font-size:14px; font-weight:600;
}
.pro-size .selector-item_radio:checked + .selector-item_label{
  border-color:var(--site-primary,#e62e04) !important; color:var(--site-primary,#e62e04) !important; background:#fff !important;
  box-shadow:0 0 0 3px rgba(0,0,0,.06);
}
.pro-size .selector-item_label:hover{ background:#f9fafb; color:var(--mu-ink); border-color:#d1d5db !important; }
.pro-color .selector-item_label{ position:relative; width:34px !important; height:34px !important; border-radius:50% !important; border:2px solid #e5e7eb !important; overflow:visible; }
.pro-color .selector-item_label span img{ position:absolute; top:50%; left:50%; width:16px !important; height:16px !important; transform:translate(-50%,-50%); }
.pro-color .selector-item_radio:checked + .selector-item_label{ box-shadow:0 0 0 2px #fff, 0 0 0 4px var(--site-primary,#e62e04); border-color:#fff !important; background-color:inherit; }

/* header icons: smaller, never clipped */
@media (max-width:991px){
  .mobile-logo{ padding:0 16px !important; }
  .menu-bag{ gap:16px; margin-right:0 !important; }
  .m-search-toggle{ font-size:18px !important; }
  .menu-bag .margin-shopping{ position:relative; display:inline-block; width:auto !important; font-size:18px !important; padding-right:2px; }
  .menu-bag .mobilecart-qty{
    position:absolute !important; top:-9px !important; right:-9px !important; left:auto !important;
    width:17px !important; height:17px !important; line-height:17px !important; font-size:10px !important; text-align:center; border-radius:50%;
  }
}

/* =====================================================================
   v6: logo always visible, floating cart, page loader, compact checkout
   ===================================================================== */
/* header: logo stays visible while scrolling (bar just gets slimmer) */
@media (max-width:991px){
  #navbar_top.hdr-hidden .mobile-logo .menu-logo{ opacity:1 !important; pointer-events:auto !important; }
  #navbar_top.hdr-hidden .mobile-logo{ height:54px !important; }
  #navbar_top.hdr-hidden .mobile-logo .menu-logo img{ max-height:28px; }
}

/* floating cart (right side) */
.float-cart{
  position:fixed; right:8px; top:46%; z-index:990; display:flex; flex-direction:column; align-items:center; gap:3px;
  background:var(--site-primary,#e62e04); color:#fff !important; padding:10px 12px; min-width:64px; border-radius:16px;
  box-shadow:0 8px 22px rgba(16,24,40,.25); text-decoration:none !important; font-weight:700; line-height:1.15; font-size:12px; text-align:center;
  transition:transform .2s ease;
}
.float-cart:hover{ transform:translateY(-2px); color:#fff; }
.float-cart i{ font-size:20px; }
.float-cart .fc-total{ font-size:12.5px; }
@media (max-width:575px){ .float-cart{ top:44%; padding:8px 9px; min-width:56px; font-size:11px; border-radius:14px; } .float-cart i{ font-size:18px; } }

/* page loader (shown after Order / Add to cart / cart icon click) */
.page-loader{ position:fixed; inset:0; z-index:99999; display:none; align-items:center; justify-content:center; background:rgba(255,255,255,.6); backdrop-filter:blur(2px); }
.page-loader.show{ display:flex; }
.page-loader span{ width:44px; height:44px; border-radius:50%; border:4px solid #e5e7eb; border-top-color:var(--site-primary,#e62e04); animation:mu-spin .8s linear infinite; }
@keyframes mu-spin{ to{ transform:rotate(360deg); } }

/* slimmer single product page */
.product-cart .name{ font-size:18px !important; margin:2px 0 8px; }
.pd-category{ font-size:13.5px; padding:2px 0 10px; margin-bottom:8px; }
.pd-price-row #newPrice{ font-size:28px; }
.pd-price-row del{ font-size:15px !important; }
.pd-off{ font-size:12px; padding:3px 9px; }
.pd-save{ font-size:13px; }
.pd-stock{ padding:9px 0; font-size:14px; }
.pd-qty-row{ margin:10px 0; gap:12px; }
.pd-qty-label{ font-size:14px; }
.pd-qty-row .quantity{ height:42px !important; width:136px !important; border-radius:12px !important; }
.pd-buy-grid .btn{ height:42px !important; font-size:14px !important; border-radius:11px !important; }
.pd-brand{ padding:7px 12px; border-radius:12px; font-size:13.5px; }
.pd-brand img{ height:26px; }
.main-details-page .details_slider .dimage_item img{ max-height:320px; }

/* checkout (customer + reseller): compact + responsive */
.checkout-section, .reseller-section{ padding:12px 0 !important; }
.checkout-card{ margin-bottom:12px !important; border-radius:14px !important; }
.checkout-header{ padding:10px 14px !important; }
.checkout-header h6{ font-size:14px !important; }
.checkout-header i{ font-size:15px !important; }
.card-body-custom{ padding:12px 14px !important; }
.card-body-custom.p-0{ padding:0 !important; }
.form-group{ margin-bottom:10px !important; }
.form-label-custom{ font-size:12.5px !important; margin-bottom:4px !important; font-weight:600; }
.form-control-custom{ height:40px !important; font-size:13.5px !important; padding:6px 12px !important; border-radius:10px !important; }
textarea.form-control-custom{ height:auto !important; }
.cart-items-scroll{ padding:6px 14px !important; max-height:300px; }
.checkout-item{ padding:8px 0 !important; gap:10px !important; }
.checkout-pro-img{ width:46px !important; height:46px !important; flex:0 0 46px; border-radius:10px; overflow:hidden; }
.checkout-pro-img img{ width:100%; height:100%; object-fit:cover; }
.checkout-pro-info h6, .checkout-pro-info a{ font-size:13px !important; margin-bottom:2px; }
.checkout-pro-info .meta{ font-size:11.5px !important; margin-bottom:2px !important; }
.qty-box.checkout-qty{ height:28px !important; }
.qty-btn{ width:26px !important; height:26px !important; font-size:11px !important; }
.qty-val{ width:28px !important; font-size:12.5px !important; }
.summary-totals{ padding:10px 14px !important; }
.total-row{ font-size:13px !important; padding:4px 0 !important; }
.total-row.final{ font-size:15px !important; padding-top:8px !important; }
.coupon-wrapper{ padding:10px 14px !important; }
.coupon-input-modern{ height:38px !important; font-size:13px !important; }
.coupon-btn-modern{ height:38px !important; font-size:13px !important; padding:0 14px !important; }
.btn-place-order{ height:46px; padding:0 16px !important; font-size:15px !important; }
.desktop-submit-btn.p-4{ padding:12px 14px !important; }
.checkout-section .alert, .reseller-section .alert{ padding:8px 12px !important; font-size:12.5px !important; margin-bottom:10px !important; }
@media (min-width:992px){ .sticky-sidebar{ position:sticky; top:96px; } }
@media (max-width:575px){
  .checkout-section .container, .reseller-section .container{ padding-left:10px; padding-right:10px; }
  .checkout-section, .reseller-section{ font-size:13px; }
}

/* =====================================================================
   v7: slim + pretty mobile bottom menu
   ===================================================================== */
.mobile_bottom_nav{ padding:0 !important; border-radius:16px 16px 0 0 !important; box-shadow:0 -4px 18px rgba(16,24,40,.09) !important; border-top:1px solid #eef0f3; }
.mobile_bottom_nav .nav_container{ height:54px; align-items:center !important; padding:0 6px !important; }
.mobile_bottom_nav .nav_item{ justify-content:center; gap:1px; height:100%; color:#8a94a3; }
.mobile_bottom_nav .nav_item .icon_box{ font-size:17px !important; margin-bottom:1px !important; line-height:1; }
.mobile_bottom_nav .nav_item .nav_text{ font-size:10.5px !important; font-weight:600 !important; line-height:1.1; }
.mobile_bottom_nav .nav_item:hover, .mobile_bottom_nav .nav_item.active{ color:var(--site-primary,#e62e04) !important; }
.mobile_bottom_nav .nav_item.active .icon_box{ transform:none !important; }
.mobile_bottom_nav .home_wrapper{ bottom:16px !important; height:auto; }
.mobile_bottom_nav .home_fab{ width:46px !important; height:46px !important; font-size:18px !important; border-width:3px !important; box-shadow:0 6px 14px rgba(16,24,40,.22) !important; }
.mobile_bottom_nav .cart_badge{ top:-7px !important; right:-10px !important; width:15px !important; height:15px !important; font-size:9px !important; border-width:1.5px !important; }
@media (max-width:768px){ body{ padding-bottom:58px; } }

/* variant not chosen -> highlight the variant block */
.variant-shake{ animation:mu-shake .5s ease 2; outline:2px solid var(--site-primary,#e62e04); outline-offset:6px; border-radius:10px; }
@keyframes mu-shake{ 0%,100%{ transform:translateX(0); } 25%{ transform:translateX(-6px); } 75%{ transform:translateX(6px); } }

/* mobile: hamburger a little closer to the left edge */
@media (max-width:991px){
  .mobile-logo{ padding:0 16px 0 4px !important; grid-template-columns:48px 1fr auto !important; }
  .mobile-logo .menu-bar{ margin-left:0 !important; padding-left:0 !important; text-align:left; }
  .mobile-logo .menu-bar .toggle, .mobile-logo .menu-bar a{ margin-left:0 !important; }
}

/* =====================================================================
   v8: hamburger left, compact payment methods, small theme-colored confirm button
   ===================================================================== */
@media (max-width:991px){
  header .toggle, .mobile-logo .menu-bar .toggle{ padding-left:0 !important; margin-left:0 !important; }
  .mobile-logo{ padding-left:10px !important; }
  .mobile-logo .menu-bar{ text-align:left !important; }
}

/* checkout: payment methods smaller */
.payment-options-list{ gap:6px !important; }
.payment-option-label .payment-content{ padding:7px 12px !important; gap:9px !important; border-width:1.5px !important; border-radius:10px !important; }
.payment-option-label .pay-info small{ display:none !important; }
.payment-option-label .pay-info strong{ font-size:13px !important; font-weight:600 !important; }
.payment-option-label .payment-content img, .payment-option-label .pay-logo{ height:18px !important; max-width:48px !important; }
.payment-option-label .payment-content .fs-2, .payment-option-label .payment-content > i, .payment-option-label .payment-content .text-center i{ font-size:1.05rem !important; }
.payment-option-label .payment-content .text-center{ width:24px !important; }
.payment-option-label .check-circle{ width:15px !important; height:15px !important; right:12px !important; }

/* checkout: confirm button small + theme color */
.btn-place-order{
  height:40px !important; padding:0 14px !important; font-size:14px !important; font-weight:600 !important; border-radius:10px !important; gap:6px !important;
  background:var(--site-primary,#e62e04) !important; background-image:none !important; color:#fff !important; border:0 !important; box-shadow:0 4px 12px rgba(16,24,40,.14) !important;
}
.btn-place-order i{ font-size:14px !important; }

/* v10: shorter product cards */
.product_item .pro_img{ aspect-ratio:5 / 4 !important; padding:6px !important; }
.product_item .pro_des{ padding-top:0 !important; }
.product_item .pro_name a{ min-height:36px !important; font-size:14px !important; line-height:1.3 !important; }
.pro_meta{ padding-top:3px !important; }
.product_item .pro_price{ padding-top:3px !important; padding-bottom:6px !important; }
.product_item .pro_price p{ font-size:16.5px !important; }
.product_item .pro_btn{ padding-bottom:10px !important; }
.product_item .pro_btn a, .product_item .pro_btn button, .product_item .pro_btn input[type=submit]{ min-height:34px !important; height:34px !important; }
.main_product_inner, .category-product{ gap:14px !important; }
@media (max-width:575px){
  .main_product_inner, .category-product{ gap:8px !important; }
  .product_item .pro_name a{ min-height:34px !important; font-size:13px !important; }
  .product_item .pro_price p{ font-size:15px !important; }
}

/* v11: remove big gaps inside product cards (old theme had fixed heights / big margins) */
.product_item .pro_img{ height:auto !important; aspect-ratio:4 / 3 !important; padding:4px !important; }
.product_item .pro_img > a{ height:100% !important; }
.product_item .pro_name{ height:auto !important; margin:0 !important; }
.product_item .pro_name a{ min-height:0 !important; display:-webkit-box !important; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; line-height:1.3 !important; font-size:14px !important; }
.product_item .pro_des{ padding:2px 12px 0 !important; }
.product_item .pro_meta{ margin:0 !important; padding:3px 12px 0 !important; }
.product_item .pro_price{ margin:0 !important; padding:3px 12px 6px !important; }
.product_item .pro_price p{ margin:0 !important; font-size:16px !important; line-height:1.2; }
.product_item .pro_btn{ margin-top:0 !important; padding:0 12px 10px !important; }
.product_item .order-btn, .product_item .order-btn-link, .product_item .cart-icon-btn, .product_item .cart-icon-link{ height:34px !important; padding:0 8px !important; border-radius:10px !important; }
@media (max-width:575px){
  .product_item .pro_img{ aspect-ratio:1 / 0.82 !important; }
  .product_item .pro_des{ padding:2px 9px 0 !important; }
  .product_item .pro_meta{ padding:3px 9px 0 !important; }
  .product_item .pro_price{ padding:3px 9px 5px !important; }
  .product_item .pro_btn{ padding:0 9px 9px !important; }
  .product_item .pro_name a{ font-size:13px !important; }
  .product_item .pro_price p{ font-size:15px !important; }
}

/* =====================================================================
   v12
   ===================================================================== */
/* product grid: just a little bigger / airy again */
.product_item .pro_img{ aspect-ratio:1 / 0.9 !important; padding:6px !important; }
.product_item .pro_name a{ font-size:14.5px !important; line-height:1.35 !important; }
.product_item .pro_des{ padding:4px 13px 0 !important; }
.product_item .pro_meta{ padding:4px 13px 0 !important; font-size:12.5px !important; }
.product_item .pro_price{ padding:4px 13px 8px !important; }
.product_item .pro_price p{ font-size:17px !important; }
.product_item .pro_btn{ padding:0 13px 12px !important; }
.product_item .order-btn, .product_item .order-btn-link, .product_item .cart-icon-btn, .product_item .cart-icon-link,
.product_item .pro_btn a, .product_item .pro_btn button, .product_item .pro_btn input[type=submit]{ height:36px !important; min-height:36px !important; }
@media (max-width:575px){
  .product_item .pro_img{ aspect-ratio:1 / 0.92 !important; }
  .product_item .pro_name a{ font-size:13.5px !important; }
  .product_item .pro_des{ padding:3px 10px 0 !important; }
  .product_item .pro_meta{ padding:3px 10px 0 !important; font-size:12px !important; }
  .product_item .pro_price{ padding:4px 10px 6px !important; }
  .product_item .pro_price p{ font-size:16px !important; }
  .product_item .pro_btn{ padding:0 10px 10px !important; }
}

/* single product: small H1 title + category above the image */
.pd-top{ padding:0 4px 10px; margin-bottom:6px; border-bottom:1px solid var(--mu-line); }
.pd-h1{ font-size:17px; font-weight:700; line-height:1.3; margin:0 0 3px; color:var(--mu-ink); }
.pd-top-cat{ font-size:12.5px; color:var(--mu-muted); }
.pd-top-cat a{ color:var(--site-primary,#e62e04); font-weight:600; text-decoration:none; }
.details_right .product-cart > .name, .details_right .pd-category{ display:none !important; }
@media (max-width:767px){ .pd-h1{ font-size:15.5px; } }

/* toastr alerts: small */
#toast-container{ padding:0 !important; }
#toast-container > div{
  width:auto !important; max-width:250px; min-width:170px; padding:8px 12px 8px 42px !important; margin:0 0 6px !important;
  font-size:12.5px !important; line-height:1.35; border-radius:10px !important; opacity:.97 !important;
  background-position:12px center !important; background-size:18px !important; box-shadow:0 6px 18px rgba(16,24,40,.18) !important;
}
#toast-container .toast-title{ font-size:12.5px !important; font-weight:700; }
#toast-container .toast-message{ font-size:12px !important; }
#toast-container .toast-close-button{ font-size:15px; top:-4px; right:-2px; }
#toast-container.toast-top-right{ top:62px !important; right:8px !important; }
.swal2-popup{ font-size:13px !important; width:300px !important; padding:14px !important; }
.swal2-title{ font-size:16px !important; }

/* "View More" button: small + clean */
a.view_more_btn{
  float:right; font-size:12.5px !important; font-weight:600; line-height:1.2; padding:6px 12px !important; border-radius:8px !important;
  text-transform:none !important; letter-spacing:.1px; box-shadow:0 2px 6px rgba(16,24,40,.12);
}
.section-title-header .section-title-name, .section-title-name{ font-size:17px !important; }

/* header: logo keeps its size on scroll */
@media (max-width:991px){
  #navbar_top.hdr-hidden .mobile-logo{ height:60px !important; }
  #navbar_top.hdr-hidden .mobile-logo .menu-logo img{ max-height:34px !important; }
}

/* confirm button amount */
.btn-place-order .btn-amt{ font-weight:700; white-space:nowrap; }

/* =====================================================================
   v13: category tiles (with product count) + modern filter sidebar
   ===================================================================== */
.category-slider .cat_item{
  background:#fff; border:1px solid var(--mu-line); border-radius:18px; padding:12px 10px 12px; text-align:center;
  box-shadow:var(--mu-shadow); transition:transform .25s ease, box-shadow .25s ease; margin:4px;
}
.category-slider .cat_item:hover{ transform:translateY(-3px); box-shadow:var(--mu-shadow-lg); border-color:var(--site-primary,#e62e04); }
.category-slider .cat_img{ height:86px; display:flex; align-items:center; justify-content:center; margin-bottom:8px; }
.category-slider .cat_img img{ max-height:86px; width:auto; max-width:100%; object-fit:contain; }
.category-slider .cat_name{ margin:0; }
.category-slider .cat_name a{ font-size:14px; font-weight:700; line-height:1.3; display:block; }
.cat_count{
  display:inline-block; margin-top:6px; padding:2px 10px; border-radius:999px; font-size:11.5px; font-weight:600;
  color:var(--site-primary,#e62e04); background:rgba(0,0,0,.05);
}

/* filter sidebar */
.filter_sidebar .sidebar_item{
  background:#fff; border:1px solid var(--mu-line); border-radius:16px; margin-bottom:14px; overflow:hidden; box-shadow:var(--mu-shadow);
}
.filter_sidebar .accordion-item{ border:0 !important; background:transparent; }
.filter_sidebar .accordion-button{
  background:#fff !important; box-shadow:none !important; font-weight:800; font-size:14px; padding:13px 16px; color:var(--mu-ink);
  text-transform:uppercase; letter-spacing:.3px;
}
.filter_sidebar .accordion-button:not(.collapsed){ color:var(--site-primary,#e62e04); }
.filter_sidebar .cust_according_body{ padding:2px 12px 12px !important; }
.filter_sidebar ul{ list-style:none; padding:0; margin:0; }
.filter_sidebar .cust_according_body li a{
  display:flex; align-items:center; justify-content:space-between; gap:8px; padding:8px 10px; border-radius:10px; color:#374151; font-size:14px; text-decoration:none;
  transition:background .15s, color .15s;
}
.filter_sidebar .cust_according_body li a:hover{ background:#f3f4f6; color:var(--site-primary,#e62e04); }
.filter_sidebar .cnt{
  font-style:normal; font-size:11.5px; font-weight:700; min-width:24px; text-align:center; padding:1px 8px; border-radius:999px; background:#f3f4f6; color:#6b7280;
}
.filter_sidebar .subcategory-filter-list{ margin:0; }
.filter_sidebar .subcategory-filter-list{ display:flex; align-items:center; justify-content:space-between; padding:2px 4px; border-radius:10px; }
.filter_sidebar .subcategory-filter-list:hover{ background:#f9fafb; }
.filter_sidebar .subcategory-filter-label{ display:flex; align-items:center; gap:10px; padding:7px 6px; margin:0; cursor:pointer; flex:1; }
.filter_sidebar .subcategory-filter-label p{ margin:0; font-size:14px; color:#374151; }
.filter_sidebar .form-checkbox{ width:17px; height:17px; accent-color:var(--site-primary,#e62e04); margin:0; cursor:pointer; }

/* price slider */
.filter_sidebar .filter-price-inputs{ display:flex; justify-content:space-between; gap:10px; margin-bottom:14px; }
.filter_sidebar .filter-price-inputs p{ margin:0; flex:1; display:flex; align-items:center; gap:4px; background:#f3f4f6; border-radius:10px; padding:6px 10px; font-weight:700; font-size:13px; }
.filter_sidebar .filter-price-inputs input{ width:100%; border:0; background:transparent; font-weight:700; font-size:13px; outline:0; padding:0; }
.filter_sidebar .ui-slider{ height:5px; border:0; background:#e5e7eb; border-radius:999px; margin:8px 8px 6px; }
.filter_sidebar .ui-slider .ui-slider-range{ background:var(--site-primary,#e62e04); border-radius:999px; }
.filter_sidebar .ui-slider .ui-slider-handle{
  top:-7px; width:19px; height:19px; border-radius:50%; background:#fff; border:3px solid var(--site-primary,#e62e04);
  box-shadow:0 2px 6px rgba(16,24,40,.25); cursor:pointer; outline:0;
}

/* sort + result line */
.showing-data span{ font-size:13px; color:var(--mu-muted); }
.page-sort .form-select, .page-sort select{ border-radius:10px !important; font-size:13.5px; height:38px; border:1.5px solid #e5e7eb !important; }
.category-breadcrumb{ font-size:13px; gap:6px; }
.filter_btn{ border-radius:10px; }
@media (max-width:767px){
  .filter_sidebar{ background:#f6f7fb; padding:12px !important; }
  .filter_sidebar .filter_close{ font-weight:700; padding:6px 0 12px; }
}

/* v14: category tiles were cut off by the old fixed height (127px) -> count was hidden */
.category-slider .cat_item{ height:auto !important; min-height:0 !important; width:100%; border-radius:18px !important; padding:12px 8px 12px !important; display:flex; flex-direction:column; align-items:center; }
.category-slider .cat_img{ width:auto !important; height:78px !important; }
.category-slider .cat_img img{ max-height:78px; }
.category-slider .cat_name{ padding:0 !important; text-transform:none !important; }
.category-slider .cat_name a{
  font-size:13.5px !important; line-height:1.3 !important;
  display:-webkit-box !important; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; min-height:35px;
}
.category-slider .cat_count{ margin-top:auto; }
.category-slider .owl-stage{ display:flex; }
.category-slider .owl-item{ display:flex; }
.category-slider .owl-item > .cat_item{ flex:1 1 auto; }

/* =====================================================================
   v15: related products grid (same as home) + nicer filter
   ===================================================================== */
.related-product-section{ padding:6px 0 26px; }
.related-title{ margin:6px 0 12px; }
.related-title h5{ font-size:18px; font-weight:800; margin:0; padding-bottom:8px; border-bottom:1px solid var(--mu-line); position:relative; }
.related-title h5::after{ content:''; position:absolute; left:0; bottom:-1px; width:64px; height:3px; border-radius:3px; background:var(--site-primary,#e62e04); }
.related_grid.owl-carousel{ display:grid !important; }
.related_grid .product_item{ margin:0 !important; width:auto !important; }

/* filter: reset link, apply button, mobile sheet */
.filter_clear{
  display:inline-flex; align-items:center; gap:6px; font-size:12.5px; font-weight:700; color:var(--site-primary,#e62e04);
  background:#fff; border:1px solid var(--mu-line); border-radius:999px; padding:5px 12px; margin:0 0 12px; text-decoration:none;
}
.filter_clear:hover{ background:#f9fafb; color:var(--site-primary,#e62e04); }
@media (min-width:768px){ .filter_apply{ display:none !important; } }
@media (max-width:767px){
  .filter_sidebar.active{ width:100% !important; top:0 !important; padding:0 12px 84px !important; background:#f6f7fb !important; }
  .filter_sidebar .filter_close:not(.filter_apply){
    position:sticky; top:0; z-index:5; margin:0 -12px 12px !important; border-radius:0 !important; padding:14px 16px !important;
    background:var(--site-primary,#e62e04) !important; color:#fff !important; font-size:16px !important; font-weight:700;
  }
  .filter_sidebar .filter_close.filter_apply{
    position:fixed; left:12px; right:12px; bottom:14px; z-index:10000; border-radius:12px !important; text-align:center; padding:13px 16px !important;
    background:var(--site-primary,#e62e04) !important; color:#fff !important; font-size:15px !important; font-weight:700; margin:0 !important;
    box-shadow:0 8px 22px rgba(16,24,40,.28);
  }
  .filter_btn{
    display:flex !important; align-items:center; justify-content:center; width:40px; height:38px; border:1.5px solid #e5e7eb; border-radius:10px;
    background:#fff; color:var(--site-primary,#e62e04); cursor:pointer;
  }
}

/* v16: show the payment method subtitles again (compact) */
.payment-option-label .pay-info small{
  display:block !important; font-size:11.5px !important; line-height:1.3 !important; color:var(--mu-muted,#6b7280) !important; margin-top:1px;
}
.payment-option-label .pay-info strong{ display:block; line-height:1.25 !important; }
.payment-option-label .payment-content{ padding:8px 12px !important; }
