/* ==========================================================================
   SahyogBazar Store Frontend — Modern Premium Theme
   Overrides old "Market" template styles for a premium look.
   Loaded LAST to take priority over template CSS.
   ========================================================================== */

/* --- Design Tokens (inherit from landing page) --- */
:root {
  --sb-primary: #1e3a5f;
  --sb-primary-light: #2d5a8e;
  --sb-secondary: #f59e0b;
  --sb-accent: #3b82f6;
  --sb-white: #ffffff;
  --sb-off-white: #f8fafc;
  --sb-gray-100: #f1f5f9;
  --sb-gray-200: #e2e8f0;
  --sb-gray-300: #cbd5e1;
  --sb-gray-400: #94a3b8;
  --sb-gray-500: #64748b;
  --sb-gray-600: #475569;
  --sb-gray-700: #334155;
  --sb-gray-800: #1e293b;
  --sb-gray-900: #0f172a;
  --sb-radius: 0.75rem;
  --sb-shadow: 0 1px 3px rgba(0,0,0,0.08);
  --sb-shadow-md: 0 4px 12px rgba(0,0,0,0.08);
  --sb-shadow-lg: 0 10px 25px rgba(0,0,0,0.1);
  --sb-transition: all 0.25s ease;
}

/* --- Global Base --- */
body {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  font-size: 16px !important;
  color: var(--sb-gray-800) !important;
  background: var(--sb-off-white) !important;
  line-height: 1.6;
}

h1, h2, h3, h4, h5, h6 {
  font-family: 'Inter', sans-serif !important;
  color: var(--sb-gray-900);
}

a { transition: var(--sb-transition); }

/* --- Override old template wrapper --- */
#wrapper { box-shadow: none !important; }
.main-container { padding-top: 1.5rem; }

/* --- Store Navbar Override --- */
.sb-store-nav {
  position: sticky;
  top: 0;
  z-index: 1050;
  background: rgba(255,255,255,0.97);
  backdrop-filter: blur(12px);
  box-shadow: var(--sb-shadow);
  padding: 0.6rem 0;
}

/* --- Override old header styles --- */
header#header { box-shadow: none !important; border: none !important; }
.header-top { display: none !important; } /* Hide old top bar — we integrate its links into new nav */
.header-center { padding: 0 !important; border: none !important; }

/* --- Product Card Overrides (JS-generated HTML) --- */
.product-layout {
  margin-bottom: 1.5rem !important;
  padding: 0 0.625rem !important;
}

.product-item-container {
  background: var(--sb-white) !important;
  border: 1px solid var(--sb-gray-200) !important;
  border-radius: var(--sb-radius) !important;
  overflow: hidden !important;
  transition: var(--sb-transition) !important;
  box-shadow: none !important;
}

.product-item-container:hover {
  transform: translateY(-4px) !important;
  box-shadow: var(--sb-shadow-lg) !important;
  border-color: transparent !important;
}

/* Product Image */
.product-image-container {
  background: var(--sb-gray-100) !important;
  border: none !important;
  border-radius: 0 !important;
  overflow: hidden !important;
  position: relative;
}

.product-image-container img {
  width: 100% !important;
  height: 260px !important;
  object-fit: cover !important;
  transition: transform 0.4s ease !important;
}

.product-item-container:hover .product-image-container img {
  transform: scale(1.05) !important;
}

/* Quickview overlay — scoped to product card IMAGE AREA only */
.product-item-container .left-block > a.quickview,
.product-item-container .left-block a.quickview.iframe-link {
  background: rgba(30, 58, 95, 0.85) !important;
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  letter-spacing: 0.03em;
  border-radius: 0 !important;
  padding: 10px 16px !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  top: auto !important;
  text-align: center !important;
  opacity: 0 !important;
  transition: opacity 0.25s ease !important;
  position: absolute !important;
  z-index: 5 !important;
}

.product-item-container:hover .left-block > a.quickview,
.product-item-container:hover .left-block a.quickview.iframe-link {
  opacity: 1 !important;
}

/* Left block needs relative positioning for quickview overlay */
.product-item-container .left-block {
  position: relative !important;
  overflow: hidden !important;
}

/* Grid view quickview — ensure overlay is clickable and visible on hover */
.products-list.grid .product-item-container .left-block {
  position: relative !important;
  overflow: hidden !important;
}

.products-list.grid .left-block > a.quickview,
.products-list.grid .left-block a.quickview.iframe-link {
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  top: auto !important;
  z-index: 5 !important;
  background: rgba(30, 58, 95, 0.85) !important;
  color: #fff !important;
  text-align: center !important;
  padding: 10px 16px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  opacity: 0 !important;
  transition: opacity 0.25s ease !important;
}

.products-list.grid .product-item-container:hover .left-block > a.quickview,
.products-list.grid .product-item-container:hover .left-block a.quickview.iframe-link {
  opacity: 1 !important;
}

/* Ensure product name links in right-block are ALWAYS visible */
.product-item-container .right-block a.quickview,
.product-item-container .right-block a.iframe-link,
.product-item-container .caption h4 a {
  opacity: 1 !important;
  visibility: visible !important;
  color: var(--sb-gray-800) !important;
  background: none !important;
  position: static !important;
  padding: 0 !important;
  text-align: left !important;
  font-size: 15px !important;
}

/* Ensure BS3 visible-* classes work for product name links */
.right-block a.visible-lg,
.right-block a.visible-md,
.right-block a.visible-sm,
.right-block a.visible-xs,
.caption a.visible-lg,
.caption a.visible-md,
.caption a.visible-sm,
.caption a.visible-xs {
  display: inline !important;
}

/* Cart popup — product name and image links must be visible */
#top-cart-table a,
.shoppingcart-box a,
#top-cart-table .cart_product_name,
#top-cart-table a.quickview,
#top-cart-table a.iframe-link {
  opacity: 1 !important;
  visibility: visible !important;
  background: transparent !important;
  position: static !important;
  color: var(--sb-gray-800, #1e293b) !important;
}
#top-cart-table .cart_product_name {
  font-size: 13px !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
  text-decoration: none !important;
}
#top-cart-table .cart_product_name:hover {
  color: var(--sb-primary, #1e3a5f) !important;
}
#top-cart-table img.preview {
  border-radius: 6px !important;
  object-fit: cover !important;
}

/* Product Caption */
.product-item-container .right-block {
  padding: 14px 16px !important;
}

.product-item-container .caption h4 {
  margin: 0 0 8px !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
  min-height: 2.5em;
}

.product-item-container .caption h4 a {
  color: var(--sb-gray-800) !important;
  text-decoration: none !important;
}

.product-item-container .caption h4 a:hover {
  color: var(--sb-primary) !important;
}

/* Price */
.price .price-new {
  color: var(--sb-gray-900) !important;
  font-size: 18px !important;
  font-weight: 700 !important;
}

.price .price-old {
  color: var(--sb-gray-400) !important;
  font-size: 13px !important;
}

/* Description hidden in card view */
.product-item-container .description { display: none !important; }

/* Add to Cart button */
.button-group {
  padding: 0 !important;
  border-top: 1px solid var(--sb-gray-100) !important;
  margin-top: 8px !important;
  padding-top: 10px !important;
}

.button-group .addToCart {
  background: linear-gradient(135deg, var(--sb-secondary), #f97316) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 50px !important;
  padding: 10px 16px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: var(--sb-transition) !important;
  width: 100% !important;
  text-align: center !important;
}

.button-group .addToCart:hover {
  box-shadow: 0 4px 14px rgba(245, 158, 11, 0.35) !important;
  transform: translateY(-1px) !important;
}

.button-group .addToCart i { margin-right: 4px; }

/* Hide wishlist/compare buttons in cards */
.button-group .wishlist,
.button-group .compare { display: none !important; }

/* --- Filter Panel Override --- */
.panel {
  border: 1px solid var(--sb-gray-200) !important;
  border-radius: var(--sb-radius) !important;
  box-shadow: none !important;
  margin-bottom: 1.5rem !important;
}

.panel-heading {
  background: var(--sb-white) !important;
  border-color: var(--sb-gray-200) !important;
  color: var(--sb-gray-800) !important;
  font-weight: 600 !important;
  font-size: 0.9375rem !important;
  border-radius: var(--sb-radius) var(--sb-radius) 0 0 !important;
  padding: 1rem 1.25rem !important;
}

.panel-body { padding: 1.25rem !important; }

.panel .form-control {
  border-radius: 8px !important;
  border: 1px solid var(--sb-gray-300) !important;
  font-size: 14px !important;
  padding: 8px 12px !important;
  height: auto !important;
}

.panel .form-control:focus {
  border-color: var(--sb-accent) !important;
  box-shadow: 0 0 0 3px rgba(59,130,246,0.12) !important;
}

/* Filter buttons */
.button_grey,
.button_submit {
  background: var(--sb-primary) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 50px !important;
  padding: 0.5rem 1.5rem !important;
  font-size: 0.8125rem !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: var(--sb-transition) !important;
}

.button_grey:hover,
.button_submit:hover {
  background: var(--sb-primary-light) !important;
}

.btnFilterReset {
  background: var(--sb-white) !important;
  color: var(--sb-gray-600) !important;
  border: 1px solid var(--sb-gray-300) !important;
}

/* --- Pagination Override --- */
.pagination {
  gap: 0.25rem;
}

.pagination > li > a,
.pagination > li > span {
  border-radius: 0.5rem !important;
  border: 1px solid var(--sb-gray-200) !important;
  color: var(--sb-gray-600) !important;
  padding: 0.375rem 0.875rem !important;
  font-size: 0.8125rem !important;
  transition: var(--sb-transition) !important;
}

.pagination > li > a:hover {
  background: var(--sb-primary) !important;
  color: #fff !important;
  border-color: var(--sb-primary) !important;
}

.pagination > .active > a,
.pagination > .active > a:hover {
  background: var(--sb-primary) !important;
  border-color: var(--sb-primary) !important;
  color: #fff !important;
}

/* --- Banner / Hero Override --- */
.so-slideshow {
  border-radius: var(--sb-radius) !important;
  overflow: hidden !important;
  margin-bottom: 1.5rem !important;
  box-shadow: var(--sb-shadow-md) !important;
}

.so-slideshow img {
  border-radius: var(--sb-radius) !important;
}

/* --- About Section --- */
.content-description {
  background: var(--sb-white);
  border: 1px solid var(--sb-gray-200);
  border-radius: var(--sb-radius);
  padding: 1.5rem 2rem;
  margin-bottom: 1.5rem;
  border-left: 4px solid var(--sb-secondary);
}

.content-description .about-title {
  font-size: 1.25rem !important;
  font-weight: 700 !important;
  color: var(--sb-gray-900) !important;
  margin-bottom: 0.75rem;
}

.content-description p {
  color: var(--sb-gray-600);
  font-size: 0.9375rem;
  line-height: 1.7;
}

/* --- Section Titles --- */
h3.offset_title {
  font-size: 24px !important;
  font-weight: 700 !important;
  color: var(--sb-gray-900) !important;
  margin-bottom: 24px !important;
  padding-bottom: 12px;
  border-bottom: 2px solid var(--sb-gray-100);
}

/* --- Search Bar Override --- */
#sosearchpro .search {
  border: 2px solid var(--sb-gray-200) !important;
  border-radius: 50px !important;
  overflow: hidden;
}

#sosearchpro .form-control {
  border: none !important;
  box-shadow: none !important;
}

#sosearchpro .button-search {
  background: var(--sb-primary) !important;
  border: none !important;
  border-radius: 0 50px 50px 0 !important;
}

/* --- Cart Mini Dropdown Override --- */
.shoppingcart-box {
  border-radius: var(--sb-radius) !important;
  border: 1px solid var(--sb-gray-200) !important;
  box-shadow: var(--sb-shadow-lg) !important;
}

.btn.view-cart {
  background: var(--sb-primary) !important;
  color: #fff !important;
  border-radius: 50px !important;
  border: none !important;
  padding: 0.5rem 1rem !important;
  font-size: 0.8125rem !important;
}

/* --- Product Detail / Quickview Page --- */
.product-view {
  background: var(--sb-white) !important;
  border-radius: 12px !important;
  border: 1px solid var(--sb-gray-200) !important;
  padding: 32px !important;
  margin-top: 16px !important;
  margin-bottom: 32px !important;
}

/* Image area — no extra gray background */
.product-view .content-product-left .large-image {
  border-radius: 12px !important;
  overflow: hidden !important;
  background: #fff !important;
  border: 1px solid var(--sb-gray-200) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 400px !important;
  padding: 16px !important;
}

.product-view .content-product-left .large-image img {
  border-radius: 8px !important;
  max-height: 450px !important;
  max-width: 100% !important;
  object-fit: contain !important;
  width: auto !important;
}

/* Thumbnail slider */
.product-view #thumb-slider,
.product-view .full_slider {
  margin-top: 16px !important;
}

.product-view #thumb-slider .owl2-item img,
.product-view .thumb-vertical img,
.product-view .full_slider img {
  border-radius: 8px !important;
  border: 2px solid var(--sb-gray-200) !important;
  cursor: pointer !important;
  transition: all 0.25s ease !important;
  width: 80px !important;
  height: 80px !important;
  object-fit: cover !important;
}

.product-view #thumb-slider .owl2-item img:hover,
.product-view .thumb-vertical .active img,
.product-view .full_slider .active img {
  border-color: var(--sb-primary) !important;
  box-shadow: 0 0 0 2px rgba(30,58,95,0.15) !important;
}

/* Product title — bigger */
.product-view .title-product h1 {
  font-size: 28px !important;
  font-weight: 700 !important;
  color: var(--sb-gray-900) !important;
  margin-bottom: 12px !important;
  line-height: 1.3 !important;
  text-transform: capitalize !important;
}

/* Price — bigger */
.product-view .product-label {
  margin-bottom: 20px !important;
}

.product_page_price .price-new {
  font-size: 28px !important;
  font-weight: 800 !important;
  color: var(--sb-gray-900) !important;
}

.product_page_price .price-old {
  font-size: 16px !important;
  color: var(--sb-gray-400) !important;
  text-decoration: line-through !important;
  margin-left: 8px !important;
}

/* Description */
.product-box-desc {
  margin: 20px 0 !important;
  padding: 20px 24px !important;
  background: var(--sb-off-white) !important;
  border-radius: 10px !important;
  border-left: 4px solid var(--sb-secondary) !important;
  border-top: none !important;
  border-right: none !important;
  border-bottom: none !important;
}

.product-box-desc .inner-box-desc {
  font-size: 16px !important;
  color: var(--sb-gray-600) !important;
  line-height: 1.7 !important;
}

/* Deliverable text — clean, no extra icon element */
.text-deliverable {
  font-size: 15px !important;
  color: var(--sb-gray-600) !important;
  margin-bottom: 16px !important;
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
}

/* Hide the raw location pin that shows as colored element */
.text-deliverable .fa,
.text-deliverable .fa-map-marker {
  color: var(--sb-secondary) !important;
  font-size: 16px !important;
}

/* Add to Cart button — large and prominent */
.btn.btn-mega {
  background: linear-gradient(135deg, var(--sb-secondary), #f97316) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 50px !important;
  padding: 14px 40px !important;
  font-weight: 700 !important;
  font-size: 16px !important;
  transition: all 0.25s ease !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  cursor: pointer !important;
}

.btn.btn-mega:hover {
  box-shadow: 0 6px 20px rgba(245, 158, 11, 0.4) !important;
  transform: translateY(-2px) !important;
}

/* Quantity control — bigger */
.quantity-control {
  border-radius: 10px !important;
  overflow: hidden !important;
  display: inline-flex !important;
  align-items: center !important;
  border: 2px solid var(--sb-gray-200) !important;
}

.quantity-control label {
  font-weight: 600 !important;
  font-size: 15px !important;
  color: var(--sb-gray-600) !important;
  margin: 0 10px !important;
}

.quantity-control .form-control {
  text-align: center !important;
  border: none !important;
  width: 60px !important;
  font-weight: 700 !important;
  font-size: 18px !important;
  box-shadow: none !important;
  height: auto !important;
  padding: 8px 0 !important;
}

.quantity-control .input-group-addon {
  background: var(--sb-gray-100) !important;
  border: none !important;
  border-left: 1px solid var(--sb-gray-200) !important;
  cursor: pointer !important;
  font-weight: 700 !important;
  font-size: 18px !important;
  padding: 8px 14px !important;
  color: var(--sb-gray-700) !important;
  transition: all 0.2s ease !important;
  user-select: none !important;
}

.quantity-control .input-group-addon:hover {
  background: var(--sb-gray-200) !important;
}

/* Box info product — layout the qty + cart button */
.box-info-product {
  display: flex !important;
  align-items: center !important;
  gap: 20px !important;
  flex-wrap: wrap !important;
  margin-top: 24px !important;
  padding-top: 24px !important;
  border-top: 1px solid var(--sb-gray-200) !important;
}

.quantity-control .form-control {
  text-align: center !important;
  border: 1px solid var(--sb-gray-200) !important;
}

.quantity-control .input-group-addon {
  background: var(--sb-gray-100) !important;
  border: 1px solid var(--sb-gray-200) !important;
  cursor: pointer !important;
  font-weight: 600 !important;
}

/* --- Footer Override --- */
.footer-container {
  background: var(--sb-gray-900) !important;
  color: var(--sb-gray-400) !important;
}

.footer-top { padding: 2.5rem 0 !important; }

.footer-top .modtitle {
  color: #fff !important;
  font-size: 0.9375rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  margin-bottom: 1rem !important;
  border: none !important;
}

.footer-top .modtitle::after { display: none !important; }

.footer-top .menu li a,
.footer-top .contact-address li a,
.footer-top .contact-address li {
  color: var(--sb-gray-400) !important;
  font-size: 0.875rem !important;
}

.footer-top .menu li a:hover,
.footer-top .contact-address li a:hover {
  color: var(--sb-secondary) !important;
}

.footer-bottom-block {
  border-top: 1px solid rgba(255,255,255,0.08) !important;
  background: transparent !important;
  padding: 1rem 0 !important;
}

.footer-bottom-block .copyright-text {
  font-size: 0.8125rem !important;
  color: var(--sb-gray-500) !important;
}

.footer-bottom-block a {
  color: var(--sb-secondary) !important;
}

/* Social icons */
.icons-social .icon-circled {
  background: rgba(255,255,255,0.08) !important;
  color: var(--sb-gray-400) !important;
  border: none !important;
  width: 36px !important;
  height: 36px !important;
  line-height: 36px !important;
  font-size: 0.875rem !important;
  transition: var(--sb-transition) !important;
}

.icons-social .icon-circled:hover,
.icons-social a:hover .icon-circled {
  background: var(--sb-secondary) !important;
  color: #fff !important;
}

/* --- Shopping Cart Page Override --- */
.table-bordered { border-radius: var(--sb-radius) !important; overflow: hidden; }

.table > thead > tr > th {
  background: var(--sb-gray-100) !important;
  color: var(--sb-gray-700) !important;
  font-weight: 600 !important;
  font-size: 0.8125rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.03em;
  border-bottom: 2px solid var(--sb-gray-200) !important;
}

/* --- List View Override --- */
.products-list.list .product-layout {
  width: 100% !important;
  padding: 0 !important;
  margin-bottom: 16px !important;
}

.products-list.list .product-item-container {
  display: flex !important;
  flex-direction: row !important;
  align-items: stretch !important;
}

.products-list.list .product-item-container .left-block {
  flex-shrink: 0 !important;
  width: 240px !important;
  position: relative !important;
  overflow: hidden !important;
}

.products-list.list .product-image-container {
  height: 100% !important;
  min-height: 200px !important;
}

.products-list.list .product-image-container img {
  height: 100% !important;
  width: 100% !important;
  object-fit: cover !important;
}

/* Quickview in list view — show as overlay button on hover */
.products-list.list .left-block > a.quickview,
.products-list.list .left-block a.quickview.iframe-link {
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  top: auto !important;
  background: rgba(30, 58, 95, 0.85) !important;
  color: #fff !important;
  text-align: center !important;
  padding: 10px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  opacity: 0 !important;
  transition: opacity 0.25s ease !important;
  z-index: 5 !important;
}

.products-list.list .product-item-container:hover .left-block > a.quickview,
.products-list.list .product-item-container:hover .left-block a.quickview.iframe-link {
  opacity: 1 !important;
}

/* Right block — product info in list view */
.products-list.list .product-item-container .right-block {
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  padding: 20px 24px !important;
}

.products-list.list .caption h4 {
  font-size: 18px !important;
  font-weight: 600 !important;
  margin-bottom: 8px !important;
  min-height: auto !important;
}

.products-list.list .price .price-new {
  font-size: 22px !important;
  font-weight: 800 !important;
}

/* Show description in list view */
.products-list.list .description {
  display: block !important;
  margin-top: 8px !important;
}

.products-list.list .description p {
  font-size: 14px !important;
  color: #64748b !important;
  line-height: 1.6 !important;
  margin: 0 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

/* Add to cart in list view — not full width */
.products-list.list .button-group {
  margin-top: 12px !important;
  padding-top: 12px !important;
}

.products-list.list .button-group .addToCart {
  width: auto !important;
  display: inline-block !important;
  padding: 10px 28px !important;
  font-size: 14px !important;
}

/* List view product name link */
.products-list.list .right-block a.quickview,
.products-list.list .right-block a.iframe-link,
.products-list.list .caption h4 a {
  font-size: 18px !important;
  opacity: 1 !important;
  visibility: visible !important;
  position: static !important;
  background: none !important;
  padding: 0 !important;
  color: #1e293b !important;
}

.products-list.list .caption h4 a:hover {
  color: #1e3a5f !important;
}

/* Mobile list view — stack vertically */
@media (max-width: 767px) {
  .products-list.list .product-item-container {
    flex-direction: column !important;
  }
  .products-list.list .product-item-container .left-block {
    width: 100% !important;
  }
  .products-list.list .product-image-container {
    min-height: 180px !important;
    max-height: 220px !important;
  }
  .products-list.list .caption h4 { font-size: 16px !important; }
  .products-list.list .price .price-new { font-size: 18px !important; }
}

/* --- Back to Top --- */
.back-to-top {
  position: fixed !important;
  bottom: 2rem !important;
  right: 1.5rem !important;
  background: var(--sb-primary) !important;
  color: #fff !important;
  border-radius: 0.5rem !important;
  width: 44px !important;
  height: auto !important;
  padding: 0.375rem 0 !important;
  display: block !important;
  text-align: center !important;
  box-shadow: var(--sb-shadow-md) !important;
  cursor: pointer !important;
  z-index: 999 !important;
  transition: all 0.3s ease !important;
}

.back-to-top i {
  font-size: 1.25rem !important;
  display: block !important;
  line-height: 1.25 !important;
}

.back-to-top span {
  display: block !important;
  font-size: 0.625rem !important;
  line-height: 1.25 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em;
}

.back-to-top:hover {
  background: var(--sb-secondary) !important;
  transform: translateY(-2px);
}

/* --- Loader Override --- */
.loader {
  background: rgba(255,255,255,0.85) url(../../image/theme/lazy-loader.gif) center no-repeat !important;
  backdrop-filter: blur(4px);
}

/* --- Grid/List View Override --- */
.products-list.grid .product-layout {
  width: 25% !important;
  float: left;
}

/* --- Responsive --- */
@media (max-width: 991px) {
  .products-list.grid .product-layout { width: 33.333% !important; }
  .product-image-container img { height: 200px !important; }
}

@media (max-width: 767px) {
  .products-list.grid .product-layout { width: 50% !important; }
  .product-image-container img { height: 180px !important; }
  .product-item-container .right-block { padding: 10px 12px !important; }
  .product-item-container .caption h4 { font-size: 14px !important; }
  .price .price-new { font-size: 16px !important; }
  .footer-top .row > div { margin-bottom: 1.5rem; }
}

@media (max-width: 480px) {
  .products-list.grid .product-layout { width: 50% !important; padding: 0 6px !important; }
  .product-image-container img { height: 160px !important; }
  .button-group .addToCart { font-size: 12px !important; padding: 8px 12px !important; }
  .product-item-container .caption h4 { font-size: 13px !important; min-height: auto; }
}

/* --- Powered by SahyogBazar Badge --- */
.sb-powered-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.375rem 1rem;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 50px;
  color: var(--sb-gray-400);
  font-size: 0.75rem;
  font-weight: 500;
  text-decoration: none !important;
  transition: var(--sb-transition);
  margin-top: 0.75rem;
}

.sb-powered-badge:hover {
  background: rgba(255,255,255,0.1);
  color: var(--sb-secondary);
}

.sb-powered-badge img {
  height: 16px;
  filter: brightness(0) invert(1);
  opacity: 0.6;
}

/* --- Floating Social + WhatsApp Buttons --- */
.sb-floating-social {
  position: fixed;
  bottom: 5rem;
  right: 1.25rem;
  display: flex;
  flex-direction: column;
  gap: 10px;
  z-index: 998;
}

.sb-float-btn {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  display: flex !important;
  align-items: center;
  justify-content: center;
  color: #fff !important;
  font-size: 20px;
  text-decoration: none !important;
  box-shadow: 0 4px 12px rgba(0,0,0,0.2);
  transition: all 0.3s ease;
  opacity: 0.9;
}

.sb-float-btn:hover {
  transform: scale(1.12);
  opacity: 1;
  box-shadow: 0 6px 20px rgba(0,0,0,0.25);
}

.sb-float-wa {
  background: #25D366 !important;
  order: 10; /* WhatsApp always last (bottom) */
  width: 56px;
  height: 56px;
  font-size: 28px;
}

.sb-float-fb { background: #1877F2 !important; }
.sb-float-ig { background: linear-gradient(45deg, #f09433, #e6683c, #dc2743, #cc2366, #bc1888) !important; }
.sb-float-yt { background: #FF0000 !important; }

/* Pulse animation on WhatsApp button */
.sb-float-wa::after {
  content: '';
  position: absolute;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: #25D366;
  z-index: -1;
  animation: sb-wa-pulse 2s ease-out infinite;
}

@keyframes sb-wa-pulse {
  0% { transform: scale(1); opacity: 0.4; }
  100% { transform: scale(1.6); opacity: 0; }
}

/* On mobile — smaller buttons, tighter spacing */
@media (max-width: 767px) {
  .sb-floating-social { bottom: 4rem; right: 0.75rem; gap: 8px; }
  .sb-float-btn { width: 42px; height: 42px; font-size: 18px; }
  .sb-float-wa { width: 50px; height: 50px; font-size: 24px; }
  .sb-float-wa::after { width: 50px; height: 50px; }
}
