/*
Theme Name: Offer Bazaar BD
Theme URI: https://offerbazaarbd.shop/
Author: Offer Bazaar BD
Author URI: https://offerbazaarbd.shop/
Description: A fully functional WooCommerce e-commerce theme matching offerbazaarbd.shop's exact color theme: light mint green background, orange-bordered product cards, RED "Add to cart" buttons, BLACK "অর্ডার করুন" buttons, and white "Sale!" badges. Includes flash sale countdown, live search, wishlist, quick view, AJAX cart, and complete Bengali support.
Version: 2.0.0
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: offerbazaarbd
Tags: e-commerce, woocommerce, responsive, custom-colors, custom-menu, featured-images, threaded-comments, translation-ready
WC requires at least: 6.0
WC tested up to: 8.6
*/

/* =====================================================================
   1. CSS VARIABLES — EXACT site color theme (from screenshots)
   ===================================================================== */
:root {
  /* Brand palette — matched from offerbazaarbd.shop screenshots */
  --ob-bg: #e8f5e9;            /* Light mint green — site background */
  --ob-bg-soft: #f1f8e9;       /* Slightly lighter green for sections */
  --ob-bg-card: #e8f5e9;       /* Card background = same as page */
  --ob-border: #d4a373;        /* Orange/peach card border */
  --ob-border-light: #e8c9a0;  /* Lighter border variant */

  --ob-red: #dc2626;           /* Bright red — Add to cart / sale price */
  --ob-red-dark: #b91c1c;      /* Darker red for hover */
  --ob-black: #000000;         /* Pure black — অর্ডার করুন button */
  --ob-blue: #2196F3;          /* Cart floating button blue */

  --ob-ink: #111827;
  --ob-gray-900: #1f2937;
  --ob-gray-700: #374151;
  --ob-gray-500: #6b7280;
  --ob-gray-400: #9ca3af;
  --ob-gray-300: #d1d5db;
  --ob-gray-200: #e5e7eb;
  --ob-white: #ffffff;

  --ob-gradient-brand: linear-gradient(135deg, #10b981 0%, #059669 100%);

  --ob-radius-sm: 0.5rem;
  --ob-radius: 0.85rem;
  --ob-radius-lg: 1.25rem;
  --ob-radius-full: 9999px;

  --ob-shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.08);
  --ob-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  --ob-shadow-lg: 0 10px 30px rgba(0, 0, 0, 0.15);

  --ob-container: 1280px;
  --ob-transition: all 0.25s ease;
  --ob-font: 'Hind Siliguri', 'Noto Sans Bengali', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

/* =====================================================================
   2. RESET & BASE
   ===================================================================== */
*, *::before, *::after { box-sizing: border-box; }

body.offerbazaarbd {
  margin: 0;
  font-family: var(--ob-font);
  color: var(--ob-ink);
  background: var(--ob-bg);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}

a { color: var(--ob-red); text-decoration: none; transition: var(--ob-transition); }
a:hover { color: var(--ob-red-dark); }
img { max-width: 100%; height: auto; display: block; }
button { font-family: inherit; cursor: pointer; }
h1, h2, h3, h4, h5 { margin: 0 0 0.5em; font-weight: 800; color: var(--ob-black); line-height: 1.2; }

.ob-container { max-width: var(--ob-container); margin: 0 auto; padding: 0 0.75rem; }
@media (min-width: 768px) { .ob-container { padding: 0 1.5rem; } }

.ob-section { padding: 2rem 0; }
@media (min-width: 768px) { .ob-section { padding: 3rem 0; } }

.ob-section-head { text-align: center; margin-bottom: 1.75rem; }
.ob-eyebrow {
  display: inline-block;
  color: var(--ob-red);
  font-weight: 700;
  font-size: 0.75rem;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  margin-bottom: 0.5rem;
}
.ob-section-title { font-size: clamp(1.5rem, 4vw, 2.2rem); font-weight: 900; color: var(--ob-black); }
.ob-text-gradient {
  background: linear-gradient(135deg, #dc2626 0%, #000 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

/* =====================================================================
   3. BUTTONS — RED Add to cart + BLACK অর্ডার করুন
   ===================================================================== */
.ob-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.7rem 1.5rem;
  border: none;
  border-radius: var(--ob-radius-full);
  font-weight: 700;
  font-size: 0.9rem;
  transition: var(--ob-transition);
  text-align: center;
  cursor: pointer;
}
.ob-btn-red {
  background: var(--ob-red);
  color: #fff;
  border-radius: var(--ob-radius-full);
}
.ob-btn-red:hover { background: var(--ob-red-dark); color: #fff; transform: translateY(-1px); }

.ob-btn-black {
  background: var(--ob-black);
  color: #fff;
  border-radius: var(--ob-radius-full);
}
.ob-btn-black:hover { background: #1f1f1f; color: #fff; }

.ob-btn-green {
  background: #059669;
  color: #fff;
  border-radius: var(--ob-radius-full);
}
.ob-btn-green:hover { background: #047857; color: #fff; }

.ob-btn-white {
  background: #fff;
  color: var(--ob-black);
  border-radius: var(--ob-radius-full);
}
.ob-btn-outline {
  background: transparent;
  color: var(--ob-black);
  border: 2px solid var(--ob-gray-300);
}
.ob-btn-outline:hover { border-color: var(--ob-black); }

.ob-btn-block { width: 100%; }

/* =====================================================================
   4. TOP BAR
   ===================================================================== */
.ob-topbar {
  background: #065f46; /* Dark green */
  color: #fff;
  font-size: 0.78rem;
}
.ob-topbar .ob-container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.45rem 0.75rem;
}
.ob-topbar-left, .ob-topbar-right { display: flex; align-items: center; gap: 0.7rem; }
.ob-topbar a { color: #fff; }

/* =====================================================================
   5. HEADER
   ===================================================================== */
.ob-header {
  position: relative;
  top: auto;
  z-index: 200;
  background: #fff;
  box-shadow: var(--ob-shadow-sm);
  border-bottom: 2px solid var(--ob-border-light);
}
.ob-header-main {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 0.6rem 0.75rem;
  max-width: var(--ob-container);
  margin: 0 auto;
}
.ob-logo { display: flex; align-items: center; gap: 0.6rem; flex-shrink: 0; }
.ob-logo-mark {
  width: 46px; height: 46px;
  border-radius: var(--ob-radius-sm);
  background: var(--ob-gradient-brand);
  display: flex; align-items: center; justify-content: center;
  color: #fff; font-weight: 900; font-size: 1.2rem;
}
.ob-logo-text h1 { font-size: 1.15rem; margin: 0; line-height: 1.1; color: var(--ob-black); }
.ob-logo-text h1 span { color: var(--ob-red); }
.ob-logo-text p { margin: 0; font-size: 0.62rem; color: var(--ob-gray-500); }

.ob-search { flex: 1; position: relative; }
.ob-search input {
  width: 100%;
  padding: 0.65rem 0.85rem 0.65rem 2.5rem;
  background: var(--ob-bg);
  border: 2px solid var(--ob-border-light);
  border-radius: var(--ob-radius-full);
  font-size: 0.88rem;
  outline: none;
  transition: var(--ob-transition);
}
.ob-search input:focus { border-color: var(--ob-red); background: #fff; }
.ob-search svg { position: absolute; left: 0.9rem; top: 50%; transform: translateY(-50%); width: 18px; height: 18px; color: var(--ob-gray-500); }

.ob-actions { display: flex; align-items: center; gap: 0.2rem; margin-left: auto; }
.ob-icon-btn {
  position: relative;
  width: 42px; height: 42px;
  display: flex; align-items: center; justify-content: center;
  background: transparent; border: none;
  border-radius: var(--ob-radius-full);
  color: var(--ob-gray-700);
  transition: var(--ob-transition);
}
.ob-icon-btn:hover { background: var(--ob-bg); color: var(--ob-red); }
.ob-cart-pill {
  width: auto;
  min-width: 96px;
  padding: 0 12px;
  border: 2px solid #6bcf6b;
  gap: 8px;
}
.ob-cart-total {
  font-weight: 800;
  font-size: .9rem;
  color: var(--ob-gray-700);
  white-space: nowrap;
}
.ob-badge {
  position: absolute; top: 2px; right: 2px;
  min-width: 18px; height: 18px; padding: 0 4px;
  background: var(--ob-red); color: #fff;
  font-size: 0.65rem; font-weight: 700;
  border-radius: var(--ob-radius-full);
  display: flex; align-items: center; justify-content: center;
}

/* Navigation */
.ob-nav { border-top: 1px solid var(--ob-gray-200); background: var(--ob-bg); }
.ob-nav-inner { max-width: var(--ob-container); margin: 0 auto; padding: 0 0.75rem; }
.ob-nav ul { display: flex; align-items: center; gap: 0.25rem; list-style: none; margin: 0; padding: 0; flex-wrap: wrap; }
.ob-nav > .ob-nav-inner > ul > li > a {
  display: flex; align-items: center; gap: 0.4rem;
  padding: 0.75rem 0.9rem;
  font-size: 0.86rem; font-weight: 700;
  color: var(--ob-black);
}
.ob-nav > .ob-nav-inner > ul > li > a:hover { color: var(--ob-red); }
.ob-nav-flash a { color: var(--ob-red) !important; font-weight: 800; }
.ob-mobile-toggle { display: none; }

/* =====================================================================
   6. HERO
   ===================================================================== */
.ob-hero { position: relative; overflow: hidden; background: var(--ob-bg); }
.ob-hero-grid { display: grid; grid-template-columns: 1fr; gap: 1rem; padding: 1.5rem 0; }
@media (min-width: 900px) { .ob-hero-grid { grid-template-columns: 2fr 1fr; } }
.ob-hero-main {
  position: relative;
  border-radius: var(--ob-radius-lg);
  background: var(--ob-gradient-brand);
  color: #fff; padding: 2rem;
  overflow: hidden;
  border: 2px solid var(--ob-border-light);
}
.ob-hero-badge {
  display: inline-flex; align-items: center; gap: 0.4rem;
  background: rgba(255,255,255,0.95);
  color: var(--ob-red);
  padding: 0.4rem 0.85rem;
  border-radius: var(--ob-radius-full);
  font-size: 0.8rem; font-weight: 700; margin-bottom: 1rem;
}
.ob-hero-main h2 { font-size: clamp(1.8rem,5vw,2.8rem); color: #fff; margin-bottom: 0.75rem; font-weight: 900; }
.ob-hero-main h2 span { color: var(--ob-bg); }
.ob-hero-main p { color: rgba(255,255,255,0.95); max-width: 28rem; margin-bottom: 1.25rem; font-size: 0.95rem; }
.ob-hero-cta { display: flex; flex-wrap: wrap; gap: 0.75rem; }
.ob-hero-trust { margin-top: 1.5rem; display: flex; flex-wrap: wrap; gap: 1rem; font-size: 0.8rem; }
.ob-hero-trust span { display: flex; align-items: center; gap: 0.4rem; background: rgba(255,255,255,0.15); padding: 0.35rem 0.7rem; border-radius: var(--ob-radius-full); }
.ob-hero-side { display: flex; flex-direction: column; gap: 1rem; }
.ob-hero-card {
  border-radius: var(--ob-radius);
  padding: 1rem;
  color: #fff;
  display: flex; align-items: center; gap: 0.75rem;
  background: var(--ob-gradient-brand);
  border: 2px solid var(--ob-border-light);
}
.ob-hero-card.warm { background: #047857; }
.ob-hero-card img { width: 80px; height: 80px; border-radius: var(--ob-radius-sm); background: rgba(255,255,255,0.2); padding: 4px; object-fit: cover; }

/* Trust strip */
.ob-trust-strip { display: grid; grid-template-columns: repeat(2,1fr); gap: 0.75rem; padding-bottom: 1.5rem; }
@media (min-width: 768px) { .ob-trust-strip { grid-template-columns: repeat(4,1fr); } }
.ob-trust-item {
  background: #fff;
  border-radius: var(--ob-radius);
  padding: 0.85rem;
  display: flex; align-items: center; gap: 0.6rem;
  border: 2px solid var(--ob-border-light);
}
.ob-trust-icon { width: 42px; height: 42px; border-radius: var(--ob-radius-sm); display: flex; align-items: center; justify-content: center; color: #fff; flex-shrink: 0; }
.ob-trust-item strong { font-size: 0.82rem; display: block; color: var(--ob-black); }
.ob-trust-item small { color: var(--ob-gray-500); font-size: 0.7rem; }

/* =====================================================================
   7. CATEGORY GRID
   ===================================================================== */
.ob-cat-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 0.85rem; }
@media (min-width: 768px) { .ob-cat-grid { grid-template-columns: repeat(4,1fr); } }
@media (min-width: 1100px) { .ob-cat-grid { grid-template-columns: repeat(7,1fr); } }
.ob-cat-card {
  background: var(--ob-bg-card);
  border: 2px solid var(--ob-border);
  border-radius: var(--ob-radius);
  padding: 1rem 0.6rem;
  text-align: center;
  transition: var(--ob-transition);
}
.ob-cat-card:hover { transform: translateY(-3px); box-shadow: var(--ob-shadow); border-color: var(--ob-red); }
.ob-cat-icon {
  width: 100%;
  aspect-ratio: 1;
  border-radius: var(--ob-radius-sm);
  display: flex; align-items: center; justify-content: center;
  font-size: 2.8rem;
  background: #fff;
  border: 1px solid var(--ob-border-light);
  margin-bottom: 0.5rem;
}
.ob-cat-card span { font-size: 0.85rem; font-weight: 800; color: var(--ob-black); line-height: 1.2; display: block; }

/* =====================================================================
   8. PRODUCT CARDS — EXACT match to screenshots
   ===================================================================== */
.woocommerce ul.products,
.ob-products {
  display: grid;
  grid-template-columns: repeat(2,1fr);
  gap: 0.85rem;
  list-style: none;
  margin: 0; padding: 0;
}
@media (min-width: 768px) {
  .woocommerce ul.products, .ob-products { grid-template-columns: repeat(3,1fr); gap: 1rem; }
}
@media (min-width: 1100px) {
  .woocommerce ul.products, .ob-products { grid-template-columns: repeat(4,1fr); }
}

.woocommerce ul.products li.product,
.ob-product {
  position: relative;
  background: var(--ob-bg-card);
  border: 2px solid var(--ob-border);
  border-radius: var(--ob-radius);
  overflow: hidden;
  transition: var(--ob-transition);
  margin: 0 !important;
  width: auto !important;
  float: none !important;
  clear: none !important;
  display: flex;
  flex-direction: column;
  height: 100%;
}
.woocommerce ul.products li.product:hover,
.ob-product:hover { border-color: var(--ob-red); box-shadow: var(--ob-shadow); }

/* Image area */
.ob-product-media { position: relative; aspect-ratio: 1; overflow: hidden; background: #fff; padding: 0.5rem; }
.ob-product-media img {
  width: 100%; height: 100%;
  object-fit: contain;
  border-radius: var(--ob-radius-sm);
  background: #fff;
  transition: transform 0.4s;
}
.ob-product:hover .ob-product-media img { transform: scale(1.04); }

/* Sale badge — white circle with red text (matches screenshot exactly) */
.ob-product-badges { position: absolute; top: 0.6rem; left: 0.6rem; z-index: 2; }
.ob-tag-sale {
  background: #fff;
  color: var(--ob-black);
  font-size: 0.75rem;
  font-weight: 800;
  padding: 0.35rem 0.75rem;
  border-radius: var(--ob-radius-full);
  box-shadow: var(--ob-shadow-sm);
  border: 2px solid var(--ob-border-light);
}

/* Wishlist button */
.ob-wishlist-btn {
  position: absolute; top: 0.6rem; right: 0.6rem; z-index: 2;
  width: 36px; height: 36px; border-radius: var(--ob-radius-full);
  background: #fff; border: 2px solid var(--ob-border-light);
  display: flex; align-items: center; justify-content: center;
  box-shadow: var(--ob-shadow-sm);
  transition: var(--ob-transition);
}
.ob-wishlist-btn.active { background: var(--ob-red); border-color: var(--ob-red); }
.ob-wishlist-btn.active svg { fill: #fff; color: #fff; }

/* Body */
.ob-product-body {
  padding: 0.85rem;
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
}
.ob-product-cat {
  font-size: 0.72rem;
  color: var(--ob-gray-500);
  font-weight: 500;
  display: block;
  margin-bottom: 0.25rem;
  min-height: 1.2em;
}
.ob-product-title {
  font-size: 0.92rem;
  font-weight: 700;
  line-height: 1.35;
  margin: 0 0 0.5rem;
  min-height: 3.8em;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  color: var(--ob-black);
}
.ob-product-title a { color: var(--ob-black); }
.ob-product-title a:hover { color: var(--ob-red); }

/* Price — original struck gray, sale RED */
.ob-price {
  display: flex;
  align-items: baseline;
  gap: 0.5rem;
  margin-bottom: 0.75rem;
  flex-wrap: wrap;
  min-height: 1.8em;
}
.ob-price .now { font-size: 1.05rem; font-weight: 900; color: var(--ob-red); }
.ob-price .now::before { content: "BDT "; font-size: 0.85em; font-weight: 700; }
.ob-price .was { font-size: 0.85rem; color: var(--ob-gray-400); text-decoration: line-through; }
.ob-price .was::before { content: "BDT "; font-weight: 600; }

/* Buttons — RED Add to cart + BLACK অর্ডার করুন */
.ob-add-btn {
  width: 100%;
  background: var(--ob-red);
  color: #fff;
  font-weight: 700;
  font-size: 0.9rem;
  padding: 0.7rem 1rem;
  border: none;
  border-radius: var(--ob-radius-full);
  margin-top: auto;
  margin-bottom: 0.5rem;
  cursor: pointer;
  transition: var(--ob-transition);
  display: flex; align-items: center; justify-content: center; gap: 0.4rem;
}
.ob-add-btn:hover { background: var(--ob-red-dark); transform: translateY(-1px); }

.ob-order-btn {
  width: 100%;
  background: var(--ob-black);
  color: #fff;
  font-weight: 700;
  font-size: 0.95rem;
  padding: 0.7rem 1rem;
  border: none;
  border-radius: var(--ob-radius-full);
  cursor: pointer;
  transition: var(--ob-transition);
  display: flex; align-items: center; justify-content: center; gap: 0.4rem;
}
.ob-order-btn:hover { background: #1f1f1f; transform: translateY(-1px); }

/* WooCommerce price overrides to match */
.woocommerce ul.products li.product .price { color: var(--ob-red); font-weight: 900; font-size: 1rem; }
.woocommerce ul.products li.product .price del { color: var(--ob-gray-400); font-weight: 400; font-size: 0.85rem; }
.woocommerce span.onsale {
  background: #fff;
  color: var(--ob-black);
  border-radius: var(--ob-radius-full);
  min-height: auto; min-width: auto;
  padding: 0.3rem 0.7rem;
  font-weight: 800; font-size: 0.72rem;
  top: 0.6rem; left: 0.6rem; right: auto;
  box-shadow: var(--ob-shadow-sm);
  border: 2px solid var(--ob-border-light);
  line-height: 1;
}

.woocommerce ul.products li.product .button,
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button {
  background: var(--ob-red);
  color: #fff;
  border-radius: var(--ob-radius-full);
  font-weight: 700;
  padding: 0.6rem 1rem;
  transition: var(--ob-transition);
}
.woocommerce a.button:hover, .woocommerce button.button:hover {
  background: var(--ob-red-dark);
}

/* =====================================================================
   9. FLASH SALE
   ===================================================================== */
.ob-flash { background: var(--ob-bg); }
.ob-flash-head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 1rem; margin-bottom: 1.25rem; }
.ob-flash-label { display: flex; align-items: center; gap: 0.5rem; color: var(--ob-red); font-weight: 900; text-transform: uppercase; letter-spacing: 0.05em; margin-bottom: 0.4rem; }
.ob-flash-label .ob-bolt { background: var(--ob-red); padding: 0.4rem; border-radius: var(--ob-radius-sm); display: flex; }
.ob-flash-label svg { width: 16px; height: 16px; color: #fff; }
.ob-countdown { display: flex; align-items: center; gap: 0.4rem; }
.ob-countdown-unit { background: var(--ob-black); color: #fff; padding: 0.4rem 0.6rem; border-radius: var(--ob-radius-sm); text-align: center; min-width: 48px; }
.ob-countdown-unit b { display: block; font-size: 1.15rem; font-weight: 900; }
.ob-countdown-unit small { font-size: 0.55rem; color: var(--ob-gray-400); letter-spacing: 0.1em; }
.ob-countdown-sep { font-weight: 900; font-size: 1rem; color: var(--ob-black); }

/* =====================================================================
   10. FEATURES
   ===================================================================== */
.ob-features { display: grid; grid-template-columns: repeat(2,1fr); gap: 0.85rem; }
@media (min-width: 768px) { .ob-features { grid-template-columns: repeat(4,1fr); } }
.ob-feature-card { border-radius: var(--ob-radius); padding: 1.25rem; border: 2px solid var(--ob-border-light); background: #fff; transition: var(--ob-transition); }
.ob-feature-card:hover { transform: translateY(-3px); box-shadow: var(--ob-shadow); }
.ob-feature-icon { width: 48px; height: 48px; border-radius: var(--ob-radius); display: flex; align-items: center; justify-content: center; color: #fff; margin-bottom: 0.85rem; }
.ob-feature-card h3 { font-size: 0.98rem; margin-bottom: 0.3rem; }
.ob-feature-card p { font-size: 0.8rem; color: var(--ob-gray-500); margin: 0; }

/* =====================================================================
   11. FOOTER
   ===================================================================== */
.ob-footer { background: #064e3b; color: #d1fae5; } /* Dark green */
.ob-footer-features { border-bottom: 1px solid #065f46; }
.ob-footer-features .ob-container { display: grid; grid-template-columns: repeat(2,1fr); gap: 1rem; padding: 1.5rem 0.75rem; }
@media (min-width: 768px) { .ob-footer-features .ob-container { grid-template-columns: repeat(4,1fr); } }
.ob-footer-feature { display: flex; align-items: center; gap: 0.7rem; }
.ob-footer-feature .ic { width: 44px; height: 44px; border-radius: var(--ob-radius-sm); background: var(--ob-red); display: flex; align-items: center; justify-content: center; color: #fff; flex-shrink: 0; }
.ob-footer-feature strong { color: #fff; display: block; font-size: 0.86rem; }
.ob-footer-feature small { color: #a7f3d0; font-size: 0.72rem; }

.ob-newsletter { border-bottom: 1px solid #065f46; background: #065f46; text-align: center; }
.ob-newsletter .ob-container { padding: 2rem 1rem; }
.ob-newsletter h3 { color: #fff; font-size: 1.35rem; }
.ob-newsletter h3 span { color: #fca5a5; }
.ob-newsletter p { color: #a7f3d0; margin-bottom: 1rem; font-size: 0.88rem; }
.ob-newsletter-form { max-width: 28rem; margin: 0 auto; display: flex; gap: 0.5rem; }
.ob-newsletter-form input { flex: 1; padding: 0.75rem 1rem; background: #fff; border: none; border-radius: var(--ob-radius-full); outline: none; }

.ob-footer-main { display: grid; grid-template-columns: repeat(2,1fr); gap: 1.5rem; padding: 2rem 0.75rem; max-width: var(--ob-container); margin: 0 auto; }
@media (min-width: 900px) { .ob-footer-main { grid-template-columns: repeat(4,1fr); } }
.ob-footer-col h4 { color: #fff; font-size: 0.82rem; text-transform: uppercase; letter-spacing: 0.08em; margin-bottom: 0.85rem; border-bottom: 2px solid var(--ob-red); display: inline-block; padding-bottom: 0.3rem; }
.ob-footer-col ul { list-style: none; margin: 0; padding: 0; }
.ob-footer-col li { margin-bottom: 0.45rem; }
.ob-footer-col a { color: #a7f3d0; font-size: 0.86rem; }
.ob-footer-col a:hover { color: #fff; }
.ob-footer-social { display: flex; gap: 0.5rem; margin-top: 0.85rem; }
.ob-footer-social a { width: 34px; height: 34px; background: #065f46; border-radius: var(--ob-radius-full); display: flex; align-items: center; justify-content: center; color: #fff; }
.ob-footer-social a:hover { background: var(--ob-red); }
.ob-footer-bottom { border-top: 1px solid #065f46; }
.ob-footer-bottom .ob-container { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0.5rem; padding: 1rem 0.75rem; font-size: 0.76rem; color: #a7f3d0; }

/* =====================================================================
   12. CART DRAWER & MODALS
   ===================================================================== */
.ob-overlay { position: fixed; inset: 0; background: rgba(0,0,0,0.6); z-index: 900; opacity: 0; visibility: hidden; transition: var(--ob-transition); }
.ob-overlay.open { opacity: 1; visibility: visible; }
.ob-drawer {
  position: fixed; top: 0; right: 0; height: 100%; width: 100%; max-width: 420px;
  background: var(--ob-bg); z-index: 950; box-shadow: -8px 0 32px rgba(0,0,0,0.2);
  display: flex; flex-direction: column;
  transform: translateX(100%); transition: transform 0.3s ease;
}
.ob-drawer.open { transform: translateX(0); }
.ob-drawer-head { background: var(--ob-red); color: #fff; padding: 1.15rem; display: flex; align-items: center; justify-content: space-between; }
.ob-drawer-body { flex: 1; overflow-y: auto; padding: 1rem; }
.ob-drawer-foot { border-top: 1px solid var(--ob-border-light); padding: 1.15rem; background: #fff; }

/* =====================================================================
   13. FLOATING CART BUTTON (matches screenshot)
   ===================================================================== */
.ob-float-cart {
  position: fixed; bottom: 1.25rem; left: 1.25rem; z-index: 80;
  width: 56px; height: 56px; border-radius: 50%;
  background: var(--ob-blue); color: #fff;
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 6px 18px rgba(33,150,243,0.4);
  border: 3px solid #fff;
  cursor: pointer;
  transition: var(--ob-transition);
}
.ob-float-cart:hover { transform: scale(1.08); }
.ob-float-cart .ob-badge {
  position: absolute; top: -4px; left: -4px;
  background: var(--ob-red); color: #fff;
  min-width: 22px; height: 22px; font-size: 0.72rem;
  border: 2px solid #fff;
}

/* =====================================================================
   14. WOOCOMMERCE PAGE TWEAKS
   ===================================================================== */
.woocommerce-message, .woocommerce-info, .woocommerce-error {
  border-top-color: var(--ob-red);
  border-radius: var(--ob-radius-sm);
}
.woocommerce-message::before, .woocommerce-info::before { color: var(--ob-red); }
.woocommerce .star-rating span::before { color: var(--ob-red); }
.woocommerce nav.woocommerce-pagination ul li span.current {
  background: var(--ob-red); color: #fff; border-radius: var(--ob-radius-sm);
}
.woocommerce-breadcrumb { color: var(--ob-gray-500); font-size: 0.82rem; padding: 0.85rem 0; }

.ob-shop-layout {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.25rem;
  align-items: start;
}
@media (min-width: 900px) {
  .ob-shop-layout { grid-template-columns: 300px minmax(0, 1fr); }
}
.ob-shop-main {
  min-width: 0;
}
.ob-shop-main .woocommerce-ordering,
.ob-shop-main .woocommerce-result-count {
  margin-bottom: 1rem !important;
}
.ob-shop-main .woocommerce-ordering select {
  min-width: 220px;
}
.ob-sidebar {
  min-width: 0;
}
.ob-sidebar-card {
  background: var(--ob-bg-card);
  border: 2px solid var(--ob-border-light);
  border-radius: var(--ob-radius);
  padding: 1.15rem;
  margin-bottom: 1rem;
}
.ob-sidebar-card h3 { font-size: 0.82rem; text-transform: uppercase; letter-spacing: 0.08em; margin-bottom: 0.65rem; display: flex; align-items: center; gap: 0.4rem; color: var(--ob-black); }

/* Shop archive specific alignment */
.post-type-archive-product .ob-shop-main ul.products,
.tax-product_cat .ob-shop-main ul.products,
.tax-product_tag .ob-shop-main ul.products {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)) !important;
  gap: 1rem !important;
  align-items: stretch !important;
}
@media (max-width: 768px) {
  .post-type-archive-product .ob-shop-main ul.products,
  .tax-product_cat .ob-shop-main ul.products,
  .tax-product_tag .ob-shop-main ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 520px) {
  .post-type-archive-product .ob-shop-main ul.products,
  .tax-product_cat .ob-shop-main ul.products,
  .tax-product_tag .ob-shop-main ul.products {
    grid-template-columns: 1fr !important;
  }
}

/* =====================================================================
   15. SEARCH RESULTS, QUICK VIEW, SPINNER, MISC
   ===================================================================== */
.ob-search-results {
  position: absolute; top: calc(100% + 0.4rem); left: 0; right: 0;
  background: #fff; border: 2px solid var(--ob-border-light);
  border-radius: var(--ob-radius); box-shadow: var(--ob-shadow-lg);
  overflow: hidden; z-index: 300; display: none;
}
.ob-search-results.open { display: block; }
.ob-search-item { display: flex; align-items: center; gap: 0.65rem; padding: 0.65rem 0.85rem; transition: var(--ob-transition); }
.ob-search-item:hover { background: var(--ob-bg); }
.ob-search-item img { width: 42px; height: 42px; border-radius: 0.5rem; object-fit: cover; }
.ob-search-item strong { display: block; font-size: 0.83rem; color: var(--ob-black); }
.ob-search-item span { font-size: 0.76rem; color: var(--ob-red); font-weight: 700; }
.ob-search-empty { padding: 0.85rem; text-align: center; color: var(--ob-gray-500); font-size: 0.83rem; }

.ob-qv-modal {
  position: fixed; top: 50%; left: 50%;
  transform: translate(-50%, -48%) scale(0.96);
  width: calc(100% - 1.5rem); max-width: 840px; max-height: 90vh; overflow-y: auto;
  background: #fff; border-radius: var(--ob-radius-lg);
  box-shadow: 0 20px 60px rgba(0,0,0,0.3);
  z-index: 960; opacity: 0; visibility: hidden; transition: var(--ob-transition);
}
.ob-qv-modal.open { opacity: 1; visibility: visible; transform: translate(-50%, -50%) scale(1); }
.ob-qv { display: grid; grid-template-columns: 1fr 1fr; }
.ob-qv-media { background: var(--ob-bg); padding: 1.5rem; }
.ob-qv-media img { width: 100%; border-radius: var(--ob-radius); }
.ob-qv-body { padding: 1.5rem; }
.ob-qv-body h2 { font-size: 1.3rem; }
@media (max-width: 700px) { .ob-qv { grid-template-columns: 1fr; } }

.ob-spinner {
  display: inline-block; width: 16px; height: 16px;
  border: 2px solid rgba(255,255,255,0.4); border-top-color: #fff;
  border-radius: 50%; animation: ob-spin 0.7s linear infinite;
  vertical-align: middle;
}
@keyframes ob-spin { to { transform: rotate(360deg); } }

.ob-hide-mobile { display: inline; }
@media (max-width: 600px) { .ob-hide-mobile { display: none; } }

/* WooCommerce single page */
.woocommerce div.product p.price, .woocommerce div.product span.price { color: var(--ob-red); font-weight: 900; font-size: 1.4rem; }
.woocommerce #respond input#submit, .woocommerce div.product form.cart .button {
  background: var(--ob-red); color: #fff; border-radius: var(--ob-radius-full); font-weight: 700; padding: 0.75rem 1.8rem;
}
.woocommerce div.product form.cart .button:hover { background: var(--ob-red-dark); }
.woocommerce div.product form.cart {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
}
.woocommerce div.product form.cart .quantity {
  margin: 0 !important;
}
.woocommerce div.product form.cart .single_add_to_cart_button {
  min-width: 180px;
}
.ob-single-order-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 180px;
  min-height: 48px;
  padding: 0.75rem 1.5rem !important;
  margin: 0 !important;
  background: #000 !important;
  color: #fff !important;
  border-radius: 9999px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}
@media (max-width: 768px) {
  .woocommerce div.product form.cart {
    flex-direction: row;
    align-items: stretch;
  }
  .woocommerce div.product form.cart .quantity,
  .woocommerce div.product form.cart .single_add_to_cart_button,
  .ob-single-order-btn {
    width: 100%;
  }
}

/* Cart / Checkout */
.woocommerce-cart table.cart .product-remove a, .woocommerce a.remove { color: var(--ob-red) !important; }
.woocommerce-checkout #payment, .woocommerce table.shop_table { border-radius: var(--ob-radius); }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea,
.select2-container--default .select2-selection--single {
  border-radius: var(--ob-radius-sm); border: 2px solid var(--ob-border-light); padding: 0.6rem 0.85rem;
}

/* =====================================================================
   CHECKOUT PAGE FIXES
   ===================================================================== */

/* Checkout page full width */
body.woocommerce-checkout .ob-checkout-wrapper,
body.woocommerce-cart .ob-checkout-wrapper {
  max-width: 1400px !important;
  margin: 0 auto;
  padding: 20px 15px;
}

/* Fix checkout form width */
.woocommerce form.checkout {
  max-width: 100%;
}

/* =====================================================================
   16. FULL WIDTH FIXES
   ===================================================================== */

/* Homepage full width */
body.offerbazaarbd .ob-hero,
body.offerbazaarbd .ob-section {
  width: 100%;
  max-width: 100%;
}

/* Container fix for better width */
.ob-container {
  max-width: 1320px;
  width: 100%;
  margin: 0 auto;
  padding-left: 15px;
  padding-right: 15px;
}

/* Product grid full width */
.woocommerce ul.products,
.ob-products {
  width: 100%;
  max-width: 100%;
  margin-left: 0;
  margin-right: 0;
}

/* Remove default WooCommerce container constraints */
.woocommerce .woocommerce-breadcrumb,
.woocommerce .page-title {
  max-width: 1320px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 15px;
  padding-right: 15px;
}

/* =====================================================================
   17. BUTTON FIXES
   ===================================================================== */

/* অর্ডার করুন button - white text (FORCE) */
.ob-order-btn,
.ob-btn-black,
button.ob-order-btn,
a.ob-order-btn {
  color: #ffffff !important;
  background: #000000 !important;
  border: none;
}
.ob-order-btn:hover,
.ob-btn-black:hover,
button.ob-order-btn:hover,
a.ob-order-btn:hover {
  color: #ffffff !important;
  background: #1f1f1f !important;
}

/* Make sure all black buttons have white text */
.ob-btn-black {
  color: #fff !important;
}

/* Add to cart button */
.ob-add-btn,
.btn-red {
  color: #ffffff !important;
}
.ob-add-btn:hover,
.btn-red:hover {
  color: #ffffff !important;
}

/* =====================================================================
   16. RESPONSIVE
   ===================================================================== */
@media (max-width: 900px) {
  .ob-nav { display: none; }
  .ob-mobile-toggle { display: flex; }
  .ob-shop-layout { grid-template-columns: 1fr; }
  .ob-sidebar { display: none; }
}
@media (max-width: 600px) {
  .ob-logo-text { display: none; }
  .ob-header-main { gap: 0.6rem; }
}

/* =====================================================================
   18. CRITICAL FULL-WIDTH & BUTTON OVERRIDES
   These must be at the END so they win over all other rules.
   ===================================================================== */

/* --- A) FULL WIDTH: remove all max-width constraints --- */
html body.offerbazaarbd,
html body.offerbazaarbd .site,
html body.offerbazaarbd #page,
html body.offerbazaarbd #content,
html body.offerbazaarbd .site-content,
html body.offerbazaarbd .ast-container,
html body.offerbazaarbd .entry-content {
  max-width: 100% !important;
  width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Our container is 100% with internal padding */
.ob-container {
  max-width: 1400px !important;
  width: 100% !important;
  margin: 0 auto !important;
  padding-left: 20px !important;
  padding-right: 20px !important;
  box-sizing: border-box !important;
}

/* Sections stretch full width, content centered */
.ob-hero,
.ob-section,
.ob-flash,
.ob-footer,
.ob-topbar,
.ob-header,
.ob-nav {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

/* Hero grid full width */
.ob-hero-grid {
  display: grid !important;
  grid-template-columns: 2fr 1fr !important;
  gap: 1rem !important;
}
@media (max-width: 900px) {
  .ob-hero-grid { grid-template-columns: 1fr !important; }
}

/* Product grid */
.woocommerce ul.products,
.ob-products {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 1rem !important;
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  list-style: none !important;
}
@media (max-width: 900px) {
  .woocommerce ul.products, .ob-products {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

/* Trust strip */
.ob-trust-strip {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 0.75rem !important;
}
@media (max-width: 768px) {
  .ob-trust-strip { grid-template-columns: repeat(2, 1fr) !important; }
}

/* Category grid */
.ob-cat-grid {
  display: grid !important;
  gap: 0.85rem !important;
}
@media (min-width: 1100px) { .ob-cat-grid { grid-template-columns: repeat(7,1fr) !important; } }
@media (min-width: 768px) and (max-width: 1099px) { .ob-cat-grid { grid-template-columns: repeat(4,1fr) !important; } }
@media (max-width: 767px) { .ob-cat-grid { grid-template-columns: repeat(2,1fr) !important; } }

/* Features grid */
.ob-features {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 1rem !important;
}
@media (max-width: 768px) {
  .ob-features { grid-template-columns: repeat(2, 1fr) !important; }
}

/* Footer grid */
.ob-footer-main {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 2rem !important;
}
@media (max-width: 900px) {
  .ob-footer-main { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 600px) {
  .ob-footer-main { grid-template-columns: 1fr !important; }
}
.ob-footer-features .ob-container {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 1rem !important;
}
@media (max-width: 768px) {
  .ob-footer-features .ob-container { grid-template-columns: repeat(2, 1fr) !important; }
}

/* --- B) BUTTON TEXT COLOR: WHITE on red & black buttons --- */
.ob-order-btn,
a.ob-order-btn,
button.ob-order-btn,
.ob-btn-black,
a.ob-btn-black,
button.ob-btn-black,
.woocommerce a.ob-order-btn,
.woocommerce button.ob-order-btn {
  color: #ffffff !important;
  background-color: #000000 !important;
  border: none !important;
  text-decoration: none !important;
}
.ob-order-btn:hover,
a.ob-order-btn:hover,
.ob-btn-black:hover {
  color: #ffffff !important;
  background-color: #222222 !important;
}
.ob-order-btn:visited,
a.ob-order-btn:visited {
  color: #ffffff !important;
}

.ob-add-btn,
a.ob-add-btn,
button.ob-add-btn,
.ob-btn-red,
a.ob-btn-red,
.woocommerce a.ob-add-btn,
.woocommerce button.ob-add-btn,
.woocommerce ul.products li.product .button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce div.product form.cart .button {
  color: #ffffff !important;
  background-color: var(--ob-red) !important;
  border: none !important;
  border-radius: var(--ob-radius-full) !important;
  text-decoration: none !important;
}
.ob-add-btn:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover {
  color: #ffffff !important;
  background-color: var(--ob-red-dark) !important;
}

/* --- C) CHECKOUT & CART PAGE FIXES --- */
body.woocommerce-checkout,
body.woocommerce-cart {
  background: var(--ob-bg) !important;
}

/* Checkout full width layout */
body.woocommerce-checkout .ob-container,
body.woocommerce-cart .ob-container,
body.woocommerce-checkout .ob-shop-main,
body.woocommerce-cart .ob-shop-main,
body.woocommerce-checkout .ob-shop-layout,
body.woocommerce-cart .ob-shop-layout {
  max-width: 1400px !important;
  width: 100% !important;
  display: block !important;
}

/* Checkout form styling */
.woocommerce-checkout .woocommerce {
  max-width: 1400px !important;
  margin: 0 auto !important;
  padding: 20px !important;
}

.woocommerce form.checkout,
.woocommerce-checkout #customer_details {
  max-width: 100% !important;
  width: 100% !important;
}

/* Checkout two-column layout */
.woocommerce-checkout .col2-set {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 2rem !important;
}
@media (max-width: 768px) {
  .woocommerce-checkout .col2-set { grid-template-columns: 1fr !important; }
}

/* Checkout fields */
.woocommerce form .form-row {
  margin-bottom: 1rem !important;
}
.woocommerce form .form-row label {
  font-weight: 600 !important;
  color: var(--ob-ink) !important;
  font-size: 0.88rem !important;
  margin-bottom: 0.4rem !important;
  display: block !important;
}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.select2-container--default .select2-selection--single {
  border: 2px solid var(--ob-border-light) !important;
  border-radius: var(--ob-radius-sm) !important;
  padding: 0.7rem 1rem !important;
  font-size: 0.9rem !important;
  background: #fff !important;
  width: 100% !important;
  box-sizing: border-box !important;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus {
  border-color: var(--ob-red) !important;
  outline: none !important;
  box-shadow: 0 0 0 2px rgba(220,38,38,0.15) !important;
}

/* Order summary / review table */
.woocommerce-checkout-review-order {
  background: #fff !important;
  border: 2px solid var(--ob-border-light) !important;
  border-radius: var(--ob-radius) !important;
  padding: 1.5rem !important;
}
.woocommerce table.shop_table {
  border: none !important;
  border-radius: var(--ob-radius) !important;
}
.woocommerce table.shop_table th,
.woocommerce table.shop_table td {
  padding: 0.85rem 0.6rem !important;
  border-bottom: 1px solid var(--ob-border-light) !important;
}

/* Place order button */
.woocommerce #place_order,
.woocommerce .checkout_coupon .button,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
  background: var(--ob-red) !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: var(--ob-radius-full) !important;
  font-weight: 700 !important;
  font-size: 1rem !important;
  padding: 0.9rem 2rem !important;
  width: 100% !important;
  cursor: pointer !important;
  text-align: center !important;
}
.woocommerce #place_order:hover {
  background: var(--ob-red-dark) !important;
}

/* Remove ship to different address block, use billing-only UX */
.woocommerce-checkout #ship-to-different-address,
.woocommerce-checkout .shipping_address,
.woocommerce-checkout .woocommerce-shipping-fields,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper {
  display: none !important;
}

/* Payment box */
.woocommerce-checkout #payment {
  background: var(--ob-bg) !important;
  border: 2px solid var(--ob-border-light) !important;
  border-radius: var(--ob-radius) !important;
  padding: 1.25rem !important;
}
.woocommerce-checkout #payment ul.payment_methods {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 0 1rem !important;
}
.woocommerce-checkout #payment ul.payment_methods li {
  padding: 0.75rem !important;
  margin-bottom: 0.5rem !important;
  border: 2px solid var(--ob-border-light) !important;
  border-radius: var(--ob-radius-sm) !important;
  background: #fff !important;
}

/* Free shipping notice */
.woocommerce-message,
.woocommerce-info {
  border-radius: var(--ob-radius-sm) !important;
  padding: 0.85rem 1.25rem !important;
  font-size: 0.88rem !important;
  margin-bottom: 1.5rem !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

/* WooCommerce notices */
.woocommerce-error { border-top-color: var(--ob-red) !important; }

/* Shipping options in checkout */
.woocommerce-shipping-methods {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
.woocommerce-shipping-methods li {
  padding: 0.5rem 0 !important;
}
.woocommerce-shipping-methods li label {
  font-weight: 500 !important;
  cursor: pointer !important;
}

/* Cart page */
.woocommerce-cart table.cart {
  width: 100% !important;
  border-radius: var(--ob-radius) !important;
  overflow: hidden !important;
}
.woocommerce-cart table.cart img {
  max-width: 80px !important;
  border-radius: var(--ob-radius-sm) !important;
}

/* Single product page full width */
.woocommerce div.product {
  max-width: 1400px !important;
  margin: 0 auto !important;
  padding: 2rem 20px !important;
}
.woocommerce div.product div.images,
.woocommerce div.product div.summary {
  max-width: 100% !important;
}

/* --- D) ELEMENTOR COMPATIBILITY --- */
/* When Elementor is active, prevent it from constraining our layout */
body.elementor-default .ob-hero,
body.elementor-default .ob-section,
body.elementor-default .ob-flash,
body.elementor-page .ob-hero,
body.elementor-page .ob-section,
body.elementor-page .ob-flash {
  width: 100% !important;
  max-width: 100% !important;
}
body.elementor-default .elementor-section.elementor-section-boxed > .elementor-container,
body.elementor-page .elementor-section.elementor-section-boxed > .elementor-container {
  max-width: 1400px !important;
}

/* --- E) ACCOUNT / CART / CHECKOUT LAYOUT POLISH --- */
.woocommerce-account .woocommerce,
.woocommerce-cart .woocommerce,
.woocommerce-checkout .woocommerce {
  width: 100% !important;
  max-width: 1400px !important;
  margin: 0 auto !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content {
  float: none !important;
  width: 100% !important;
}

@media (min-width: 992px) {
  .woocommerce-account .woocommerce {
    display: grid !important;
    grid-template-columns: 260px 1fr !important;
    gap: 1.5rem !important;
    align-items: start !important;
  }
  .woocommerce-account .woocommerce-MyAccount-navigation {
    background: #fff !important;
    border: 2px solid var(--ob-border-light) !important;
    border-radius: var(--ob-radius) !important;
    padding: 1rem !important;
  }
  .woocommerce-account .woocommerce-MyAccount-content {
    background: #fff !important;
    border: 2px solid var(--ob-border-light) !important;
    border-radius: var(--ob-radius) !important;
    padding: 1.25rem !important;
  }
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li {
  margin: 0 0 0.5rem !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
  display: block !important;
  padding: 0.7rem 0.9rem !important;
  border-radius: 9999px !important;
  background: var(--ob-bg) !important;
  color: var(--ob-ink) !important;
  font-weight: 700 !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover {
  background: var(--ob-red) !important;
  color: #fff !important;
}

/* Mobile nav dropdown full width */
@media (max-width: 900px) {
  .ob-nav {
    width: 100% !important;
    z-index: 999 !important;
  }
  .ob-nav-inner ul,
  .ob-primary-menu {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
    padding: 0.5rem !important;
  }
  .ob-nav-inner li,
  .ob-primary-menu li {
    width: 100% !important;
  }
  .ob-nav-inner a,
  .ob-primary-menu a {
    display: block !important;
    padding: 0.85rem 1rem !important;
  }
}

/* Footer column width consistency */
.ob-footer-main,
.ob-footer-features .ob-container {
  max-width: 1400px !important;
  margin: 0 auto !important;
  padding-left: 20px !important;
  padding-right: 20px !important;
  box-sizing: border-box !important;
}

/* Hide any accidentally empty product boxes */
.products > li:empty,
.ob-products > li:empty,
.ob-product:empty {
  display: none !important;
}

/* Sticky place-order button */
.woocommerce-checkout #payment {
  position: relative !important;
}
.woocommerce-checkout #place_order {
  position: sticky !important;
  bottom: 12px !important;
  z-index: 20 !important;
  box-shadow: 0 10px 24px rgba(220, 38, 38, 0.25) !important;
}

/* Cart total pill */
.ob-cart-pill svg {
  flex-shrink: 0;
}

/* Because header is no longer sticky, admin bar offset unnecessary */
body.admin-bar .ob-header { top: auto !important; }

/* Prevent double visual page title/breadcrumb on archive if plugins inject extras */
.woocommerce-page .page-title {
  display: none !important;
}
.post-type-archive-product .woocommerce-breadcrumb,
.tax-product_cat .woocommerce-breadcrumb,
.tax-product_tag .woocommerce-breadcrumb {
  display: none !important;
}

/* Mobile checkout spacing */
@media (max-width: 768px) {
  .woocommerce-checkout .col2-set {
    gap: 1rem !important;
  }
  .woocommerce-checkout #payment {
    padding-bottom: 5.5rem !important;
  }
  .ob-cart-pill {
    min-width: 82px;
    padding: 0 10px;
  }
  .ob-cart-total {
    font-size: 0.82rem;
  }
}
