/* ==========================================================================
   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;
  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: 220px !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 */
a.quickview {
  background: rgba(30, 58, 95, 0.85) !important;
  color: #fff !important;
  font-size: 0.8125rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.03em;
  border-radius: 0 !important;
  padding: 8px 16px !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  top: auto !important;
  text-align: center !important;
  opacity: 0;
  transition: opacity 0.25s ease !important;
}

.product-item-container:hover a.quickview {
  opacity: 1;
}

/* Product Caption */
.product-item-container .right-block {
  padding: 0.875rem 1rem !important;
}

.product-item-container .caption h4 {
  margin: 0 0 0.5rem !important;
  font-size: 0.9rem !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: 1.125rem !important;
  font-weight: 700 !important;
}

.price .price-old {
  color: var(--sb-gray-400) !important;
  font-size: 0.8125rem !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: 0.5rem !important;
  padding-top: 0.625rem !important;
}

.button-group .addToCart {
  background: linear-gradient(135deg, var(--sb-secondary), #f97316) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 50px !important;
  padding: 0.5rem 1rem !important;
  font-size: 0.8125rem !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: 0.25rem; }

/* 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: 0.5rem !important;
  border: 1px solid var(--sb-gray-300) !important;
  font-size: 0.875rem !important;
  padding: 0.5rem 0.75rem !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: 1.5rem !important;
  font-weight: 700 !important;
  color: var(--sb-gray-900) !important;
  margin-bottom: 1.5rem !important;
  padding-bottom: 0.75rem;
  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;
}

/* --- Quickview Popup Override --- */
.product-view .content-product-left .large-image {
  border-radius: var(--sb-radius) !important;
  overflow: hidden !important;
  background: var(--sb-gray-100);
}

.product-view .content-product-left .large-image img {
  border-radius: var(--sb-radius) !important;
}

.product-view .title-product h1 {
  font-size: 1.5rem !important;
  font-weight: 700 !important;
  color: var(--sb-gray-900) !important;
}

.product_page_price .price-new {
  font-size: 1.5rem !important;
  font-weight: 800 !important;
  color: var(--sb-gray-900) !important;
}

.btn.btn-mega {
  background: linear-gradient(135deg, var(--sb-secondary), #f97316) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 50px !important;
  padding: 0.75rem 2rem !important;
  font-weight: 600 !important;
  font-size: 0.9375rem !important;
  transition: var(--sb-transition) !important;
}

.btn.btn-mega:hover {
  box-shadow: 0 4px 14px rgba(245, 158, 11, 0.35) !important;
}

.quantity-control {
  border-radius: 50px !important;
  overflow: hidden !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;
}

/* --- Back to Top --- */
.back-to-top {
  background: var(--sb-primary) !important;
  color: #fff !important;
  border-radius: 50% !important;
  width: 40px !important;
  height: 40px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: var(--sb-shadow-md) !important;
}

.back-to-top:hover {
  background: var(--sb-secondary) !important;
}

/* --- 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: 180px !important; }
}

@media (max-width: 767px) {
  .products-list.grid .product-layout { width: 50% !important; }
  .product-image-container img { height: 160px !important; }
  .product-item-container .right-block { padding: 0.625rem 0.75rem !important; }
  .product-item-container .caption h4 { font-size: 0.8125rem !important; }
  .price .price-new { font-size: 1rem !important; }
  .footer-top .row > div { margin-bottom: 1.5rem; }
}

@media (max-width: 480px) {
  .products-list.grid .product-layout { width: 50% !important; padding: 0 0.375rem !important; }
  .product-image-container img { height: 140px !important; }
  .button-group .addToCart { font-size: 0.75rem !important; padding: 0.375rem 0.75rem !important; }
}

/* --- 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;
}
