/*
Theme Name: BrandSneakersEG by Hossam
Author: Hossam
Version: 32.6.12
Text Domain: brandsneakerseg
Description: Ultra modern WooCommerce theme v22 – Live Search, Quick View, Professional Cart/Checkout/Product pages, Snow effects, size tabs, related products, iOS safe.
*/

/* ═══════════════════════════════════════════════
   RESET & BASE
═══════════════════════════════════════════════ */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
html, body { overflow-x: hidden; }
body {
  font-family: system-ui, -apple-system, 'Segoe UI', Roboto, 'Noto Sans Arabic', sans-serif;
  background: var(--bs-bg);
  color: var(--bs-text);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
a { color: inherit; text-decoration: none; }
img { max-width: 100%; height: auto; display: block; }
button { cursor: pointer; font-family: inherit; }
ul, ol { list-style: none; padding: 0; margin: 0; }
input, textarea, select { font-family: inherit; }

/* ═══════════════════════════════════════════════
   CSS CUSTOM PROPERTIES
═══════════════════════════════════════════════ */
:root {
  --bs-primary:  #0b1a2a;
  --bs-accent:   #caa64a;
  --bs-bg:       #ffffff;
  --bs-text:     #0b1a2a;
  --bs-muted:    #6b7280;
  --bs-border:   rgba(0,0,0,.1);
  --bs-card-bg:  #ffffff;
  --bs-gradA:    #7c3aed;
  --bs-gradB:    #06b6d4;
  --bs-gradC:    #f59e0b;
  --bs-radius:   16px;
  --bs-shadow:   0 8px 32px rgba(0,0,0,.10);
  --bs-hdr-h:    64px;
  --bs-safe-top: env(safe-area-inset-top, 0px);
  --bs-safe-bot: env(safe-area-inset-bottom, 0px);
  --bs-safe-l:   env(safe-area-inset-left, 0px);
  --bs-safe-r:   env(safe-area-inset-right, 0px);
}
body.bs-dark {
  --bs-bg:      #0b1a2a;
  --bs-text:    #f1f5f9;
  --bs-muted:   #94a3b8;
  --bs-border:  rgba(255,255,255,.1);
  --bs-card-bg: #112030;
}

/* ═══════════════════════════════════════════════
   CANVAS EFFECTS (Snow / Stars)
═══════════════════════════════════════════════ */
canvas.bs-effects {
  position: fixed; inset: 0; z-index: 9998;
  pointer-events: none; opacity: .55;
}

/* ═══════════════════════════════════════════════
   LAYOUT HELPERS
═══════════════════════════════════════════════ */
.bs-container {
  max-width: 1240px; margin: 0 auto;
  padding-left: max(16px, var(--bs-safe-l));
  padding-right: max(16px, var(--bs-safe-r));
  width: 100%;
}
.bs-section { padding: 48px 0; }
@supports (content-visibility: auto) {
  @media(max-width: 768px) {
    .bs-section,
    .bs-flash-sale,
    .bs-lookbook,
    .bs-brands-section,
    .bs-payments-section,
    .bs-newsletter,
    .bs-faq-section,
    .bs-search-results-page {
      content-visibility: auto;
      contain-intrinsic-size: 720px;
    }
  }
}

/* ═══════════════════════════════════════════════
   TOP MARQUEE BAR
═══════════════════════════════════════════════ */
.bs-topbar {
  overflow: hidden; height: 34px;
  display: flex; align-items: center;
  position: relative; z-index: 901;
}
.bs-marquee {
  display: flex; align-items: center; gap: 40px;
  white-space: nowrap; will-change: transform;
  font-size: 13px; font-weight: 800;
  width: max-content; min-width: 100%;
  animation: bs-marquee-scroll var(--bs-marquee-duration, 45s) linear infinite;
}
.bs-marquee > * { flex: 0 0 auto; }
.bs-marquee:hover { animation-play-state: paused; }
@keyframes bs-marquee-scroll {
  from { transform: translate3d(0,0,0); }
  to { transform: translate3d(-33.333%,0,0); }
}
.bs-rtl .bs-marquee,
[dir="rtl"] .bs-marquee { animation-name: bs-marquee-scroll-rtl; }
@keyframes bs-marquee-scroll-rtl {
  from { transform: translate3d(0,0,0); }
  to { transform: translate3d(33.333%,0,0); }
}
@media (prefers-reduced-motion: reduce) {
  .bs-marquee { animation: none; transform: none; }
}

/* ═══════════════════════════════════════════════
   UTILITY BAR
═══════════════════════════════════════════════ */
.bs-utility {
  background: var(--bs-primary);
  color: rgba(255,255,255,.65);
  font-size: 12px; padding: 5px 0;
  position: relative; z-index: 901;
}
.bs-utility .bs-container { display: flex; align-items: center; justify-content: space-between; }
.bs-util-right { display: flex; align-items: center; gap: 8px; }
.bs-util-sep   { opacity: .3; }
.bs-util-lang  {
  color: rgba(255,255,255,.7); font-size: 11px; font-weight: 700;
  padding: 2px 10px; border-radius: 99px;
  border: 1.5px solid rgba(255,255,255,.2); transition: .2s;
}
.bs-util-lang:hover { color: #fff; border-color: var(--bs-accent); }
.bs-util-lang.is-active,
.bs-util-lang[aria-current="true"] {
  color: #fff;
  border-color: rgba(255,255,255,.34);
  background: rgba(255,255,255,.1);
}

/* ═══════════════════════════════════════════════
   HEADER
═══════════════════════════════════════════════ */
.bs-header {
  position: sticky; top: 0; z-index: 900;
  background: var(--bs-primary); color: #fff;
  box-shadow: 0 2px 20px rgba(0,0,0,.28);
  padding-top: var(--bs-safe-top);
  /* iOS: use -webkit-sticky for full compat */
  position: -webkit-sticky;
  position: sticky;
}
.bs-header-inner {
  display: flex; align-items: center; justify-content: space-between;
  height: var(--bs-hdr-h); gap: 10px;
}
.bs-header-left  { display: flex; align-items: center; gap: 8px; flex-shrink: 0; }
.bs-header-right { display: flex; align-items: center; gap: 6px; flex-shrink: 0; }

.bs-logo {
  font-size: 18px; font-weight: 900; color: var(--bs-accent);
  letter-spacing: -.5px; white-space: nowrap;
}
.bs-iconbtn {
  display: flex; align-items: center; justify-content: center;
  width: 40px; height: 40px; border-radius: 10px; border: none;
  background: rgba(255,255,255,.08); color: #fff;
  flex-shrink: 0; transition: background .15s; position: relative;
}
.bs-iconbtn:hover { background: rgba(255,255,255,.16); }
.bs-iconbtn svg  { pointer-events: none; flex-shrink: 0; }

/* Cart badge in header */
.bs-cart-badge {
  position: absolute; top: -4px; right: -4px;
  background: var(--bs-accent); color: #000;
  font-size: 9px; font-weight: 900; min-width: 18px; height: 18px;
  border-radius: 99px; display: flex; align-items: center; justify-content: center;
  padding: 0 4px; line-height: 1;
}
.bs-lang-pills { display: flex; gap: 4px; }
.bs-lang-pill {
  font-size: 11px; font-weight: 800; padding: 4px 10px;
  border-radius: 99px; border: 1.5px solid rgba(255,255,255,.25);
  color: rgba(255,255,255,.8); transition: .15s;
}
.bs-lang-pill:hover { border-color: var(--bs-accent); color: var(--bs-accent); }
.bs-lang-pill.is-active,
.bs-lang-pill[aria-current="true"] {
  color: #fff;
  border-color: rgba(255,255,255,.36);
  background: rgba(255,255,255,.11);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.06);
}

/* Desktop nav */
.bs-desktop-nav {
  display: flex; align-items: center; gap: 2px; flex: 1; justify-content: center;
}
.bs-desktop-nav a,
.bs-desktop-nav > li > a {
  padding: 6px 12px; border-radius: 8px;
  font-size: 13px; font-weight: 600; color: rgba(255,255,255,.85);
  transition: .15s; white-space: nowrap; display: inline-flex; align-items: center;
}
.bs-desktop-nav a:hover { color: var(--bs-accent); background: rgba(255,255,255,.07); }
.bs-desktop-nav li { position: relative; }
.bs-desktop-nav ul {
  display: none; position: absolute; top: calc(100% + 4px); left: 0; z-index: 200;
  background: var(--bs-primary); border-radius: 12px; min-width: 180px;
  padding: 8px; box-shadow: 0 12px 40px rgba(0,0,0,.3);
  border: 1px solid rgba(255,255,255,.1);
}
.bs-desktop-nav li:hover > ul { display: block; }
.bs-desktop-nav ul a { display: block; padding: 9px 14px; border-radius: 8px; font-size: 13px; }
@media(max-width: 820px) { .bs-desktop-nav { display: none; } .bs-lang-pills { display: none; } }

/* Shop icon */
.bs-shop-btn { color: rgba(255,255,255,.85); }

/* ═══════════════════════════════════════════════
   SEARCH MODAL + LIVE SEARCH
═══════════════════════════════════════════════ */
#bsSearchModal {
  display: none; position: fixed; inset: 0; z-index: 9000;
  background: rgba(0,0,0,.72);
  backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
  align-items: flex-start; padding: max(80px, calc(var(--bs-safe-top) + 80px)) 16px 0;
}
#bsSearchModal.open { display: flex; }
.bs-search-box { width: 100%; max-width: 660px; margin: 0 auto; }
.bs-search-form {
  display: flex; align-items: center; gap: 12px;
  background: var(--bs-card-bg); border: 2px solid var(--bs-accent);
  border-radius: 16px; padding: 10px 16px;
  box-shadow: 0 24px 64px rgba(0,0,0,.45);
}
.bs-search-form svg { flex-shrink: 0; opacity: .5; }
.bs-search-form input {
  flex: 1; background: transparent; border: none; outline: none;
  font-size: 16px; color: var(--bs-text); -webkit-appearance: none;
}
#bsCloseSearch {
  background: transparent; border: none;
  font-size: 20px; color: var(--bs-muted); cursor: pointer; padding: 0 4px; line-height: 1;
}
/* Live search results dropdown */
#bsSearchResults {
  background: var(--bs-card-bg);
  border: 1.5px solid var(--bs-border);
  border-radius: 14px; margin-top: 8px;
  overflow: hidden; box-shadow: 0 16px 40px rgba(0,0,0,.3);
  display: none; max-height: 420px; overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}
#bsSearchResults.open { display: block; }
.bs-sr-item {
  display: flex; align-items: center; gap: 12px; padding: 12px 14px;
  border-bottom: 1px solid var(--bs-border); transition: background .15s; cursor: pointer;
}
.bs-sr-item:last-child { border-bottom: none; }
.bs-sr-item:hover { background: rgba(202,166,74,.08); }
.bs-sr-item img { width: 52px; height: 52px; border-radius: 8px; object-fit: cover; flex-shrink: 0; }
.bs-sr-name  { font-size: 13px; font-weight: 700; color: var(--bs-text); }
.bs-sr-price { font-size: 12px; color: var(--bs-accent); font-weight: 800; margin-top: 2px; }
.bs-sr-no-results { padding: 20px; text-align: center; color: var(--bs-muted); font-size: 14px; }
.bs-sr-loading { padding: 16px; text-align: center; color: var(--bs-muted); font-size: 13px; }

/* ═══════════════════════════════════════════════
   DRAWER
═══════════════════════════════════════════════ */
#bsDrawer {
  position: fixed; inset: 0; z-index: 950;
  visibility: hidden; pointer-events: none;
}
#bsDrawer.open { visibility: visible; pointer-events: auto; }
.bs-drawer-backdrop {
  position: absolute; inset: 0; background: rgba(0,0,0,.55);
  backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px);
  opacity: 0; transition: opacity .3s ease;
}
#bsDrawer.open .bs-drawer-backdrop { opacity: 1; }
.bs-drawer-panel {
  position: absolute; top: 0; left: 0;
  width: min(320px, 88vw); height: 100%;
  background: var(--bs-primary); color: #fff;
  display: flex; flex-direction: column;
  transform: translateX(-100%);
  transition: transform .32s cubic-bezier(.4,0,.2,1);
  padding-top: var(--bs-safe-top);
  padding-bottom: var(--bs-safe-bot);
  overflow: hidden;
}
#bsDrawer.open .bs-drawer-panel { transform: translateX(0); }
body.bs-rtl .bs-drawer-panel { left: auto; right: 0; transform: translateX(100%); }
body.bs-rtl #bsDrawer.open .bs-drawer-panel { transform: translateX(0); }
.bs-drawer-head {
  display: flex; align-items: center; justify-content: space-between;
  padding: 16px; border-bottom: 1px solid rgba(255,255,255,.08);
}
.bs-drawer-brand { font-weight: 900; font-size: 16px; color: var(--bs-accent); }
.bs-drawer-tabs {
  display: flex; gap: 4px; padding: 10px 12px;
  border-bottom: 1px solid rgba(255,255,255,.07);
}
.bs-dtab {
  flex: 1; padding: 7px 4px; border-radius: 8px;
  border: 1.5px solid rgba(255,255,255,.15);
  font-size: 12px; font-weight: 700; color: rgba(255,255,255,.7);
  background: transparent; cursor: pointer; transition: .2s;
}
.bs-dtab.active { background: var(--bs-accent); border-color: var(--bs-accent); color: #000; }
.bs-drawer-content { flex: 1; overflow-y: auto; padding: 8px; -webkit-overflow-scrolling: touch; }
.bs-drawer-menu, .bs-drawer-menu ul { list-style: none; padding: 0; margin: 0; }
.bs-drawer-menu { display: flex; flex-direction: column; gap: 2px; }
.bs-drawer-menu li { position: relative; }
.bs-drawer-menu a, .bs-drawer-link {
  display: flex; align-items: center; padding: 12px 14px; border-radius: 10px;
  color: rgba(255,255,255,.85); font-size: 14px; font-weight: 600; transition: .15s;
}
.bs-drawer-menu a:hover, .bs-drawer-link:hover { background: rgba(255,255,255,.09); color: #fff; }
.bs-drawer-menu .menu-item-has-children {
  display: grid; grid-template-columns: minmax(0, 1fr) 44px; align-items: center;
}
.bs-drawer-menu .menu-item-has-children > a { min-width: 0; }
.bs-drawer-menu .bs-submenu-toggle {
  width: 40px; height: 40px; border: none; border-radius: 10px;
  background: transparent; color: rgba(255,255,255,.72);
  display: inline-flex; align-items: center; justify-content: center;
  cursor: pointer; padding: 0;
  transition: background .15s ease, color .15s ease;
}
.bs-drawer-menu .bs-submenu-toggle:hover { background: rgba(255,255,255,.09); color: #fff; }
.bs-drawer-menu .bs-submenu-toggle::before {
  content: '';
  width: 10px; height: 10px;
  border-right: 2px solid currentColor; border-bottom: 2px solid currentColor;
  transform: rotate(45deg) translateY(-1px);
  transition: transform .18s ease;
}
.bs-drawer-menu .menu-item-has-children.is-open > .bs-submenu-toggle::before {
  transform: rotate(225deg) translateY(-1px);
}
.bs-drawer-menu .sub-menu {
  display: none; grid-column: 1 / -1; padding-left: 14px; margin-top: 4px;
}
.bs-drawer-menu .sub-menu[hidden] { display: none !important; }
.bs-drawer-menu .menu-item-has-children.is-open > .sub-menu {
  display: flex; flex-direction: column; gap: 2px;
}
.bs-drawer-menu .sub-menu a { font-size: 13px; opacity: .8; }
body.bs-rtl .bs-drawer-menu .menu-item-has-children {
  grid-template-columns: 44px minmax(0, 1fr);
}
body.bs-rtl .bs-drawer-menu .menu-item-has-children > a { grid-column: 2; }
body.bs-rtl .bs-drawer-menu .menu-item-has-children > .bs-submenu-toggle { grid-column: 1; }
body.bs-rtl .bs-drawer-menu .sub-menu { padding-left: 0; padding-right: 14px; }
.bs-drawer-footer {
  padding: 12px; display: flex; flex-direction: column; gap: 8px;
  border-top: 1px solid rgba(255,255,255,.08);
}
.bs-drawer-auth { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.bs-btn-wa { background: #25D366; color: #fff; }

/* ═══════════════════════════════════════════════
   QUICK VIEW MODAL
═══════════════════════════════════════════════ */
#bsQVOverlay {
  display: none; position: fixed; inset: 0; z-index: 9500;
  background: rgba(0,0,0,.78);
  backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px);
  align-items: center; justify-content: center; padding: 16px;
}
#bsQVOverlay.open { display: flex; }
.bs-qv-modal {
  background: var(--bs-card-bg); border-radius: 20px;
  width: 100%; max-width: 780px; max-height: 90vh;
  overflow-y: auto; position: relative; padding: 28px;
  box-shadow: 0 32px 80px rgba(0,0,0,.55);
  -webkit-overflow-scrolling: touch;
}
.bs-qv-close {
  position: absolute; top: 14px; right: 14px;
  width: 36px; height: 36px; border-radius: 50%;
  background: rgba(0,0,0,.1); border: none; font-size: 16px;
  color: var(--bs-text); cursor: pointer; z-index: 1;
  display: flex; align-items: center; justify-content: center;
}
body.bs-rtl .bs-qv-close { right: auto; left: 14px; }
.bs-qv-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
@media(max-width: 600px) { .bs-qv-grid { grid-template-columns: 1fr; } }
.bs-qv-img-wrap img {
  width: 100%; border-radius: 14px; object-fit: cover;
  aspect-ratio: 1; background: #f1f5f9;
}
.bs-qv-info { display: flex; flex-direction: column; gap: 12px; }
.bs-qv-info h3 { font-size: 20px; font-weight: 900; color: var(--bs-text); line-height: 1.3; }
.bs-qv-price { font-size: 20px; font-weight: 900; color: var(--bs-accent); }
.bs-qv-price del { color: var(--bs-muted); font-weight: 400; font-size: 15px; margin-right: 6px; }
.bs-qv-desc { font-size: 13px; color: var(--bs-muted); line-height: 1.65; }
.bs-qv-sizes-label { font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .5px; margin-bottom: 6px; }
.bs-qv-size-btns { display: flex; flex-wrap: wrap; gap: 6px; }
.bs-size-btn {
  padding: 6px 14px; border: 2px solid var(--bs-border);
  border-radius: 8px; font-size: 13px; font-weight: 700;
  color: var(--bs-text); background: transparent; cursor: pointer; transition: .15s;
}
.bs-size-btn:hover  { border-color: var(--bs-accent); color: var(--bs-accent); }
.bs-size-btn.active { border-color: var(--bs-accent); background: var(--bs-accent); color: #000; }
.bs-qv-actions { display: flex; flex-direction: column; gap: 8px; }
.bs-qv-viewall { font-size: 12px; color: var(--bs-muted); text-decoration: underline; text-align: center; }

/* ═══════════════════════════════════════════════
   BUTTONS
═══════════════════════════════════════════════ */
.bs-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  padding: 11px 22px; border-radius: 12px;
  background: var(--bs-accent); color: #000;
  font-size: 13px; font-weight: 800; border: none; cursor: pointer;
  transition: filter .2s, transform .15s; white-space: nowrap; text-decoration: none;
  -webkit-tap-highlight-color: transparent;
}
.bs-btn:hover { filter: brightness(1.1); transform: translateY(-1px); }
.bs-btn:active { transform: translateY(0); }
.bs-btn.bs-full { width: 100%; }
.bs-btn-accent { background: var(--bs-primary); color: #fff; border: 2px solid rgba(255,255,255,.15); }
.bs-btn-accent:hover { background: #1a3050; }
.bs-btn-ghost  { background: rgba(255,255,255,.1); color: #fff; border: 1.5px solid rgba(255,255,255,.2); }
.bs-btn-outline { background: transparent; color: var(--bs-text); border: 2px solid var(--bs-border); }
.bs-btn-outline:hover { border-color: var(--bs-accent); color: var(--bs-accent); }
.bs-drawer-footer .bs-btn-outline,
.bs-drawer-footer .bs-btn-outline:hover,
.bs-drawer-footer .bs-btn-outline:focus,
.bs-drawer-footer .bs-btn-outline:active {
  background: rgba(11,26,42,.96);
  color: var(--bs-accent);
  border: 2px solid var(--bs-accent);
  filter: none;
  transform: none;
  box-shadow: none;
  text-decoration: none;
}

/* ═══════════════════════════════════════════════
   MOBILE BOTTOM BAR
═══════════════════════════════════════════════ */
.bs-bottombar {
  display: none; position: fixed; bottom: 0; left: 0; right: 0; z-index: 800;
  background: var(--bs-primary); border-top: 1px solid rgba(255,255,255,.08);
  padding-bottom: var(--bs-safe-bot); box-shadow: 0 -4px 20px rgba(0,0,0,.3);
}
@media(max-width: 820px) { .bs-bottombar { display: block; } }
.bs-bottombar-inner {
  display: flex; align-items: center; justify-content: space-around; height: 56px;
}
.bs-bb-item {
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 3px; flex: 1; height: 100%; color: rgba(255,255,255,.7);
  font-size: 9px; font-weight: 700; text-transform: uppercase;
  border: none; background: transparent; transition: color .15s;
  -webkit-tap-highlight-color: transparent;
}
.bs-bb-item:hover, .bs-bb-item:focus { color: var(--bs-accent); }
.bs-bb-item svg { width: 20px; height: 20px; }
.bs-bb-shop { color: var(--bs-accent); }
@media(max-width: 820px) { body { padding-bottom: calc(56px + var(--bs-safe-bot)); } }

/* ═══════════════════════════════════════════════
   COUPON BAR
═══════════════════════════════════════════════ */
.bs-coupon {
  background: linear-gradient(135deg, var(--bs-accent), #e6be6a);
  color: #000; padding: 10px 0;
}
.bs-coupon .bs-container { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.bs-coupon strong { font-size: 14px; font-weight: 900; }
.bs-copy {
  padding: 5px 16px; border-radius: 8px;
  border: 2px solid rgba(0,0,0,.25); background: rgba(0,0,0,.1);
  font-size: 12px; font-weight: 800; color: #000; cursor: pointer; transition: .15s;
}
.bs-copy:hover { background: rgba(0,0,0,.2); }

/* ═══════════════════════════════════════════════
   ICONS ROW (Categories)
═══════════════════════════════════════════════ */
.bs-icons-row { display: flex; gap: 12px; overflow-x: auto; padding: 4px 0; scrollbar-width: none; }
.bs-icons-row::-webkit-scrollbar { display: none; }
.bs-pill {
  display: flex; flex-direction: column; align-items: center; gap: 7px;
  flex-shrink: 0; min-width: 70px; padding: 8px; border-radius: 14px; transition: .2s;
}
.bs-pill:hover { background: rgba(0,0,0,.05); }
body.bs-dark .bs-pill:hover { background: rgba(255,255,255,.06); }
.bs-pill-img {
  width: 64px; height: 64px; border-radius: 50%;
  background-size: contain; background-position: center;
  background-repeat: no-repeat; background-color: #fff;
  border: 3px solid var(--bs-accent); box-shadow: 0 4px 12px rgba(202,166,74,.25);
}
.bs-pill span { font-size: 11px; font-weight: 700; text-align: center; color: var(--bs-text); }

/* ═══════════════════════════════════════════════
   HERO
═══════════════════════════════════════════════ */
.bs-hero { padding: 16px 0; }
.bs-hero-card {
  position: relative; border-radius: 20px; overflow: hidden;
  min-height: 480px; display: flex; align-items: flex-end;
}
.bs-hero-media { position: absolute; inset: 0; overflow: hidden; }
.bs-hero-media-picture { display: block; width: 100%; height: 100%; }
.bs-hero-media-img { width: 100%; height: 100%; display: block; object-fit: cover; object-position: center; }
.bs-hero-overlay { position: absolute; inset: 0; background: linear-gradient(135deg, rgba(11,26,42,.85) 0%, rgba(11,26,42,.15) 100%); }
.bs-hero-content { position: relative; z-index: 1; padding: 36px; color: #fff; width: 100%; }
.bs-hero-content h1 { font-size: clamp(26px,5vw,52px); font-weight: 1000; line-height: 1.1; margin-bottom: 12px; }
.bs-hero-content p  { font-size: 15px; opacity: .85; margin-bottom: 20px; max-width: 480px; }
.bs-offers { display: flex; gap: 10px; margin-top: 24px; flex-wrap: wrap; }
.bs-offer {
  display: flex; align-items: center; gap: 10px;
  background: rgba(255,255,255,.12); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
  border-radius: 12px; padding: 10px 14px; color: #fff;
  border: 1px solid rgba(255,255,255,.2); transition: .2s; min-width: 140px;
}
.bs-offer:hover { background: rgba(255,255,255,.2); }
.bs-offer .img { width: 44px; height: 44px; border-radius: 8px; background-size: cover; background-position: center; flex-shrink: 0; }
.bs-offer strong { display: block; font-size: 13px; font-weight: 800; }
.bs-offer small  { display: block; font-size: 11px; opacity: .75; }
.bs-hero-slider { position: relative; display: grid; }
.bs-hero-slide {
  grid-area: 1 / 1;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translate3d(0,0,0) scale(1.01);
  transition: opacity .45s ease, transform .45s ease, visibility .45s ease;
}
.bs-hero-slide.is-active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: none;
  z-index: 1;
}
.bs-hero-nav {
  position: absolute;
  top: 18px;
  z-index: 3;
  width: 44px;
  height: 44px;
  border: 1px solid rgba(255,255,255,.24);
  border-radius: 999px;
  background: rgba(11,26,42,.42);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  line-height: 1;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  transition: background .2s ease, border-color .2s ease, transform .2s ease;
}
.bs-hero-nav:hover {
  background: rgba(11,26,42,.7);
  border-color: rgba(255,255,255,.42);
  transform: translateY(-1px);
}
.bs-hero-nav--prev { inset-inline-end: 76px; }
.bs-hero-nav--next { inset-inline-end: 18px; }
.bs-hero-dots {
  position: absolute;
  inset-inline-end: 18px;
  bottom: 18px;
  z-index: 3;
  display: flex;
  align-items: center;
  gap: 8px;
}
.bs-hero-dot {
  width: 12px;
  height: 12px;
  padding: 0;
  border: none;
  border-radius: 999px;
  background: rgba(255,255,255,.38);
  transition: width .2s ease, background .2s ease, transform .2s ease;
}
.bs-hero-dot:hover { transform: scale(1.08); }
.bs-hero-dot.is-active {
  width: 30px;
  background: #fff;
}
@media (max-width: 768px) {
  .bs-hero-nav {
    top: 14px;
    width: 40px;
    height: 40px;
    font-size: 18px;
  }
  .bs-hero-nav--prev { inset-inline-end: 60px; }
  .bs-hero-nav--next { inset-inline-end: 14px; }
  .bs-hero-dots {
    inset-inline-end: 14px;
    bottom: 14px;
  }
}

/* ═══════════════════════════════════════════════
   SECTION TITLEBAR
═══════════════════════════════════════════════ */
.bs-titlebar { display: flex; align-items: center; gap: 14px; margin-bottom: 24px; }
.bs-titlebar h2 { font-size: clamp(20px,3vw,32px); font-weight: 900; white-space: nowrap; }
.bs-titlebar::after { content: ''; flex: 1; height: 2px; background: linear-gradient(to right, var(--bs-accent), transparent); }
body.bs-rtl .bs-titlebar::after { background: linear-gradient(to left, var(--bs-accent), transparent); }

/* ═══════════════════════════════════════════════
   PRODUCT SECTIONS (homepage)
═══════════════════════════════════════════════ */
.bs-products-section { padding: 40px 0; }

/* ── WooCommerce ul.products GRID ── */
.woocommerce ul.products,
ul.products {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 16px !important;
  list-style: none !important;
  padding: 0 !important; margin: 0 !important;
}
@media(max-width: 1024px) {
  .woocommerce ul.products, ul.products { grid-template-columns: repeat(3, 1fr) !important; }
}
@media(max-width: 700px) {
  .woocommerce ul.products, ul.products { grid-template-columns: repeat(2, 1fr) !important; gap: 10px !important; }
}

/* ════════════════════════════════════════════
   PRODUCT CARD — v24 DEFINITIVE
   Slide-reveal + Gradient overlay effect
════════════════════════════════════════════ */

/* Card container */
.bs-product-card {
  background: var(--bs-card-bg) !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  border: 1.5px solid var(--bs-border) !important;
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  transition: transform .3s cubic-bezier(.4,0,.2,1), box-shadow .3s !important;
  cursor: pointer;
}
.bs-product-card:hover {
  transform: translateY(-6px) !important;
  box-shadow: 0 20px 48px rgba(0,0,0,.18) !important;
}

/* Image wrapper — clips overflow for slide animation */
.bs-card-img-wrap {
  position: relative !important;
  aspect-ratio: 1 !important;
  overflow: hidden !important;
  display: block !important;
  background: #fff !important;
}
body.bs-dark .bs-card-img-wrap { background: #162638 !important; }

/* Image 1 — always visible, scales slightly on hover */
.bs-card-main-img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  padding: 20px !important;
  box-sizing: border-box !important;
  object-fit: contain !important;
  object-position: center center !important;
  image-rendering: auto !important;
  z-index: 1 !important;
  will-change: transform;
  transition: transform .28s ease !important;
}
.bs-product-card:hover .bs-card-main-img {
  transform: none !important;
}

/* Image 2 — slides in from RIGHT on hover */
.bs-card-next-img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  padding: 20px !important;
  box-sizing: border-box !important;
  object-fit: contain !important;
  object-position: center center !important;
  image-rendering: auto !important;
  z-index: 2 !important;
  will-change: transform;
  transform: translateX(100%) !important;
  transition: transform .28s ease !important;
}
.bs-product-card:hover .bs-card-next-img {
  transform: translateX(0%) !important;
}



/* Badges */
.bs-badge-sale, .bs-badge-hot {
  position: absolute !important;
  z-index: 5 !important;
  top: 10px !important; left: 10px !important;
  padding: 3px 10px !important; border-radius: 99px !important;
  font-size: 10px !important; font-weight: 900 !important;
  text-transform: uppercase !important; letter-spacing: .4px !important;
  box-shadow: 0 2px 8px rgba(0,0,0,.25) !important;
}
.bs-badge-sale { background: #ef4444 !important; color: #fff !important; }
.bs-badge-hot  { background: var(--bs-accent) !important; color: #000 !important; top: 40px !important; }
body.bs-rtl .bs-badge-sale, body.bs-rtl .bs-badge-hot { left: auto !important; right: 10px !important; }

/* Quick View button — appears with gradient */
.bs-card-qv-wrap {
  position: absolute !important;
  bottom: 14px !important;
  left: 0 !important; right: 0 !important;
  display: flex !important;
  justify-content: center !important;
  z-index: 20 !important;
  opacity: 0 !important;
  transform: translateY(10px) !important;
  transition: opacity .35s ease .08s, transform .35s ease .08s !important;
}
.bs-product-card:hover .bs-card-qv-wrap {
  opacity: 1 !important;
  transform: translateY(0) !important;
}



/* JS adds 
.bs-qv-btn:hover {
  background: var(--bs-accent) !important;
  color: #000 !important;
}

/* Card body */
.bs-card-body {
  padding: 12px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 5px !important;
  flex: 1 !important;
}
.bs-card-title {
  font-size: 13px !important; font-weight: 700 !important;
  color: var(--bs-text) !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  line-height: 1.4 !important;
}
.bs-card-price {
  font-size: 14px !important; font-weight: 900 !important;
  color: var(--bs-accent) !important;
}
.bs-card-price del { color: var(--bs-muted) !important; font-size: 11px !important; font-weight: 400 !important; margin-right: 4px !important; }
.bs-card-price,
.bs-qv-price,
.bs-pd-price,
.bs-acc-prod-price,
.bs-sr-price,
.bs-ci-price,
.bs-ci-subtotal,
.bs-co-item-price,
.bs-ty-item-price,
.bs-sale-price-inline,
.woocommerce-cart-form .product-price,
.woocommerce-cart-form .product-subtotal,
.woocommerce table.shop_table .product-price,
.woocommerce table.shop_table .product-subtotal,
.woocommerce ul.products li.product .price {
  display: flex !important;
  align-items: baseline !important;
  gap: 6px !important;
  flex-wrap: nowrap !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
}
.bs-card-price ins,
.bs-qv-price ins,
.bs-pd-price ins,
.bs-acc-prod-price ins,
.bs-sr-price ins,
.bs-ci-price ins,
.bs-ci-subtotal ins,
.bs-co-item-price ins,
.bs-ty-item-price ins,
.bs-sale-price-inline ins,
.woocommerce-cart-form .product-price ins,
.woocommerce-cart-form .product-subtotal ins,
.woocommerce table.shop_table .product-price ins,
.woocommerce table.shop_table .product-subtotal ins,
.woocommerce ul.products li.product .price ins {
  order: 1;
  display: inline-flex !important;
  align-items: baseline !important;
  color: #dc2626 !important;
  font-weight: 1000 !important;
  text-decoration: none !important;
}
.bs-card-price del,
.bs-qv-price del,
.bs-pd-price del,
.bs-acc-prod-price del,
.bs-sr-price del,
.bs-ci-price del,
.bs-ci-subtotal del,
.bs-co-item-price del,
.bs-ty-item-price del,
.bs-sale-price-inline del,
.woocommerce-cart-form .product-price del,
.woocommerce-cart-form .product-subtotal del,
.woocommerce table.shop_table .product-price del,
.woocommerce table.shop_table .product-subtotal del,
.woocommerce ul.products li.product .price del {
  order: 2;
  display: inline-flex !important;
  align-items: baseline !important;
  margin: 0 !important;
  color: var(--bs-muted) !important;
  font-size: .82em !important;
  font-weight: 700 !important;
  opacity: .8 !important;
  text-decoration: line-through !important;
}
.bs-card-price del .amount,
.bs-qv-price del .amount,
.bs-pd-price del .amount,
.bs-acc-prod-price del .amount,
.bs-sr-price del .amount,
.bs-ci-price del .amount,
.bs-ci-subtotal del .amount,
.bs-co-item-price del .amount,
.bs-ty-item-price del .amount,
.bs-sale-price-inline del .amount,
.woocommerce-cart-form .product-price del .amount,
.woocommerce-cart-form .product-subtotal del .amount,
.woocommerce table.shop_table .product-price del .amount,
.woocommerce table.shop_table .product-subtotal del .amount,
.woocommerce ul.products li.product .price del .amount {
  text-decoration: line-through !important;
}
.bs-card-price .amount,
.bs-qv-price .amount,
.bs-pd-price .amount,
.bs-acc-prod-price .amount,
.bs-sr-price .amount,
.bs-ci-price .amount,
.bs-ci-subtotal .amount,
.bs-co-item-price .amount,
.bs-ty-item-price .amount,
.bs-sale-price-inline .amount,
.woocommerce-cart-form .product-price .amount,
.woocommerce-cart-form .product-subtotal .amount,
.woocommerce table.shop_table .product-price .amount,
.woocommerce table.shop_table .product-subtotal .amount,
.woocommerce ul.products li.product .price .amount {
  color: inherit !important;
  white-space: nowrap !important;
}
.bs-card-price:has(ins)::after,
.bs-qv-price:has(ins)::after,
.bs-pd-price:has(ins)::after,
.bs-acc-prod-price:has(ins)::after,
.bs-sr-price:has(ins)::after,
.bs-ci-price:has(ins)::after,
.bs-ci-subtotal:has(ins)::after,
.bs-co-item-price:has(ins)::after,
.bs-ty-item-price:has(ins)::after,
.woocommerce-cart-form .product-price:has(ins)::after,
.woocommerce-cart-form .product-subtotal:has(ins)::after,
.woocommerce table.shop_table .product-price:has(ins)::after,
.woocommerce table.shop_table .product-subtotal:has(ins)::after,
.woocommerce ul.products li.product .price:has(ins)::after {
  content: 'SALE';
  order: 3;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 2px 6px;
  border-radius: 999px;
  background: #ef4444;
  color: #fff;
  font-size: 9px;
  font-weight: 1000;
  line-height: 1;
  letter-spacing: 0;
  vertical-align: middle;
}
@media(max-width: 520px) {
  .bs-card-price,
  .bs-sr-price,
  .bs-acc-prod-price,
  .bs-ci-price,
  .bs-ci-subtotal,
  .bs-co-item-price,
  .bs-ty-item-price,
  .woocommerce-cart-form .product-price,
  .woocommerce-cart-form .product-subtotal,
  .woocommerce table.shop_table .product-price,
  .woocommerce table.shop_table .product-subtotal,
  .woocommerce ul.products li.product .price {
    gap: 4px !important;
    font-size: 12px !important;
    overflow: visible !important;
  }
  .bs-card-price del,
  .bs-sr-price del,
  .bs-acc-prod-price del,
  .bs-ci-price del,
  .bs-ci-subtotal del,
  .bs-co-item-price del,
  .bs-ty-item-price del,
  .woocommerce-cart-form .product-price del,
  .woocommerce-cart-form .product-subtotal del,
  .woocommerce table.shop_table .product-price del,
  .woocommerce table.shop_table .product-subtotal del,
  .woocommerce ul.products li.product .price del {
    font-size: 10px !important;
  }
  .bs-card-price:has(ins)::after,
  .bs-sr-price:has(ins)::after,
  .bs-acc-prod-price:has(ins)::after,
  .bs-ci-price:has(ins)::after,
  .bs-ci-subtotal:has(ins)::after,
  .bs-co-item-price:has(ins)::after,
  .bs-ty-item-price:has(ins)::after,
  .woocommerce-cart-form .product-price:has(ins)::after,
  .woocommerce-cart-form .product-subtotal:has(ins)::after,
  .woocommerce table.shop_table .product-price:has(ins)::after,
  .woocommerce table.shop_table .product-subtotal:has(ins)::after,
  .woocommerce ul.products li.product .price:has(ins)::after {
    padding: 2px 5px;
    font-size: 8px;
  }
}
.bs-card-price:has(ins)::after,
.bs-qv-price:has(ins)::after,
.bs-pd-price:has(ins)::after,
.bs-acc-prod-price:has(ins)::after,
.bs-sr-price:has(ins)::after,
.bs-ci-price:has(ins)::after,
.bs-ci-subtotal:has(ins)::after,
.bs-co-item-price:has(ins)::after,
.bs-ty-item-price:has(ins)::after,
.woocommerce-cart-form .product-price:has(ins)::after,
.woocommerce-cart-form .product-subtotal:has(ins)::after,
.woocommerce table.shop_table .product-price:has(ins)::after,
.woocommerce table.shop_table .product-subtotal:has(ins)::after,
.woocommerce ul.products li.product .price:has(ins)::after {
  content: none !important;
  display: none !important;
}

/* Add to cart button */
.bs-card-atc-btn {
  display: flex !important;
  align-items: center !important; justify-content: center !important;
  gap: 6px !important;
  width: 100% !important; padding: 9px 12px !important;
  border-radius: 9px !important;
  background: var(--bs-primary) !important; color: #fff !important;
  font-size: 12px !important; font-weight: 800 !important;
  text-align: center !important; text-decoration: none !important;
  transition: background .15s, transform .15s !important;
  margin-top: 4px !important;
}
.bs-card-atc-btn:hover {
  background: var(--bs-accent) !important;
  color: #000 !important;
  transform: translateY(-1px) !important;
}

/* Hide WooCommerce default buttons */
.bs-product-card .button,
.bs-product-card .add_to_cart_button,
.bs-product-card a.button,
.bs-product-card .added_to_cart { display: none !important; }

/* ═══════════════════════════════════════════════
   PRODUCT SECTION BANNER
═══════════════════════════════════════════════ */
.bs-product-banner { display: block; border-radius: 16px; overflow: hidden; margin-bottom: 20px; }
.bs-product-banner-bg {
  position: relative; min-height: 130px; padding-top: 18%;
  background-size: cover; background-position: center; display: flex; align-items: center;
}
.bs-product-banner-overlay { position: absolute; inset: 0; background: linear-gradient(135deg, rgba(0,0,0,.55), rgba(0,0,0,.1)); }
.bs-product-banner-title { position: relative; z-index: 1; padding: 20px 24px; font-size: clamp(18px,3vw,30px); font-weight: 900; color: #fff; text-shadow: 0 2px 12px rgba(0,0,0,.5); }
@media(max-width: 520px) { .bs-product-banner-bg { padding-top: 36%; } }

/* ═══════════════════════════════════════════════
   COUNTDOWN
═══════════════════════════════════════════════ */
.bs-countdown-card {
  display: grid; grid-template-columns: 1fr 1fr; gap: 0;
  background: var(--bs-primary); border-radius: 20px; overflow: hidden;
}
@media(max-width: 640px) { .bs-countdown-card { grid-template-columns: 1fr; } }
.bs-countdown-img { background-size: cover; background-position: center; min-height: 280px; }
.bs-countdown-body { padding: 40px 32px; display: flex; flex-direction: column; justify-content: center; gap: 16px; color: #fff; }
.bs-countdown-body h2 { font-size: clamp(22px,3.5vw,36px); font-weight: 900; }
.bs-countdown-timer { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.bs-countdown-timer > div { background: rgba(255,255,255,.1); border-radius: 12px; padding: 10px 16px; text-align: center; min-width: 64px; }
.bs-countdown-timer span { display: block; font-size: 28px; font-weight: 900; font-variant-numeric: tabular-nums; }
.bs-countdown-timer small { display: block; font-size: 10px; opacity: .6; margin-top: 2px; text-transform: uppercase; }
.bs-countdown-timer > span { font-size: 24px; font-weight: 900; color: var(--bs-accent); }

/* ═══════════════════════════════════════════════
   TILES
═══════════════════════════════════════════════ */
.bs-tiles-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; }
@media(max-width: 600px) { .bs-tiles-grid { grid-template-columns: repeat(2,1fr); } }
.bs-tile {
  position: relative; border-radius: 14px; overflow: hidden;
  aspect-ratio: 1; background-size: cover; background-position: center;
  display: flex; align-items: flex-end; transition: transform .3s;
}
.bs-tile:hover { transform: scale(1.02); }
.bs-tile-overlay { position: absolute; inset: 0; background: linear-gradient(to top, rgba(0,0,0,.65), transparent 60%); }
.bs-tile-body { position: relative; z-index: 1; padding: 16px; color: #fff; }
.bs-tile-body strong { display: block; font-size: 15px; font-weight: 900; }
.bs-tile-body small  { display: block; font-size: 12px; opacity: .8; }

/* ═══════════════════════════════════════════════
   BANNER GRID
═══════════════════════════════════════════════ */
.bs-banner-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 14px; }
@media(max-width: 600px) { .bs-banner-grid { grid-template-columns: 1fr; } }
.bs-banner {
  position: relative; border-radius: 14px; overflow: hidden;
  background-size: cover; background-position: center; min-height: 260px;
  display: flex; align-items: flex-end; transition: transform .3s;
}
.bs-banner:hover { transform: translateY(-3px); }
.bs-banner-overlay { position: absolute; inset: 0; background: linear-gradient(to top, rgba(0,0,0,.72), transparent 60%); }
.bs-banner-body { position: relative; z-index: 1; padding: 24px; color: #fff; }
.bs-banner-body p  { font-size: 12px; font-weight: 700; opacity: .8; text-transform: uppercase; letter-spacing: 1px; }
.bs-banner-body h3 { font-size: 22px; font-weight: 900; margin: 5px 0 14px; }

/* ═══════════════════════════════════════════════
   MARQUEE SECTION
═══════════════════════════════════════════════ */
.bs-marquee-section { padding: 14px 0; overflow: hidden; }

/* ═══════════════════════════════════════════════
   FLASH SALE SECTION
═══════════════════════════════════════════════ */
.bs-flash-sale {
  padding: 52px 0;
  background: var(--bs-primary);
  position: relative; overflow: hidden;
}
.bs-flash-sale::before {
  content: ''; position: absolute; inset: 0;
  background: radial-gradient(ellipse at 20% 50%, rgba(202,166,74,.12), transparent 60%);
  pointer-events: none;
}
.bs-flash-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; margin-bottom: 28px; flex-wrap: wrap; }
.bs-flash-badge { display: inline-block; background: var(--bs-accent); color: #000; padding: 3px 14px; border-radius: 99px; font-size: 11px; font-weight: 900; text-transform: uppercase; margin-bottom: 8px; }
.bs-flash-title { font-size: clamp(22px,4vw,36px); font-weight: 900; color: #fff; margin: 4px 0 6px; }
.bs-flash-sub   { color: rgba(255,255,255,.6); font-size: 14px; }
.bs-flash-timer { display: flex; align-items: center; gap: 8px; }
.bs-flash-digit { background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.15); border-radius: 10px; padding: 10px 14px; text-align: center; min-width: 64px; }
.bs-flash-digit span  { display: block; font-size: 28px; font-weight: 900; color: #fff; line-height: 1; font-variant-numeric: tabular-nums; }
.bs-flash-digit small { display: block; font-size: 10px; color: rgba(255,255,255,.5); margin-top: 4px; text-transform: uppercase; }
.bs-flash-sep { font-size: 28px; font-weight: 900; color: var(--bs-accent); }
/* Flash sale product cards on dark bg */
.bs-flash-sale .bs-product-card { background: rgba(255,255,255,.07) !important; border-color: rgba(255,255,255,.1) !important; }
.bs-flash-sale .bs-card-title { color: #fff !important; }
.bs-flash-sale .bs-card-price { color: var(--bs-accent) !important; }
.bs-flash-sale .bs-product-card .button { background: var(--bs-accent) !important; color: #000 !important; }
@media(max-width: 520px) { .bs-flash-header { flex-direction: column; } .bs-flash-digit { min-width: 52px; } .bs-flash-digit span { font-size: 22px; } }

/* ═══════════════════════════════════════════════
   LOOK BOOK
═══════════════════════════════════════════════ */
.bs-lookbook { background: var(--bs-bg); padding: 52px 0; }
.bs-lookbook-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; }
@media(max-width: 520px) { .bs-lookbook-grid { grid-template-columns: repeat(2,1fr); } }
.bs-lookbook-item { display: block; border-radius: 14px; overflow: hidden; }
.bs-lookbook-img {
  aspect-ratio: 1; background-size: cover; background-position: center;
  position: relative; transition: transform .4s;
}
.bs-lookbook-item:hover .bs-lookbook-img { transform: scale(1.04); }
.bs-lookbook-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,.55), transparent 55%);
  display: flex; align-items: flex-end; padding: 14px;
  opacity: 0; transition: .3s;
}
.bs-lookbook-item:hover .bs-lookbook-overlay { opacity: 1; }
.bs-lookbook-overlay span { color: #fff; font-size: 13px; font-weight: 700; }

/* ═══════════════════════════════════════════════
   BRANDS GRID  ← same bg as theme
═══════════════════════════════════════════════ */
.bs-brands-section { background: var(--bs-bg); padding: 40px 0; }
.bs-brands-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(110px,1fr)); gap: 10px; }
.bs-brand-item {
  display: flex; align-items: center; justify-content: center;
  padding: 14px; border-radius: 12px; border: 1.5px solid var(--bs-border);
  transition: .2s; background: var(--bs-card-bg);
}
.bs-brand-item img { max-height: 48px; object-fit: contain; filter: grayscale(30%); transition: .2s; }
.bs-brand-item:hover { border-color: var(--bs-accent); transform: translateY(-2px); }
.bs-brand-item:hover img { filter: none; }

/* ═══════════════════════════════════════════════
   PAYMENTS MARQUEE  ← same bg as theme
═══════════════════════════════════════════════ */
.bs-payments-section { background: var(--bs-bg); padding: 24px 0; }
.bs-payments { overflow: hidden; }
.bs-payment-logos { display: flex; align-items: center; gap: 36px; white-space: nowrap; }
.bs-payment-logos span { font-size: 13px; font-weight: 700; opacity: .6; color: var(--bs-text); }

/* ═══════════════════════════════════════════════
   TESTIMONIALS
═══════════════════════════════════════════════ */
.bs-testi { background: var(--bs-card-bg); border-radius: 16px; padding: 24px; border: 1.5px solid var(--bs-border); }
.bs-testi p { font-size: 15px; line-height: 1.7; font-style: italic; margin-bottom: 12px; }
.bs-stars { color: var(--bs-accent); font-size: 18px; margin-bottom: 8px; }

/* ═══════════════════════════════════════════════
   FAQ
═══════════════════════════════════════════════ */
.bs-faq { display: flex; flex-direction: column; gap: 8px; max-width: 800px; margin: 0 auto; }
.bs-faq-section { background: var(--bs-bg); }
.bs-faq-item { background: var(--bs-card-bg); border: 1.5px solid var(--bs-border); border-radius: 14px; overflow: hidden; }
.bs-faq-q {
  width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 12px;
  padding: 16px 18px; background: transparent; border: none; color: var(--bs-text);
  font-size: 15px; font-weight: 700; cursor: pointer; text-align: left; transition: .2s;
}
body.bs-rtl .bs-faq-q { text-align: right; }
.bs-faq-q:hover { color: var(--bs-accent); }
.bs-faq-icon { font-size: 22px; font-weight: 300; flex-shrink: 0; color: var(--bs-accent); transition: .2s; }
.bs-faq-a { max-height: 0; overflow: hidden; transition: max-height .35s ease; }
.bs-faq-a-inner { padding: 0 18px 16px; font-size: 14px; line-height: 1.75; color: var(--bs-muted); }

/* ═══════════════════════════════════════════════
   NEWSLETTER
═══════════════════════════════════════════════ */
.bs-newsletter { background: var(--bs-primary); color: #fff; padding: 52px 0; text-align: center; }
.bs-newsletter h2 { font-size: clamp(22px,4vw,36px); font-weight: 900; margin-bottom: 10px; }
.bs-newsletter p { opacity: .8; margin-bottom: 24px; max-width: 460px; margin-left: auto; margin-right: auto; }
.bs-newsletter-form { display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; }
.bs-newsletter-form input {
  padding: 12px 20px; border-radius: 12px;
  border: 2px solid rgba(255,255,255,.2); background: rgba(255,255,255,.08);
  color: #fff; font-size: 14px; min-width: 260px; outline: none; -webkit-appearance: none;
}
.bs-newsletter-form input::placeholder { color: rgba(255,255,255,.45); }
.bs-newsletter-form input:focus { border-color: var(--bs-accent); }

/* ═══════════════════════════════════════════════
   FOOTER  ← no gap below copyright
═══════════════════════════════════════════════ */
.bs-footer {
  background: var(--bs-primary); color: rgba(255,255,255,.6);
  padding: 16px 0; text-align: center; font-size: 12px;
  /* Remove extra space below */
  margin-bottom: 0; padding-bottom: max(16px, var(--bs-safe-bot));
}

/* ═══════════════════════════════════════════════
   ANIMATIONS
═══════════════════════════════════════════════ */
/* Elements start hidden via CSS — no JS class injection needed */
[data-bs-anim]:not(.bs-visible) { opacity: 0; will-change: opacity, transform; }
[data-bs-anim="fadeUp"]:not(.bs-visible)     { transform: translateY(32px); }
[data-bs-anim="fadeIn"]:not(.bs-visible)     { transform: none; }
[data-bs-anim="slideLeft"]:not(.bs-visible)  { transform: translateX(-32px); }
[data-bs-anim="slideRight"]:not(.bs-visible) { transform: translateX(32px); }
[data-bs-anim="scaleIn"]:not(.bs-visible)    { transform: scale(0.94); }
[data-bs-anim].bs-visible {
  opacity: 1 !important; transform: none !important;
  transition: opacity .7s cubic-bezier(.4,0,.2,1), transform .7s cubic-bezier(.4,0,.2,1);
}
[data-bs-anim="stagger"] li,
[data-bs-anim="stagger"] .bs-product-card,
[data-bs-anim="stagger"] .bs-pill,
[data-bs-anim="stagger"] .bs-offer,
[data-bs-anim="stagger"] .bs-testi,
[data-bs-anim="stagger"] .bs-tile,
[data-bs-anim="stagger"] .bs-lookbook-item,
[data-bs-anim="stagger"] .bs-brand-item,
[data-bs-anim="stagger"] .bs-faq-item,
[data-bs-anim="stagger"] .product {
  opacity: 0; transform: translateY(18px);
  transition: opacity .5s ease, transform .5s ease;
}
[data-bs-anim="stagger"] .bs-child-visible,
[data-bs-anim="stagger"] li.bs-child-visible,
[data-bs-anim="stagger"] .product.bs-child-visible {
  opacity: 1 !important; transform: none !important;
}

/* ═══════════════════════════════════════════════
   ══ SINGLE PRODUCT PAGE ══
═══════════════════════════════════════════════ */
.bs-pd-page { padding: 24px 0 60px; background: var(--bs-bg); }
.bs-breadcrumb {
  display: flex; align-items: center; gap: 8px; flex-wrap: wrap;
  font-size: 12px; color: var(--bs-muted); margin-bottom: 28px;
}
.bs-breadcrumb a:hover { color: var(--bs-accent); }
.bs-breadcrumb span { opacity: .5; }
.bs-pd-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: start; }
@media(max-width: 768px) { .bs-pd-grid { grid-template-columns: 1fr; gap: 24px; } }

/* Gallery */
.bs-pd-gallery { display: flex; flex-direction: column; gap: 12px; position: sticky; top: calc(var(--bs-hdr-h) + 12px); }
.bs-pd-main-img {
  position: relative; border-radius: 18px; overflow: hidden;
  aspect-ratio: 1; background: #f8fafc;
}
body.bs-dark .bs-pd-main-img { background: #1a2f45; }
.bs-pd-main-img img { width: 100%; height: 100%; object-fit: cover; transition: .4s; }
.bs-pd-main-img img {
  object-fit: contain;
  padding: 18px;
  box-sizing: border-box;
}
.bs-pd-main-img:hover img { transform: none; }
.bs-pd-badge-sale {
  position: absolute; top: 14px; left: 14px;
  background: #ef4444; color: #fff; padding: 4px 12px;
  border-radius: 99px; font-size: 11px; font-weight: 900; text-transform: uppercase;
}
.bs-pd-badge-hot {
  position: absolute; top: 44px; left: 14px;
  background: var(--bs-accent); color: #000; padding: 4px 12px;
  border-radius: 99px; font-size: 11px; font-weight: 900;
}
.bs-pd-thumbs { display: flex; gap: 8px; flex-wrap: wrap; }
.bs-pd-thumb {
  width: 72px; height: 72px; border-radius: 10px; overflow: hidden;
  border: 2px solid var(--bs-border); cursor: pointer; transition: .2s;
  background: none; padding: 0;
}
.bs-pd-thumb img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 6px;
  box-sizing: border-box;
  background: #fff;
}
.bs-pd-thumb.active, .bs-pd-thumb:hover { border-color: var(--bs-accent); }

/* Info */
.bs-pd-info { display: flex; flex-direction: column; gap: 16px; }
.bs-pd-cat-pills { display: flex; flex-wrap: wrap; gap: 6px; }
.bs-pd-cats, .bs-pd-cat-pills a {
  font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .5px;
  color: var(--bs-accent); border: 1.5px solid var(--bs-accent);
  padding: 3px 12px; border-radius: 99px;
}
.bs-pd-title { font-size: clamp(22px,3.5vw,34px); font-weight: 900; line-height: 1.2; color: var(--bs-text); }
.bs-pd-price { font-size: 26px; font-weight: 900; color: var(--bs-accent); }
.bs-pd-price del { font-size: 17px; font-weight: 400; color: var(--bs-muted); margin-right: 8px; }
.bs-pd-short-desc { font-size: 14px; color: var(--bs-muted); line-height: 1.7; }

/* Size attribute tabs */
.bs-pd-attr-group { display: flex; flex-direction: column; gap: 8px; }
.bs-pd-attr-label { font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .5px; color: var(--bs-text); }
.bs-pd-size-tabs { display: flex; flex-wrap: wrap; gap: 8px; }
.bs-size-tab {
  min-width: 46px; height: 46px; padding: 0 14px;
  border: 2px solid rgba(255,255,255,.25); border-radius: 10px;
  background: #fff; color: var(--bs-primary);
  font-size: 13px; font-weight: 800; cursor: pointer; transition: .2s;
  display: inline-flex; align-items: center; justify-content: center;
}
body.bs-dark .bs-size-tab { background: rgba(255,255,255,.07); color: #fff; border-color: rgba(255,255,255,.2); }
.bs-size-tab:hover  { border-color: var(--bs-accent); color: var(--bs-accent); }
.bs-size-tab.active { border-color: var(--bs-accent) !important; border-width: 3px; background: transparent; color: var(--bs-accent); box-shadow: 0 0 0 1px var(--bs-accent); }
.bs-size-error .bs-size-tab { border-color: #ef4444 !important; animation: bs-shake .4s; }
@keyframes bs-shake { 0%,100%{transform:translateX(0)} 20%,60%{transform:translateX(-4px)} 40%,80%{transform:translateX(4px)} }

/* Qty row */
.bs-pd-qty-row { display: flex; align-items: center; gap: 16px; }
.bs-qty { display: flex; align-items: center; gap: 0; border: 2px solid var(--bs-border); border-radius: 10px; overflow: hidden; }
.bs-qty-btn {
  width: 38px; height: 40px; border: none; background: transparent;
  color: var(--bs-text); font-size: 18px; font-weight: 700; cursor: pointer; transition: .15s;
  display: flex; align-items: center; justify-content: center;
}
.bs-qty-btn:hover { background: rgba(202,166,74,.12); color: var(--bs-accent); }
.bs-qty-input {
  width: 52px; height: 40px; border: none; background: transparent;
  text-align: center; font-size: 15px; font-weight: 700; color: var(--bs-text);
  -moz-appearance: textfield; -webkit-appearance: none; outline: none;
}
.bs-qty-input::-webkit-outer-spin-button,
.bs-qty-input::-webkit-inner-spin-button { -webkit-appearance: none; }
.bs-pd-sku { font-size: 12px; color: var(--bs-muted); }

/* CTA row */
.bs-pd-cta-row {
  display: grid; grid-template-columns: 1fr 1fr; gap: 10px;
}
.bs-pd-atc { background: var(--bs-primary) !important; color: #fff !important; font-size: 14px !important; }
.bs-pd-buynow { background: var(--bs-accent) !important; color: #000 !important; font-size: 14px !important; }
.bs-out-of-stock {
  grid-column: 1/-1; text-align: center; padding: 14px;
  background: rgba(239,68,68,.1); border: 1.5px solid rgba(239,68,68,.3);
  border-radius: 12px; color: #ef4444; font-weight: 700;
}

/* Meta & Trust */
.bs-pd-meta { font-size: 13px; color: var(--bs-muted); display: flex; flex-direction: column; gap: 4px; }
.bs-pd-stock { font-weight: 700; }
.bs-pd-stock.in-stock { color: #22c55e; }
.bs-pd-stock.out { color: #ef4444; }
.bs-pd-trust { display: flex; gap: 8px; flex-wrap: wrap; padding: 12px 0; border-top: 1px solid var(--bs-border); }
.bs-trust-item {
  font-size: 11px; font-weight: 700; color: var(--bs-muted);
  background: rgba(202,166,74,.08); padding: 5px 12px; border-radius: 99px;
  border: 1px solid rgba(202,166,74,.2);
}

/* Description tabs */
.bs-pd-tabs { margin-top: 40px; }
.bs-pd-tab-nav { display: flex; gap: 4px; border-bottom: 2px solid var(--bs-border); margin-bottom: 24px; }
.bs-pd-tab-btn {
  padding: 10px 20px; border: none; background: transparent;
  font-size: 14px; font-weight: 700; color: var(--bs-muted); cursor: pointer;
  border-bottom: 2px solid transparent; margin-bottom: -2px; transition: .2s;
}
.bs-pd-tab-btn.active { color: var(--bs-accent); border-bottom-color: var(--bs-accent); }
.bs-pd-tab-body { line-height: 1.75; color: var(--bs-text); font-size: 14px; }
.bs-pd-tab-body.hidden { display: none; }
.bs-pd-desc-content h1,.bs-pd-desc-content h2,.bs-pd-desc-content h3 { margin: 16px 0 8px; font-weight: 800; }
.bs-pd-desc-content p  { margin-bottom: 12px; }
.bs-pd-desc-content ul,.bs-pd-desc-content ol { padding-left: 20px; list-style: disc; margin-bottom: 12px; }

/* Related products */
.bs-pd-related { margin-top: 52px; }

/* ═══════════════════════════════════════════════
   ══ CART PAGE ══
═══════════════════════════════════════════════ */
.bs-cart-page { padding: 28px 0 60px; background: var(--bs-bg); min-height: 60vh; }
.bs-page-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 28px; flex-wrap: wrap; gap: 12px; }
.bs-page-header h1 { font-size: clamp(22px,4vw,34px); font-weight: 900; }
.bs-back-shop { font-size: 13px; color: var(--bs-accent); font-weight: 700; }
.bs-back-shop:hover { text-decoration: underline; }

.bs-cart-empty { text-align: center; padding: 80px 20px; }
.bs-cart-empty-icon { font-size: 72px; margin-bottom: 16px; }
.bs-cart-empty h2 { font-size: 24px; font-weight: 800; margin-bottom: 8px; }
.bs-cart-empty p  { color: var(--bs-muted); margin-bottom: 24px; }

.bs-cart-layout { display: grid; grid-template-columns: 1fr 360px; gap: 28px; align-items: start; }
@media(max-width: 900px) { .bs-cart-layout { grid-template-columns: 1fr; } }

.bs-cart-items { display: flex; flex-direction: column; gap: 0; }
.bs-cart-item {
  display: grid; grid-template-columns: 80px 1fr auto auto auto;
  gap: 14px; align-items: center; padding: 16px 0;
  border-bottom: 1px solid var(--bs-border);
}
@media(max-width: 520px) { .bs-cart-item { grid-template-columns: 64px 1fr; gap: 10px; flex-wrap: wrap; } }
.bs-ci-img { border-radius: 12px; overflow: hidden; aspect-ratio: 1; }
.bs-ci-img img { width: 80px; height: 80px; object-fit: cover; }
@media(max-width: 520px) { .bs-ci-img img { width: 64px; height: 64px; } }
.bs-ci-info { display: flex; flex-direction: column; gap: 4px; }
.bs-ci-name  { font-size: 14px; font-weight: 700; color: var(--bs-text); }
.bs-ci-var   { font-size: 11px; color: var(--bs-accent); font-weight: 700; }
.bs-ci-price { font-size: 13px; color: var(--bs-muted); }
.bs-ci-qty   { display: flex; align-items: center; gap: 4px; }
.bs-ci-subtotal { font-size: 15px; font-weight: 900; color: var(--bs-text); min-width: 80px; text-align: right; }
.bs-ci-remove { color: var(--bs-muted); font-size: 16px; transition: color .15s; flex-shrink: 0; }
.bs-ci-remove:hover { color: #ef4444; }

.bs-cart-actions { padding: 20px 0; display: flex; flex-direction: column; gap: 12px; }
.bs-applied-coupon {
  display: flex; align-items: center; gap: 8px; font-size: 13px;
  color: #22c55e; font-weight: 700;
}
.bs-remove-coupon { color: var(--bs-muted); font-size: 14px; transition: .15s; }
.bs-remove-coupon:hover { color: #ef4444; }
.bs-coupon-row { display: flex; gap: 8px; }
.bs-coupon-input {
  flex: 1; padding: 10px 14px; border-radius: 10px;
  border: 2px solid var(--bs-border); background: var(--bs-card-bg);
  color: var(--bs-text); font-size: 13px; outline: none; transition: .2s;
}
.bs-coupon-input:focus { border-color: var(--bs-accent); }
.bs-update-cart { background: transparent; border: 1.5px solid var(--bs-border); color: var(--bs-text); font-size: 13px; }
.bs-update-cart:hover { border-color: var(--bs-accent); color: var(--bs-accent); }

/* Cart summary */
.bs-cart-summary {
  background: var(--bs-card-bg); border-radius: 18px;
  padding: 24px; border: 1.5px solid var(--bs-border);
  position: sticky; top: calc(var(--bs-hdr-h) + 12px);
}
.bs-cart-summary-title { font-size: 18px; font-weight: 900; margin-bottom: 16px; }
.bs-cart-totals { display: flex; flex-direction: column; gap: 10px; margin-bottom: 20px; }
.bs-ct-row { display: flex; justify-content: space-between; font-size: 14px; }
.bs-ct-row span:first-child { color: var(--bs-muted); }
.bs-ct-row span:last-child  { font-weight: 700; }
.bs-discount span { color: #22c55e !important; }
.bs-ct-total { padding-top: 10px; border-top: 2px solid var(--bs-border); font-size: 16px; }
.bs-ct-total span { font-weight: 900 !important; color: var(--bs-text) !important; }
.bs-ct-total span:last-child { color: var(--bs-accent) !important; font-size: 20px; }
.bs-checkout-btn { margin-bottom: 12px; font-size: 15px; background: var(--bs-accent); color: #000; }
.bs-cart-continue { display: block; text-align: center; font-size: 12px; color: var(--bs-muted); margin-bottom: 16px; }
.bs-cart-continue:hover { color: var(--bs-accent); }
.bs-cart-trust { display: flex; flex-direction: column; gap: 6px; font-size: 12px; color: var(--bs-muted); }
.bs-cart-trust span::before { margin-right: 6px; }

/* ═══════════════════════════════════════════════
   ══ CHECKOUT PAGE ══
═══════════════════════════════════════════════ */
.bs-checkout-page { padding: 28px 0 60px; background: var(--bs-bg); }
.bs-checkout-title { font-size: clamp(22px,4vw,34px); font-weight: 900; margin-bottom: 28px; }
.bs-checkout-form  { display: contents; }
.bs-checkout-layout { display: grid; grid-template-columns: 1fr 380px; gap: 28px; align-items: start; }
@media(max-width: 900px) { .bs-checkout-layout { grid-template-columns: 1fr; } }

.bs-checkout-main, .bs-checkout-side { display: flex; flex-direction: column; gap: 20px; }
.bs-co-section { background: var(--bs-card-bg); border-radius: 18px; padding: 24px; border: 1.5px solid var(--bs-border); }
.bs-co-section h2 { font-size: 16px; font-weight: 900; margin-bottom: 18px; padding-bottom: 12px; border-bottom: 1px solid var(--bs-border); }
.bs-co-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
@media(max-width: 520px) { .bs-co-fields { grid-template-columns: 1fr; } }

/* WooCommerce form fields override */
.bs-co-fields .form-row,
.woocommerce-checkout .form-row { margin: 0 !important; }
.bs-co-fields .form-row input,
.bs-co-fields .form-row select,
.woocommerce-checkout .form-row input,
.woocommerce-checkout .form-row select {
  width: 100% !important; padding: 11px 14px !important;
  border: 2px solid #e5e7eb !important; border-radius: 10px !important;
  background: #fff !important; color: #111 !important;
  font-size: 14px !important; outline: none !important; transition: .2s !important;
  font-family: inherit !important;
}
.woocommerce-checkout .form-row input:focus,
.woocommerce-checkout .form-row select:focus { border-color: var(--bs-accent) !important; }
.woocommerce-checkout .form-row label { font-size: 12px !important; font-weight: 700 !important; color: #374151 !important; margin-bottom: 5px !important; display: block !important; }
.woocommerce-checkout .form-row.form-row-wide { grid-column: 1/-1; }

/* Toggle for ship to different */
.bs-co-toggle { display: flex; align-items: center; gap: 10px; margin-bottom: 14px; cursor: pointer; }
.bs-toggle { position: relative; display: inline-block; width: 44px; height: 24px; }
.bs-toggle input { opacity: 0; width: 0; height: 0; }
.bs-toggle-slider {
  position: absolute; cursor: pointer; inset: 0; border-radius: 99px;
  background: rgba(0,0,0,.15); transition: .2s;
}
.bs-toggle-slider::before {
  content: ''; position: absolute; width: 18px; height: 18px;
  left: 3px; bottom: 3px; border-radius: 50%; background: #fff; transition: .2s;
}
.bs-toggle input:checked + .bs-toggle-slider { background: var(--bs-accent); }
.bs-toggle input:checked + .bs-toggle-slider::before { transform: translateX(20px); }

/* Order summary in checkout */
.bs-co-items { display: flex; flex-direction: column; gap: 12px; margin-bottom: 16px; }
.bs-co-item { display: flex; align-items: center; gap: 12px; }
.bs-co-item img { width: 54px; height: 54px; border-radius: 8px; object-fit: cover; flex-shrink: 0; }
.bs-co-item > div { flex: 1; font-size: 13px; font-weight: 700; }
.bs-co-qty { display: block; font-size: 11px; font-weight: 400; color: var(--bs-muted); }
.bs-co-item-total { font-size: 13px; font-weight: 900; color: var(--bs-accent); }
.bs-co-totals { border-top: 1px solid var(--bs-border); padding-top: 12px; display: flex; flex-direction: column; gap: 8px; }

/* Payment section in checkout */
.bs-co-payment .wc_payment_methods { list-style: none; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.bs-co-payment .payment_box { background: rgba(202,166,74,.06); border-radius: 10px; padding: 12px; margin-top: 8px; font-size: 13px; }
.bs-co-payment input[type=radio] { accent-color: var(--bs-accent); width: 16px; height: 16px; }
.bs-co-payment label { font-size: 14px; font-weight: 600; cursor: pointer; margin-left: 8px; }

/* WooCommerce place order button */
.bs-co-payment #place_order {
  width: 100% !important; padding: 14px !important;
  background: var(--bs-accent) !important; color: #000 !important;
  border: none !important; border-radius: 12px !important;
  font-size: 15px !important; font-weight: 900 !important;
  cursor: pointer !important; margin-top: 16px !important; transition: .2s !important;
}
.bs-co-payment #place_order:hover { filter: brightness(1.1) !important; }
.bs-co-trust { display: flex; gap: 12px; justify-content: center; font-size: 12px; color: var(--bs-muted); flex-wrap: wrap; padding: 8px 0; }

/* ═══════════════════════════════════════════════
   SEARCH RESULTS PAGE
═══════════════════════════════════════════════ */
.bs-search-results-page { padding: 32px 0 60px; }
.bs-search-header { margin-bottom: 28px; }
.bs-search-header h1 { font-size: clamp(20px,3.5vw,30px); font-weight: 900; margin-bottom: 6px; }
.bs-search-header p  { color: var(--bs-muted); font-size: 14px; }
.bs-no-results { text-align: center; padding: 80px 20px; }
.bs-no-results .icon { font-size: 64px; margin-bottom: 16px; }
.bs-no-results h2 { font-size: 22px; font-weight: 800; margin-bottom: 8px; }
.bs-no-results p  { color: var(--bs-muted); margin-bottom: 24px; }

/* ═══════════════════════════════════════════════
   DARK MODE ADJUSTMENTS
═══════════════════════════════════════════════ */
body.bs-dark .bs-card-img-wrap     { background: linear-gradient(135deg,#1a2f45,#112030); }
body.bs-dark .bs-coupon-input      { background: rgba(255,255,255,.05); }
body.bs-dark .bs-cart-summary      { border-color: rgba(255,255,255,.1); }
body.bs-dark .bs-co-section        { border-color: rgba(255,255,255,.08); }
body.bs-dark .bs-size-tab          { background: rgba(255,255,255,.07); color: #fff; border-color: rgba(255,255,255,.2); }

/* ═══════════════════════════════════════════════
   RTL
═══════════════════════════════════════════════ */
body.bs-rtl .bs-ci-subtotal { text-align: left; }
body.bs-rtl .bs-co-fields .form-row.form-row-wide { grid-column: 1/-1; }

/* ═══════════════════════════════════════════════
   iOS SAFE AREA
═══════════════════════════════════════════════ */
@supports (padding: max(0px)) {
  .bs-header   { padding-top: max(0px, env(safe-area-inset-top)); }
  .bs-bottombar { padding-bottom: max(0px, env(safe-area-inset-bottom)); }
}

/* Prevent input zoom on iOS */
@media(max-width: 767px) {
  input[type="text"], input[type="email"], input[type="search"],
  input[type="tel"], input[type="number"], input[type="password"],
  textarea, select { font-size: 16px !important; }
}

/* Remove default WP/WC sidebar & widget junk */
.widget-area, #secondary, .woocommerce-sidebar,
aside.widget-area, .storefront-sidebar { display: none !important; }

/* Remove WC breadcrumbs (we have our own) */
.woocommerce-breadcrumb { display: none !important; }

/* WC notices styled */
.woocommerce-message, .woocommerce-error, .woocommerce-info {
  padding: 12px 16px; border-radius: 12px; margin-bottom: 16px;
  font-size: 13px; font-weight: 600; border: none !important;
  list-style: none !important;
}
.woocommerce-message { background: rgba(34,197,94,.1); color: #16a34a; border-left: 3px solid #22c55e !important; }
.woocommerce-error   { background: rgba(239,68,68,.1); color: #dc2626; border-left: 3px solid #ef4444 !important; }
.woocommerce-info    { background: rgba(202,166,74,.1); color: var(--bs-accent); border-left: 3px solid var(--bs-accent) !important; }

/* ═══════════════════════════════════════════════
   COLLECTION TABS SECTION
═══════════════════════════════════════════════ */
.bs-collection-tabs-section { background: var(--bs-bg); padding: 48px 0; }
.bs-ctabs-nav {
  display: flex; align-items: center; gap: 8px;
  flex-wrap: wrap; margin-bottom: 28px;
}
.bs-ctab-btn {
  padding: 10px 22px; border-radius: 10px;
  border: 2px solid var(--bs-border);
  background: transparent; color: var(--bs-text);
  font-size: 14px; font-weight: 700; cursor: pointer;
  transition: .2s; white-space: nowrap;
}
.bs-ctab-btn:hover  { border-color: var(--bs-accent); color: var(--bs-accent); }
.bs-ctab-btn.active { background: var(--bs-accent); border-color: var(--bs-accent); color: #000; }
.bs-ctab-panel { display: none; }
.bs-ctab-panel.active { display: block; animation: bsFadeIn .3s ease; }
@keyframes bsFadeIn { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:none; } }

/* ═══════════════════════════════════════════════
   FOOTER SOCIAL ICONS
═══════════════════════════════════════════════ */
.bs-footer { background: var(--bs-primary); color: rgba(255,255,255,.55); padding: 16px 0; }
.bs-footer-inner {
  display: flex; align-items: center; justify-content: space-between;
  gap: 16px; flex-wrap: wrap;
}
.bs-footer-copy { font-size: 12px; }
.bs-footer-social { display: flex; align-items: center; gap: 10px; }
.bs-social-icon {
  display: flex; align-items: center; justify-content: center;
  width: 36px; height: 36px; border-radius: 8px;
  background: rgba(255,255,255,.08); color: rgba(255,255,255,.7);
  transition: .2s; border: 1px solid rgba(255,255,255,.1);
}
.bs-social-icon:hover { background: rgba(255,255,255,.18); color: #fff; transform: translateY(-2px); }
.bs-social-facebook:hover  { background: rgba(24,119,242,.3); color: #1877F2; border-color: #1877F2; }
.bs-social-instagram:hover { background: rgba(228,64,95,.3);  color: #E4405F; border-color: #E4405F; }
.bs-social-tiktok:hover    { background: rgba(0,0,0,.5);      color: #fff; }
.bs-social-youtube:hover   { background: rgba(255,0,0,.2);    color: #FF0000; border-color: #FF0000; }

/* ═══════════════════════════════════════════════
   ADMIN LIVE PREVIEW
═══════════════════════════════════════════════ */
#bs-preview-wrap {
  display: flex; flex-direction: column; height: calc(100vh - 32px);
  background: #111; overflow: hidden;
}
.bs-preview-bar {
  display: flex; align-items: center; gap: 12px;
  padding: 8px 16px; background: #1e293b; color: #94a3b8;
  font-size: 13px; font-weight: 600; flex-shrink: 0;
}
.bs-preview-bar button { background: rgba(255,255,255,.08); border: none; color: #cbd5e1; padding: 4px 10px; border-radius: 6px; cursor: pointer; font-size: 13px; }
.bs-preview-bar button:hover { background: rgba(255,255,255,.16); }
.bs-preview-iframe { flex: 1; border: none; width: 100%; background: #fff; }

/* ═══════════════════════════════════════════════
   ADMIN COLLECTION TABS PANEL
═══════════════════════════════════════════════ */
.bs-tab-item {
  background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.1);
  border-radius: 10px; padding: 16px; margin-bottom: 12px;
  display: flex; flex-direction: column; gap: 10px;
}
.bs-tab-item-head {
  display: flex; align-items: center; justify-content: space-between;
  padding-bottom: 10px; border-bottom: 1px solid rgba(255,255,255,.08);
}
.bs-tab-item-head strong { font-size: 14px; font-weight: 700; }
.bs-remove-btn {
  background: rgba(239,68,68,.15); color: #ef4444; border: 1px solid rgba(239,68,68,.3);
  border-radius: 6px; padding: 4px 10px; font-size: 11px; cursor: pointer;
}
.bs-add-btn {
  width: 100%; padding: 10px; background: rgba(202,166,74,.12);
  border: 2px dashed var(--bs-accent); color: var(--bs-accent);
  border-radius: 10px; font-weight: 700; font-size: 13px; cursor: pointer;
  transition: .2s; margin-top: 4px;
}
.bs-add-btn:hover { background: rgba(202,166,74,.2); }


/* ════════════════════════════════════════════
   SOCIAL MEDIA SECTION
════════════════════════════════════════════ */
.bs-social-section { background: var(--bs-bg); padding: 48px 0; }
.bs-social-sub { color: var(--bs-muted); font-size: 15px; margin: -8px 0 28px; text-align: center; }
.bs-social-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 14px;
}
.bs-social-card {
  display: flex; align-items: center; gap: 16px;
  padding: 20px 22px; border-radius: 16px;
  background: var(--bs-card-bg);
  border: 1.5px solid var(--bs-border);
  transition: transform .25s, box-shadow .25s, border-color .25s;
  text-decoration: none; position: relative; overflow: hidden;
}
.bs-social-card:hover { transform: translateY(-4px); box-shadow: 0 12px 36px rgba(0,0,0,.14); border-color: var(--sc-color); }
.bs-sc-icon {
  width: 54px; height: 54px; border-radius: 14px;
  display: flex; align-items: center; justify-content: center;
  background: rgba(0,0,0,.05); color: var(--sc-color);
  flex-shrink: 0; transition: background .25s, color .25s;
}
body.bs-dark .bs-sc-icon { background: rgba(255,255,255,.06); }
.bs-social-card:hover .bs-sc-icon { background: var(--sc-color); color: #fff; }
.bs-sc-info { flex: 1; }
.bs-sc-info strong { display: block; font-size: 15px; font-weight: 800; color: var(--bs-text); }
.bs-sc-info span   { display: block; font-size: 12px; color: var(--bs-muted); margin-top: 2px; }
.bs-sc-arrow { font-size: 20px; color: var(--bs-muted); transition: color .2s, transform .25s; }
.bs-social-card:hover .bs-sc-arrow { color: var(--sc-color); transform: translateX(5px); }
@media(max-width:600px){ .bs-social-grid { grid-template-columns: 1fr 1fr; } }
@media(max-width:400px){ .bs-social-grid { grid-template-columns: 1fr; } }

/* ════════════════════════════════════════════
   CHECKOUT — TEXT BLACK IN BOTH MODES
════════════════════════════════════════════ */
.bs-checkout-page { background: #f8fafc !important; }
.bs-checkout-page .bs-co-section { background: #fff !important; border-color: #e5e7eb !important; }
.bs-checkout-page h1, .bs-checkout-page h2 { color: #111 !important; }
.bs-checkout-page .bs-ct-row span,
.bs-checkout-page .bs-co-item strong,
.bs-checkout-page .bs-co-qty { color: #222 !important; }
.bs-checkout-page .bs-co-trust { color: #555 !important; }
.bs-checkout-page .woocommerce-checkout .form-row input,
.bs-checkout-page .woocommerce-checkout .form-row select,
.bs-checkout-page .woocommerce-checkout .form-row textarea {
  background: #fff !important; color: #111 !important; border-color: #d1d5db !important;
}
.bs-checkout-page .woocommerce-checkout .form-row label { color: #374151 !important; }
.bs-checkout-page .bs-co-payment label { color: #111 !important; }
.bs-checkout-page .bs-co-payment .payment_box { color: #333 !important; background: #f9fafb !important; }

/* ════════════════════════════════════════════
   BRANDS + PAYMENTS — THEME BG
════════════════════════════════════════════ */
.bs-payments-section { background: var(--bs-bg) !important; padding: 24px 0; }
.bs-brands-section   { background: var(--bs-bg) !important; padding: 40px 0; }
.bs-brand-item       { background: var(--bs-card-bg) !important; }

/* ════════════════════════════════════════════
   FOOTER — SOCIAL ABOVE COPYRIGHT
════════════════════════════════════════════ */
.bs-footer { background: var(--bs-primary); color: rgba(255,255,255,.5); padding: 20px 0; }
.bs-footer-inner { display: flex; flex-direction: column; align-items: center; gap: 14px; }
.bs-footer-useful { display: flex; flex-direction: column; align-items: center; gap: 10px; width: 100%; }
.bs-footer-heading {
  font-size: 12px; font-weight: 700; text-transform: uppercase;
  letter-spacing: .08em; color: rgba(255,255,255,.74);
}
.bs-footer-links { display: flex; align-items: center; justify-content: center; gap: 16px; flex-wrap: wrap; }
.bs-footer-link {
  color: rgba(255,255,255,.88); text-decoration: none; font-size: 14px;
  padding-bottom: 2px; border-bottom: 1px solid rgba(255,255,255,.2); transition: .2s;
}
.bs-footer-link:hover { color: #fff; border-bottom-color: rgba(255,255,255,.7); }
.bs-footer-social { display: flex; align-items: center; justify-content: center; gap: 10px; flex-wrap: wrap; }
.bs-social-icon {
  display: flex; align-items: center; justify-content: center;
  width: 40px; height: 40px; border-radius: 10px;
  background: rgba(255,255,255,.08); color: rgba(255,255,255,.7);
  border: 1px solid rgba(255,255,255,.1); transition: .2s;
}
.bs-social-icon:hover { color: #fff; transform: translateY(-2px); }
.bs-social-facebook:hover  { background: #1877F2; border-color: #1877F2; }
.bs-social-instagram:hover { background: #dc2743; border-color: #dc2743; }
.bs-social-tiktok:hover    { background: #010101; border-color: #69C9D0; }
.bs-social-youtube:hover   { background: #FF0000; border-color: #FF0000; }
.bs-footer-copy { font-size: 12px; color: rgba(255,255,255,.38); }

/* ════════════════════════════════════════════
   BUY NOW + COLLECTION TABS + WC PAGE
════════════════════════════════════════════ */
.bs-pd-buynow { background: var(--bs-accent) !important; color: #000 !important; }
.bs-pd-buynow:disabled { opacity: .65 !important; }
.bs-collection-tabs-section { background: var(--bs-bg); padding: 40px 0; }
.bs-ctab-panel[hidden] { display: none !important; }
.bs-ctab-panel.active  { display: block !important; animation: bsFadeIn .3s ease; }
@keyframes bsFadeIn { from{opacity:0;transform:translateY(8px)} to{opacity:1;transform:none} }
.bs-wc-page { background: var(--bs-bg) !important; }
.widget_shopping_cart, .woocommerce-mini-cart { display: none !important; }

/* Social card — empty/no URL state */
.bs-sc-empty { opacity: .45; cursor: default; pointer-events: none; }
.bs-sc-empty .bs-sc-info span::after { content: ' — Add in Admin'; color: var(--bs-accent); font-style: italic; }

/* ═══════════════════════════════════════════════
   PRODUCT CARD GRADIENT — scaleY (FINAL, WORKS 100%)
   scaleY NOT blocked by parent opacity
   scaleY NOT blocked by overflow:hidden
   Grows from BOTTOM UP on hover
═══════════════════════════════════════════════ */
.bs-card-grad {
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 75% !important;
  z-index: 15 !important;
  pointer-events: none !important;
  background: linear-gradient(
    to top,
    rgba(5, 10, 25, 0.95)  0%,
    rgba(5, 10, 25, 0.65)  40%,
    transparent            100%
  ) !important;
  transform: scaleY(0) !important;
  transform-origin: bottom center !important;
  transition: transform 0.42s cubic-bezier(0.4, 0, 0.2, 1) !important;
  will-change: transform !important;
}

.bs-product-card:hover .bs-card-grad {
  transform: scaleY(1) !important;
}

/* ═══════════════════════════════════════════════
   ORDER CONFIRMATION (THANK YOU PAGE)
═══════════════════════════════════════════════ */
.bs-thankyou-page { padding: 40px 0 80px; background: var(--bs-bg); min-height: 60vh; }

.bs-ty-wrap {
  max-width: 680px; margin: 0 auto;
  display: flex; flex-direction: column; align-items: center; gap: 28px;
  text-align: center;
}

/* Animated checkmark */
.bs-ty-icon { width: 100px; height: 100px; }
.bs-ty-circle { width: 100%; height: 100%; overflow: visible; }
.bs-ty-ring {
  fill: none; stroke: var(--bs-accent); stroke-width: 3.5;
  stroke-dasharray: 226; stroke-dashoffset: 226;
  animation: bs-ring-draw .7s cubic-bezier(.4,0,.2,1) .1s forwards;
  transform-origin: center;
}
.bs-ty-fill {
  fill: rgba(202,166,74,.12); stroke: none;
  transform: scale(0); transform-origin: center;
  animation: bs-scale-in .4s ease .6s both;
}
.bs-ty-check {
  stroke: var(--bs-accent); stroke-width: 4.5;
  stroke-dasharray: 55; stroke-dashoffset: 55;
  animation: bs-check-draw .4s ease .8s forwards;
}
@keyframes bs-ring-draw  { to { stroke-dashoffset: 0; } }
@keyframes bs-scale-in   { to { transform: scale(1); } }
@keyframes bs-check-draw { to { stroke-dashoffset: 0; } }
.bs-ty-icon-emoji { font-size: 64px; display: block; animation: bs-scale-in .4s ease both; }

/* Text */
.bs-ty-title { font-size: clamp(22px,5vw,34px); font-weight: 900; margin: 0; }
.bs-ty-sub   { font-size: 15px; color: var(--bs-muted); margin: -10px 0 0; }
.bs-ty-sub strong { color: var(--bs-text); }

/* Meta cards */
.bs-ty-meta {
  display: grid; grid-template-columns: repeat(2,1fr); gap: 12px;
  width: 100%; text-align: left;
}
@media(min-width:520px){ .bs-ty-meta { grid-template-columns: repeat(4,1fr); } }
.bs-ty-meta-card {
  background: var(--bs-card-bg); border: 1.5px solid var(--bs-border);
  border-radius: 14px; padding: 14px; display: flex; flex-direction: column; gap: 4px;
}
.bs-ty-meta-label { font-size: 11px; color: var(--bs-muted); text-transform: uppercase; letter-spacing: .05em; }
.bs-ty-meta-value { font-size: 14px; font-weight: 800; }
.bs-ty-total       { color: var(--bs-accent); }

/* Items */
.bs-ty-items-wrap {
  width: 100%; text-align: left;
  background: var(--bs-card-bg); border: 1.5px solid var(--bs-border);
  border-radius: 18px; padding: 20px;
}
.bs-ty-section-title { font-size: 15px; font-weight: 900; margin: 0 0 16px; }
.bs-ty-items { display: flex; flex-direction: column; gap: 14px; margin-bottom: 16px; }
.bs-ty-item  { display: flex; align-items: center; gap: 12px; }
.bs-ty-item-img { position: relative; flex-shrink: 0; }
.bs-ty-item-img img { width: 60px; height: 60px; border-radius: 10px; object-fit: cover; }
.bs-ty-item-qty {
  position: absolute; top: -6px; right: -6px;
  background: var(--bs-accent); color: #000; border-radius: 50%;
  width: 20px; height: 20px; font-size: 11px; font-weight: 800;
  display: flex; align-items: center; justify-content: center;
}
.bs-ty-item-info { flex: 1; }
.bs-ty-item-name { font-size: 13px; font-weight: 700; display: block; }
.bs-ty-item-meta { font-size: 11px; color: var(--bs-muted); display: block; }
.bs-ty-item-price { font-size: 14px; font-weight: 800; color: var(--bs-accent); }

.bs-ty-totals { border-top: 1px solid var(--bs-border); padding-top: 14px; display: flex; flex-direction: column; gap: 8px; }
.bs-ty-row { display: flex; justify-content: space-between; font-size: 13px; }
.bs-ty-discount span:last-child { color: #16a34a; }
.bs-ty-grand { font-size: 16px; font-weight: 900; padding-top: 6px; border-top: 2px solid var(--bs-border); margin-top: 4px; }
.bs-ty-grand span:last-child { color: var(--bs-accent); }

/* Address */
.bs-ty-address-wrap {
  width: 100%; text-align: left;
  background: var(--bs-card-bg); border: 1.5px solid var(--bs-border);
  border-radius: 18px; padding: 20px;
}
.bs-ty-address { font-style: normal; font-size: 14px; line-height: 1.7; color: var(--bs-muted); }

/* CTAs */
.bs-ty-actions { display: flex; gap: 12px; flex-wrap: wrap; justify-content: center; }
.bs-ty-btn-shop   { background: var(--bs-accent); color: #000; font-weight: 800; padding: 14px 28px; }
.bs-ty-btn-orders { padding: 14px 28px; }

/* Progress tracker */
.bs-ty-tracker {
  display: flex; align-items: center; justify-content: center;
  width: 100%; gap: 0; flex-wrap: nowrap;
}
.bs-ty-step { display: flex; flex-direction: column; align-items: center; gap: 6px; flex: 0 0 auto; }
.bs-ty-step-icon {
  width: 44px; height: 44px; border-radius: 50%;
  background: var(--bs-card-bg); border: 2px solid var(--bs-border);
  display: flex; align-items: center; justify-content: center; font-size: 18px;
  transition: border-color .3s, background .3s;
}
.bs-ty-step.active .bs-ty-step-icon { border-color: var(--bs-accent); background: rgba(202,166,74,.15); }
.bs-ty-step-label { font-size: 11px; color: var(--bs-muted); white-space: nowrap; }
.bs-ty-step.active .bs-ty-step-label { color: var(--bs-accent); font-weight: 700; }
.bs-ty-step-line { flex: 1; height: 2px; background: var(--bs-border); min-width: 20px; max-width: 60px; margin: 0 4px; position: relative; top: -12px; }

/* Dark overrides */
body.bs-dark .bs-ty-meta-card,
body.bs-dark .bs-ty-items-wrap,
body.bs-dark .bs-ty-address-wrap { border-color: rgba(255,255,255,.08); }

/* ═══════════════════════════════════════════════
   CUSTOMER ACCOUNT / REGISTRATION PAGE
═══════════════════════════════════════════════ */
.bs-account-page { padding: 40px 0 80px; background: var(--bs-bg); min-height: 60vh; }
.bs-account-wrap { max-width: 960px; margin: 0 auto; }
.bs-account-title { font-size: clamp(22px,4vw,32px); font-weight: 900; margin-bottom: 32px; }

/* Tabs */
.bs-acc-tabs { display: flex; gap: 4px; flex-wrap: wrap; margin-bottom: 28px; }
.bs-acc-tab {
  padding: 10px 18px; border-radius: 99px;
  background: var(--bs-card-bg); border: 1.5px solid var(--bs-border);
  font-size: 13px; font-weight: 700; cursor: pointer; transition: .2s;
}
.bs-acc-tab:hover, .bs-acc-tab.active {
  background: var(--bs-accent); color: #000; border-color: var(--bs-accent);
}

/* Panel */
.bs-acc-panel { display: none; }
.bs-acc-panel.active { display: block; }

/* Auth forms */
.bs-acc-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
@media(max-width:700px){ .bs-acc-form-grid { grid-template-columns: 1fr; } }
.bs-acc-card {
  background: var(--bs-card-bg); border: 1.5px solid var(--bs-border);
  border-radius: 18px; padding: 28px;
}
.bs-acc-card h2 { font-size: 18px; font-weight: 900; margin-bottom: 20px; padding-bottom: 14px; border-bottom: 1px solid var(--bs-border); }
.bs-acc-field { display: flex; flex-direction: column; gap: 6px; margin-bottom: 14px; }
.bs-acc-field label { font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: var(--bs-muted); }
.bs-acc-field input {
  width: 100%; padding: 11px 14px; border-radius: 10px;
  border: 1.5px solid var(--bs-border); background: var(--bs-bg);
  color: var(--bs-text); font-size: 14px; transition: border-color .2s;
  box-sizing: border-box;
}
.bs-acc-field input:focus { outline: none; border-color: var(--bs-accent); }
.bs-acc-submit {
  width: 100%; margin-top: 6px; padding: 13px;
  background: var(--bs-accent); color: #000; border: none;
  border-radius: 12px; font-size: 15px; font-weight: 800; cursor: pointer;
  transition: filter .2s;
}
.bs-acc-submit:hover { filter: brightness(1.08); }
.bs-acc-divider { text-align: center; font-size: 13px; color: var(--bs-muted); margin: 12px 0; }
.bs-acc-link { color: var(--bs-accent); font-weight: 700; text-decoration: none; }
.bs-acc-link:hover { text-decoration: underline; }

/* Orders table */
.bs-acc-orders { width: 100%; border-collapse: collapse; font-size: 13px; }
.bs-acc-orders th {
  text-align: left; padding: 10px 14px;
  font-size: 11px; text-transform: uppercase; letter-spacing: .05em;
  color: var(--bs-muted); border-bottom: 2px solid var(--bs-border);
}
.bs-acc-orders td { padding: 14px; border-bottom: 1px solid var(--bs-border); }
.bs-acc-orders tr:last-child td { border-bottom: none; }
.bs-acc-status {
  display: inline-block; padding: 3px 10px; border-radius: 99px;
  font-size: 11px; font-weight: 700;
}
.bs-acc-status.processing { background: rgba(59,130,246,.15); color: #3b82f6; }
.bs-acc-status.completed  { background: rgba(22,163,74,.15);  color: #16a34a; }
.bs-acc-status.pending    { background: rgba(202,166,74,.15); color: #ca9a4a; }
.bs-acc-status.cancelled  { background: rgba(239,68,68,.15);  color: #ef4444; }
.bs-acc-view-btn { font-size: 12px; font-weight: 700; color: var(--bs-accent); text-decoration: none; }

/* Empty state */
.bs-acc-empty { text-align: center; padding: 50px 20px; color: var(--bs-muted); }
.bs-acc-empty-icon { font-size: 48px; margin-bottom: 12px; }
.bs-acc-empty p { font-size: 14px; }

/* Logged-in user info */
.bs-acc-user-card {
  display: flex; align-items: center; gap: 16px;
  background: var(--bs-card-bg); border: 1.5px solid var(--bs-border);
  border-radius: 18px; padding: 20px; margin-bottom: 28px;
}
.bs-acc-avatar { width: 56px; height: 56px; border-radius: 50%; overflow: hidden; flex-shrink: 0; }
.bs-acc-avatar img { width: 100%; height: 100%; object-fit: cover; }
.bs-acc-user-name { font-size: 18px; font-weight: 900; }
.bs-acc-user-email { font-size: 13px; color: var(--bs-muted); }
.bs-acc-logout { margin-left: auto; font-size: 13px; font-weight: 700; color: var(--bs-muted); text-decoration: none; }
.bs-acc-logout:hover { color: #ef4444; }

/* Product card in account */
.bs-acc-products { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px,1fr)); gap: 16px; }
.bs-acc-prod-card {
  background: var(--bs-card-bg); border: 1.5px solid var(--bs-border);
  border-radius: 14px; overflow: hidden; text-decoration: none; color: var(--bs-text);
  transition: transform .2s, box-shadow .2s;
}
.bs-acc-prod-card:hover { transform: translateY(-3px); box-shadow: 0 8px 24px rgba(0,0,0,.12); }
.bs-acc-prod-card img { width: 100%; aspect-ratio: 1; object-fit: cover; }
.bs-acc-prod-info { padding: 10px 12px; }
.bs-acc-prod-name { font-size: 12px; font-weight: 700; display: block; }
.bs-acc-prod-price { font-size: 12px; color: var(--bs-accent); font-weight: 700; }

/* Dark mode */
body.bs-dark .bs-acc-card,
body.bs-dark .bs-acc-user-card { border-color: rgba(255,255,255,.08); }

/* ═══════════════════════════════════════════════
   v22 ENHANCEMENTS — CHECKOUT, SECTIONS, EFFECTS
═══════════════════════════════════════════════ */

/* ── Checkout v22 – Professional redesign ── */
.bs-checkout-page { padding: 28px 0 80px; background: var(--bs-bg); min-height: 80vh; }
.bs-checkout-title {
  font-size: clamp(20px,3.5vw,30px); font-weight: 900; margin-bottom: 32px;
  display: flex; align-items: center; gap: 10px;
}
.bs-checkout-title svg { color: var(--bs-accent); }
.bs-checkout-layout { display: grid; grid-template-columns: 1fr 380px; gap: 28px; align-items: start; }
@media(max-width:900px){ .bs-checkout-layout { grid-template-columns: 1fr; } }
.bs-checkout-main, .bs-checkout-side { display: flex; flex-direction: column; gap: 20px; }

/* Section cards */
.bs-co-section {
  background: var(--bs-card-bg); border-radius: 20px; padding: 24px 26px;
  border: 1.5px solid var(--bs-border);
  box-shadow: 0 2px 12px rgba(0,0,0,.06);
  transition: box-shadow .2s;
}
.bs-co-section:focus-within { box-shadow: 0 4px 24px rgba(202,166,74,.15); border-color: rgba(202,166,74,.35); }
.bs-co-section h2 {
  font-size: 15px; font-weight: 900; margin-bottom: 20px;
  padding-bottom: 14px; border-bottom: 1.5px solid var(--bs-border);
  display: flex; align-items: center; gap: 10px;
}

/* Step number badge */
.bs-co-step-num {
  display: inline-flex; align-items: center; justify-content: center;
  width: 24px; height: 24px; background: var(--bs-accent); color: #000;
  font-size: 12px; font-weight: 900; border-radius: 50%; flex-shrink: 0;
}

/* Fields grid */
.bs-co-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
@media(max-width:520px){ .bs-co-fields { grid-template-columns: 1fr; } }
.bs-co-fields .form-row { margin: 0; }
.bs-co-fields .form-row label { font-size: 11px; font-weight: 700; color: var(--bs-muted); text-transform: uppercase; letter-spacing: .05em; margin-bottom: 5px; display: block; }
.bs-co-fields .form-row input,
.bs-co-fields .form-row select,
.bs-co-fields .form-row textarea {
  width: 100%; padding: 12px 14px; font-size: 14px !important;
  border: 1.5px solid var(--bs-border); border-radius: 12px;
  background: var(--bs-bg); color: var(--bs-text);
  font-family: inherit; transition: border-color .15s, box-shadow .15s;
  /* Fix placeholder size */
  font-size: 13px !important;
}
.bs-co-fields .form-row input::placeholder { font-size: 13px !important; opacity: .55; }
.bs-co-fields .form-row input:focus,
.bs-co-fields .form-row select:focus {
  border-color: var(--bs-accent); outline: none;
  box-shadow: 0 0 0 3px rgba(202,166,74,.15);
}
.bs-co-fields .form-row.form-row-wide { grid-column: 1/-1; }
.bs-co-fields .form-row abbr { color: #ef4444; text-decoration: none; }
/* WC validation */
.bs-co-fields .form-row.woocommerce-validated input { border-color: #22c55e !important; }
.bs-co-fields .form-row.woocommerce-invalid input  { border-color: #ef4444 !important; }

/* Order items */
.bs-co-items { display: flex; flex-direction: column; gap: 14px; margin-bottom: 18px; }
.bs-co-item {
  display: flex; align-items: center; gap: 14px;
  padding: 10px; background: var(--bs-bg); border-radius: 12px;
  border: 1px solid var(--bs-border);
}
.bs-co-item-img { position: relative; flex-shrink: 0; }
.bs-co-item-img img { width: 58px; height: 58px; border-radius: 10px; object-fit: cover; }
.bs-co-item-badge {
  position: absolute; top: -6px; right: -6px;
  background: var(--bs-accent); color: #000; font-size: 10px; font-weight: 900;
  min-width: 18px; height: 18px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center; padding: 0 2px;
}
.bs-co-item-details { flex: 1; font-size: 13px; font-weight: 700; }
.bs-co-variant { display: block; font-size: 11px; font-weight: 400; color: var(--bs-muted); }
.bs-co-item-total { font-size: 13px; font-weight: 900; color: var(--bs-accent); white-space: nowrap; }

/* Totals */
.bs-co-totals { border-top: 1.5px solid var(--bs-border); padding-top: 14px; display: flex; flex-direction: column; gap: 8px; }
.bs-ct-row { display: flex; justify-content: space-between; align-items: center; font-size: 13px; }
.bs-discount { color: #22c55e; }
.bs-ct-total { font-size: 16px; font-weight: 900; padding-top: 8px; border-top: 1.5px solid var(--bs-border); margin-top: 4px; }
.bs-ct-total span:last-child { color: var(--bs-accent); }

/* Payment section */
.bs-co-payment h2 { gap: 8px; }
.bs-co-payment .wc_payment_methods { list-style: none; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.bs-co-payment .wc_payment_method > label {
  display: flex; align-items: center; gap: 10px; cursor: pointer;
  padding: 14px 16px; border: 1.5px solid var(--bs-border); border-radius: 12px;
  transition: border-color .15s, background .15s; font-size: 14px; font-weight: 600;
}
.bs-co-payment .wc_payment_method > label:hover { border-color: var(--bs-accent); }
.bs-co-payment .wc_payment_method:has(input:checked) > label { border-color: var(--bs-accent); background: rgba(202,166,74,.07); }
.bs-co-payment input[type=radio] { accent-color: var(--bs-accent); width: 16px; height: 16px; flex-shrink: 0; }
.bs-co-payment .payment_box { background: rgba(202,166,74,.06); border-radius: 10px; padding: 12px; margin-top: 8px; font-size: 13px; border: 1px solid rgba(202,166,74,.2); }
.bs-co-payment #place_order {
  width: 100% !important; margin-top: 16px;
  padding: 16px 24px !important; background: var(--bs-accent) !important;
  color: #000 !important; font-size: 16px !important; font-weight: 900 !important;
  border: none !important; border-radius: 14px !important; cursor: pointer;
  transition: filter .15s, transform .1s !important; display: block !important;
  letter-spacing: .02em;
}
.bs-co-payment #place_order:hover { filter: brightness(1.08) !important; transform: translateY(-1px) !important; }
.bs-co-payment #place_order:active { transform: translateY(0) !important; }

/* Trust badges */
.bs-co-trust {
  display: grid; grid-template-columns: 1fr 1fr; gap: 10px;
  padding: 6px 0;
}
.bs-co-trust-item {
  display: flex; align-items: center; gap: 7px;
  font-size: 12px; font-weight: 600; color: var(--bs-muted);
  padding: 8px 12px; background: var(--bs-bg); border-radius: 10px;
  border: 1px solid var(--bs-border);
}
.bs-co-trust-item svg { color: var(--bs-accent); flex-shrink: 0; }

/* Dark mode checkout */
body.bs-dark .bs-co-section { border-color: rgba(255,255,255,.08); background: #112030; }
body.bs-dark .bs-co-item { background: rgba(255,255,255,.04); border-color: rgba(255,255,255,.07); }
body.bs-dark .bs-co-trust-item { background: rgba(255,255,255,.04); border-color: rgba(255,255,255,.07); }
body.bs-dark .bs-co-fields .form-row input,
body.bs-dark .bs-co-fields .form-row select,
body.bs-dark .bs-co-fields .form-row textarea { background: rgba(255,255,255,.06); border-color: rgba(255,255,255,.12); color: #f1f5f9; }
body.bs-dark .bs-co-payment .wc_payment_method > label { border-color: rgba(255,255,255,.1); }

/* ── Thank You page v22 ── */
.bs-thankyou-page { padding: 40px 0 80px; background: var(--bs-bg); min-height: 70vh; }
.bs-ty-wrap {
  max-width: 680px; margin: 0 auto; display: flex; flex-direction: column;
  align-items: center; text-align: center; gap: 28px;
}

/* Animated check icon */
.bs-ty-icon { width: 100px; height: 100px; }
.bs-ty-circle { width: 100%; height: 100%; overflow: visible; }
.bs-ty-ring  { fill: none; stroke: rgba(202,166,74,.25); stroke-width: 3; }
.bs-ty-fill  { fill: none; stroke: var(--bs-accent); stroke-width: 3; stroke-dasharray: 226; stroke-dashoffset: 226; animation: bs-ring-fill .8s .2s ease forwards; }
.bs-ty-check { stroke: var(--bs-accent); stroke-width: 3.5; stroke-dasharray: 60; stroke-dashoffset: 60; animation: bs-check-draw .5s .9s ease forwards; }
@keyframes bs-ring-fill  { to { stroke-dashoffset: 0; } }
@keyframes bs-check-draw { to { stroke-dashoffset: 0; } }
.bs-ty-icon-emoji { font-size: 64px; display: block; animation: bs-scale-in .4s ease both; }
@keyframes bs-scale-in { from { transform: scale(0); } to { transform: scale(1); } }

.bs-ty-title { font-size: clamp(22px,5vw,34px); font-weight: 900; margin: 0; animation: bs-fade-up .5s .3s ease both; }
.bs-ty-sub   { font-size: 15px; color: var(--bs-muted); margin: -10px 0 0; animation: bs-fade-up .5s .4s ease both; }
.bs-ty-sub strong { color: var(--bs-text); }
@keyframes bs-fade-up { from { opacity:0; transform: translateY(16px); } to { opacity:1; transform:none; } }

/* Meta cards */
.bs-ty-meta {
  display: grid; grid-template-columns: repeat(4,1fr); gap: 12px; width: 100%;
  animation: bs-fade-up .5s .5s ease both;
}
@media(max-width:600px){ .bs-ty-meta { grid-template-columns: repeat(2,1fr); } }
.bs-ty-meta-card {
  background: var(--bs-card-bg); border: 1.5px solid var(--bs-border);
  border-radius: 14px; padding: 14px 12px; text-align: center;
}
.bs-ty-meta-label { font-size: 10px; color: var(--bs-muted); text-transform: uppercase; letter-spacing: .08em; display: block; margin-bottom: 4px; }
.bs-ty-meta-value { font-size: 15px; font-weight: 900; display: block; }
.bs-ty-total { color: var(--bs-accent); }

/* Items */
.bs-ty-items-wrap {
  width: 100%; background: var(--bs-card-bg);
  border: 1.5px solid var(--bs-border); border-radius: 18px; padding: 20px 22px;
  text-align: start; animation: bs-fade-up .5s .55s ease both;
}
.bs-ty-section-title { font-size: 15px; font-weight: 900; margin: 0 0 16px; }
.bs-ty-items { display: flex; flex-direction: column; gap: 14px; margin-bottom: 16px; }
.bs-ty-item  { display: flex; align-items: center; gap: 12px; }
.bs-ty-item-img { position: relative; flex-shrink: 0; }
.bs-ty-item-img img { width: 56px; height: 56px; border-radius: 10px; object-fit: cover; }
.bs-ty-item-qty {
  position: absolute; top: -5px; right: -5px;
  background: var(--bs-accent); color: #000; font-size: 10px; font-weight: 900;
  min-width: 18px; height: 18px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
}
.bs-ty-item-info { flex: 1; }
.bs-ty-item-name { font-size: 13px; font-weight: 700; display: block; }
.bs-ty-item-meta { font-size: 11px; color: var(--bs-muted); display: block; }
.bs-ty-item-price { font-size: 13px; font-weight: 900; color: var(--bs-accent); white-space: nowrap; }
.bs-ty-totals { border-top: 1.5px solid var(--bs-border); padding-top: 12px; }
.bs-ty-row { display: flex; justify-content: space-between; font-size: 13px; padding: 4px 0; }
.bs-ty-discount { color: #22c55e; }
.bs-ty-grand { font-size: 16px; font-weight: 900; padding-top: 10px; border-top: 1.5px solid var(--bs-border); margin-top: 6px; }
.bs-ty-grand span:last-child { color: var(--bs-accent); }

/* Address */
.bs-ty-address-wrap {
  width: 100%; background: var(--bs-card-bg);
  border: 1.5px solid var(--bs-border); border-radius: 18px; padding: 20px 22px;
  text-align: start; animation: bs-fade-up .5s .6s ease both;
}
.bs-ty-address { font-size: 14px; color: var(--bs-muted); line-height: 1.8; font-style: normal; }

/* CTA buttons */
.bs-ty-actions { display: flex; gap: 12px; flex-wrap: wrap; justify-content: center; animation: bs-fade-up .5s .65s ease both; }
.bs-ty-btn-shop { background: var(--bs-accent); color: #000 !important; font-weight: 800; }
.bs-ty-btn-orders { border: 2px solid var(--bs-border) !important; background: transparent !important; color: var(--bs-text) !important; }

/* Progress tracker */
.bs-ty-tracker {
  display: flex; align-items: center; justify-content: center; gap: 0; width: 100%;
  background: var(--bs-card-bg); border: 1.5px solid var(--bs-border);
  border-radius: 18px; padding: 20px; animation: bs-fade-up .5s .7s ease both;
}
.bs-ty-step { display: flex; flex-direction: column; align-items: center; gap: 6px; flex: 1; }
.bs-ty-step-icon {
  width: 44px; height: 44px; border-radius: 50%; background: var(--bs-border);
  display: flex; align-items: center; justify-content: center; font-size: 20px;
  border: 2px solid var(--bs-border); transition: all .3s;
}
.bs-ty-step.active .bs-ty-step-icon {
  background: rgba(202,166,74,.15); border-color: var(--bs-accent);
  animation: bs-pulse 2s infinite;
}
@keyframes bs-pulse {
  0%,100% { box-shadow: 0 0 0 0 rgba(202,166,74,.4); }
  50% { box-shadow: 0 0 0 8px rgba(202,166,74,0); }
}
.bs-ty-step-label { font-size: 11px; font-weight: 700; color: var(--bs-muted); text-align: center; }
.bs-ty-step.active .bs-ty-step-label { color: var(--bs-accent); }
.bs-ty-step-line { flex: 1; height: 2px; background: var(--bs-border); max-width: 60px; }

/* Fallback */
.bs-ty-fallback { padding: 60px 20px; }
.bs-ty-fallback .bs-ty-icon { font-size: 72px; }

/* Dark mode ty */
body.bs-dark .bs-ty-meta-card,
body.bs-dark .bs-ty-items-wrap,
body.bs-dark .bs-ty-address-wrap,
body.bs-dark .bs-ty-tracker { border-color: rgba(255,255,255,.08); background: #112030; }

/* ── Dark/Light mode toggle polish ── */
#bsToggleMode {
  background: transparent; border: none; padding: 6px;
  border-radius: 8px; transition: background .15s;
}
#bsToggleMode:hover { background: rgba(128,128,128,.1); }

/* ── Section title bar improvements ── */
.bs-titlebar {
  display: flex; align-items: center; justify-content: space-between;
  margin-bottom: 24px;
}
.bs-titlebar h2, .bs-titlebar h3 {
  font-size: clamp(18px,3vw,26px); font-weight: 900;
  position: relative; display: inline-block;
}
.bs-titlebar h2::after {
  content: ''; position: absolute; bottom: -6px; left: 0;
  width: 40px; height: 3px; background: var(--bs-accent); border-radius: 3px;
}
.bs-section { padding: 48px 0; }

/* Smart categories / collection icons – auto-fill style */
.bs-icons-row { display: flex; gap: 14px; overflow-x: auto; padding-bottom: 8px; scroll-snap-type: x mandatory; flex-wrap: nowrap; }
.bs-icons-row::-webkit-scrollbar { height: 3px; }
.bs-icons-row::-webkit-scrollbar-thumb { background: var(--bs-accent); border-radius: 3px; }
.bs-pill { scroll-snap-align: start; flex-shrink: 0; display: flex; flex-direction: column; align-items: center; gap: 8px; text-decoration: none; color: var(--bs-text); width: 80px; }
.bs-pill-img { width: 72px; height: 72px; border-radius: 50%; background-size: contain; background-position: center; background-repeat: no-repeat; background-color: #fff; border: 2.5px solid var(--bs-border,rgba(255,255,255,.08)); transition: border-color .2s, transform .2s; overflow: hidden; }
.bs-pill-letter { display: flex; align-items: center; justify-content: center; }
.bs-pill-letter span { font-size: 28px; font-weight: 900; color: #fff; line-height: 1; font-family: Arial,sans-serif; }
.bs-pill:hover .bs-pill-img { border-color: var(--bs-accent); transform: scale(1.06); }
.bs-pill span { font-size: 11px; font-weight: 700; text-align: center; max-width: 78px; line-height: 1.3; word-break: break-word; }

/* ── Payment section smart defaults ── */
.bs-payments-section .bs-titlebar h3::after { width: 30px; }

/* ── Placeholder size fix ── */
input::placeholder, textarea::placeholder {
  font-size: 13px !important;
  opacity: .6;
}
.woocommerce input.input-text::placeholder { font-size: 13px !important; }

/* ── Newsletter section improved ── */
.bs-newsletter { background: linear-gradient(135deg, var(--bs-primary) 0%, color-mix(in srgb, var(--bs-primary) 80%, var(--bs-gradA)) 100%); color: #fff; border-radius: 20px; margin: 0 16px; }
.bs-newsletter h2 { color: #fff; }
.bs-newsletter p { color: rgba(255,255,255,.75); }
.bs-newsletter-form { display: flex; gap: 10px; max-width: 420px; margin: 0 auto; }
.bs-newsletter-form input { flex: 1; padding: 12px 16px; border-radius: 12px; border: 2px solid rgba(255,255,255,.2); background: rgba(255,255,255,.1); color: #fff; font-size: 14px; }
.bs-newsletter-form input::placeholder { color: rgba(255,255,255,.55); font-size: 13px !important; }
.bs-newsletter-form input:focus { border-color: var(--bs-accent); outline: none; }
@media(max-width:480px){ .bs-newsletter-form { flex-direction: column; } }

/* ── Coupon bar improved ── */
.bs-coupon {
  background: linear-gradient(90deg, var(--bs-accent) 0%, color-mix(in srgb, var(--bs-accent) 70%, #fff) 100%);
  color: #000; padding: 12px 0; font-weight: 700;
}
.bs-coupon .bs-container { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.bs-copy { padding: 6px 16px; background: #000; color: var(--bs-accent); border: none; border-radius: 8px; font-size: 12px; font-weight: 800; cursor: pointer; white-space: nowrap; transition: opacity .15s; }
.bs-copy:hover { opacity: .85; }

/* ── Collection Tabs – smart auto-fill ── */
.bs-ctabs-nav { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 24px; }
.bs-ctab-btn {
  padding: 9px 20px; border-radius: 50px; border: 1.5px solid var(--bs-border);
  background: transparent; color: var(--bs-text); font-size: 13px; font-weight: 700;
  cursor: pointer; transition: all .2s; white-space: nowrap;
}
.bs-ctab-btn:hover { border-color: var(--bs-accent); color: var(--bs-accent); }
.bs-ctab-btn.active { background: var(--bs-accent); color: #000; border-color: var(--bs-accent); }
.bs-ctab-panel { display: block; }
.bs-ctab-panel[hidden] { display: none; }

/* ── Flash Sale section ── */
.bs-flash-sale {
  background: linear-gradient(135deg, #0b1a2a 0%, #1a2f45 100%);
  color: #fff; padding: 48px 0; border-radius: 0;
}
body.bs-dark .bs-flash-sale { background: linear-gradient(135deg, #000 0%, #0b1a2a 100%); }
.bs-flash-header { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 16px; margin-bottom: 28px; }
.bs-flash-badge { display: inline-block; background: var(--bs-accent); color: #000; font-size: 11px; font-weight: 900; padding: 4px 12px; border-radius: 50px; margin-bottom: 8px; letter-spacing: .05em; }
.bs-flash-title { font-size: clamp(22px,4vw,32px); font-weight: 900; margin: 0 0 4px; }
.bs-flash-sub { font-size: 14px; opacity: .75; margin: 0; }
.bs-flash-timer { display: flex; align-items: center; gap: 8px; flex-shrink: 0; }
.bs-flash-digit { background: rgba(255,255,255,.1); border-radius: 10px; padding: 10px 14px; text-align: center; min-width: 56px; }
.bs-flash-digit span { font-size: 24px; font-weight: 900; display: block; font-variant-numeric: tabular-nums; }
.bs-flash-digit small { font-size: 10px; opacity: .6; display: block; text-transform: uppercase; letter-spacing: .1em; }
.bs-flash-sep { font-size: 24px; font-weight: 900; opacity: .6; }

/* ── Testimonials improved ── */
.bs-testi {
  background: var(--bs-card-bg); border: 1.5px solid var(--bs-border);
  border-radius: 18px; padding: 22px 20px; position: relative;
  transition: transform .2s, box-shadow .2s;
}
.bs-testi:hover { transform: translateY(-3px); box-shadow: var(--bs-shadow); }
.bs-testi p { font-size: 14px; color: var(--bs-muted); margin-bottom: 12px; line-height: 1.7; font-style: italic; }
.bs-testi p::before { content: '"'; font-size: 40px; color: var(--bs-accent); line-height: .5; display: block; margin-bottom: 8px; font-style: normal; }
.bs-stars { color: var(--bs-accent); font-size: 16px; letter-spacing: 2px; }

/* ── Social section improved ── */
.bs-social-section { background: var(--bs-card-bg); }
.bs-social-sub { text-align: center; color: var(--bs-muted); font-size: 14px; margin: -8px 0 24px; }
.bs-social-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 12px; max-width: 560px; margin: 0 auto; }
@media(min-width:600px){ .bs-social-grid { grid-template-columns: repeat(4,1fr); } }
.bs-social-card {
  display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 18px 14px;
  border-radius: 16px; border: 1.5px solid var(--bs-border);
  background: var(--bs-sc-bg, rgba(0,0,0,.03));
  color: var(--bs-sc-color); text-decoration: none;
  transition: transform .2s, box-shadow .2s, border-color .2s;
}
.bs-social-card:hover { transform: translateY(-3px); box-shadow: 0 8px 20px rgba(0,0,0,.12); border-color: var(--sc-color); }
.bs-sc-icon { width: 44px; height: 44px; border-radius: 50%; background: var(--sc-bg,rgba(0,0,0,.06)); display: flex; align-items: center; justify-content: center; }
.bs-sc-info strong { display: block; font-size: 13px; font-weight: 800; }
.bs-sc-info span { font-size: 11px; color: var(--bs-muted); }
.bs-sc-arrow { font-size: 14px; opacity: .5; }
.bs-sc-empty { opacity: .4; }
body.bs-dark .bs-social-card { background: rgba(255,255,255,.04); border-color: rgba(255,255,255,.08); }

/* ── FAQ improved ── */
.bs-faq { display: flex; flex-direction: column; gap: 10px; }
.bs-faq-item { border: 1.5px solid var(--bs-border); border-radius: 14px; overflow: hidden; transition: border-color .2s; }
.bs-faq-item:has(.bs-faq-q[aria-expanded=true]) { border-color: var(--bs-accent); }
.bs-faq-q {
  width: 100%; display: flex; align-items: center; justify-content: space-between;
  padding: 16px 18px; background: transparent; border: none; color: var(--bs-text);
  font-size: 14px; font-weight: 700; gap: 12px; text-align: start; cursor: pointer;
}
.bs-faq-q:hover { background: rgba(202,166,74,.05); }
.bs-faq-icon { font-size: 20px; font-weight: 400; transition: transform .25s; flex-shrink: 0; color: var(--bs-accent); }
.bs-faq-q[aria-expanded=true] .bs-faq-icon { transform: rotate(45deg); }
.bs-faq-a { max-height: 0; overflow: hidden; transition: max-height .3s ease, padding .3s; }
.bs-faq-q[aria-expanded=true] + .bs-faq-a { max-height: 300px; }
.bs-faq-a-inner { padding: 0 18px 16px; font-size: 13px; color: var(--bs-muted); line-height: 1.7; }

/* ── Marquee section improved ── */
.bs-marquee-section { padding: 12px 0; overflow: hidden; }

/* ── RTL fixes for checkout step numbers ── */
.bs-rtl .bs-co-step-num { margin-left: 0; margin-right: 0; }
.bs-rtl .bs-titlebar h2::after, .bs-rtl .bs-titlebar h3::after { left: auto; right: 0; }

/* ── Mobile responsive tweaks ── */
@media(max-width:600px){
  .bs-co-trust { grid-template-columns: 1fr 1fr; }
  .bs-ty-tracker { overflow-x: auto; padding: 14px 10px; gap: 0; }
  .bs-ty-step-line { max-width: 24px; }
  .bs-ty-step-icon { width: 36px; height: 36px; font-size: 16px; }
  .bs-ty-step-label { font-size: 10px; }
}

/* ── WooCommerce form field notices ── */
.woocommerce-error li, .woocommerce-notice li { padding: 4px 0; }

/* ── Shortcode page for checkout ── */
.page-template-page-checkout .entry-header,
.page-template-page-checkout .entry-footer { display: none; }

/* ═══════════════════════════════════════════════
   v22.1 — BRANDS, PAYMENTS, CHECKOUT FIXES
═══════════════════════════════════════════════ */

/* ── Payment logo marquee ── */
.bs-pay-logo-item {
  display: inline-flex; align-items: center; flex-shrink: 0;
  text-decoration: none;
}
.bs-pay-logo-item img { height: 32px; max-height: 32px; width: auto; max-width: 100px; object-fit: contain; filter: grayscale(20%); transition: filter .2s; }
.bs-pay-logo-item:hover img { filter: none; }
.bs-pay-logo-item svg { height: 32px; width: auto; border-radius: 6px; transition: opacity .2s; }
.bs-pay-logo-item:hover svg { opacity: .85; }
.bs-payments-hint { font-size: 11px; color: var(--bs-muted); text-align: center; margin-top: 10px; }

/* ── Brands Grid — smart layout ── */
.bs-brands-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
  gap: 12px;
}
@media(max-width:600px){
  .bs-brands-grid { grid-template-columns: repeat(auto-fill, minmax(90px,1fr)); gap: 8px; }
}
.bs-brand-item {
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  padding: 16px 10px; background: var(--bs-card-bg);
  border: 1.5px solid var(--bs-border); border-radius: 14px;
  text-decoration: none; color: var(--bs-text);
  transition: transform .2s, box-shadow .2s, border-color .2s;
  min-height: 76px; gap: 8px;
}
.bs-brand-item:hover { transform: translateY(-3px); box-shadow: 0 8px 24px rgba(0,0,0,.1); border-color: var(--bs-accent); }
.bs-brand-item img { max-height: 52px; width: auto; max-width: 100px; object-fit: contain; }
.bs-brand-text { font-size: 13px; font-weight: 800; text-align: center; line-height: 1.2; }

/* Built-in brand logos with color */
.bs-brand-builtin { gap: 6px; }
.bs-brand-svg { display: flex; align-items: center; justify-content: center; width: 100%; }
.bs-brand-svg svg { width: 84px; height: 34px; color: var(--brand-color, #000); }
.bs-brand-name { font-size: 11px; font-weight: 700; color: var(--bs-muted); text-align: center; }

/* Dark mode for brands */
body.bs-dark .bs-brand-item { background: #112030; border-color: rgba(255,255,255,.08); }
body.bs-dark .bs-brand-builtin .bs-brand-svg svg { color: #fff !important; }

/* ── Accepted payments row in checkout ── */
.bs-co-accepted-pay {
  display: flex; align-items: center; gap: 10px; flex-wrap: wrap;
  padding: 10px 0; border-top: 1px solid var(--bs-border); margin-top: 2px;
}
.bs-co-accepted-pay span { font-size: 12px; color: var(--bs-muted); font-weight: 600; white-space: nowrap; }
.bs-co-accepted-pay svg { height: 22px; width: auto; border-radius: 4px; }

/* ── Checkout coupon field ── */
.bs-co-coupon {
  display: flex; gap: 8px; margin-bottom: 14px; margin-top: 4px;
}
.bs-co-coupon input {
  flex: 1; padding: 10px 14px; border: 1.5px solid var(--bs-border);
  border-radius: 10px; font-size: 13px !important; background: var(--bs-bg);
  color: var(--bs-text); font-family: inherit;
}
.bs-co-coupon input:focus { border-color: var(--bs-accent); outline: none; }
.bs-co-coupon input::placeholder { font-size: 13px !important; opacity: .55; }
.bs-btn-sm { padding: 10px 16px !important; font-size: 13px !important; white-space: nowrap; }

/* ── Fix WC payment section rendering ── */
.woocommerce-checkout #payment { display:block !important; visibility:visible !important; }
.woocommerce-checkout #payment ul.payment_methods { display:flex !important; flex-direction:column !important; gap:10px !important; list-style:none !important; padding:0 !important; margin:0 0 16px !important; }
.woocommerce-checkout #payment ul.payment_methods li { margin:0 !important; }
.woocommerce-checkout #payment div.payment_box { display:block !important; }
.woocommerce-checkout #payment .place-order { margin-top: 0 !important; padding: 0 !important; }

/* place_order button — forced visible everywhere */
#place_order,
.woocommerce-checkout #place_order,
.woocommerce #payment #place_order {
  display: block !important;
  width: 100% !important;
  padding: 17px 24px !important;
  background: var(--bs-accent) !important;
  color: #000 !important;
  border: none !important;
  border-radius: 14px !important;
  font-size: 17px !important;
  font-weight: 900 !important;
  letter-spacing: .02em !important;
  cursor: pointer !important;
  margin-top: 16px !important;
  transition: filter .15s, transform .1s !important;
  text-align: center !important;
}
#place_order:hover { filter: brightness(1.08) !important; transform: translateY(-1px) !important; }
#place_order:active { transform: translateY(0) !important; }

/* Payment method labels — force proper display */
.woocommerce-checkout #payment ul.payment_methods li label,
.woocommerce-checkout #payment .wc_payment_method label {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  cursor: pointer !important;
  padding: 14px 16px !important;
  border: 1.5px solid var(--bs-border) !important;
  border-radius: 12px !important;
  width: 100% !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  transition: border-color .15s, background .15s !important;
  color: var(--bs-text) !important;
}
.woocommerce-checkout #payment .wc_payment_method label:hover { border-color: var(--bs-accent) !important; }
.woocommerce-checkout #payment input[type=radio] { width: 16px !important; height: 16px !important; accent-color: var(--bs-accent) !important; flex-shrink: 0 !important; }

/* State/county field — hidden via CSS as backup */
#billing_state_field, #shipping_state_field,
.billing_state_field, .shipping_state_field,
p#billing_state_field, p#shipping_state_field { display: none !important; }

/* Dark mode checkout extras */
body.bs-dark .bs-co-coupon input { background: rgba(255,255,255,.06); border-color: rgba(255,255,255,.12); color: #f1f5f9; }
body.bs-dark .woocommerce-checkout #payment .wc_payment_method label { border-color: rgba(255,255,255,.12) !important; color: #f1f5f9 !important; }
body.bs-dark .bs-co-accepted-pay { border-color: rgba(255,255,255,.08); }

/* =====================================================================
   HEADER REGISTER BUTTON — desktop pill
   ===================================================================== */
.bs-header-reg-btn {
  display: none; /* hidden on mobile, shown on desktop via media query */
  align-items: center;
  gap: 6px;
  padding: 7px 16px;
  border-radius: 99px;
  font-size: 13px;
  font-weight: 800;
  text-decoration: none;
  white-space: nowrap;
  border: 2px solid var(--bs-accent);
  color: var(--bs-accent);
  background: transparent;
  transition: none;
}
.bs-header-reg-btn--guest {
  background: var(--bs-accent);
  color: #000;
  border-color: var(--bs-accent);
}
.bs-header-reg-btn:hover,
.bs-header-reg-btn:focus,
.bs-header-reg-btn:active {
  filter: none;
  transform: none;
  color: var(--bs-accent);
  background: transparent;
  border-color: var(--bs-accent);
  text-decoration: none;
  box-shadow: none;
}
.bs-header-reg-btn--guest:hover,
.bs-header-reg-btn--guest:focus,
.bs-header-reg-btn--guest:active {
  color: #000;
  background: var(--bs-accent);
  border-color: var(--bs-accent);
  text-decoration: none;
  box-shadow: none;
}
@media(min-width:768px){
  .bs-header-reg-btn { display: inline-flex; }
}

/* =====================================================================
   DRAWER — Track My Order link
   ===================================================================== */
.bs-drawer-track-link {
  margin-top: 8px;
  display: flex;
  align-items: center;
  gap: 10px;
  border: 1px solid rgba(202,166,74,.34);
  border-top: 1px solid rgba(202,166,74,.34);
  border-radius: 8px;
  padding: 14px 16px !important;
  background: rgba(202,166,74,.12) !important;
  color: var(--bs-accent) !important;
  font-weight: 800 !important;
  opacity: 1 !important;
}
.bs-drawer-track-link:hover,
.bs-drawer-track-link:focus {
  background: rgba(202,166,74,.2) !important;
  color: #fff !important;
  border-color: rgba(202,166,74,.55);
}

/* =====================================================================
   THANK YOU PAGE — GUEST REGISTER PROMPT BANNER
   ===================================================================== */
.bs-ty-register-prompt {
  margin: 28px 0 0;
  border-radius: 16px;
  border: 2px dashed var(--bs-accent);
  background: rgba(202,166,74,.07);
  padding: 20px 24px;
  animation: bs-fade-up .5s .6s ease both;
}
.bs-ty-rp-inner {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}
.bs-ty-rp-icon { font-size: 36px; flex-shrink: 0; }
.bs-ty-rp-text { flex: 1; min-width: 180px; }
.bs-ty-rp-text strong { display: block; font-size: 15px; font-weight: 900; }
.bs-ty-rp-text span  { display: block; font-size: 13px; color: var(--bs-muted); margin-top: 2px; }
.bs-ty-rp-btn { white-space: nowrap; flex-shrink: 0; }
.bs-ty-rp-result { border-radius: 14px; border: 2px dashed var(--bs-accent); background: rgba(202,166,74,.07); padding: 16px 20px; margin-top: 16px; }

/* =====================================================================
   TRACK ORDER SECTION
   ===================================================================== */
.bs-ty-track-section {
  margin-top: 32px;
  border-radius: 18px;
  border: 1.5px solid var(--bs-border);
  background: var(--bs-card-bg);
  overflow: hidden;
}
.bs-ty-track-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 18px 24px;
  cursor: pointer;
  user-select: none;
  transition: background .2s;
}
.bs-ty-track-header:hover { background: rgba(202,166,74,.06); }
.bs-ty-track-title { font-size: 15px; font-weight: 900; }
.bs-ty-track-chevron { font-size: 18px; transition: transform .25s; color: var(--bs-muted); }
.bs-ty-track-header[aria-expanded="true"] .bs-ty-track-chevron { transform: rotate(180deg); }

.bs-ty-track-body { padding: 0 24px 24px; }
.bs-ty-track-intro { font-size: 13px; color: var(--bs-muted); margin-bottom: 18px; }

.bs-ty-track-form { display: flex; flex-direction: column; gap: 14px; }
.bs-ty-track-fields { display: grid; grid-template-columns: 1fr; gap: 12px; }
@media(min-width:500px){ .bs-ty-track-fields { grid-template-columns: 1fr 1fr; } }

.bs-ty-track-field { display: flex; flex-direction: column; gap: 5px; }
.bs-ty-track-field label { font-size: 12px; font-weight: 700; color: var(--bs-muted); text-transform: uppercase; letter-spacing: .04em; }
.bs-ty-track-field input {
  height: 44px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1.5px solid var(--bs-border);
  background: var(--bs-bg);
  color: var(--bs-text);
  font-size: 14px;
  font-family: inherit;
  outline: none;
  transition: border-color .2s;
}
.bs-ty-track-field input:focus { border-color: var(--bs-accent); }

.bs-ty-track-btn { align-self: flex-start; padding: 12px 28px; font-size: 14px; font-weight: 800; }

.bs-ty-track-msg {
  padding: 12px 16px;
  border-radius: 10px;
  font-size: 13px;
  font-weight: 700;
  margin-top: 12px;
}
.bs-ty-track-msg--error   { background: rgba(239,68,68,.1);  color: #dc2626; border: 1px solid rgba(239,68,68,.25); }
.bs-ty-track-msg--success { background: rgba(22,163,74,.1);  color: #16a34a; border: 1px solid rgba(22,163,74,.25); }

.bs-ty-track-result { margin-top: 20px; }
.bs-ty-track-result-card { border-radius: 14px; border: 1.5px solid var(--bs-border); overflow: hidden; }
.bs-ty-track-meta { display: grid; grid-template-columns: repeat(2,1fr); gap: 0; }
@media(min-width:500px){ .bs-ty-track-meta { grid-template-columns: repeat(4,1fr); } }
.bs-ty-track-meta .bs-ty-meta-card { border-radius: 0; border: none; border-bottom: 1px solid var(--bs-border); border-right: 1px solid var(--bs-border); }
.bs-ty-track-result-card .bs-ty-tracker { margin: 16px 16px 0; padding: 0 0 16px; border-bottom: 1px solid var(--bs-border); }
.bs-ty-track-result-card .bs-ty-items-wrap { border: none; margin: 0; padding: 16px; }
.bs-ty-step-line--done { background: var(--bs-accent) !important; }

/* =====================================================================
   REGISTER MODAL
   ===================================================================== */
.bs-ty-reg-modal {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
  opacity: 0;
  transition: opacity .25s;
}
.bs-ty-reg-modal--open {
  pointer-events: all;
  opacity: 1;
}
.bs-ty-reg-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.55);
  backdrop-filter: blur(4px);
}
.bs-ty-reg-box {
  position: relative;
  z-index: 1;
  background: var(--bs-card-bg);
  border-radius: 22px;
  padding: 36px 32px;
  width: min(460px, calc(100vw - 32px));
  max-height: 90dvh;
  overflow-y: auto;
  box-shadow: 0 24px 60px rgba(0,0,0,.35);
  transform: translateY(20px);
  transition: transform .3s;
}
.bs-ty-reg-modal--open .bs-ty-reg-box { transform: translateY(0); }

.bs-ty-reg-close {
  position: absolute;
  top: 16px;
  right: 16px;
  background: rgba(0,0,0,.08);
  border: none;
  border-radius: 50%;
  width: 32px;
  height: 32px;
  cursor: pointer;
  font-size: 16px;
  color: var(--bs-text);
  display: flex; align-items: center; justify-content: center;
  transition: background .2s;
}
body.bs-rtl .bs-ty-reg-close { right: auto; left: 16px; }
.bs-ty-reg-close:hover { background: rgba(0,0,0,.16); }

.bs-ty-reg-header { text-align: center; margin-bottom: 28px; }
.bs-ty-reg-logo { font-size: 48px; margin-bottom: 10px; }
.bs-ty-reg-header h2 { font-size: 22px; font-weight: 900; margin: 0 0 8px; }
.bs-ty-reg-header p  { font-size: 13px; color: var(--bs-muted); margin: 0; }

.bs-ty-reg-msg {
  padding: 12px 16px;
  border-radius: 10px;
  font-size: 13px;
  font-weight: 700;
  margin-bottom: 16px;
}
.bs-ty-reg-msg--error   { background: rgba(239,68,68,.1);  color: #dc2626; border: 1px solid rgba(239,68,68,.25); }
.bs-ty-reg-msg--success { background: rgba(22,163,74,.1);  color: #16a34a; border: 1px solid rgba(22,163,74,.25); }

.bs-ty-reg-fields { display: flex; flex-direction: column; gap: 14px; margin-bottom: 20px; }
.bs-ty-reg-row    { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }

.bs-ty-reg-field  { display: flex; flex-direction: column; gap: 5px; }
.bs-ty-reg-field label { font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: var(--bs-muted); }
.bs-ty-reg-field input {
  height: 46px;
  padding: 0 14px;
  border-radius: 11px;
  border: 1.5px solid var(--bs-border);
  background: var(--bs-bg);
  color: var(--bs-text);
  font-size: 14px;
  font-family: inherit;
  outline: none;
  transition: border-color .2s, box-shadow .2s;
}
.bs-ty-reg-field input:focus {
  border-color: var(--bs-accent);
  box-shadow: 0 0 0 3px rgba(202,166,74,.18);
}
.bs-ty-reg-pw-wrap { position: relative; }
.bs-ty-reg-pw-wrap input { width: 100%; padding-right: 44px; box-sizing: border-box; }
body.bs-rtl .bs-ty-reg-pw-wrap input { padding-right: 14px; padding-left: 44px; }
.bs-ty-reg-pw-toggle {
  position: absolute;
  right: 12px; top: 50%; transform: translateY(-50%);
  background: none; border: none; cursor: pointer; font-size: 18px;
  color: var(--bs-muted); padding: 0;
}
body.bs-rtl .bs-ty-reg-pw-toggle { right: auto; left: 12px; }
.bs-ty-reg-pw-toggle:hover { color: var(--bs-text); }

.bs-ty-reg-login { text-align: center; font-size: 13px; color: var(--bs-muted); margin-top: 14px; }
.bs-ty-reg-login a { color: var(--bs-accent); font-weight: 700; text-decoration: none; }
.bs-ty-reg-login a:hover { text-decoration: underline; }

/* Dark mode adjustments */
body.bs-dark .bs-ty-track-section,
body.bs-dark .bs-ty-track-result-card { border-color: rgba(255,255,255,.08); }
body.bs-dark .bs-ty-track-field input,
body.bs-dark .bs-ty-reg-field input   { background: rgba(255,255,255,.05); border-color: rgba(255,255,255,.12); }
body.bs-dark .bs-ty-reg-box           { background: var(--bs-card-bg); border: 1px solid rgba(255,255,255,.09); }
body.bs-dark .bs-ty-register-prompt   { background: rgba(202,166,74,.05); }
body.bs-dark .bs-ty-track-header:hover { background: rgba(255,255,255,.04); }

/* ═══════════════════════════════════════════════════════════════════
   v4 NEW SECTIONS — Hero Only, Offers Strip, Video Hero, Custom HTML
   ═══════════════════════════════════════════════════════════════════ */

/* ── Hero Standalone ── */
.bs-hero-standalone .bs-hero-card {
  min-height: clamp(300px, 50vw, 620px);
  border-radius: 20px;
  overflow: hidden;
}
.bs-hero-content--centered {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 48px 32px !important;
}
.bs-hero-content--centered h1 { max-width: 700px; }
.bs-hero-content--centered p  { max-width: 500px; }
.bs-btn-lg { padding: 14px 36px !important; font-size: 16px !important; }

/* ── Offers Strip Standalone ── */
.bs-offers-section { padding: 20px 0; }
.bs-offers-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
}
@media (max-width: 768px) { .bs-offers-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px) { .bs-offers-grid { grid-template-columns: repeat(2, 1fr); gap: 10px; } }
.bs-offer-card {
  position: relative;
  border-radius: 16px;
  overflow: hidden;
  text-decoration: none;
  color: inherit;
  display: flex;
  flex-direction: column;
  box-shadow: 0 2px 12px rgba(0,0,0,.08);
  transition: transform .25s, box-shadow .25s;
}
.bs-offer-card:hover { transform: translateY(-4px); box-shadow: 0 8px 28px rgba(0,0,0,.15); }
.bs-offer-card-img {
  position: relative;
  aspect-ratio: 1/1;
  background-size: cover;
  background-position: center;
}
.bs-offer-card-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(0deg, rgba(0,0,0,.55) 0%, transparent 60%);
}
.bs-offer-card-body {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  padding: 12px;
  color: #fff;
}
.bs-offer-card-body strong { display: block; font-size: 13px; font-weight: 800; line-height: 1.2; }
.bs-offer-card-body small  { display: block; font-size: 11px; opacity: .85; margin-top: 2px; }

/* ── Video Hero ── */
.bs-video-hero {
  position: relative;
  width: 100%;
  height: clamp(260px, 55vw, 620px);
  overflow: hidden;
  background: #0b1a2a;
}
.bs-video-hero-media {
  position: absolute;
  inset: 0;
  width: 100%; height: 100%;
}
.bs-video-hero-media video,
.bs-video-hero-media iframe {
  width: 100%; height: 100%;
  object-fit: cover;
  pointer-events: none;
}
.bs-video-hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(11,26,42,.7) 0%, rgba(11,26,42,.2) 100%);
}
.bs-video-hero-content {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  color: #fff;
  padding: 32px 20px;
  z-index: 2;
}
.bs-video-hero-content h2 {
  font-size: clamp(24px, 5vw, 52px);
  font-weight: 900;
  line-height: 1.1;
  margin-bottom: 12px;
  text-shadow: 0 2px 12px rgba(0,0,0,.5);
}
.bs-video-hero-content p {
  font-size: 16px;
  opacity: .9;
  max-width: 500px;
  margin-bottom: 24px;
  text-shadow: 0 1px 6px rgba(0,0,0,.4);
}

/* ── Custom HTML Block ── */
.bs-custom-html { padding: 32px 0; }
.bs-custom-html-content {
  line-height: 1.7;
  color: var(--bs-text);
}
.bs-custom-html-content img { max-width: 100%; height: auto; border-radius: 8px; }
.bs-custom-html-content a   { color: var(--bs-accent); }

/* ═══════════════════════════════════════════════════════════════
   v4.1 — Page Blocks CSS
   ═══════════════════════════════════════════════════════════════ */

/* Products Grid Block */
.bs-block-products-grid { padding: 32px 0; }
.bs-block-banner {
  display: block;
  width: 100%;
  height: 160px;
  border-radius: 16px;
  background-size: cover;
  background-position: center;
  margin-bottom: 20px;
  position: relative;
  text-decoration: none;
  overflow: hidden;
}
.bs-block-banner span {
  position: absolute;
  bottom: 16px; left: 20px;
  color: #fff;
  font-size: 18px;
  font-weight: 900;
  text-shadow: 0 2px 8px rgba(0,0,0,.5);
}

/* Full Banner Block */
.bs-block-banner-full .bs-full-banner-link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  border-radius: 20px;
  background-size: cover;
  background-position: center;
  position: relative;
  overflow: hidden;
  text-decoration: none;
}
.bs-full-banner-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(11,26,42,.7) 0%, rgba(11,26,42,.2) 100%);
}
.bs-full-banner-content {
  position: relative;
  z-index: 1;
  text-align: center;
  padding: 48px 24px;
  color: #fff;
}
.bs-full-banner-content h2 { font-size: clamp(22px,4vw,44px); font-weight: 900; margin-bottom: 10px; }
.bs-full-banner-content p  { font-size: 15px; opacity: .9; margin-bottom: 20px; }

/* Split Banner Block */
.bs-split-banner-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
@media (max-width: 600px) { .bs-split-banner-grid { grid-template-columns: 1fr; } }
.bs-split-banner {
  display: flex;
  align-items: flex-end;
  min-height: 220px;
  border-radius: 16px;
  background-size: cover;
  background-position: center;
  position: relative;
  overflow: hidden;
  text-decoration: none;
  transition: transform .25s;
}
.bs-split-banner:hover { transform: scale(1.02); }
.bs-split-banner-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(0deg, rgba(0,0,0,.65) 0%, transparent 55%);
}
.bs-split-banner-content {
  position: relative;
  z-index: 1;
  padding: 20px;
  color: #fff;
}
.bs-split-banner-content h3 { font-size: 18px; font-weight: 800; margin-bottom: 10px; }
.bs-btn-sm { padding: 7px 16px !important; font-size: 13px !important; }

/* Category Showcase Block */
.bs-block-cat-showcase { padding: 32px 0; }
.bs-section-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 20px;
}
.bs-view-all {
  font-size: 13px;
  font-weight: 700;
  color: var(--bs-accent);
  text-decoration: none;
}
.bs-view-all:hover { text-decoration: underline; }
.bs-grid-footer {
  clear: both;
  display: block !important;
  width: fit-content;
  max-width: 100%;
  margin: 20px auto 0 !important;
  text-align: center;
}
.bs-products-section .bs-grid-footer,
.bs-block-products-grid .bs-grid-footer,
.bs-ctab-panel .bs-grid-footer {
  float: none !important;
}
.bs-grid-footer-inner {
  display: block !important;
  width: auto;
  margin: 0 auto;
}
.bs-view-more-btn {
  display: inline-flex;
  min-width: 160px;
  border-radius: 8px;
  margin: 0 auto !important;
}
.bs-collection-cards-section {
  padding: 28px 0;
}
.bs-collection-cards-section .bs-collection-cards-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  align-items: stretch !important;
  gap: 18px !important;
}
.bs-collection-cards-section .bs-collection-card {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  min-height: 0 !important;
  aspect-ratio: 5 / 7;
  overflow: hidden !important;
  background: #ece8e1;
  color: #fff !important;
  text-decoration: none !important;
}
.bs-collection-cards-section .bs-collection-card-media,
.bs-collection-cards-section .bs-collection-card-overlay,
.bs-collection-cards-section .bs-collection-card-content {
  position: absolute;
  inset: 0;
}
.bs-collection-cards-section .bs-collection-card-media {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #ece8e1;
}
.bs-collection-cards-section .bs-collection-card-media img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: center center;
  display: block;
  transition: transform .45s ease;
}
.bs-collection-cards-section .bs-collection-card:hover .bs-collection-card-media img {
  transform: scale(1.03);
}
.bs-collection-cards-section .bs-collection-card-overlay {
  background: linear-gradient(180deg, rgba(0,0,0,.18) 0%, rgba(0,0,0,.08) 36%, rgba(0,0,0,.52) 100%);
  z-index: 1;
  pointer-events: none;
}
.bs-collection-cards-section .bs-collection-card-content {
  z-index: 2;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  height: 100%;
  min-height: 0 !important;
  padding: 34px 28px 28px;
}
.bs-collection-cards-section .bs-collection-card-copy {
  max-width: 82%;
}
.bs-collection-cards-section .bs-collection-card-copy h3 {
  margin: 0 0 14px;
  font-size: 36px;
  line-height: 1.08;
  font-weight: 500;
  color: #fff !important;
}
.bs-collection-cards-section .bs-collection-card-copy p {
  margin: 0;
  font-size: 18px;
  line-height: 1.4;
  color: rgba(255,255,255,.96) !important;
}
.bs-collection-cards-section .bs-collection-card-cta {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  align-self: flex-start;
  padding-bottom: 4px;
  border-bottom: 1.5px solid rgba(255,255,255,.95);
  font-size: 15px;
  font-weight: 800;
  color: #fff !important;
}
.bs-collection-cards-section .bs-collection-card-cta span:last-child {
  font-size: 15px;
  line-height: 1;
}

@media (max-width: 1024px) {
  .bs-collection-cards-section .bs-collection-cards-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 767px) {
  .bs-collection-cards-section .bs-collection-cards-grid {
    display: flex !important;
    gap: 12px !important;
    overflow-x: auto;
    padding: 0 16px 8px;
    margin: 0 -16px;
    scroll-snap-type: x proximity;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  .bs-collection-cards-section .bs-collection-cards-grid::-webkit-scrollbar {
    display: none;
  }
  .bs-collection-cards-section .bs-collection-card {
    flex: 0 0 min(84vw, 320px);
    width: min(84vw, 320px) !important;
    scroll-snap-align: start;
  }
  .bs-collection-cards-section .bs-collection-card-content {
    padding: 24px 20px 22px;
  }
  .bs-collection-cards-section .bs-collection-card-copy {
    max-width: 92%;
  }
  .bs-collection-cards-section .bs-collection-card-copy h3 {
    font-size: 24px;
    margin-bottom: 10px;
  }
  .bs-collection-cards-section .bs-collection-card-copy p {
    font-size: 15px;
  }
  .bs-collection-cards-section .bs-collection-card-cta {
    font-size: 14px;
  }
}

/* Text + Image Block */
.bs-block-text { padding: 40px 0; }
.bs-text-block { display: flex; gap: 40px; align-items: center; flex-wrap: wrap; }
.bs-text-block--with-img .bs-text-block-body { flex: 1; min-width: 260px; }
.bs-text-block--with-img .bs-text-block-img  { flex: 0 0 40%; max-width: 400px; }
.bs-text-block--img-left { flex-direction: row-reverse; }
.bs-text-block-img img { width: 100%; border-radius: 16px; box-shadow: 0 8px 32px rgba(0,0,0,.1); }
.bs-text-block-heading { font-size: clamp(20px,3vw,36px); font-weight: 900; margin-bottom: 14px; }
.bs-text-block-content { font-size: 15px; line-height: 1.8; color: var(--bs-text); margin-bottom: 20px; opacity: .85; }
@media (max-width: 768px) {
  .bs-text-block { flex-direction: column !important; }
  .bs-text-block--with-img .bs-text-block-img { max-width: 100%; }
}
