/* BDS Commerce Core 0.2 — catalog/search/wishlist. Inherits global BDS/Astra tokens. */
:root {
  --bds-card-gap: 16px;
}

/* Predictive search */
.bds-product-search { position: relative; }
.bds-search-results {
  position: absolute;
  z-index: 10020;
  top: calc(100% + 8px);
  left: 0;
  right: 0;
  max-height: min(66vh, 560px);
  overflow: auto;
  border: 1px solid var(--bds-border, #eadfd3);
  border-radius: var(--bds-radius, 16px);
  background: var(--bds-surface, #fff);
  box-shadow: 0 18px 48px rgba(35, 25, 15, .16);
}
.bds-search-results[hidden] { display: none !important; }
.bds-search-results__items { padding: 8px; }
.bds-search-result {
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr);
  gap: 11px;
  align-items: center;
  padding: 9px;
  border-radius: 12px;
  color: var(--bds-ink, #161b2b);
}
.bds-search-result:hover { background: var(--bds-surface-soft, #fbf7f2); }
.bds-search-result__image { width: 58px; height: 58px; border-radius: 10px; overflow: hidden; background: #fff; }
.bds-search-result__image img { width: 100%; height: 100%; object-fit: contain; }
.bds-search-result__content { min-width: 0; }
.bds-search-result__content strong,
.bds-search-result__content small,
.bds-search-result__content > span { display: block; }
.bds-search-result__content strong { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; font-size: 14px; }
.bds-search-result__content small { margin: 3px 0; color: var(--bds-muted, #6f7788); font-size: 11px; }
.bds-search-result__content > span { color: var(--bds-primary-dark, #74471f); font-weight: 700; font-size: 13px; }
.bds-search-results__all { display: block; padding: 12px 16px; border-top: 1px solid var(--bds-border, #eadfd3); color: var(--bds-primary-dark, #74471f); font-weight: 700; }
.bds-search-results__empty,
.bds-search-results__loading { padding: 22px; color: var(--bds-muted, #6f7788); text-align: center; }

/* Universal product card */
.woocommerce ul.products.bds-product-grid,
ul.products.bds-product-grid,
.woocommerce ul.products {
  display: grid;
  grid-template-columns: repeat(var(--bds-grid-columns, 4), minmax(0, 1fr));
  gap: var(--bds-card-gap);
  margin: 0;
  padding: 0;
  list-style: none;
}
.woocommerce ul.products li.product.bds-product-card,
ul.products li.product.bds-product-card,
.bds-product-card {
  float: none !important;
  width: auto !important;
  margin: 0 !important;
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--bds-border, #eadfd3);
  border-radius: var(--bds-radius, 16px);
  background: var(--bds-surface, #fff);
  box-shadow: 0 4px 14px rgba(45, 28, 15, .05);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.bds-product-card:hover { transform: translateY(-2px); border-color: color-mix(in srgb, var(--bds-primary, #a97946) 48%, var(--bds-border, #eadfd3)); box-shadow: 0 10px 24px rgba(45, 28, 15, .10); }
.bds-product-card__media { position: relative; aspect-ratio: 1 / 1; padding: 10px; background: #fff; }
.bds-product-card__image { display: block; width: 100%; height: 100%; }
.bds-product-card__image img { display: block; width: 100%; height: 100%; margin: 0 !important; object-fit: contain; }
.bds-product-card__discount { position: absolute; top: 9px; right: 9px; z-index: 2; min-width: 48px; padding: 7px 6px; border-radius: 9px; background: var(--bds-primary, #a97946); color: #fff; text-align: center; font-size: 11px; line-height: 1.1; font-weight: 800; }
.bds-wishlist-button { position: absolute; right: 9px; bottom: 9px; z-index: 2; width: 36px; height: 36px; display: grid; place-items: center; padding: 0; border: 1px solid var(--bds-border, #eadfd3); border-radius: 50%; background: rgba(255,255,255,.96); color: var(--bds-ink, #161b2b); cursor: pointer; }
.bds-wishlist-button svg { width: 19px; height: 19px; fill: transparent; }
.bds-wishlist-button.is-active { color: var(--bds-primary-dark, #74471f); border-color: var(--bds-primary, #a97946); background: var(--bds-surface-soft, #fbf7f2); }
.bds-wishlist-button.is-active svg { fill: currentColor; }
.bds-product-card__body { padding: 2px 12px 12px; }
.bds-product-card__brand { min-height: 16px; margin-bottom: 4px; color: var(--bds-muted, #6f7788); font-size: 10px; text-transform: uppercase; letter-spacing: .04em; }
.bds-product-card__title { display: -webkit-box; min-height: 40px; overflow: hidden; color: var(--bds-ink, #161b2b); font-size: 13px; font-weight: 700; line-height: 1.45; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.bds-product-card__price { min-height: 26px; margin: 7px 0 9px; color: var(--bds-primary-dark, #74471f); font-size: 16px; font-weight: 800; }
.bds-product-card__price del { margin-left: 4px; color: var(--bds-muted, #6f7788); font-size: 11px; font-weight: 500; opacity: .75; }
.bds-product-card__price ins { text-decoration: none; }
.bds-product-card__actions { display: grid; grid-template-columns: 42px minmax(0, 1fr); gap: 7px; }
.bds-product-card__cart,
.woocommerce ul.products li.product .bds-product-card__cart.button { min-width: 42px; min-height: 38px; display: inline-flex; align-items: center; justify-content: center; gap: 6px; margin: 0; padding: 0 10px; border: 0; border-radius: 8px; background: var(--bds-primary, #a97946); color: #fff; }
.bds-product-card__cart svg { width: 18px; height: 18px; }
.bds-product-card__cart span { display: none; }
.bds-product-card__buy { min-height: 38px; display: inline-flex; align-items: center; justify-content: center; padding: 0 10px; border: 1px solid var(--bds-primary, #a97946); border-radius: 8px; background: var(--bds-primary, #a97946); color: #fff; font-size: 12px; font-weight: 700; }
.bds-product-card__buy:hover { background: var(--bds-primary-dark, #74471f); color: #fff; }

/* Shop filters */
.bds-catalog-toolbar { display: flex; align-items: center; gap: 10px; margin: 0 0 16px; }
.bds-filter-toggle { min-height: 44px; display: none; align-items: center; gap: 7px; padding: 0 15px; border: 1px solid var(--bds-border, #eadfd3); border-radius: 999px; background: #fff; color: var(--bds-ink, #161b2b); font-weight: 700; }
.bds-filter-toggle svg { width: 18px; height: 18px; }
.bds-catalog-toolbar__fields { flex: 1; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.bds-catalog-toolbar label { margin: 0; }
.bds-catalog-toolbar label > span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.bds-catalog-toolbar select { width: 100%; min-height: 44px; padding: 0 38px 0 14px; border: 1px solid var(--bds-border, #eadfd3); border-radius: 10px; background-color: var(--bds-surface-soft, #fbf7f2); color: var(--bds-ink, #161b2b); }
.bds-catalog-is-loading { opacity: .55; pointer-events: none; }
.bds-empty-state { grid-column: 1 / -1; padding: 48px 20px; border: 1px dashed var(--bds-border, #eadfd3); border-radius: var(--bds-radius, 16px); color: var(--bds-muted, #6f7788); text-align: center; background: var(--bds-surface-soft, #fbf7f2); }
.woocommerce-pagination ul.page-numbers { border: 0 !important; display: flex; gap: 6px; justify-content: center; }
.woocommerce-pagination ul.page-numbers li { border: 0 !important; }
.woocommerce-pagination .page-numbers a,
.woocommerce-pagination .page-numbers span { min-width: 38px; height: 38px; display: grid !important; place-items: center; border: 1px solid var(--bds-border, #eadfd3); border-radius: 9px; background: #fff; }
.woocommerce-pagination .page-numbers .current { background: var(--bds-primary, #a97946) !important; color: #fff !important; border-color: var(--bds-primary, #a97946); }

/* Header wishlist count */
.bds-action-link--wishlist { position: relative; }
.bds-action-link--wishlist .bds-wishlist-count { position: absolute; top: -8px; right: -3px; min-width: 18px; height: 18px; display: inline-flex; align-items: center; justify-content: center; padding: 0 4px; border-radius: 999px; background: var(--bds-primary, #a97946); color: #fff; font-size: 11px; font-weight: 700; }

/* Wishlist page */
.bds-wishlist-page { width: min(calc(100% - 32px), var(--bds-container, 1280px)); margin: 36px auto 60px; }
.bds-section-heading { display: flex; align-items: center; gap: 10px; margin-bottom: 22px; }
.bds-section-heading h1 { margin: 0; }
.bds-section-heading > span { min-width: 28px; height: 28px; display: grid; place-items: center; border-radius: 50%; background: var(--bds-surface-soft, #fbf7f2); color: var(--bds-primary-dark, #74471f); font-weight: 700; }

@media (max-width: 921px) {
  .bds-search-results { position: fixed; top: 112px; left: 8px; right: 8px; max-height: calc(100vh - 190px); }
  .woocommerce ul.products.bds-product-grid,
  ul.products.bds-product-grid,
  .woocommerce ul.products { --bds-grid-columns: 2 !important; gap: 10px; }
  .bds-product-card__body { padding: 2px 9px 9px; }
  .bds-product-card__title { min-height: 36px; font-size: 11px; }
  .bds-product-card__price { margin: 6px 0 8px; font-size: 14px; }
  .bds-product-card__actions { grid-template-columns: 36px minmax(0, 1fr); gap: 5px; }
  .bds-product-card__cart,
  .woocommerce ul.products li.product .bds-product-card__cart.button { min-width: 36px; min-height: 34px; padding: 0; }
  .bds-product-card__buy { min-height: 34px; padding: 0 6px; font-size: 10px; }
  .bds-product-card__discount { top: 7px; right: 7px; min-width: 42px; padding: 6px 4px; font-size: 10px; }
  .bds-wishlist-button { width: 32px; height: 32px; right: 7px; bottom: 7px; }

  .bds-catalog-toolbar { position: relative; align-items: stretch; }
  .bds-filter-toggle { display: inline-flex; flex: 0 0 auto; }
  .bds-catalog-toolbar__fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bds-catalog-toolbar:not(.is-open) .bds-catalog-toolbar__fields label:nth-child(n/**/+3) { display: none; }
  .bds-catalog-toolbar.is-open { display: block; padding: 14px; border: 1px solid var(--bds-border, #eadfd3); border-radius: var(--bds-radius, 16px); background: #fff; }
  .bds-catalog-toolbar.is-open .bds-filter-toggle { margin-bottom: 10px; }
  .bds-catalog-toolbar.is-open .bds-catalog-toolbar__fields { display: grid; }
  .bds-wishlist-page { width: min(calc(100% - 16px), var(--bds-container, 1280px)); margin-top: 20px; }
}

@media (max-width: 420px) {
  .bds-product-card__media { padding: 7px; }
  .bds-product-card__brand { font-size: 9px; }
  .bds-catalog-toolbar__fields { grid-template-columns: 1fr 1fr; gap: 7px; }
  .bds-catalog-toolbar select { min-height: 40px; padding-left: 10px; font-size: 12px; }
}

/* =========================================================
   BDS Commerce Core 0.3 — cart, checkout, quick order, tracking
   ========================================================= */
html.bds-overlay-open { overflow: hidden; }
.bds-btn { min-height: 46px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 0 18px; border: 0; border-radius: 12px; font: inherit; font-weight: 800; text-decoration: none; cursor: pointer; }
.bds-btn--primary { background: var(--bds-primary, #a97946); color: #fff; }
.bds-btn--primary:hover { background: var(--bds-primary-dark, #74471f); color: #fff; }

/* Cart drawer */
.bds-cart-drawer { position: fixed; inset: 0; z-index: 100080; pointer-events: none; visibility: hidden; }
.bds-cart-drawer.is-open { pointer-events: auto; visibility: visible; }
.bds-cart-drawer__backdrop { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; background: rgba(17, 20, 27, .55); opacity: 0; transition: opacity .22s ease; }
.bds-cart-drawer.is-open .bds-cart-drawer__backdrop { opacity: 1; }
.bds-cart-drawer__panel { position: absolute; top: 0; right: 0; width: min(100%, 520px); height: 100%; overflow: hidden; background: var(--bds-surface, #fff); box-shadow: -18px 0 55px rgba(0,0,0,.18); transform: translateX(101%); transition: transform .26s ease; }
.bds-cart-drawer.is-open .bds-cart-drawer__panel { transform: translateX(0); }
.bds-cart-drawer__content { height: 100%; display: flex; flex-direction: column; }
.bds-cart-drawer__content.is-loading { opacity: .65; pointer-events: none; }
.bds-cart-drawer__header { min-height: 108px; display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 22px 26px; border-bottom: 1px solid var(--bds-border, #eadfd3); }
.bds-cart-drawer__title-wrap { display: flex; align-items: center; gap: 13px; }
.bds-cart-drawer__icon { width: 50px; height: 50px; display: grid; place-items: center; border-radius: 15px; background: var(--bds-surface-soft, #fbf7f2); color: var(--bds-primary-dark, #74471f); }
.bds-cart-drawer__icon svg { width: 24px; height: 24px; }
.bds-cart-drawer__title-wrap strong, .bds-cart-drawer__title-wrap small { display: block; }
.bds-cart-drawer__title-wrap strong { color: var(--bds-ink, #161b2b); font-size: 23px; line-height: 1.1; }
.bds-cart-drawer__title-wrap small { margin-top: 5px; color: var(--bds-muted, #6f7788); }
.bds-cart-drawer__close { width: 48px; height: 48px; display: grid; place-items: center; padding: 0; border: 1px solid var(--bds-border, #eadfd3); border-radius: 50%; background: #fff; color: var(--bds-muted, #6f7788); cursor: pointer; }
.bds-cart-drawer__close svg { width: 21px; height: 21px; }
.bds-cart-drawer__items { flex: 1 1 auto; overflow: auto; padding: 24px; background: linear-gradient(180deg, var(--bds-surface-soft, #fbf7f2), #fff 42%); }
.bds-cart-line { position: relative; display: grid; grid-template-columns: 92px minmax(0, 1fr); gap: 16px; padding: 16px; border: 1px solid var(--bds-border, #eadfd3); border-radius: 18px; background: #fff; box-shadow: 0 8px 22px rgba(45,28,15,.05); }
.bds-cart-line + .bds-cart-line { margin-top: 14px; }
.bds-cart-line.is-loading { opacity: .55; pointer-events: none; }
.bds-cart-line__image { width: 92px; height: 92px; display: block; overflow: hidden; border-radius: 14px; background: #fff; }
.bds-cart-line__image img { width: 100%; height: 100%; object-fit: contain; }
.bds-cart-line__main { min-width: 0; }
.bds-cart-line__title { display: -webkit-box; overflow: hidden; color: var(--bds-ink, #161b2b); font-size: 14px; font-weight: 800; line-height: 1.45; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.bds-cart-line__price { margin-top: 8px; color: var(--bds-primary-dark, #74471f); font-size: 18px; font-weight: 800; }
.bds-cart-line__price del { color: var(--bds-muted); font-size: 12px; }
.bds-cart-line__meta { margin-top: 5px; color: var(--bds-muted); font-size: 11px; }
.bds-cart-line__bottom { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 12px; }
.bds-qty { display: grid; grid-template-columns: 34px 42px 34px; align-items: center; border: 1px solid var(--bds-border, #eadfd3); border-radius: 999px; overflow: hidden; background: #fff; }
.bds-qty button, .bds-qty input { width: 100%; height: 34px; margin: 0; padding: 0; border: 0; background: transparent; text-align: center; color: var(--bds-ink, #161b2b); }
.bds-qty input { appearance: textfield; -moz-appearance: textfield; font-weight: 700; }
.bds-qty input::-webkit-inner-spin-button, .bds-qty input::-webkit-outer-spin-button { appearance: none; margin: 0; }
.bds-qty button { font-size: 20px; cursor: pointer; }
.bds-cart-line__remove { padding: 4px; border: 0; background: transparent; color: var(--bds-muted, #6f7788); font-size: 12px; cursor: pointer; text-decoration: underline; }
.bds-cart-drawer__footer { flex: 0 0 auto; padding: 24px; border-top: 1px solid var(--bds-border, #eadfd3); background: #fff; }
.bds-cart-drawer__total { display: grid; grid-template-columns: 1fr auto; gap: 3px 16px; margin-bottom: 18px; }
.bds-cart-drawer__total span { color: var(--bds-muted); font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; }
.bds-cart-drawer__total strong { grid-row: 1 / span 2; grid-column: 2; align-self: center; color: var(--bds-primary-dark); font-size: 30px; }
.bds-cart-drawer__total small { color: var(--bds-muted); }
.bds-btn--checkout { width: 100%; min-height: 58px; font-size: 16px; }
.bds-cart-drawer__continue { display: block; margin: 16px 0 12px; color: var(--bds-muted); text-align: center; font-weight: 700; }
.bds-cart-drawer__safe { display: flex; justify-content: center; align-items: center; gap: 6px; color: #9aa2b2; font-size: 11px; text-align: center; }
.bds-cart-drawer__safe svg { width: 14px; height: 14px; }
.bds-cart-drawer__empty { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 40px 24px; text-align: center; }
.bds-cart-drawer__empty > span { width: 70px; height: 70px; display: grid; place-items: center; border-radius: 50%; background: var(--bds-surface-soft); color: var(--bds-primary); }
.bds-cart-drawer__empty svg { width: 30px; height: 30px; }
.bds-cart-drawer__empty h3 { margin: 18px 0 6px; }
.bds-cart-drawer__empty p { margin: 0 0 20px; color: var(--bds-muted); }

/* Quick order */
.bds-quick-order { position: fixed; inset: 0; z-index: 100090; display: grid; place-items: center; padding: 22px; pointer-events: none; visibility: hidden; }
.bds-quick-order.is-open { pointer-events: auto; visibility: visible; }
.bds-quick-order__backdrop { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; background: rgba(23, 28, 39, .68); opacity: 0; transition: opacity .2s ease; }
.bds-quick-order.is-open .bds-quick-order__backdrop { opacity: 1; }
.bds-quick-order__dialog { position: relative; width: min(1080px, 100%); max-height: min(88vh, 820px); overflow: auto; border-radius: 20px; background: #fff; box-shadow: 0 28px 80px rgba(0,0,0,.25); transform: translateY(18px) scale(.985); opacity: 0; transition: .22s ease; }
.bds-quick-order.is-open .bds-quick-order__dialog { transform: none; opacity: 1; }
.bds-quick-order__close { position: absolute; top: 16px; right: 16px; z-index: 4; width: 42px; height: 42px; display: grid; place-items: center; padding: 0; border: 1px solid var(--bds-border); border-radius: 50%; background: #fff; color: var(--bds-muted); cursor: pointer; }
.bds-quick-order__close svg { width: 19px; height: 19px; }
.bds-quick-order__loading, .bds-quick-order__error { min-height: 280px; display: grid; place-items: center; padding: 40px; color: var(--bds-muted); }
.bds-quick-order-form { display: grid; grid-template-columns: minmax(300px, 42%) minmax(0, 58%); }
.bds-quick-order__product { min-height: 560px; display: flex; flex-direction: column; padding: 34px 34px 30px; border-right: 1px solid var(--bds-border); background: var(--bds-surface-soft); }
.bds-quick-order__product-image { width: 136px; height: 136px; margin-bottom: 20px; overflow: hidden; border: 1px solid var(--bds-border); border-radius: 18px; background: #fff; }
.bds-quick-order__product-image img { width: 100%; height: 100%; object-fit: contain; }
.bds-quick-order__product-copy small { display: block; margin-bottom: 5px; color: var(--bds-muted); }
.bds-quick-order__product-copy h3 { margin: 0 0 8px; color: var(--bds-ink); font-size: 24px; line-height: 1.35; }
.bds-quick-order__stock { display: inline-flex; align-self: flex-start; padding: 5px 10px; border-radius: 999px; background: color-mix(in srgb, var(--bds-accent) 10%, #fff); color: var(--bds-primary-dark); font-size: 12px; font-weight: 800; }
.bds-quick-order__price { margin: 22px 0; color: var(--bds-primary-dark); font-size: 32px; font-weight: 900; }
.bds-quick-order__price del { color: var(--bds-muted); font-size: 15px; }
.bds-quick-order__qty { margin-top: auto; width: 132px; grid-template-columns: 40px 52px 40px; }
.bds-quick-order__qty button, .bds-quick-order__qty input { height: 42px; }
.bds-quick-order__details { padding: 34px; }
.bds-quick-order__details > h3 { margin: 0 0 20px; color: var(--bds-muted); font-size: 13px; letter-spacing: .07em; text-transform: uppercase; }
.bds-field-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; }
.bds-field-grid label { display: block; margin: 0; color: var(--bds-ink); font-size: 13px; font-weight: 700; }
.bds-field-grid label > span { display: block; margin-bottom: 7px; }
.bds-field-grid input, .bds-field-grid textarea { width: 100%; margin: 0; padding: 12px 14px; border: 1px solid var(--bds-border); border-radius: 12px; background: #fff; color: var(--bds-ink); box-shadow: none; }
.bds-field-grid input { min-height: 50px; }
.bds-field-grid textarea { resize: vertical; }
.bds-field-grid__wide { grid-column: 1 / -1; }









.bds-quick-order__summary { margin-top: 20px; padding: 14px 0; border-top: 1px solid var(--bds-border); border-bottom: 1px solid var(--bds-border); }
.bds-quick-order__summary > div { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 5px 0; color: var(--bds-muted); }
.bds-quick-order__summary strong { color: var(--bds-ink); }
.bds-quick-order__summary-total { margin-top: 4px; padding-top: 11px !important; border-top: 1px dashed var(--bds-border); font-size: 18px; font-weight: 800; }
.bds-quick-order__summary-total strong { color: var(--bds-primary-dark); font-size: 24px; }
.bds-quick-order__submit { width: 100%; min-height: 54px; margin-top: 18px; }
.bds-quick-order__message { margin-top: 12px; padding: 12px; border-radius: 10px; font-size: 13px; }
.bds-quick-order__message.is-success { background: color-mix(in srgb, var(--bds-accent) 9%, #fff); color: var(--bds-primary-dark); }
.bds-quick-order__message.is-error { background: #fff0f0; color: #a32b2b; }
.bds-single-quick-order { margin-left: 8px !important; background: var(--bds-primary, #a97946) !important; color: #fff !important; border-color: var(--bds-primary, #a97946) !important; }
.bds-product-card__buy { cursor: pointer; font-family: inherit; }

/* Single product */
.single-product .site-content > .ast-container { max-width: var(--bds-container, 1280px); }
.single-product div.product { margin-top: 26px; }
.single-product div.product .summary { padding: 22px; border: 1px solid var(--bds-border); border-radius: var(--bds-radius); background: #fff; box-shadow: 0 8px 28px rgba(45,28,15,.05); }
.single-product div.product .summary .product_title { color: var(--bds-ink); font-size: clamp(24px, 2.4vw, 38px); line-height: 1.22; }
.single-product div.product .summary .price { color: var(--bds-primary-dark); font-weight: 900; }
.single-product div.product form.cart .quantity input { min-height: 46px; }
.single-product div.product form.cart .button { min-height: 46px; border-radius: 10px; }
.bds-product-assurance { clear: both; display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 12px; margin: 26px 0; }
.bds-product-assurance__item { display: flex; align-items: center; gap: 11px; min-height: 88px; padding: 16px; border: 1px solid var(--bds-border); border-radius: 14px; background: #fff; }
.bds-product-assurance__item > span { width: 42px; height: 42px; flex: 0 0 42px; display: grid; place-items: center; border-radius: 12px; background: var(--bds-surface-soft); color: var(--bds-primary-dark); }
.bds-product-assurance__item svg { width: 21px; height: 21px; }
.bds-product-assurance__item strong, .bds-product-assurance__item small { display: block; }
.bds-product-assurance__item strong { color: var(--bds-ink); font-size: 12px; }
.bds-product-assurance__item small { margin-top: 3px; color: var(--bds-muted); font-size: 10px; }
.bds-section-block { clear: both; margin: 36px 0; }
.bds-section-block__head { margin-bottom: 16px; }
.bds-section-block__head small { color: var(--bds-primary); font-weight: 800; text-transform: uppercase; }
.bds-section-block__head h2 { margin: 2px 0 0; color: var(--bds-ink); }
.woocommerce div.product .woocommerce-tabs { margin-top: 30px; border: 1px solid var(--bds-border); border-radius: var(--bds-radius); overflow: hidden; background: #fff; }
.woocommerce div.product .woocommerce-tabs ul.tabs { margin: 0 !important; padding: 0 16px !important; border-bottom: 1px solid var(--bds-border); background: var(--bds-surface-soft); }
.woocommerce div.product .woocommerce-tabs .panel { padding: 22px; margin: 0 !important; }

/* Native cart + checkout visual shell */
.woocommerce-cart .site-content > .ast-container,
.woocommerce-checkout .site-content > .ast-container { max-width: var(--bds-container, 1280px); }
.bds-commerce-page-heading { display: flex; align-items: center; gap: 14px; margin: 26px 0 22px; }
.bds-commerce-page-heading > span { width: 50px; height: 50px; display: grid; place-items: center; border-radius: 14px; background: var(--bds-surface-soft); color: var(--bds-primary-dark); }
.bds-commerce-page-heading svg { width: 24px; height: 24px; }
.bds-commerce-page-heading h1 { margin: 0; color: var(--bds-ink); font-size: 28px; }
.bds-commerce-page-heading p { margin: 3px 0 0; color: var(--bds-muted); font-size: 13px; }
.woocommerce-cart-form, .cart-collaterals .cart_totals,
.woocommerce-checkout #customer_details, .woocommerce-checkout #order_review,
.woocommerce-checkout .woocommerce-form-coupon-toggle, .woocommerce-checkout form.checkout_coupon { border: 1px solid var(--bds-border); border-radius: var(--bds-radius); background: #fff; box-shadow: 0 7px 22px rgba(45,28,15,.04); }
.woocommerce-cart-form { padding: 18px; }
.cart-collaterals .cart_totals { padding: 20px; }
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.woocommerce-checkout #place_order { min-height: 54px; border-radius: 12px; background: var(--bds-primary) !important; color: #fff !important; font-weight: 800; }
.woocommerce-checkout form.checkout { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(320px, .8fr); gap: 22px; align-items: start; }
.woocommerce-checkout #customer_details { padding: 22px; }
.woocommerce-checkout #order_review_heading, .woocommerce-checkout #order_review { grid-column: 2; }
.woocommerce-checkout #order_review_heading { margin: 0 0 -10px; }
.woocommerce-checkout #order_review { padding: 20px; }
.woocommerce-checkout .form-row input.input-text, .woocommerce-checkout .form-row textarea, .woocommerce-checkout .select2-container .select2-selection { border: 1px solid var(--bds-border); border-radius: 10px; box-shadow: none; }
.woocommerce-checkout .form-row input.input-text { min-height: 46px; }

/* Tracking */
.bds-track-order { width: min(calc(100% - 32px), 760px); margin: 42px auto 70px; }
.bds-track-order__card { padding: 26px; border: 1px solid var(--bds-border); border-radius: 22px; background: #fff; box-shadow: 0 15px 48px rgba(45,28,15,.08); }
.bds-track-order .bds-section-heading { align-items: flex-start; }
.bds-track-order .bds-section-heading > span { width: 48px; height: 48px; flex: 0 0 48px; display: grid; place-items: center; }
.bds-track-order .bds-section-heading svg { width: 23px; height: 23px; }
.bds-track-order .bds-section-heading h1 { font-size: 28px; }
.bds-track-order .bds-section-heading p { margin: 4px 0 0; color: var(--bds-muted); font-size: 13px; }
.bds-track-order__form { display: grid; grid-template-columns: 1fr 1fr 52px; gap: 10px; margin-top: 20px; }
.bds-track-order__form label { margin: 0; }
.bds-track-order__form label > span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.bds-track-order__form input { width: 100%; min-height: 50px; margin: 0; padding: 0 14px; border: 1px solid var(--bds-border); border-radius: 999px; box-shadow: none; }
.bds-track-order__form button { min-width: 52px; min-height: 50px; padding: 0; border-radius: 50%; }
.bds-track-order__form button svg { width: 20px; height: 20px; }
.bds-track-order__form button span { display: none; }
.bds-track-order__result { margin-top: 20px; }
.bds-track-order__loading, .bds-track-order__error { padding: 18px; border-radius: 12px; background: var(--bds-surface-soft); color: var(--bds-muted); text-align: center; }
.bds-track-order__error { background: #fff0f0; color: #9f2929; }
.bds-track-result-card { padding: 18px; border: 1px solid var(--bds-border); border-radius: 16px; background: var(--bds-surface-soft); }
.bds-track-result-card__top { display: flex; justify-content: space-between; gap: 16px; align-items: center; }
.bds-track-result-card small { display: block; color: var(--bds-muted); font-size: 11px; text-transform: uppercase; }
.bds-track-result-card strong { color: var(--bds-ink); }
.bds-order-status { padding: 7px 10px; border-radius: 999px; background: var(--bds-accent); color: var(--bds-ink); font-size: 11px; font-weight: 800; }
.bds-track-result-card__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 16px; }
.bds-track-result-card__grid > div { padding: 12px; border-radius: 10px; background: #fff; }
.bds-track-result-card__items { margin-top: 12px; padding: 12px; border-radius: 10px; background: #fff; }
.bds-track-result-card__items p { margin: 4px 0 0; }

@media (max-width: 921px) {
  .bds-cart-drawer__panel { width: min(100%, 430px); }
  .bds-quick-order { padding: 8px; align-items: end; }
  .bds-quick-order__dialog { width: 100%; max-height: 92vh; border-radius: 20px 20px 0 0; }
  .bds-quick-order-form { grid-template-columns: 1fr; }
  .bds-quick-order__product { min-height: 0; display: grid; grid-template-columns: 94px minmax(0,1fr); gap: 14px; padding: 20px; border-right: 0; border-bottom: 1px solid var(--bds-border); }
  .bds-quick-order__product-image { width: 94px; height: 94px; margin: 0; grid-row: 1 / span 2; }
  .bds-quick-order__product-copy h3 { font-size: 17px; }
  .bds-quick-order__price { margin: 8px 0 0; font-size: 22px; }
  .bds-quick-order__qty { grid-column: 2; margin-top: 8px; }
  .bds-quick-order__details { padding: 20px; }
  .bds-field-grid { grid-template-columns: 1fr; }
  .bds-field-grid__wide { grid-column: auto; }
  
  .bds-product-assurance { grid-template-columns: 1fr; }
  .woocommerce-checkout form.checkout { display: block; }
  .woocommerce-checkout #customer_details, .woocommerce-checkout #order_review { margin-bottom: 18px; }
  .bds-track-order { width: min(calc(100% - 16px), 760px); margin-top: 22px; }
}

@media (max-width: 560px) {
  .bds-cart-drawer__header { min-height: 86px; padding: 16px; }
  .bds-cart-drawer__items { padding: 14px; }
  .bds-cart-drawer__footer { padding: 16px; padding-bottom: calc(16px + env(safe-area-inset-bottom)); }
  .bds-cart-line { grid-template-columns: 78px minmax(0,1fr); padding: 12px; }
  .bds-cart-line__image { width: 78px; height: 78px; }
  .bds-cart-drawer__total strong { font-size: 26px; }
  .bds-field-grid input { min-height: 46px; }
  .bds-track-order__card { padding: 18px; }
  .bds-track-order__form { grid-template-columns: 1fr 1fr 46px; gap: 7px; }
  .bds-track-order__form input { min-height: 46px; padding: 0 10px; font-size: 12px; }
  .bds-track-order__form button { min-width: 46px; min-height: 46px; }
}

/* =========================================================
   BDS Commerce Core 0.5 — responsive convergence + system pages
   ========================================================= */

/* Remove duplicated Astra page titles where BDS/Woo renders its own heading. */
.bds-storefront-home-page .entry-header,
.bds-storefront-directory-page .entry-header,
.bds-track-order-page .entry-header,
.bds-wishlist-body .entry-header,
.woocommerce-cart .entry-header,
.woocommerce-checkout .entry-header,
.bds-account-page .entry-header { display: none !important; }

.bds-storefront-home-page .site-content > .ast-container,
.bds-storefront-directory-page .site-content > .ast-container,
.bds-track-order-page .site-content > .ast-container,
.bds-wishlist-body .site-content > .ast-container { max-width: none; padding-left: 0; padding-right: 0; }

/* Desktop filter toolbar stays compact; mobile converts the same source fields into a sheet. */
.bds-filter-sheet { display: contents; }
.bds-filter-sheet__head,
.bds-filter-sheet__actions,
.bds-filter-quick-actions,
.bds-filter-backdrop { display: none; }

/* Glowmeko-style floating cart shortcut; values are live WooCommerce data. */
.bds-floating-cart {
  position: fixed;
  right: 0;
  top: 44%;
  z-index: 9990;
  width: 82px;
  min-height: 102px;
  display: grid;
  grid-template-rows: 1fr auto;
  padding: 0;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--bds-primary) 65%, var(--bds-border));
  border-right: 0;
  border-radius: 18px 0 0 18px;
  background: var(--bds-primary);
  color: #fff;
  box-shadow: 0 10px 28px rgba(30,20,12,.16);
  cursor: pointer;
}
.bds-floating-cart__icon { position: relative; min-height: 58px; display: grid; place-items: center; }
.bds-floating-cart__icon > svg { width: 27px; height: 27px; stroke: currentColor; fill: none; }
.bds-floating-cart__icon > .bds-floating-cart__count {
  position: absolute;
  top: 8px;
  right: 10px;
  min-width: 18px;
  height: 18px;
  padding: 0 4px;
  display: inline-grid;
  place-items: center;
  border-radius: 999px;
  background: var(--bds-accent);
  color: var(--bds-ink);
  font-size: 10px;
  font-weight: 900;
}
.bds-floating-cart__copy { display: grid; gap: 1px; padding: 7px 5px 9px; background: var(--bds-accent); color: var(--bds-ink); text-align: center; line-height: 1.1; }
.bds-floating-cart__copy strong { font-size: 10px; }
.bds-floating-cart__copy small { font-size: 11px; font-weight: 900; }
.bds-floating-cart__copy .woocommerce-Price-amount { color: inherit; }

/* Cart page: shopping bag + sticky order summary on desktop. */
@media (min-width: 922px) {
  .woocommerce-cart .site-main > article > .entry-content > .woocommerce,
  .woocommerce-cart .site-main .entry-content > .woocommerce {
    display: grid;
    grid-template-columns: minmax(0, 1.75fr) minmax(310px, .8fr);
    gap: 24px;
    align-items: start;
  }
  .woocommerce-cart .woocommerce > .woocommerce-notices-wrapper,
  .woocommerce-cart .woocommerce > .bds-commerce-page-heading,
  .woocommerce-cart .woocommerce > .woocommerce-message,
  .woocommerce-cart .woocommerce > .woocommerce-info { grid-column: 1 / -1; }
  .woocommerce-cart .woocommerce-cart-form { grid-column: 1; }
  .woocommerce-cart .cart-collaterals { grid-column: 2; margin: 0; }
  .woocommerce-cart .cart-collaterals .cart_totals { width: 100%; float: none; position: sticky; top: 170px; }
}
.woocommerce-cart table.shop_table { border-collapse: separate; border-spacing: 0; overflow: hidden; border: 0; }
.woocommerce-cart table.shop_table td,
.woocommerce-cart table.shop_table th { border-color: var(--bds-border); }
.woocommerce-cart table.shop_table img { width: 76px; border-radius: 12px; }

/* Account/login/register system pages. */
.bds-account-page .site-content > .ast-container { max-width: min(var(--bds-container), calc(100% - 32px)); }
.bds-account-page .woocommerce { margin: 34px 0 60px; }
.bds-account-page .woocommerce-MyAccount-navigation,
.bds-account-page .woocommerce-MyAccount-content,
.bds-account-page form.login,
.bds-account-page form.register {
  border: 1px solid var(--bds-border) !important;
  border-radius: var(--bds-radius) !important;
  background: #fff;
  box-shadow: 0 8px 26px rgba(45,28,15,.05);
}
.bds-account-page form.login,
.bds-account-page form.register { padding: 24px !important; }
.bds-account-page .woocommerce-MyAccount-navigation { padding: 12px; }
.bds-account-page .woocommerce-MyAccount-navigation ul { margin: 0; padding: 0; list-style: none; }
.bds-account-page .woocommerce-MyAccount-navigation a { display: block; padding: 11px 12px; border-radius: 10px; color: var(--bds-ink); }
.bds-account-page .woocommerce-MyAccount-navigation .is-active a,
.bds-account-page .woocommerce-MyAccount-navigation a:hover { background: var(--bds-surface-soft); color: var(--bds-primary-dark); }
.bds-account-page input.input-text { min-height: 46px; border: 1px solid var(--bds-border); border-radius: 10px; box-shadow: none; }

/* Wishlist/search/directory/system states use the same container rhythm. */
.bds-wishlist-page { width: min(calc(100% - 32px), var(--bds-container)); margin: 34px auto 64px; }
.bds-wishlist-page .bds-section-heading { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 20px; }
.bds-wishlist-page .bds-section-heading h1 { margin: 0; font-size: clamp(25px, 3vw, 38px); }
.bds-wishlist-page .bds-section-heading > span { min-width: 34px; height: 34px; display: inline-grid; place-items: center; border-radius: 999px; background: var(--bds-primary); color: #fff; font-weight: 800; }
.bds-empty-state { min-height: 220px; display: grid; place-items: center; padding: 28px; border: 1px dashed var(--bds-border); border-radius: var(--bds-radius); background: var(--bds-surface-soft); color: var(--bds-muted); text-align: center; }
.bds-search-page .site-content > .ast-container,
.bds-404-page .site-content > .ast-container { max-width: min(var(--bds-container), calc(100% - 32px)); }
.bds-search-page .ast-archive-description,
.bds-404-page .ast-404-layout-1 { margin: 34px 0 26px; padding: 22px; border: 1px solid var(--bds-border); border-radius: var(--bds-radius); background: #fff; }

/* Single product convergence. */
.single-product .woocommerce-product-gallery,
.single-product div.product .summary { margin-bottom: 28px; }
.single-product div.product .summary { min-height: 100%; }
.single-product div.product .product_meta { padding-top: 12px; border-top: 1px solid var(--bds-border); color: var(--bds-muted); font-size: 12px; }
.single-product .related.products,
.single-product .bds-same-brand { clear: both; }
.single-product .related.products > h2 { margin-bottom: 16px; font-size: 24px; }
.single-product .related.products ul.products { --bds-grid-columns: 4; }

/* Keyboard focus is visible without changing brand colors in component code. */
.bds-storefront :where(a, button, input, select, textarea):focus-visible,
.bds-cart-drawer :where(a, button, input):focus-visible,
.bds-quick-order :where(button, input, textarea):focus-visible {
  outline: 3px solid color-mix(in srgb, var(--bds-accent) 80%, #fff);
  outline-offset: 2px;
}

@media (max-width: 921px) {
  .bds-floating-cart { top: auto; bottom: 160px; width: 64px; min-height: 84px; border-radius: 16px 0 0 16px; }
  .bds-floating-cart__icon { min-height: 48px; }
  .bds-floating-cart__icon > svg { width: 23px; height: 23px; }
  .bds-floating-cart__copy { padding: 6px 3px; }
  .bds-floating-cart__copy strong { font-size: 9px; }
  .bds-floating-cart__copy small { font-size: 10px; }

  /* Closed state mirrors the reference: Filters + first two selects. */
  .bds-catalog-toolbar { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 8px; padding: 8px 0; margin-bottom: 8px; }
  .bds-filter-toggle { grid-column: 1; align-self: stretch; min-height: 44px; }
  .bds-filter-sheet { grid-column: 2; display: block; min-width: 0; }
  .bds-filter-sheet__head,
  .bds-filter-sheet__actions,
  .bds-filter-quick-actions { display: none; }
  .bds-filter-sheet > .bds-catalog-toolbar__fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .bds-filter-sheet > .bds-catalog-toolbar__fields label:nth-child(n/**/+3) { display: none; }
  .bds-catalog-toolbar__fields label > span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .bds-catalog-toolbar select { width: 100%; min-height: 44px; margin: 0; border: 1px solid var(--bds-border); border-radius: 11px; background-color: var(--bds-surface-soft); box-shadow: none; }

  /* Open state becomes a true mobile bottom sheet using the same fields. */
  .bds-catalog-toolbar.is-open { display: grid; padding: 8px 0; border: 0; background: transparent; }
  .bds-catalog-toolbar.is-open > .bds-filter-backdrop {
    position: fixed;
    inset: 0;
    z-index: 100060;
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
    background: rgba(19,22,28,.54);
  }
  .bds-catalog-toolbar.is-open .bds-filter-sheet {
    position: fixed;
    z-index: 100070;
    left: 0;
    right: 0;
    bottom: 0;
    max-height: min(86vh, 720px);
    overflow: auto;
    padding: 18px 16px calc(18px + env(safe-area-inset-bottom));
    border: 1px solid var(--bds-border);
    border-radius: 22px 22px 0 0;
    background: #fff;
    box-shadow: 0 -18px 50px rgba(0,0,0,.18);
  }
  .bds-catalog-toolbar.is-open .bds-filter-sheet__head { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 18px; }
  .bds-filter-sheet__head strong { display: block; color: var(--bds-ink); font-size: 19px; }
  .bds-filter-sheet__head small { display: block; margin-top: 3px; color: var(--bds-muted); font-size: 11px; }
  .bds-filter-sheet__head button { width: 40px; height: 40px; display: grid; place-items: center; padding: 0; border: 1px solid var(--bds-border); border-radius: 50%; background: #fff; color: var(--bds-ink); }
  .bds-filter-sheet__head button svg { width: 19px; height: 19px; }
  .bds-catalog-toolbar.is-open .bds-filter-sheet > .bds-catalog-toolbar__fields { grid-template-columns: 1fr 1fr; gap: 10px; }
  .bds-catalog-toolbar.is-open .bds-filter-sheet > .bds-catalog-toolbar__fields label:nth-child(n) { display: block; }
  .bds-catalog-toolbar.is-open .bds-catalog-toolbar__fields label > span { position: static; width: auto; height: auto; clip: auto; display: block; margin: 0 0 6px; color: var(--bds-muted); font-size: 11px; font-weight: 700; }
  .bds-catalog-toolbar.is-open select { background: #fff; }
  .bds-catalog-toolbar.is-open .bds-filter-quick-actions { display: block; margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--bds-border); }
  .bds-filter-quick-actions > strong { display: block; margin-bottom: 9px; color: var(--bds-muted); font-size: 12px; }
  .bds-filter-quick-actions > div { display: flex; flex-wrap: wrap; gap: 7px; }
  .bds-filter-chip { min-height: 34px; padding: 0 12px; border: 1px solid var(--bds-border); border-radius: 999px; background: var(--bds-surface-soft); color: var(--bds-ink); font-size: 11px; }
  .bds-filter-chip.is-active { border-color: var(--bds-primary); background: color-mix(in srgb, var(--bds-primary) 12%, #fff); color: var(--bds-primary-dark); }
  .bds-catalog-toolbar.is-open .bds-filter-sheet__actions { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 9px; margin-top: 20px; }
  .bds-filter-sheet__close { min-width: 82px; border: 1px solid var(--bds-border); border-radius: 12px; background: #fff; color: var(--bds-ink); font-weight: 700; }

  .woocommerce-cart .woocommerce-cart-form { padding: 10px; overflow-x: auto; }
  .woocommerce-cart .cart-collaterals .cart_totals { padding: 16px; }
  .bds-account-page .site-content > .ast-container,
  .bds-search-page .site-content > .ast-container,
  .bds-404-page .site-content > .ast-container { max-width: calc(100% - 16px); }
  .bds-wishlist-page { width: calc(100% - 16px); margin-top: 22px; }
}

@media (max-width: 420px) {
  .bds-catalog-toolbar { grid-template-columns: auto minmax(0, 1fr); gap: 7px; }
  .bds-filter-toggle { padding: 0 12px; }
  .bds-catalog-toolbar select { min-height: 42px; font-size: 11px; }
  .bds-catalog-toolbar.is-open .bds-filter-sheet > .bds-catalog-toolbar__fields { grid-template-columns: 1fr; }
  .bds-floating-cart { bottom: 150px; }
  .bds-track-order__form { grid-template-columns: 1fr; }
  .bds-track-order__form button { width: 100%; border-radius: 999px; }
  .bds-track-order__form button span { display: inline; }
}

@media (prefers-reduced-motion: reduce) {
  .bds-storefront *, .bds-cart-drawer *, .bds-quick-order * { scroll-behavior: auto !important; transition-duration: .001ms !important; animation-duration: .001ms !important; animation-iteration-count: 1 !important; }
}

/* =========================================================
   Mega Batch 6 — commerce visual convergence
   ========================================================= */

/* Archive/catalog density */
.post-type-archive-product .woocommerce ul.products,
.tax-product_cat .woocommerce ul.products,
.tax-product_tag .woocommerce ul.products,
.tax-product_brand .woocommerce ul.products,
.tax-pa_brand .woocommerce ul.products { --bds-grid-columns: 5 !important; gap: 12px; }

.bds-product-card {
  border-radius: calc(var(--bds-radius) - 3px);
  box-shadow: 0 3px 11px color-mix(in srgb, var(--bds-ink) 5%, transparent);
}
.bds-product-card:hover { transform: translateY(-1px); box-shadow: 0 8px 18px color-mix(in srgb, var(--bds-ink) 9%, transparent); }
.bds-product-card__media { padding: 8px; }
.bds-product-card__discount { top: 7px; right: 7px; min-width: 44px; padding: 6px 5px; border-radius: 7px; font-size: 10px; }
.bds-wishlist-button { width: 32px; height: 32px; right: 7px; bottom: 7px; }
.bds-wishlist-button svg { width: 17px; height: 17px; }
.bds-product-card__body { padding: 2px 9px 9px; }
.bds-product-card__brand { min-height: 14px; margin-bottom: 2px; font-size: 9px; }
.bds-product-card__title { min-height: 36px; font-size: 11px; line-height: 1.4; }
.bds-product-card__price { min-height: 23px; margin: 6px 0 7px; font-size: 15px; }
.bds-product-card__price del { font-size: 10px; }
.bds-product-card__actions { grid-template-columns: 34px minmax(0, 1fr); gap: 5px; }
.bds-product-card__cart,
.woocommerce ul.products li.product .bds-product-card__cart.button { min-width: 34px; min-height: 32px; border-radius: 6px; }
.bds-product-card__cart svg { width: 16px; height: 16px; }
.bds-product-card__buy { min-height: 32px; border-radius: 6px; font-size: 10px; }

/* Shop toolbar: compact pill + soft select fields like the mobile reference. */
.bds-catalog-toolbar { margin-bottom: 12px; }
.bds-filter-toggle { min-height: 42px; }
.bds-catalog-toolbar select { min-height: 42px; border-radius: 10px; background-color: color-mix(in srgb, var(--bds-primary) 4%, var(--bds-surface)); }

/* Predictive search tighter and more storefront-like. */
.bds-search-results { top: calc(100% + 6px); border-radius: calc(var(--bds-radius) - 2px); }
.bds-search-result { padding: 8px; }
.bds-search-results__all { text-align: center; }

/* Floating cart reference treatment. */
.bds-floating-cart {
  right: 0;
  width: 72px;
  border-radius: 18px 0 0 18px;
  border-color: color-mix(in srgb, var(--bds-accent) 70%, var(--bds-border));
  background: var(--bds-primary);
  color: var(--bds-surface);
  box-shadow: 0 8px 24px color-mix(in srgb, var(--bds-ink) 18%, transparent);
}
.bds-floating-cart__icon { background: transparent; color: inherit; }
.bds-floating-cart__count { background: var(--bds-surface); color: var(--bds-primary-dark); }
.bds-floating-cart__copy { border-top-color: color-mix(in srgb, var(--bds-surface) 18%, transparent); background: var(--bds-accent); color: var(--bds-primary-dark); }

/* Drawer geometry mirrors the reference panel. */
.bds-cart-drawer__panel { width: min(100%, 515px); }
.bds-cart-drawer__header { min-height: 96px; padding: 18px 24px; }
.bds-cart-drawer__icon { width: 48px; height: 48px; }
.bds-cart-drawer__title-wrap strong { font-size: 21px; }
.bds-cart-drawer__items { padding: 24px; background: color-mix(in srgb, var(--bds-surface-soft) 58%, var(--bds-surface)); }
.bds-cart-line { grid-template-columns: 88px minmax(0, 1fr); gap: 14px; padding: 14px; border-radius: 18px; }
.bds-cart-line__image { width: 88px; height: 88px; }
.bds-cart-line__title { font-size: 13px; }
.bds-cart-line__price { font-size: 17px; }
.bds-cart-drawer__footer { padding: 24px; }
.bds-cart-drawer__total strong { font-size: 28px; }
.bds-btn--checkout { min-height: 56px; border-radius: 16px; }

/* Quick order matches the two-column reference while keeping WooCommerce as engine. */
.bds-quick-order__dialog { width: min(1060px, 100%); border-radius: 18px; }
.bds-quick-order-form { grid-template-columns: minmax(330px, 40%) minmax(0, 60%); }
.bds-quick-order__product { min-height: 540px; padding: 30px; background: color-mix(in srgb, var(--bds-surface-soft) 72%, var(--bds-surface)); }
.bds-quick-order__product-image { width: 128px; height: 128px; margin-bottom: 16px; }
.bds-quick-order__product-copy h3 { font-size: 22px; }
.bds-quick-order__price { margin: 18px 0; font-size: 29px; }
.bds-quick-order__details { padding: 30px; }
.bds-field-grid { gap: 13px; }
.bds-field-grid input,
.bds-field-grid textarea { border-radius: 10px; }

.bds-quick-order__submit { border-radius: 10px; }

/* Single product: 3-column desktop top region, then full-width content. */
@media (min-width: 1080px) {
  .single-product div.product.type-product {
    display: grid;
    grid-template-columns: minmax(0, .92fr) minmax(0, 1.18fr);
    gap: 18px;
    align-items: start;
  }

  .single-product div.product.type-product:has(> .bds-product-related-sidebar) {
    grid-template-columns: minmax(0, .92fr) minmax(0, 1.18fr) minmax(255px, .62fr);
  }
  .single-product div.product.type-product > .woocommerce-product-gallery {
    grid-column: 1;
    grid-row: 1;
    width: auto !important;
    float: none !important;
    margin: 0 !important;
    padding: 12px;
    border: 1px solid var(--bds-border);
    border-radius: var(--bds-radius);
    background: var(--bds-surface);
  }
  .single-product div.product.type-product > .summary {
    grid-column: 2;
    grid-row: 1;
    width: auto !important;
    float: none !important;
    margin: 0 !important;
  }
  .single-product div.product.type-product > .bds-product-related-sidebar {
    grid-column: 3;
    grid-row: 1;
  }
  .single-product div.product.type-product > .bds-product-assurance,
  .single-product div.product.type-product > .woocommerce-tabs,
  .single-product div.product.type-product > .bds-same-brand,
  .single-product div.product.type-product > .upsells,
  .single-product div.product.type-product > section:not(.bds-product-related-sidebar) {
    grid-column: 1 / -1;
  }
}

.single-product div.product .summary { padding: 18px; }
.single-product div.product .summary .product_title { font-size: clamp(23px, 2.1vw, 34px); }
.single-product div.product .summary .price { font-size: 25px; }
.single-product div.product .summary .woocommerce-product-details__short-description { color: var(--bds-muted); font-size: 13px; line-height: 1.6; }
.single-product div.product form.cart { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.single-product div.product form.cart .quantity { margin: 0 !important; }
.single-product div.product form.cart .button { margin: 0 !important; min-height: 44px; }
.bds-single-quick-order { margin-left: 0 !important; }
.single-product div.product .product_meta { font-size: 11px; line-height: 1.7; }

.bds-product-related-sidebar { padding: 12px; border: 1px solid var(--bds-border); border-radius: var(--bds-radius); background: var(--bds-surface); box-shadow: 0 5px 18px color-mix(in srgb, var(--bds-ink) 5%, transparent); }
.bds-product-related-sidebar h2 { margin: 0 0 10px; padding-bottom: 9px; border-bottom: 1px solid var(--bds-border); color: var(--bds-primary-dark); font-size: 15px; }
.bds-product-related-sidebar__list { display: grid; gap: 9px; }
.bds-related-mini { display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: 9px; padding-bottom: 9px; border-bottom: 1px solid color-mix(in srgb, var(--bds-border) 70%, transparent); }
.bds-related-mini:last-child { padding-bottom: 0; border-bottom: 0; }
.bds-related-mini__image { width: 64px; height: 64px; overflow: hidden; border: 1px solid var(--bds-border); border-radius: 8px; background: var(--bds-surface); }
.bds-related-mini__image img { width: 100%; height: 100%; object-fit: contain; }
.bds-related-mini__copy { min-width: 0; }
.bds-related-mini__title { display: -webkit-box; overflow: hidden; color: var(--bds-ink); font-size: 10px; font-weight: 700; line-height: 1.35; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.bds-related-mini__price { margin: 4px 0; color: var(--bds-primary-dark); font-size: 11px; font-weight: 800; }
.bds-related-mini__price del { font-size: 8px; color: var(--bds-muted); }
.bds-related-mini__buy { min-height: 24px; display: inline-flex; align-items: center; justify-content: center; padding: 0 8px; border: 0; border-radius: 5px; background: var(--bds-primary); color: var(--bds-surface); font-size: 8px; font-weight: 800; cursor: pointer; }

.bds-product-assurance { margin: 20px 0; }
.bds-product-assurance__item { min-height: 74px; padding: 13px; }
.woocommerce div.product .woocommerce-tabs { margin-top: 16px; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { font-size: 12px; }
.bds-section-block { margin: 30px 0; }
.bds-same-brand .bds-product-grid { --bds-grid-columns: 5 !important; gap: 12px; }

/* Cart reference: bag on left, summary on right. */
.woocommerce-cart .woocommerce { margin-bottom: 42px; }
.woocommerce-cart .woocommerce-cart-form,
.woocommerce-cart .cart-collaterals .cart_totals { border-radius: calc(var(--bds-radius) + 2px); }
.woocommerce-cart table.shop_table th { font-size: 11px; color: var(--bds-muted); text-transform: uppercase; letter-spacing: .04em; }
.woocommerce-cart table.shop_table td { vertical-align: middle; }
.woocommerce-cart table.shop_table .product-name a { color: var(--bds-ink); font-weight: 750; }
.woocommerce-cart .cart-collaterals .cart_totals h2 { margin-bottom: 14px; font-size: 20px; }
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button { min-height: 52px; border-radius: 12px; }

/* Checkout shell */
.woocommerce-checkout #customer_details,
.woocommerce-checkout #order_review { border-radius: calc(var(--bds-radius) + 2px); }
.woocommerce-checkout #order_review { position: sticky; top: 165px; }
.woocommerce-checkout h3 { color: var(--bds-ink); }
.woocommerce-checkout #payment { border-radius: 12px; background: color-mix(in srgb, var(--bds-surface-soft) 75%, var(--bds-surface)); }

/* Track page: remove duplicated WP title and match the compact reference search card. */
.bds-track-order { width: min(calc(100% - 32px), 820px); margin: 34px auto 70px; }
.bds-track-order__card { padding: 26px 28px; border-radius: 20px; box-shadow: 0 11px 34px color-mix(in srgb, var(--bds-ink) 7%, transparent); }
.bds-track-order .bds-section-heading > span { display: none; }
.bds-track-order .bds-section-heading h1 { display: none; }
.bds-track-order .bds-section-heading p { width: 100%; margin: 0; text-align: center; font-size: 14px; }
.bds-track-order__form { grid-template-columns: 1fr 1fr 52px; margin-top: 18px; }
.bds-track-order__form input { min-height: 48px; }
.bds-track-order__form button { min-height: 48px; min-width: 48px; }

@media (max-width: 1180px) and (min-width: 922px) {
  .post-type-archive-product .woocommerce ul.products,
  .tax-product_cat .woocommerce ul.products,
  .tax-product_tag .woocommerce ul.products,
  .tax-product_brand .woocommerce ul.products,
  .tax-pa_brand .woocommerce ul.products { --bds-grid-columns: 4 !important; }
}

@media (max-width: 1079px) {
  .bds-product-related-sidebar { display: none; }
  .bds-same-brand .bds-product-grid { --bds-grid-columns: 4 !important; }
}

@media (max-width: 921px) {
  .post-type-archive-product .woocommerce ul.products,
  .tax-product_cat .woocommerce ul.products,
  .tax-product_tag .woocommerce ul.products,
  .tax-product_brand .woocommerce ul.products,
  .tax-pa_brand .woocommerce ul.products,
  .bds-same-brand .bds-product-grid { --bds-grid-columns: 2 !important; gap: 8px; }

  .bds-search-results { top: 103px; left: 8px; right: 8px; max-height: calc(100vh - 174px); }

  .bds-product-card__media { padding: 6px; }
  .bds-product-card__title { min-height: 35px; font-size: 10px; }
  .bds-product-card__price { font-size: 13px; }
  .bds-product-card__actions { grid-template-columns: 32px minmax(0,1fr); }
  .bds-product-card__cart,
  .woocommerce ul.products li.product .bds-product-card__cart.button,
  .bds-product-card__buy { min-height: 32px; }

  .bds-floating-cart { width: 58px; min-height: 78px; bottom: 142px; border-radius: 15px 0 0 15px; }
  .bds-floating-cart__icon { min-height: 43px; }
  .bds-floating-cart__copy { padding: 5px 2px; }

  .bds-cart-drawer__panel { width: min(100%, 100vw); }
  .bds-cart-drawer__header { min-height: 86px; padding: 16px 18px; }
  .bds-cart-drawer__items { padding: 16px; }
  .bds-cart-line { grid-template-columns: 76px minmax(0,1fr); gap: 11px; padding: 12px; }
  .bds-cart-line__image { width: 76px; height: 76px; }
  .bds-cart-drawer__footer { padding: 18px; }
  .bds-cart-drawer__total strong { font-size: 25px; }

  .bds-quick-order { padding: 0; align-items: end; }
  .bds-quick-order__dialog { width: 100%; max-height: 94vh; border-radius: 20px 20px 0 0; }
  .bds-quick-order-form { grid-template-columns: 1fr; }
  .bds-quick-order__product { min-height: auto; display: grid; grid-template-columns: 94px minmax(0,1fr); gap: 12px; padding: 18px; border-right: 0; border-bottom: 1px solid var(--bds-border); }
  .bds-quick-order__product-image { grid-row: 1 / span 2; width: 94px; height: 94px; margin: 0; }
  .bds-quick-order__product-copy h3 { font-size: 16px; }
  .bds-quick-order__price { margin: 8px 0 0; font-size: 21px; }
  .bds-quick-order__qty { grid-column: 2; margin-top: 0; }
  .bds-quick-order__details { padding: 18px; }
  .bds-field-grid { grid-template-columns: 1fr; gap: 10px; }
  .bds-field-grid__wide { grid-column: auto; }
  

  .single-product div.product .summary { padding: 15px; }
  .single-product div.product .summary .product_title { font-size: 21px; }
  .single-product div.product .summary .price { font-size: 21px; }
  .bds-product-assurance { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 8px; }
  .bds-product-assurance__item { min-height: 68px; padding: 10px; }

  .woocommerce-checkout form.checkout { display: block; }
  .woocommerce-checkout #customer_details,
  .woocommerce-checkout #order_review { padding: 15px; }
  .woocommerce-checkout #order_review { position: static; }
  .woocommerce-checkout #order_review_heading { margin-top: 20px; }

  .bds-track-order { width: min(calc(100% - 16px), 820px); margin-top: 22px; }
  .bds-track-order__card { padding: 20px 14px; }
  .bds-track-order .bds-section-heading p { font-size: 13px; line-height: 1.5; }
}

@media (max-width: 520px) {
  .bds-catalog-toolbar { grid-template-columns: auto 1fr; }
  .bds-filter-sheet > .bds-catalog-toolbar__fields { grid-template-columns: 1fr 1fr; }
  .bds-filter-sheet > .bds-catalog-toolbar__fields label:nth-child(n/**/+3) { display: none; }

  
  .bds-product-assurance { grid-template-columns: 1fr; }

  .bds-track-order__form { grid-template-columns: minmax(0,1fr) minmax(0,1fr) 46px; gap: 7px; }
  .bds-track-order__form input { min-height: 46px; padding-inline: 11px; font-size: 12px; }
  .bds-track-order__form button { min-width: 46px; min-height: 46px; border-radius: 50%; }
  .bds-track-order__form button span { display: none; }
}

@media (max-width: 360px) {
  .bds-track-order__form { grid-template-columns: 1fr; }
  .bds-track-order__form button { width: 100%; border-radius: 999px; }
  .bds-track-order__form button span { display: inline; }
}

/* Batch 7 functional hardening helpers */
.bds-hp-field {
  position: absolute !important;
  left: -10000px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}
.bds-quick-order-form :disabled { cursor: not-allowed; }
.bds-quick-order__message.is-success a { color: inherit; font-weight: 700; text-decoration: underline; }
.bds-runtime-notice {
  position: fixed; left: 50%; bottom: 88px; z-index: 100000; max-width: min(92vw, 460px);
  transform: translate(-50%, 16px); opacity: 0; pointer-events: none;
  padding: 11px 16px; border-radius: 999px; background: var(--bds-ink); color: #fff;
  box-shadow: 0 12px 34px rgba(15,23,42,.22); font-size: 13px; font-weight: 700;
  transition: opacity .18s ease, transform .18s ease;
}
.bds-runtime-notice.is-visible { opacity: 1; transform: translate(-50%, 0); }

/* =========================================================
   Mega Batch 10 — dynamic catalog controls + mobile product accordions
   ========================================================= */

/* Catalog density is now controlled from Appearance > Customize > BDS Storefront. */
.post-type-archive-product .woocommerce ul.products,
.tax-product_cat .woocommerce ul.products,
.tax-product_tag .woocommerce ul.products,
.tax-product_brand .woocommerce ul.products,
.tax-pa_brand .woocommerce ul.products {
  --bds-grid-columns: var(--bds-catalog-columns-desktop, 5) !important;
}

.bds-catalog-toolbar__fields {
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
}
.bds-filter-sheet__actions { align-items: center; }
.bds-filter-reset {
  min-height: 42px;
  padding: 0 14px;
  border: 1px solid var(--bds-border);
  border-radius: 10px;
  background: var(--bds-surface);
  color: var(--bds-muted);
  font: inherit;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
}
.bds-filter-reset:hover { border-color: var(--bds-primary); color: var(--bds-primary-dark); }
.bds-product-card__actions > :only-child { grid-column: 1 / -1; }

/* Desktop keeps native Woo tabs; accordion buttons are a mobile-only presentation layer. */
.bds-tab-accordion { display: none; }

@media (max-width: 921px) {
  .post-type-archive-product .woocommerce ul.products,
  .tax-product_cat .woocommerce ul.products,
  .tax-product_tag .woocommerce ul.products,
  .tax-product_brand .woocommerce ul.products,
  .tax-pa_brand .woocommerce ul.products {
    --bds-grid-columns: var(--bds-catalog-columns-mobile, 2) !important;
  }

  .bds-catalog-toolbar.is-open .bds-filter-sheet__actions {
    grid-template-columns: minmax(0, 1fr) auto auto;
  }

  .single-product .woocommerce-tabs > ul.tabs { display: none !important; }
  .single-product .woocommerce-tabs > .woocommerce-Tabs-panel,
  .single-product .woocommerce-tabs > .panel {
    display: none !important;
    margin: 0 !important;
    padding: 14px 14px 18px !important;
    border: 0 !important;
    border-bottom: 1px solid var(--bds-border) !important;
  }
  .single-product .woocommerce-tabs > .woocommerce-Tabs-panel.bds-tab-panel-open,
  .single-product .woocommerce-tabs > .panel.bds-tab-panel-open { display: block !important; }
  .single-product .woocommerce-tabs { overflow: hidden; border-radius: 14px; }
  .bds-tab-accordion {
    width: 100%;
    min-height: 48px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 0 14px;
    border: 0;
    border-bottom: 1px solid var(--bds-border);
    background: var(--bds-surface);
    color: var(--bds-ink);
    text-align: left;
    font: inherit;
    font-size: 12px;
    font-weight: 800;
    cursor: pointer;
  }
  .bds-tab-accordion > span:last-child { color: var(--bds-muted); font-size: 18px; transition: transform .18s ease; }
  .bds-tab-accordion.is-open > span:last-child { transform: rotate(45deg); color: var(--bds-primary-dark); }
}

@media (max-width: 520px) {
  .bds-catalog-toolbar.is-open .bds-filter-sheet__actions { grid-template-columns: 1fr 1fr; }
  .bds-catalog-toolbar.is-open .bds-filter-sheet__actions .bds-btn--primary { grid-column: 1 / -1; }
  .bds-filter-reset,
  .bds-filter-sheet__close { min-width: 0; width: 100%; }
}

@media (min-width: 922px) {
  .bds-catalog-toolbar .bds-filter-sheet__actions {
    display: flex;
    align-items: end;
    justify-content: flex-end;
    margin-left: auto;
  }
  .bds-catalog-toolbar .bds-filter-sheet__actions .bds-btn--primary,
  .bds-catalog-toolbar .bds-filter-sheet__actions .bds-filter-sheet__close { display: none; }
  .bds-catalog-toolbar .bds-filter-reset { min-height: 42px; white-space: nowrap; }
}

/* Mega Batch 11: shipping-choice clarity for City Attire's two-zone rates */



/* =========================================================
   BDS Commerce Core 0.12 — pixel-polish commerce layer
   ========================================================= */

/* Global WooCommerce surfaces */
.woocommerce-page .site-content,
.single-product .site-content { background: color-mix(in srgb, var(--bds-surface-soft) 38%, #fff); }
.woocommerce-page .site-content > .ast-container,
.single-product .site-content > .ast-container { width: min(calc(100% - 32px), var(--bds-container)); max-width: var(--bds-container); }

/* Product cards: strict, reusable geometry. */
.woocommerce ul.products li.product.bds-product-card,
ul.products li.product.bds-product-card,
.bds-product-card {
  min-width: 0;
  height: 100%;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--bds-primary) 10%, var(--bds-border));
  border-radius: 15px;
  background: #fff;
  box-shadow: 0 5px 17px color-mix(in srgb, var(--bds-ink) 5%, transparent);
}
.bds-product-card__media { flex: 0 0 auto; aspect-ratio: 4 / 5; padding: 9px; background: linear-gradient(180deg, #fff, color-mix(in srgb, var(--bds-surface-soft) 45%, #fff)); }
.bds-product-card__image img { object-fit: contain; object-position: center; }
.bds-product-card__discount { top: 8px; right: 8px; min-width: 48px; padding: 7px 6px; border-radius: 9px; background: var(--bds-primary); font-size: 10px; box-shadow: 0 4px 10px rgba(6,28,53,.12); }
.bds-wishlist-button { right: 9px; bottom: 9px; width: 34px; height: 34px; border: 1px solid var(--bds-border); background: rgba(255,255,255,.96); color: var(--bds-primary-dark); box-shadow: 0 4px 12px rgba(6,28,53,.08); }
.bds-wishlist-button.is-active { background: var(--bds-primary); color: #fff; border-color: var(--bds-primary); }
.bds-product-card__body { flex: 1 1 auto; display: flex; flex-direction: column; padding: 10px 11px 11px; }
.bds-product-card__brand { min-height: 14px; margin: 0 0 4px; font-size: 9px; color: var(--bds-muted); }
.bds-product-card__title { min-height: 39px; color: var(--bds-ink); font-size: 12px; font-weight: 750; line-height: 1.45; }
.bds-product-card__price { min-height: 27px; margin: 9px 0 10px; color: var(--bds-primary-dark); font-size: 17px; font-weight: 850; }
.bds-product-card__price del { margin-right: 5px; margin-left: 0; font-size: 11px; }
.bds-product-card__actions { margin-top: auto; grid-template-columns: 40px minmax(0,1fr); gap: 7px; }
.bds-product-card__cart,
.woocommerce ul.products li.product .bds-product-card__cart.button,
.bds-product-card__buy { min-height: 40px; border-radius: 9px; }
.bds-product-card__cart,
.woocommerce ul.products li.product .bds-product-card__cart.button { min-width: 40px; background: color-mix(in srgb, var(--bds-accent) 90%, #fff); color: var(--bds-primary-dark); }
.bds-product-card__buy { border-color: var(--bds-primary); background: var(--bds-primary); color: #fff; font-size: 11px; font-weight: 800; }
.bds-product-card__buy:hover { background: var(--bds-primary-dark); border-color: var(--bds-primary-dark); }

/* Archive/category visual identity: removes legacy bright-color hero treatment. */
.post-type-archive-product .woocommerce-products-header,
.tax-product_cat .woocommerce-products-header,
.tax-product_tag .woocommerce-products-header,
.tax-product_brand .woocommerce-products-header,
.tax-pa_brand .woocommerce-products-header {
  position: relative;
  margin: 0 0 28px;
  padding: clamp(34px, 5vw, 64px) clamp(20px, 4vw, 52px);
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--bds-primary) 18%, var(--bds-border));
  border-radius: 0 0 24px 24px;
  background: linear-gradient(125deg, var(--bds-primary-dark), var(--bds-primary));
  color: #fff;
  text-align: center;
}
.post-type-archive-product .woocommerce-products-header::after,
.tax-product_cat .woocommerce-products-header::after,
.tax-product_tag .woocommerce-products-header::after,
.tax-product_brand .woocommerce-products-header::after,
.tax-pa_brand .woocommerce-products-header::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 20px;
  width: 54px;
  height: 2px;
  transform: translateX(-50%);
  background: var(--bds-accent);
}
.woocommerce-products-header .woocommerce-products-header__title,
.woocommerce-products-header .page-title { margin: 0; color: #fff !important; font-size: clamp(30px, 4vw, 54px); letter-spacing: -.035em; text-transform: none; }
.woocommerce-products-header .term-description { max-width: 720px; margin: 10px auto 0; color: rgba(255,255,255,.76); }
.woocommerce-products-header .term-description p:last-child { margin-bottom: 0; }

/* Catalog toolbar: premium aligned fields and compact product count/sort. */
.bds-catalog-toolbar { margin: 0 0 20px; padding: 12px; border: 1px solid var(--bds-border); border-radius: 16px; background: #fff; box-shadow: 0 7px 22px color-mix(in srgb, var(--bds-ink) 4%, transparent); }
.bds-catalog-toolbar__fields { grid-template-columns: repeat(7, minmax(120px,1fr)); gap: 9px; }
.bds-catalog-toolbar select { min-height: 44px; padding-inline: 13px 34px; border-radius: 10px; background-color: var(--bds-surface-soft); font-size: 12px; }
.bds-catalog-toolbar select:focus { border-color: var(--bds-primary); box-shadow: 0 0 0 3px color-mix(in srgb, var(--bds-primary) 8%, transparent); }
.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering { margin-bottom: 18px; color: var(--bds-muted); font-size: 12px; }
.woocommerce .woocommerce-ordering select { min-height: 40px; border: 1px solid var(--bds-border); border-radius: 10px; background: #fff; }

/* Single product: premium card layout without changing Woo data/logic. */
.single-product .site-main { padding-top: 36px; }
.single-product div.product.type-product > .woocommerce-product-gallery,
.single-product div.product.type-product > .summary {
  border: 1px solid var(--bds-border);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 8px 26px color-mix(in srgb, var(--bds-ink) 5%, transparent);
}
.single-product div.product.type-product > .woocommerce-product-gallery { padding: 14px; }
.single-product div.product.type-product > .summary { padding: 24px; }
.single-product .product_title { margin-bottom: 12px; color: var(--bds-primary-dark); font-size: clamp(25px, 2.5vw, 36px); line-height: 1.16; letter-spacing: -.03em; }
.single-product div.product p.price,
.single-product div.product span.price { color: var(--bds-primary-dark); font-size: 26px; font-weight: 850; }
.single-product div.product form.cart { padding-top: 14px; border-top: 1px solid var(--bds-border); }
.single-product div.product form.cart .variations select { min-height: 44px; border: 1px solid var(--bds-border); border-radius: 10px; }
.single-product div.product form.cart .button { min-height: 48px; border-radius: 10px; }
.single-product div.product form.cart .single_add_to_cart_button { background: var(--bds-accent) !important; color: var(--bds-primary-dark) !important; }
.single-product div.product form.cart .single_add_to_cart_button:hover { background: color-mix(in srgb, var(--bds-accent) 82%, var(--bds-primary)) !important; }
.single-product .product_meta { padding-top: 12px; border-top: 1px solid var(--bds-border); color: var(--bds-muted); font-size: 11px; line-height: 1.7; }
.single-product .bds-product-assurance { gap: 12px; }
.single-product .bds-product-assurance > * { border-radius: 14px; box-shadow: none; }
.single-product div.product .woocommerce-tabs { border-radius: 18px; box-shadow: 0 7px 22px color-mix(in srgb, var(--bds-ink) 4%, transparent); }

/* Cart drawer: tighter, cleaner hierarchy. */
.bds-cart-drawer__panel { width: min(100%, 480px); }
.bds-cart-drawer__header { min-height: 88px; padding: 16px 20px; }
.bds-cart-drawer__icon { width: 44px; height: 44px; border-radius: 13px; }
.bds-cart-drawer__title-wrap strong { font-size: 20px; }
.bds-cart-drawer__close { width: 42px; height: 42px; }
.bds-cart-drawer__items { padding: 18px; }
.bds-cart-line { grid-template-columns: 82px minmax(0,1fr); gap: 13px; padding: 13px; border-radius: 16px; box-shadow: 0 6px 16px color-mix(in srgb, var(--bds-ink) 4%, transparent); }
.bds-cart-line__image { width: 82px; height: 82px; }
.bds-cart-line__remove { padding: 4px 8px; border: 1px solid var(--bds-border); border-radius: 999px; text-decoration: none; font-size: 10px; }
.bds-cart-drawer__footer { padding: 20px; }
.bds-cart-drawer__total { margin-bottom: 14px; }
.bds-cart-drawer__total strong { font-size: 25px; }
.bds-btn--checkout { min-height: 52px; border-radius: 12px; }
.bds-cart-drawer__continue { margin: 13px 0 9px; }

/* Floating cart is useful on desktop but must not dominate content. */
.bds-floating-cart { width: 60px; border-radius: 15px 0 0 15px; box-shadow: 0 8px 20px rgba(6,28,53,.14); }
.bds-floating-cart__icon { min-height: 48px; }
.bds-floating-cart__icon > svg { width: 21px; height: 21px; }
.bds-floating-cart__copy { padding: 5px 3px 7px; }
.bds-floating-cart__copy strong { font-size: 8px; }
.bds-floating-cart__copy small { font-size: 9px; }

/* Account/login: centered premium authentication card instead of a page-wide form. */
body.bds-account-page:not(.logged-in) .site-content > .ast-container { width: min(calc(100% - 32px), 760px); }
body.bds-account-page:not(.logged-in) .woocommerce { width: 100%; max-width: 620px; margin: 54px auto 78px !important; }
body.bds-account-page:not(.logged-in) .woocommerce > h2 { margin: 0 0 18px; color: var(--bds-primary-dark); text-align: center; font-size: 30px; }
body.bds-account-page:not(.logged-in) .u-columns { display: block; }
body.bds-account-page:not(.logged-in) .u-column1,
body.bds-account-page:not(.logged-in) .u-column2 { width: 100% !important; float: none !important; }
body.bds-account-page:not(.logged-in) form.login,
body.bds-account-page:not(.logged-in) form.register { width: 100%; margin: 0 !important; padding: 30px !important; border-radius: 20px !important; box-shadow: 0 18px 55px color-mix(in srgb, var(--bds-ink) 8%, transparent); }
body.bds-account-page:not(.logged-in) form.login .form-row,
body.bds-account-page:not(.logged-in) form.register .form-row { margin-bottom: 16px; }
body.bds-account-page:not(.logged-in) form.login input.input-text,
body.bds-account-page:not(.logged-in) form.register input.input-text { min-height: 50px; }
body.bds-account-page:not(.logged-in) form.login button,
body.bds-account-page:not(.logged-in) form.register button { min-height: 46px; padding-inline: 24px; border-radius: 10px; background: var(--bds-primary) !important; color: #fff !important; }

/* Checkout: explicit 65/35 composition, fixing Woo/theme float/width conflicts. */
.woocommerce-checkout .site-content > .ast-container { width: min(calc(100% - 32px), 1240px); max-width: 1240px; }
.woocommerce-checkout .site-main > article > .entry-content > .woocommerce,
.woocommerce-checkout .site-main .entry-content > .woocommerce { max-width: 1180px; margin: 0 auto 76px; }
.woocommerce-checkout form.checkout.woocommerce-checkout {
  width: 100%;
  display: grid !important;
  grid-template-columns: minmax(0, 1.55fr) minmax(360px, .82fr) !important;
  grid-template-rows: auto auto;
  gap: 0 28px;
  align-items: start;
}
.woocommerce-checkout #customer_details {
  grid-column: 1 !important;
  grid-row: 1 / span 2 !important;
  width: 100% !important;
  float: none !important;
  margin: 0 !important;
  padding: 26px !important;
  border-radius: 18px;
}
.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2 { width: 100% !important; float: none !important; }
.woocommerce-checkout #customer_details .col-2 { margin-top: 24px; }
.woocommerce-checkout #order_review_heading {
  grid-column: 2 !important;
  grid-row: 1 !important;
  width: 100% !important;
  float: none !important;
  margin: 0 !important;
  padding: 18px 20px 12px;
  border: 1px solid var(--bds-border);
  border-bottom: 0;
  border-radius: 18px 18px 0 0;
  background: #fff;
  color: var(--bds-primary-dark);
  font-size: 21px;
}
.woocommerce-checkout #order_review {
  grid-column: 2 !important;
  grid-row: 2 !important;
  width: 100% !important;
  min-width: 0 !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 20px 20px !important;
  border-radius: 0 0 18px 18px;
  position: sticky;
  top: 150px;
}
.woocommerce-checkout-review-order-table { width: 100% !important; table-layout: auto; border-collapse: separate; border-spacing: 0; }
.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td { padding: 12px 6px !important; border-color: var(--bds-border) !important; font-size: 12px; }
.woocommerce-checkout .woocommerce-shipping-methods li { margin: 8px 0 !important; padding: 11px 12px; border: 1px solid var(--bds-border); border-radius: 10px; background: var(--bds-surface-soft); }
.woocommerce-checkout #payment { margin-top: 14px; border: 1px solid var(--bds-border); border-radius: 12px; background: var(--bds-surface-soft); }
.woocommerce-checkout #payment div.payment_box { background: #fff; color: var(--bds-muted); }
.woocommerce-checkout #place_order { width: 100%; min-height: 54px; margin-top: 12px; border-radius: 11px; background: var(--bds-primary) !important; }
.woocommerce-checkout .form-row label { color: var(--bds-ink); font-size: 12px; font-weight: 700; }
.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row textarea,
.woocommerce-checkout .select2-container .select2-selection { min-height: 48px; background: #fff; }
.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__rendered { line-height: 46px; }
.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__arrow { height: 46px; }

/* Cart page keeps balanced two-column geometry. */
@media (min-width: 922px) {
  .woocommerce-cart .site-main > article > .entry-content > .woocommerce,
  .woocommerce-cart .site-main .entry-content > .woocommerce { grid-template-columns: minmax(0, 1.6fr) minmax(340px, .75fr); gap: 28px; }
  .woocommerce-cart .cart-collaterals .cart_totals { top: 148px; border-radius: 18px; }
}

@media (max-width: 1100px) and (min-width: 922px) {
  .bds-catalog-toolbar__fields { grid-template-columns: repeat(4, minmax(130px,1fr)); }
  .woocommerce-checkout form.checkout.woocommerce-checkout { grid-template-columns: minmax(0,1.35fr) minmax(330px,.8fr) !important; gap: 0 20px; }
}

@media (max-width: 921px) {
  .woocommerce-page .site-content > .ast-container,
  .single-product .site-content > .ast-container { width: min(calc(100% - 18px), var(--bds-container)); }

  /* Archive header */
  .post-type-archive-product .woocommerce-products-header,
  .tax-product_cat .woocommerce-products-header,
  .tax-product_tag .woocommerce-products-header,
  .tax-product_brand .woocommerce-products-header,
  .tax-pa_brand .woocommerce-products-header { margin-inline: -9px; margin-bottom: 18px; padding: 28px 16px 38px; border-radius: 0; }
  .woocommerce-products-header .woocommerce-products-header__title,
  .woocommerce-products-header .page-title { font-size: 31px; }

  /* Product cards stay genuinely two-column and never overflow. */
  .woocommerce ul.products,
  .bds-product-grid { grid-template-columns: repeat(2, minmax(0,1fr)) !important; gap: 10px !important; }
  .bds-product-card__media { padding: 7px; }
  .bds-product-card__body { padding: 8px; }
  .bds-product-card__title { min-height: 35px; font-size: 10.5px; }
  .bds-product-card__price { min-height: 24px; margin: 7px 0 8px; font-size: 14px; }
  .bds-product-card__price del { font-size: 9px; }
  .bds-product-card__actions { grid-template-columns: 36px minmax(0,1fr); gap: 5px; }
  .bds-product-card__cart,
  .woocommerce ul.products li.product .bds-product-card__cart.button,
  .bds-product-card__buy { min-height: 36px; border-radius: 8px; }
  .bds-product-card__cart,
  .woocommerce ul.products li.product .bds-product-card__cart.button { min-width: 36px; }
  .bds-product-card__buy { font-size: 9.5px; }

  /* Filter trigger + sort on the surface, everything else in premium sheet. */
  .bds-catalog-toolbar { display: flex; align-items: center; gap: 8px; padding: 0; border: 0; background: transparent; box-shadow: none; }
  .bds-filter-toggle { min-height: 42px; display: inline-flex; border-radius: 12px; background: var(--bds-primary); color: #fff; }
  .bds-catalog-toolbar > .bds-filter-sheet { width: auto; }
  .bds-catalog-toolbar:not(.is-open) .bds-filter-sheet > .bds-catalog-toolbar__fields { display: none; }
  .bds-catalog-toolbar.is-open .bds-filter-sheet { left: 8px; right: 8px; width: auto; max-height: 88vh; border-radius: 22px 22px 0 0; }
  .bds-catalog-toolbar.is-open .bds-filter-sheet > .bds-catalog-toolbar__fields { grid-template-columns: 1fr 1fr; }

  /* Single product */
  .single-product .site-main { padding-top: 18px; }
  .single-product div.product.type-product > .woocommerce-product-gallery,
  .single-product div.product.type-product > .summary { border-radius: 16px; }
  .single-product div.product.type-product > .summary { padding: 18px; }
  .single-product .product_title { font-size: 24px; }

  /* Cart drawer + floating shortcut */
  .bds-floating-cart { display: none !important; }
  .bds-cart-drawer__panel { width: min(94vw, 440px); }
  .bds-cart-drawer__header { min-height: 80px; padding: 14px 16px; }
  .bds-cart-drawer__items { padding: 12px; }
  .bds-cart-drawer__footer { padding: 15px; padding-bottom: calc(78px + env(safe-area-inset-bottom)); }

  /* Account */
  body.bds-account-page:not(.logged-in) .site-content > .ast-container { width: calc(100% - 18px); }
  body.bds-account-page:not(.logged-in) .woocommerce { margin: 30px auto 50px !important; }
  body.bds-account-page:not(.logged-in) form.login,
  body.bds-account-page:not(.logged-in) form.register { padding: 20px !important; border-radius: 16px !important; }

  /* Checkout becomes a clean single column. */
  .woocommerce-checkout .site-content > .ast-container { width: calc(100% - 18px); }
  .woocommerce-checkout .site-main > article > .entry-content > .woocommerce,
  .woocommerce-checkout .site-main .entry-content > .woocommerce { margin-bottom: 42px; }
  .woocommerce-checkout form.checkout.woocommerce-checkout { display: block !important; }
  .woocommerce-checkout #customer_details,
  .woocommerce-checkout #order_review_heading,
  .woocommerce-checkout #order_review { width: 100% !important; float: none !important; }
  .woocommerce-checkout #customer_details { padding: 18px !important; margin-bottom: 18px !important; }
  .woocommerce-checkout #order_review_heading { padding: 17px 18px 10px; }
  .woocommerce-checkout #order_review { position: static; padding: 0 18px 18px !important; }
}

@media (max-width: 430px) {
  .bds-product-card__discount { min-width: 42px; padding: 6px 4px; font-size: 9px; }
  .bds-wishlist-button { width: 30px; height: 30px; }
  .bds-catalog-toolbar.is-open .bds-filter-sheet > .bds-catalog-toolbar__fields { grid-template-columns: 1fr; }
  .woocommerce-checkout #customer_details { padding: 15px !important; }
}

/* =========================================================
   Mega Batch 12.1 — premium commerce controls + visible close icons
   ========================================================= */

/* Premium card action pair: compact gold cart + navy Buy Now. */
.bds-product-card__actions {
  grid-template-columns: 44px minmax(0, 1fr) !important;
  gap: 8px !important;
  align-items: stretch;
}
.bds-product-card__cart,
.woocommerce ul.products li.product .bds-product-card__cart.button {
  width: 44px !important;
  min-width: 44px !important;
  min-height: 42px !important;
  padding: 0 !important;
  border: 1px solid color-mix(in srgb, var(--bds-accent) 76%, var(--bds-border)) !important;
  border-radius: 11px !important;
  background: var(--bds-accent) !important;
  color: var(--bds-primary-dark) !important;
  box-shadow: 0 5px 14px color-mix(in srgb, var(--bds-accent) 20%, transparent) !important;
  text-decoration: none !important;
}
.bds-product-card__cart:hover,
.woocommerce ul.products li.product .bds-product-card__cart.button:hover {
  transform: translateY(-1px);
  background: color-mix(in srgb, var(--bds-accent) 88%, #fff) !important;
  color: var(--bds-primary-dark) !important;
}
.bds-product-card__cart svg { width: 18px !important; height: 18px !important; fill: none !important; stroke: currentColor !important; stroke-width: 1.9 !important; }
.bds-product-card__buy {
  min-height: 42px !important;
  border: 1px solid var(--bds-primary) !important;
  border-radius: 11px !important;
  background: linear-gradient(180deg, color-mix(in srgb, var(--bds-primary) 94%, #fff), var(--bds-primary-dark)) !important;
  color: #fff !important;
  box-shadow: 0 6px 16px color-mix(in srgb, var(--bds-primary-dark) 17%, transparent) !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: .01em;
  text-decoration: none !important;
}
.bds-product-card__buy:hover,
.bds-product-card__buy:focus-visible { transform: translateY(-1px); color: #fff !important; text-decoration: none !important; }

/* Single product purchase row: coherent 50px controls, premium gold/navy hierarchy. */
.single-product div.product form.cart { gap: 9px !important; }
.single-product div.product form.cart .quantity { border-radius: 12px; overflow: hidden; }
.single-product div.product form.cart .quantity input { min-height: 50px !important; }
.single-product div.product form.cart .button,
.single-product div.product form.cart .single_add_to_cart_button,
.single-product .bds-single-quick-order {
  min-height: 50px !important;
  border-radius: 12px !important;
  padding-inline: 20px !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  letter-spacing: .01em !important;
  text-transform: none !important;
  text-decoration: none !important;
}
.single-product div.product form.cart .single_add_to_cart_button {
  border: 1px solid var(--bds-accent) !important;
  background: linear-gradient(180deg, color-mix(in srgb, var(--bds-accent) 86%, #fff), var(--bds-accent)) !important;
  color: var(--bds-primary-dark) !important;
  box-shadow: 0 7px 18px color-mix(in srgb, var(--bds-accent) 20%, transparent) !important;
}
.single-product div.product form.cart .single_add_to_cart_button:hover:not(.disabled):not(:disabled) {
  transform: translateY(-1px);
  background: var(--bds-accent) !important;
}
.single-product div.product form.cart .single_add_to_cart_button.disabled,
.single-product div.product form.cart .single_add_to_cart_button:disabled {
  opacity: .48 !important;
  box-shadow: none !important;
  cursor: not-allowed !important;
}
.single-product .bds-single-quick-order {
  border: 1px solid var(--bds-primary) !important;
  background: linear-gradient(180deg, color-mix(in srgb, var(--bds-primary) 94%, #fff), var(--bds-primary-dark)) !important;
  color: #fff !important;
  box-shadow: 0 7px 18px color-mix(in srgb, var(--bds-primary-dark) 18%, transparent) !important;
}
.single-product .bds-single-quick-order:hover { transform: translateY(-1px); color: #fff !important; }

/* Close controls: CSS-drawn X is immune to global SVG fill/stroke resets. */
.bds-cart-drawer__close,
.bds-quick-order__close,
.bds-filter-sheet__head [data-bds-filter-close] {
  position: relative !important;
  color: var(--bds-primary-dark) !important;
}
.bds-cart-drawer__close svg,
.bds-quick-order__close svg,
.bds-filter-sheet__head [data-bds-filter-close] svg { display: none !important; }
.bds-cart-drawer__close::before,
.bds-cart-drawer__close::after,
.bds-quick-order__close::before,
.bds-quick-order__close::after,
.bds-filter-sheet__head [data-bds-filter-close]::before,
.bds-filter-sheet__head [data-bds-filter-close]::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 16px;
  height: 2px;
  border-radius: 999px;
  background: currentColor;
  transform-origin: center;
}
.bds-cart-drawer__close::before,
.bds-quick-order__close::before,
.bds-filter-sheet__head [data-bds-filter-close]::before { transform: translate(-50%, -50%) rotate(45deg); }
.bds-cart-drawer__close::after,
.bds-quick-order__close::after,
.bds-filter-sheet__head [data-bds-filter-close]::after { transform: translate(-50%, -50%) rotate(-45deg); }

@media (max-width: 560px) {
  .bds-product-card__actions { grid-template-columns: 42px minmax(0, 1fr) !important; gap: 7px !important; }
  .bds-product-card__cart,
  .woocommerce ul.products li.product .bds-product-card__cart.button { width: 42px !important; min-width: 42px !important; min-height: 42px !important; }
  .bds-product-card__buy { min-height: 42px !important; font-size: 10.5px !important; }
  .single-product div.product form.cart .button,
  .single-product div.product form.cart .single_add_to_cart_button,
  .single-product .bds-single-quick-order { min-height: 50px !important; padding-inline: 16px !important; }
}

/* === BDS 0.12.2 canonical product card refinement ===
   Scoped to the BDS product-card DOM. This intentionally replaces the
   generic/manual style.css card hotfix and mirrors the compact Glowmeko
   card proportions while retaining City Attire's navy + gold system.
*/
.woocommerce ul.products li.product.bds-product-card,
ul.products li.product.bds-product-card,
.bds-product-card {
  position: relative;
  display: flex !important;
  flex-direction: column;
  align-self: start;
  height: auto !important;
  min-height: 0 !important;
  overflow: hidden;
  border: 1px solid var(--bds-border, #e8ddc9);
  border-radius: 12px !important;
  background: var(--bds-surface, #fff);
  box-shadow: 0 3px 12px rgba(11, 31, 58, .07);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
@media (hover:hover) and (pointer:fine) {
  .woocommerce ul.products li.product.bds-product-card:hover,
  ul.products li.product.bds-product-card:hover,
  .bds-product-card:hover {
    transform: translateY(-2px);
    border-color: color-mix(in srgb, var(--bds-accent, #cf942c) 42%, var(--bds-border, #e8ddc9));
    box-shadow: 0 10px 25px rgba(11, 31, 58, .11);
  }
}

.bds-product-card__media {
  position: relative;
  width: 100%;
  aspect-ratio: 1 / 1 !important;
  padding: 0 !important;
  overflow: hidden;
  background: #fff;
}
.bds-product-card__image {
  display: block;
  width: 100%;
  height: 100%;
  overflow: hidden;
  border-radius: 0;
  background: #f7f7f6;
}
.bds-product-card__image img,
.woocommerce ul.products li.product.bds-product-card img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  object-fit: contain !important;
  object-position: center;
}

.bds-product-card__discount {
  position: absolute;
  top: 8px !important;
  right: 8px !important;
  z-index: 3;
  min-width: 0 !important;
  padding: 7px 8px !important;
  border-radius: 0 8px 0 8px !important;
  background: var(--bds-primary, #0b2d52) !important;
  color: #fff !important;
  font-size: 11px !important;
  line-height: 1.1 !important;
  font-weight: 800 !important;
  letter-spacing: .01em;
  box-shadow: none !important;
}

.bds-product-card__body {
  display: block !important;
  flex: none !important;
  padding: 10px 10px 11px !important;
}
.bds-product-card__brand {
  min-height: 0 !important;
  margin: 0 0 4px !important;
  color: var(--bds-muted, #687386) !important;
  font-size: 10px !important;
  line-height: 1.2 !important;
  font-weight: 600;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.bds-product-card__title,
.woocommerce ul.products li.product .bds-product-card__title {
  display: -webkit-box !important;
  min-height: 38px !important;
  margin: 0 !important;
  overflow: hidden;
  color: var(--bds-ink, #0b1f3a) !important;
  font-size: 15px !important;
  line-height: 1.28 !important;
  font-weight: 700 !important;
  letter-spacing: -.012em;
  text-decoration: none !important;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}
.bds-product-card__title:hover {
  color: var(--bds-primary, #0b2d52) !important;
  text-decoration: none !important;
}

/* Product card dynamic saving badge */
.bds-product-card__save {
  width: max-content;
  max-width: 100%;
  min-height: 25px;
  display: inline-flex;
  align-items: center;
  margin: 7px 0 0;
  padding: 5px 9px;
  border-radius: 4px;
  background: #2fa866;
  color: #fff !important;
  font-size: 13px;
  line-height: 1;
  font-weight: 800;
  white-space: nowrap;
}

.bds-product-card__save .amount,
.bds-product-card__save .woocommerce-Price-currencySymbol {
  color: inherit !important;
  font-size: inherit !important;
  font-weight: inherit !important;
}

@media (max-width: 767px) {
  .bds-product-card__save {
    min-height: 24px;
    margin-top: 6px;
    padding: 5px 8px;
    font-size: 12px;
  }
}

.bds-product-card__meta {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 30px;
  align-items: end;
  gap: 8px;
  min-height: 38px;
  margin: 7px 0 9px;
}
.bds-product-card__price,
.woocommerce ul.products li.product .bds-product-card__price {
  min-height: 0 !important;
  margin: 0 !important;
  color: var(--bds-primary, #0b2d52) !important;
  font-size: 20px !important;
  line-height: 1.08 !important;
  font-weight: 800 !important;
  letter-spacing: -.018em;
}
.bds-product-card__price del {
  display: inline-block;
  margin: 0 6px 0 0 !important;
  color: #8c96a7 !important;
  font-size: 12px !important;
  line-height: 1 !important;
  font-weight: 500 !important;
  opacity: .9 !important;
  vertical-align: baseline;
}
.bds-product-card__price ins {
  color: var(--bds-primary, #0b2d52) !important;
  font-size: inherit !important;
  line-height: inherit !important;
  font-weight: inherit !important;
  text-decoration: none !important;
}
.bds-product-card__price .woocommerce-Price-amount {
  font-size: inherit !important;
  font-weight: inherit !important;
}

.bds-product-card__meta .bds-wishlist-button {
  position: static !important;
  width: 30px !important;
  height: 30px !important;
  min-width: 30px;
  display: inline-grid !important;
  place-items: center;
  justify-self: end;
  align-self: end;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--bds-ink, #0b1f3a) !important;
  box-shadow: none !important;
  cursor: pointer;
}
.bds-product-card__meta .bds-wishlist-button:hover,
.bds-product-card__meta .bds-wishlist-button.is-active {
  color: var(--bds-accent, #cf942c) !important;
  background: transparent !important;
}
.bds-product-card__meta .bds-wishlist-button svg {
  width: 22px !important;
  height: 22px !important;
  display: block !important;
  overflow: visible;
  opacity: 1 !important;
  visibility: visible !important;
  fill: transparent !important;
  stroke: currentColor !important;
  stroke-width: 1.8 !important;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.bds-product-card__meta .bds-wishlist-button.is-active svg {
  fill: currentColor !important;
}

.bds-product-card__actions {
  display: grid !important;
  grid-template-columns: 42px minmax(0, 1fr) !important;
  align-items: stretch;
  gap: 6px !important;
  margin: 0 !important;
}
.bds-product-card__cart,
.woocommerce ul.products li.product .bds-product-card__cart.button,
.bds-product-card__buy {
  height: 42px !important;
  min-height: 42px !important;
  margin: 0 !important;
  border-radius: 6px !important;
  box-shadow: none !important;
  transform: none !important;
  text-decoration: none !important;
  transition: background-color .16s ease, color .16s ease, border-color .16s ease;
}
.bds-product-card__cart,
.woocommerce ul.products li.product .bds-product-card__cart.button {
  width: 42px !important;
  min-width: 42px !important;
  padding: 0 !important;
  border: 1px solid var(--bds-accent, #cf942c) !important;
  background: var(--bds-accent, #cf942c) !important;
  color: #fff !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
}
.bds-product-card__cart span {
  display: none !important;
}
.bds-product-card__cart svg {
  width: 18px !important;
  height: 18px !important;
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 1.9 !important;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.bds-product-card__buy,
.woocommerce ul.products li.product .bds-product-card__buy {
  min-width: 0;
  padding: 0 12px !important;
  border: 1px solid var(--bds-primary, #0b2d52) !important;
  background: var(--bds-primary, #0b2d52) !important;
  color: #fff !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  font-size: 13px !important;
  line-height: 1 !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  white-space: nowrap;
}
@media (hover:hover) and (pointer:fine) {
  .bds-product-card__cart:hover,
  .woocommerce ul.products li.product .bds-product-card__cart.button:hover {
    border-color: var(--bds-primary, #0b2d52) !important;
    background: var(--bds-primary, #0b2d52) !important;
    color: #fff !important;
  }
  .bds-product-card__buy:hover,
  .woocommerce ul.products li.product .bds-product-card__buy:hover {
    border-color: var(--bds-primary-dark, #061c35) !important;
    background: var(--bds-primary-dark, #061c35) !important;
    color: #fff !important;
  }
}

/* Keep card dimensions sane in single-item grids and rails. */
.bds-product-grid > .bds-product-card,
.bds-product-rail .bds-product-card,
.woocommerce ul.products > li.product.bds-product-card {
  max-width: 100%;
}

@media (max-width: 767px) {
  .bds-product-card__media {
    aspect-ratio: 1 / 1 !important;
    padding: 0 !important;
  }
  .bds-product-card__body {
    padding: 9px 9px 10px !important;
  }
  .bds-product-card__title,
  .woocommerce ul.products li.product .bds-product-card__title {
    min-height: 34px !important;
    font-size: 13px !important;
    line-height: 1.3 !important;
  }
  .bds-product-card__meta {
    grid-template-columns: minmax(0, 1fr) 26px;
    gap: 5px;
    min-height: 34px;
    margin: 6px 0 8px;
  }
  .bds-product-card__price,
  .woocommerce ul.products li.product .bds-product-card__price {
    font-size: 18px !important;
  }
  .bds-product-card__price del {
    display: block;
    width: fit-content;
    margin: 0 0 3px !important;
    font-size: 11px !important;
  }
  .bds-product-card__meta .bds-wishlist-button {
    width: 26px !important;
    height: 26px !important;
    min-width: 26px;
  }
  .bds-product-card__meta .bds-wishlist-button svg {
    width: 20px !important;
    height: 20px !important;
  }
  .bds-product-card__actions {
    grid-template-columns: 38px minmax(0, 1fr) !important;
    gap: 5px !important;
  }
  .bds-product-card__cart,
  .woocommerce ul.products li.product .bds-product-card__cart.button,
  .bds-product-card__buy {
    height: 38px !important;
    min-height: 38px !important;
    border-radius: 6px !important;
  }
  .bds-product-card__cart,
  .woocommerce ul.products li.product .bds-product-card__cart.button {
    width: 38px !important;
    min-width: 38px !important;
  }
  .bds-product-card__cart svg {
    width: 17px !important;
    height: 17px !important;
  }
  .bds-product-card__buy,
  .woocommerce ul.products li.product .bds-product-card__buy {
    padding-inline: 8px !important;
    font-size: 12px !important;
  }
}

@media (max-width: 390px) {
  .bds-product-card__title,
  .woocommerce ul.products li.product .bds-product-card__title {
    font-size: 12.5px !important;
  }
  .bds-product-card__price,
  .woocommerce ul.products li.product .bds-product-card__price {
    font-size: 17px !important;
  }
  .bds-product-card__actions {
    grid-template-columns: 36px minmax(0, 1fr) !important;
  }
  .bds-product-card__cart,
  .woocommerce ul.products li.product .bds-product-card__cart.button,
  .bds-product-card__buy {
    height: 36px !important;
    min-height: 36px !important;
  }
  .bds-product-card__cart,
  .woocommerce ul.products li.product .bds-product-card__cart.button {
    width: 36px !important;
    min-width: 36px !important;
  }
}


/* === BDS 0.12.3 product-card scale match ===
   The 0.12.2 DOM/hierarchy was correct; the remaining mismatch was scale.
   Glowmeko-like desktop density = five cards across, compact surface,
   while City Attire keeps its navy/gold design tokens.
*/
@media (min-width: 1201px) {
  .bds-product-rail .bds-product-grid {
    grid-template-columns: repeat(var(--bds-home-columns-desktop, 5), minmax(0, 1fr)) !important;
  }
}

@media (min-width: 922px) {
  .bds-product-card__media {
    aspect-ratio: 1 / 1.10 !important;
  }

  .bds-product-card__body {
    padding: 9px 10px 10px !important;
  }

  .bds-product-card__title,
  .woocommerce ul.products li.product .bds-product-card__title {
    min-height: 38px !important;
    font-size: 14px !important;
    line-height: 1.34 !important;
  }

  .bds-product-card__meta {
    min-height: 34px !important;
    margin: 6px 0 8px !important;
  }

  .bds-product-card__price,
  .woocommerce ul.products li.product .bds-product-card__price {
    font-size: 18px !important;
  }

  .bds-product-card__price del {
    font-size: 11px !important;
  }

  .bds-product-card__meta .bds-wishlist-button {
    width: 28px !important;
    height: 28px !important;
    min-width: 28px !important;
  }

  .bds-product-card__meta .bds-wishlist-button svg {
    width: 21px !important;
    height: 21px !important;
  }

  .bds-product-card__actions {
    grid-template-columns: 40px minmax(0, 1fr) !important;
    gap: 6px !important;
  }

  .bds-product-card__cart,
  .woocommerce ul.products li.product .bds-product-card__cart.button,
  .bds-product-card__buy {
    height: 40px !important;
    min-height: 40px !important;
  }

  .bds-product-card__cart,
  .woocommerce ul.products li.product .bds-product-card__cart.button {
    width: 40px !important;
    min-width: 40px !important;
  }

  .bds-product-card__buy,
  .woocommerce ul.products li.product .bds-product-card__buy {
    font-size: 12px !important;
  }
}

/* Do not stretch a single card beyond its grid column. */
.bds-product-rail .bds-product-card,
.bds-product-grid .bds-product-card {
  justify-self: stretch;
  width: 100% !important;
}

/* Reference-like card edge treatment: low-radius framed card. */
.woocommerce ul.products li.product.bds-product-card,
ul.products li.product.bds-product-card,
.bds-product-card {
  border: 1px solid #e1e4e8 !important;
  border-radius: 4px !important;
  box-shadow: none !important;
}

@media (max-width: 1200px) and (min-width: 922px) {
  .bds-product-rail .bds-product-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 921px) {
  .bds-product-rail .bds-product-grid {
    grid-template-columns: repeat(var(--bds-home-columns-mobile, 2), minmax(0, 1fr)) !important;
  }
}


/* =========================================================
   BDS 0.12.4 — commerce interaction detail polish
   ========================================================= */

/* ---------- Single product quantity + purchase actions ---------- */
.single-product div.product form.cart .quantity.bds-single-qty {
  grid-column: 1 / -1 !important;
  width: 154px !important;
  height: 46px !important;
  display: grid !important;
  grid-template-columns: 44px 66px 44px !important;
  align-items: stretch !important;
  gap: 0 !important;
  margin: 0 0 11px !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 1px solid color-mix(in srgb, var(--bds-primary) 14%, var(--bds-border)) !important;
  border-radius: 12px !important;
  background: #fff !important;
  box-shadow: 0 4px 14px rgba(7, 30, 56, .045) !important;
}

.single-product div.product form.cart .quantity.bds-single-qty .bds-single-qty__button,
.single-product div.product form.cart .quantity.bds-single-qty input.qty {
  width: 100% !important;
  min-width: 0 !important;
  height: 44px !important;
  min-height: 44px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #fff !important;
  color: var(--bds-primary-dark) !important;
  box-shadow: none !important;
  text-align: center !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  line-height: 44px !important;
  appearance: textfield !important;
}

.single-product div.product form.cart .quantity.bds-single-qty input.qty::-webkit-outer-spin-button,
.single-product div.product form.cart .quantity.bds-single-qty input.qty::-webkit-inner-spin-button {
  -webkit-appearance: none !important;
  margin: 0 !important;
}

.single-product div.product form.cart .quantity.bds-single-qty .bds-single-qty__button {
  display: grid !important;
  place-items: center !important;
  cursor: pointer !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  transition: background .16s ease, color .16s ease !important;
}

.single-product div.product form.cart .quantity.bds-single-qty .bds-single-qty__button:first-child {
  border-right: 1px solid var(--bds-border) !important;
}

.single-product div.product form.cart .quantity.bds-single-qty .bds-single-qty__button:last-child {
  border-left: 1px solid var(--bds-border) !important;
}

.single-product div.product form.cart .quantity.bds-single-qty .bds-single-qty__button:hover:not(:disabled) {
  background: var(--bds-surface-soft) !important;
  color: var(--bds-primary) !important;
}

.single-product div.product form.cart .quantity.bds-single-qty .bds-single-qty__button:disabled {
  cursor: not-allowed !important;
  opacity: .34 !important;
}

/* Variable products: quantity sits on its own row, CTAs align below. */
.single-product div.product form.variations_form .woocommerce-variation-add-to-cart {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  gap: 0 10px !important;
  align-items: stretch !important;
  width: 100% !important;
}

/* Simple products use the same visual pattern. */
.single-product div.product form.cart:not(.variations_form):not(.grouped_form) {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  gap: 0 10px !important;
  align-items: stretch !important;
}

.single-product div.product form.cart .single_add_to_cart_button,
.single-product div.product form.cart .bds-single-quick-order {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 48px !important;
  height: 48px !important;
  margin: 0 !important;
  padding: 0 16px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 11px !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  letter-spacing: .01em !important;
  text-transform: none !important;
  box-shadow: none !important;
}

.single-product div.product form.cart .single_add_to_cart_button {
  grid-column: 1 !important;
  background: linear-gradient(180deg, color-mix(in srgb, var(--bds-accent) 76%, #fff), var(--bds-accent)) !important;
  border: 1px solid color-mix(in srgb, var(--bds-accent) 76%, #9b6d12) !important;
  color: var(--bds-primary-dark) !important;
}

.single-product div.product form.cart .bds-single-quick-order {
  grid-column: 2 !important;
  background: var(--bds-primary-dark) !important;
  border: 1px solid var(--bds-primary-dark) !important;
  color: #fff !important;
}

.single-product div.product form.cart .single_add_to_cart_button:hover,
.single-product div.product form.cart .bds-single-quick-order:hover {
  transform: translateY(-1px) !important;
  box-shadow: 0 8px 18px rgba(7, 30, 56, .10) !important;
}

/* ---------- Quick order / one-page order modal ---------- */
.bds-quick-order {
  padding: 18px !important;
}

.bds-quick-order__dialog {
  width: min(1020px, calc(100vw - 36px)) !important;
  max-height: min(90vh, 780px) !important;
  overflow: auto !important;
  border-radius: 14px !important;
  box-shadow: 0 30px 90px rgba(5, 19, 36, .30) !important;
}

/* 12.1 made close controls relative globally; quick-order must remain
   absolutely anchored inside the dialog. */
.bds-quick-order__close {
  position: absolute !important;
  top: 12px !important;
  right: 12px !important;
  left: auto !important;
  bottom: auto !important;
  z-index: 30 !important;
  width: 36px !important;
  height: 36px !important;
  margin: 0 !important;
  border-radius: 10px !important;
  background: rgba(255,255,255,.96) !important;
  box-shadow: 0 4px 14px rgba(6,28,53,.08) !important;
}

/* Compact order-product pane: product + quantity stay together. */
.bds-quick-order-form {
  grid-template-columns: minmax(310px, 38%) minmax(0, 62%) !important;
}

.bds-quick-order__product {
  min-height: 100% !important;
  display: grid !important;
  grid-template-columns: 112px minmax(0, 1fr) !important;
  grid-template-areas:
    "image copy"
    "image qty" !important;
  align-content: start !important;
  align-items: start !important;
  gap: 10px 18px !important;
  padding: 30px 26px !important;
  border-right: 1px solid var(--bds-border) !important;
  background: color-mix(in srgb, var(--bds-surface-soft) 68%, #fff) !important;
}

.bds-quick-order__product-image {
  grid-area: image !important;
  width: 112px !important;
  height: 132px !important;
  margin: 0 !important;
  border-radius: 12px !important;
}

.bds-quick-order__product-copy {
  grid-area: copy !important;
  min-width: 0 !important;
}

.bds-quick-order__product-copy h3 {
  margin: 0 0 6px !important;
  font-size: 20px !important;
  line-height: 1.3 !important;
}

.bds-quick-order__price {
  margin: 14px 0 0 !important;
  font-size: 27px !important;
}

.bds-quick-order__qty {
  grid-area: qty !important;
  align-self: start !important;
  margin: 2px 0 0 !important;
  width: 128px !important;
  grid-template-columns: 38px 52px 38px !important;
}

.bds-quick-order__qty button,
.bds-quick-order__qty input {
  height: 40px !important;
}

/* Delivery details: reduce dead space without reducing readability. */
.bds-quick-order__details {
  padding: 28px 28px 24px !important;
}

.bds-quick-order__details > h3 {
  margin: 0 0 15px !important;
}

.bds-field-grid {
  gap: 11px 12px !important;
}

.bds-field-grid label > span {
  margin-bottom: 5px !important;
}

.bds-field-grid input {
  min-height: 46px !important;
}

.bds-field-grid input,
.bds-field-grid textarea {
  padding: 10px 12px !important;
  border-radius: 9px !important;
}




















.bds-quick-order__summary {
  margin-top: 14px !important;
  padding: 10px 0 !important;
}

.bds-quick-order__summary > div {
  padding: 4px 0 !important;
}

.bds-quick-order__summary-total {
  padding-top: 9px !important;
}

.bds-quick-order__summary-total strong {
  font-size: 21px !important;
}

.bds-quick-order__submit {
  min-height: 50px !important;
  margin-top: 13px !important;
  border-radius: 10px !important;
}

/* Small/mobile: same hierarchy, no stacked CTAs, quantity remains above. */
@media (max-width: 921px) {
  .bds-quick-order {
    padding: 8px !important;
    align-items: end !important;
  }

  .bds-quick-order__dialog {
    width: 100% !important;
    max-height: 94vh !important;
    border-radius: 14px 14px 0 0 !important;
  }

  .bds-quick-order__close {
    top: 9px !important;
    right: 9px !important;
    width: 34px !important;
    height: 34px !important;
  }

  .bds-quick-order-form {
    grid-template-columns: 1fr !important;
  }

  .bds-quick-order__product {
    grid-template-columns: 86px minmax(0, 1fr) !important;
    grid-template-areas:
      "image copy"
      "image qty" !important;
    gap: 8px 12px !important;
    padding: 16px !important;
    border-right: 0 !important;
    border-bottom: 1px solid var(--bds-border) !important;
  }

  .bds-quick-order__product-image {
    width: 86px !important;
    height: 102px !important;
  }

  .bds-quick-order__product-copy h3 {
    padding-right: 30px !important;
    font-size: 16px !important;
  }

  .bds-quick-order__price {
    margin-top: 6px !important;
    font-size: 21px !important;
  }

  .bds-quick-order__qty {
    width: 120px !important;
    grid-template-columns: 36px 48px 36px !important;
  }

  .bds-quick-order__qty button,
  .bds-quick-order__qty input {
    height: 38px !important;
  }

  .bds-quick-order__details {
    padding: 16px !important;
  }

  .bds-field-grid {
    grid-template-columns: 1fr !important;
    gap: 9px !important;
  }

  

  
}

@media (max-width: 560px) {
  .single-product div.product form.variations_form .woocommerce-variation-add-to-cart,
  .single-product div.product form.cart:not(.variations_form):not(.grouped_form) {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: 0 8px !important;
  }

  .single-product div.product form.cart .quantity.bds-single-qty {
    width: 146px !important;
    height: 44px !important;
    grid-template-columns: 42px 62px 42px !important;
    margin-bottom: 10px !important;
  }

  .single-product div.product form.cart .quantity.bds-single-qty .bds-single-qty__button,
  .single-product div.product form.cart .quantity.bds-single-qty input.qty {
    height: 42px !important;
    min-height: 42px !important;
    line-height: 42px !important;
  }

  .single-product div.product form.cart .single_add_to_cart_button,
  .single-product div.product form.cart .bds-single-quick-order {
    min-height: 46px !important;
    height: 46px !important;
    padding: 0 10px !important;
    border-radius: 10px !important;
    font-size: 12px !important;
  }
}


/* =========================================================
   BDS 0.12.5 — unified checkout + semantic theme cleanup
   ========================================================= */

/* ----- Retire inherited green UI from Woo/Astra.
   Success states now derive from editable BDS brand tokens. ----- */
.woocommerce-message {
  border-top-color: var(--bds-accent) !important;
}
.woocommerce-message::before,
.woocommerce-info::before {
  color: var(--bds-accent) !important;
}
.woocommerce-message .button,
.woocommerce-message a.button,
.woocommerce a.button.wc-forward,
.woocommerce .woocommerce-message .button.wc-forward {
  background: var(--bds-primary) !important;
  border-color: var(--bds-primary) !important;
  color: #fff !important;
  border-radius: 10px !important;
  box-shadow: none !important;
}
.woocommerce-message .button:hover,
.woocommerce-message a.button:hover,
.woocommerce a.button.wc-forward:hover {
  background: var(--bds-primary-dark) !important;
  border-color: var(--bds-primary-dark) !important;
  color: #fff !important;
}
.woocommerce div.product p.stock.in-stock,
.woocommerce .stock.in-stock,
.bds-quick-order__stock {
  color: var(--bds-primary-dark) !important;
}
.bds-quick-order__stock {
  background: color-mix(in srgb, var(--bds-accent) 10%, #fff) !important;
  border: 1px solid color-mix(in srgb, var(--bds-accent) 26%, var(--bds-border)) !important;
}
.bds-quick-order__message.is-success {
  background: color-mix(in srgb, var(--bds-accent) 9%, #fff) !important;
  color: var(--bds-primary-dark) !important;
}
.woocommerce-checkout .woocommerce-validated input.input-text,
.woocommerce-checkout .woocommerce-validated textarea,
.woocommerce-checkout .woocommerce-validated .select2-selection {
  border-color: var(--bds-border) !important;
}
.woocommerce input[type="radio"],
.woocommerce input[type="checkbox"] {
  accent-color: var(--bds-primary) !important;
}

/* ----- Standard checkout fields match Quick Order ----- */
.woocommerce-checkout .woocommerce-billing-fields > h3 {
  margin: 0 0 16px !important;
  color: var(--bds-ink) !important;
  font-size: 20px !important;
  line-height: 1.2 !important;
}
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper {
  display: grid !important;
  grid-template-columns: minmax(0,1fr) minmax(0,1fr) !important;
  gap: 12px !important;
}
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row {
  width: 100% !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row-wide,
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .bds-checkout-field--address,
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .bds-checkout-field--note {
  grid-column: 1 / -1 !important;
}
.woocommerce-checkout .bds-checkout-input,
.woocommerce-checkout .woocommerce-billing-fields input.input-text,
.woocommerce-checkout .woocommerce-billing-fields textarea {
  width: 100% !important;
  min-height: 46px !important;
  padding: 11px 13px !important;
  border: 1px solid var(--bds-border) !important;
  border-radius: 9px !important;
  background: #fff !important;
  color: var(--bds-ink) !important;
  box-shadow: none !important;
}
.woocommerce-checkout .bds-checkout-field--address textarea {
  min-height: 92px !important;
  resize: vertical !important;
}
.woocommerce-checkout .bds-checkout-field--note textarea {
  min-height: 74px !important;
  resize: vertical !important;
}
.woocommerce-checkout .woocommerce-billing-fields label {
  margin-bottom: 5px !important;
  color: var(--bds-ink) !important;
  font-size: 12.5px !important;
  font-weight: 700 !important;
}
.woocommerce-checkout #ship-to-different-address,
.woocommerce-checkout .shipping_address,
.woocommerce-checkout .woocommerce-additional-fields {
  display: none !important;
}












/* Regular checkout review uses the same compact shipping list width. */




/* ----- Quantity changer beside each regular-checkout line item ----- */
.woocommerce-checkout .bds-checkout-qty {
  display: inline-grid !important;
  grid-template-columns: 28px 30px 28px !important;
  align-items: center !important;
  vertical-align: middle !important;
  margin: 7px 0 0 8px !important;
  overflow: hidden !important;
  border: 1px solid var(--bds-border) !important;
  border-radius: 9px !important;
  background: #fff !important;
}
.woocommerce-checkout .bds-checkout-qty button,
.woocommerce-checkout .bds-checkout-qty strong {
  width: 100% !important;
  height: 30px !important;
  min-height: 30px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #fff !important;
  color: var(--bds-primary-dark) !important;
  display: grid !important;
  place-items: center !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
}
.woocommerce-checkout .bds-checkout-qty button:first-child {
  border-right: 1px solid var(--bds-border) !important;
}
.woocommerce-checkout .bds-checkout-qty button:last-child {
  border-left: 1px solid var(--bds-border) !important;
}
.woocommerce-checkout .bds-checkout-qty button:disabled {
  opacity: .35 !important;
  cursor: not-allowed !important;
}
.woocommerce-checkout .bds-checkout-qty[data-busy="1"] {
  opacity: .6 !important;
}

/* Keep the review table premium and readable with the embedded quantity stepper. */
.woocommerce-checkout-review-order-table td.product-name {
  color: var(--bds-ink) !important;
  line-height: 1.45 !important;
}
.woocommerce-checkout-review-order-table .product-total {
  white-space: nowrap !important;
}

/* Mobile: same four-field checkout as Quick Order. */
@media (max-width: 767px) {
  .woocommerce-checkout .woocommerce-billing-fields__field-wrapper {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }
  .woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row,
  .woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row-wide {
    grid-column: 1 !important;
  }
  
  
  .woocommerce-checkout .bds-checkout-qty {
    display: grid !important;
    width: 86px !important;
    margin: 8px 0 0 !important;
  }
}


/* =========================================================
   BDS 0.12.6 — Shipping UI Convergence
   Scope intentionally limited to delivery/shipping selectors.
   Quick Checkout + Woo Checkout now share one premium component.
   ========================================================= */

:root {
  --bds-shipping-radius: 12px;
  --bds-shipping-row-h: 54px;
}

/* ---------- Shared section rhythm ---------- */




/* Standard checkout's shipping table row becomes a real full-width section.
   This removes the cramped right-hand cell seen in the screenshot. */













/* Native radio only — exactly one visual radio per option. */


/* Quick Checkout text/price line. */


/* Hard reset of legacy descendant span rules inside the new Quick Checkout row. */








/* Woo Checkout's native label gets the exact same content geometry. */




/* Selected state shared by both flows. */


/* Ensure no previous pseudo-radio or nested price box survives. */




/* Mobile enterprise density: spacious enough to tap, compact enough to scan. */
@media (max-width: 767px) {
  :root {
    --bds-shipping-row-h: 52px;
    --bds-shipping-radius: 11px;
  }

  

  

  

  

  

  
}


/* =========================================================
   BDS 0.12.6.1 — Regular Checkout Mobile Shipping Hotfix
   Quick Checkout is intentionally untouched.
   Fixes: native table-cell width constraint + radio/text overlap.
   ========================================================= */



















/* Keep native radio functional, but paint one deterministic radio via label. */
































/* Radio is a real flex item now — not absolutely painted over label text. */


/* No second absolutely positioned dot. */


/* Selected dot is painted inside the in-flow circle. */


/* Keep the price pinned to the far right while the name stays beside the radio. */


/* =========================================================
   BDS 0.12.7.0 — Canonical Shipping Choice Component
   One component, one DOM contract, one visual system.
   Used by Quick Checkout AND Regular WooCommerce Checkout.
   ========================================================= */

:root {
  --bds-shipping-option-height: 52px;
  --bds-shipping-option-radius: 12px;
  --bds-shipping-option-gap: 12px;
  --bds-shipping-radio-size: 18px;
}

/* Section wrappers -------------------------------------------------- */
.bds-quick-order__shipping,
.bds-checkout-shipping-block {
  width: 100%;
  max-width: none;
  min-width: 0;
  box-sizing: border-box;
}

.bds-quick-order__shipping {
  margin-top: 15px;
}

.bds-quick-order__shipping > strong,
.bds-checkout-shipping-block__title {
  display: block;
  margin: 0 0 9px;
  padding: 0;
  color: var(--bds-ink);
  font-size: 13px;
  font-weight: 800;
  line-height: 1.3;
  letter-spacing: .01em;
}

.bds-quick-order__shipping-grid,
.bds-checkout-shipping-block__options,
.bds-checkout-shipping-block__options #shipping_method {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 8px;
  width: 100%;
  max-width: none;
  min-width: 0;
  margin: 0;
  padding: 0;
  list-style: none;
  box-sizing: border-box;
}

/* Regular checkout structural row --------------------------------- */
.woocommerce-checkout-review-order-table tr.bds-checkout-shipping-unified {
  display: table-row;
}

.woocommerce-checkout-review-order-table tr.bds-checkout-shipping-unified > td {
  width: 100%;
  max-width: none;
  padding: 14px 0;
  border-top: 1px solid var(--bds-border);
  border-bottom: 1px solid var(--bds-border);
  box-sizing: border-box;
  text-align: left;
}

.woocommerce-checkout-review-order-table tr.bds-checkout-shipping-unified > td::before {
  content: none !important;
  display: none !important;
}

/* Canonical option shell ------------------------------------------ */
.bds-shipping-choice {
  position: relative;
  display: grid;
  grid-template-columns: var(--bds-shipping-radio-size) minmax(0, 1fr);
  align-items: center;
  column-gap: var(--bds-shipping-option-gap);
  width: 100%;
  max-width: none;
  min-width: 0;
  min-height: var(--bds-shipping-option-height);
  margin: 0;
  padding: 10px 13px;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--bds-primary) 14%, var(--bds-border));
  border-radius: var(--bds-shipping-option-radius);
  background: #fff;
  box-shadow: 0 2px 8px rgba(7, 30, 56, .025);
  box-sizing: border-box;
  cursor: pointer;
  transition:
    border-color .16s ease,
    background-color .16s ease,
    box-shadow .16s ease;
}

.bds-shipping-choice:hover {
  border-color: color-mix(in srgb, var(--bds-primary) 34%, var(--bds-border));
  box-shadow: 0 5px 15px rgba(7, 30, 56, .05);
}

/*
 * One real radio for both flows.
 * No pseudo-radio and no absolute overlay: the radio occupies column 1,
 * the content occupies column 2. The gap is therefore structural.
 */
.bds-shipping-choice > input[type="radio"] {
  position: static;
  inset: auto;
  grid-column: 1;
  align-self: center;
  display: block;
  width: var(--bds-shipping-radio-size);
  height: var(--bds-shipping-radio-size);
  min-width: var(--bds-shipping-radio-size);
  margin: 0;
  padding: 0;
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  appearance: none;
  -webkit-appearance: none;
  border: 1.5px solid color-mix(in srgb, var(--bds-ink) 48%, transparent);
  border-radius: 50%;
  background: #fff;
  box-shadow: none;
  transform: none;
  box-sizing: border-box;
  cursor: pointer;
}

.bds-shipping-choice > input[type="radio"]:checked {
  border-color: var(--bds-primary);
  background:
    radial-gradient(
      circle at center,
      var(--bds-primary) 0 4px,
      #fff 4.5px 100%
    );
}

.bds-shipping-choice > input[type="radio"]:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--bds-primary) 32%, transparent);
  outline-offset: 3px;
}

/* Canonical content line for both <span> (Quick) and <label> (Regular). */
.bds-shipping-choice > .bds-shipping-choice__content {
  grid-column: 2;
  min-width: 0;
  min-height: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: var(--bds-ink);
  font-size: 13px;
  font-weight: 750;
  line-height: 1.3;
  text-align: left;
  box-sizing: border-box;
  cursor: pointer;
}

.bds-shipping-choice > .bds-shipping-choice__content::before,
.bds-shipping-choice > .bds-shipping-choice__content::after {
  content: none !important;
  display: none !important;
}

.bds-shipping-choice > .bds-shipping-choice__content b,
.bds-shipping-choice > .bds-shipping-choice__content em,
.bds-shipping-choice > .bds-shipping-choice__content .amount,
.bds-shipping-choice > .bds-shipping-choice__content .woocommerce-Price-amount {
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.bds-shipping-choice > .bds-shipping-choice__content b {
  min-width: 0;
  overflow-wrap: anywhere;
  color: var(--bds-ink);
  font-size: 13px;
  font-weight: 750;
  line-height: 1.3;
}

.bds-shipping-choice > .bds-shipping-choice__content em,
.bds-shipping-choice > .bds-shipping-choice__content .amount,
.bds-shipping-choice > .bds-shipping-choice__content .woocommerce-Price-amount {
  flex: 0 0 auto;
  margin-left: auto;
  color: var(--bds-primary-dark);
  font-size: 13px;
  font-style: normal;
  font-weight: 900;
  line-height: 1.2;
  white-space: nowrap;
}

/* Selection state is shared by both flows. */
.bds-shipping-choice.is-selected,
.bds-shipping-choice:has(> input[type="radio"]:checked) {
  border-color: var(--bds-primary);
  background: color-mix(in srgb, var(--bds-primary) 4%, #fff);
  box-shadow:
    0 0 0 1px color-mix(in srgb, var(--bds-primary) 10%, transparent),
    0 6px 16px rgba(7, 30, 56, .04);
}

@media (max-width: 767px) {
  :root {
    --bds-shipping-option-height: 52px;
    --bds-shipping-option-gap: 12px;
    --bds-shipping-radio-size: 18px;
  }

  .woocommerce-checkout-review-order-table tr.bds-checkout-shipping-unified > td {
    padding: 13px 0;
  }

  .bds-quick-order__shipping > strong,
  .bds-checkout-shipping-block__title {
    margin-bottom: 8px;
    font-size: 12.5px;
  }

  .bds-shipping-choice {
    padding: 10px 13px;
  }

  .bds-shipping-choice > .bds-shipping-choice__content,
  .bds-shipping-choice > .bds-shipping-choice__content b,
  .bds-shipping-choice > .bds-shipping-choice__content em,
  .bds-shipping-choice > .bds-shipping-choice__content .amount,
  .bds-shipping-choice > .bds-shipping-choice__content .woocommerce-Price-amount {
    font-size: 12.5px;
  }
}


/* =========================================================
   BDS 0.12.8.0 — Regular Checkout Shipping Alignment Lock
   Screenshot-proven hardening against Woo/theme inherited styles.
   Canonical 12.7.0 DOM stays intact.
   ========================================================= */

.woocommerce-checkout-review-order-table
tr.bds-checkout-shipping-unified > td {
  text-align: left !important;
}

.bds-checkout-shipping-block {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  text-align: left !important;
}

.bds-checkout-shipping-block__title {
  width: 100% !important;
  margin: 0 0 9px !important;
  padding: 0 !important;
  text-align: left !important;
  float: none !important;
  clear: both !important;
}

.bds-checkout-shipping-block__options,
.bds-checkout-shipping-block__options #shipping_method {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  text-align: left !important;
}

/* Lock the option row itself against WooCommerce list/input geometry. */
.bds-checkout-shipping-block__options
#shipping_method > li.bds-shipping-choice {
  position: relative !important;
  display: grid !important;
  grid-template-columns: 18px minmax(0, 1fr) !important;
  align-items: center !important;
  column-gap: 12px !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  min-height: 52px !important;
  margin: 0 !important;
  padding: 10px 13px !important;
  float: none !important;
  clear: both !important;
  text-align: left !important;
  list-style: none !important;
  box-sizing: border-box !important;
}

/* Real radio stays in its own grid column. */
.bds-checkout-shipping-block__options
#shipping_method > li.bds-shipping-choice
> input.shipping_method[type="radio"] {
  position: static !important;
  inset: auto !important;
  grid-column: 1 !important;
  justify-self: start !important;
  align-self: center !important;
  display: block !important;
  float: none !important;
  clear: none !important;
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  margin: 0 !important;
  padding: 0 !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  vertical-align: middle !important;
  box-sizing: border-box !important;
}

/* Label/content is a clean second grid column. */
.bds-checkout-shipping-block__options
#shipping_method > li.bds-shipping-choice
> label.bds-shipping-choice__content {
  position: static !important;
  inset: auto !important;
  grid-column: 2 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 10px !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  clear: none !important;
  text-align: left !important;
  line-height: 1.3 !important;
  box-sizing: border-box !important;
}

/* Price is always visually separated and pushed to the far edge. */
.bds-checkout-shipping-block__options
#shipping_method > li.bds-shipping-choice
> label.bds-shipping-choice__content
.amount,
.bds-checkout-shipping-block__options
#shipping_method > li.bds-shipping-choice
> label.bds-shipping-choice__content
.woocommerce-Price-amount {
  margin-left: auto !important;
  padding-left: 14px !important;
  float: none !important;
  white-space: nowrap !important;
}

/* Neutralize generic checkout label/radio pseudo decoration on this component. */
.bds-checkout-shipping-block__options
#shipping_method > li.bds-shipping-choice
> label.bds-shipping-choice__content::before,
.bds-checkout-shipping-block__options
#shipping_method > li.bds-shipping-choice
> label.bds-shipping-choice__content::after {
  content: none !important;
  display: none !important;
}

/* The bottom nav must not visually cover the last checkout controls. */
@media (max-width: 767px) {
  .bds-checkout-shipping-block__options
  #shipping_method > li.bds-shipping-choice {
    grid-template-columns: 18px minmax(0, 1fr) !important;
    column-gap: 12px !important;
    padding: 10px 13px !important;
  }

  .bds-checkout-shipping-block__options
  #shipping_method > li.bds-shipping-choice
  > label.bds-shipping-choice__content {
    gap: 8px !important;
  }
}


/* =========================================================
   BDS 0.12.8.0 — Astra Shipping Text-Indent Root-Cause Fix
   Evidence:
   Astra dynamically applies text-indent:-22px to ul#shipping_method li.
   Browser computed styles confirmed that value inherited into the BDS label,
   while the real grid gap was already 12px.
   ========================================================= */
.woocommerce-checkout #shipping_method > li.bds-shipping-choice,
.woocommerce-checkout #shipping_method > li.bds-shipping-choice
> label.bds-shipping-choice__content {
  text-indent: 0 !important;
}


/* =========================================================
   BDS 0.12.8.0 — Theme Palette Convergence
   Astra's stale copied green palette is retired at source by the
   PHP bridge. These selectors only lock classic Woo cart controls
   to live BDS design tokens, including disabled states.
   ========================================================= */
.woocommerce-cart .woocommerce-cart-form button[name="update_cart"],
.woocommerce-cart .woocommerce-cart-form button[name="update_cart"]:disabled,
.woocommerce-cart .woocommerce-cart-form button[name="update_cart"][disabled],
.woocommerce-cart .woocommerce-cart-form .coupon button,
.woocommerce-cart .woocommerce-cart-form .coupon button:disabled,
.woocommerce-cart .woocommerce-cart-form .coupon button[disabled] {
  border-color: var(--bds-primary) !important;
  background: var(--bds-primary) !important;
  color: var(--bds-surface) !important;
}

.woocommerce-cart .woocommerce-cart-form button[name="update_cart"]:hover:not(:disabled),
.woocommerce-cart .woocommerce-cart-form .coupon button:hover:not(:disabled) {
  border-color: var(--bds-primary-dark) !important;
  background: var(--bds-primary-dark) !important;
  color: var(--bds-surface) !important;
}

.woocommerce-cart .woocommerce-cart-form button[name="update_cart"]:disabled,
.woocommerce-cart .woocommerce-cart-form button[name="update_cart"][disabled],
.woocommerce-cart .woocommerce-cart-form .coupon button:disabled,
.woocommerce-cart .woocommerce-cart-form .coupon button[disabled] {
  opacity: .42 !important;
  cursor: not-allowed !important;
}

/* =========================================================
   BDS 0.12.9.2 — single-product correction + product-card type polish
   Keeps the established City Attire button colors intact.
   ========================================================= */

/* Product cards: stronger title; sale first, regular price smaller on the right. */
.bds-product-card__title {
  font-size: 14px !important;
  line-height: 1.42 !important;
}
.bds-product-card__price {
  display: inline-flex !important;
  align-items: baseline !important;
  flex-wrap: wrap !important;
  gap: 0 6px !important;
}
.bds-product-card__price ins {
  order: 1;
  text-decoration: none !important;
}
.bds-product-card__price del {
  order: 2;
  margin: 0 !important;
  font-size: 11px !important;
  opacity: .68 !important;
}
.bds-product-card__price .amount { white-space: nowrap; }

/* Existing Variation Swatches UI remains canonical. Only unavailable values get a cross. */
.single-product .variable-item.disabled,
.single-product .variable-item.not-available,
.single-product .variable-item.out-of-stock,
.single-product .variable-item.bds-variation-oos {
  position: relative !important;
  overflow: hidden !important;
  opacity: .62 !important;
  cursor: not-allowed !important;
}
.single-product .variable-item.disabled::before,
.single-product .variable-item.not-available::before,
.single-product .variable-item.out-of-stock::before,
.single-product .variable-item.bds-variation-oos::before,
.single-product .variable-item.disabled::after,
.single-product .variable-item.not-available::after,
.single-product .variable-item.out-of-stock::after,
.single-product .variable-item.bds-variation-oos::after {
  content: "" !important;
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
  position: absolute !important;
  z-index: 20 !important;
  left: 50% !important;
  top: 50% !important;
  width: 78% !important;
  height: 2px !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: #d95656 !important;
  transform-origin: center !important;
  pointer-events: none !important;
}
.single-product .variable-item.disabled::before,
.single-product .variable-item.not-available::before,
.single-product .variable-item.out-of-stock::before,
.single-product .variable-item.bds-variation-oos::before {
  transform: translate(-50%, -50%) rotate(44deg) !important;
}
.single-product .variable-item.disabled::after,
.single-product .variable-item.not-available::after,
.single-product .variable-item.out-of-stock::after,
.single-product .variable-item.bds-variation-oos::after {
  transform: translate(-50%, -50%) rotate(-44deg) !important;
}

/* Gallery is deliberately compact: no oversized card padding around the product photo. */
.single-product .site-main { padding-top: 10px !important; }
.single-product div.product { margin-top: 0 !important; }
.single-product div.product.type-product > .woocommerce-product-gallery {
  padding: 6px !important;
}
.single-product div.product .woocommerce-product-gallery__wrapper,
.single-product div.product .woocommerce-product-gallery__image {
  margin: 0 !important;
}
.single-product div.product .flex-control-thumbs { margin-top: 7px !important; }

/* Real text label is injected by JS; Woo's own magnifier remains the icon. */
.single-product div.product .woocommerce-product-gallery .woocommerce-product-gallery__trigger {
  right: 12px !important;
  bottom: 12px !important;
  top: auto !important;
  left: auto !important;
  width: auto !important;
  min-width: 138px !important;
  height: 40px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  padding: 0 15px !important;
  border-radius: 999px !important;
  background: rgba(47,48,52,.84) !important;
  color: #fff !important;
  box-shadow: 0 8px 20px rgba(0,0,0,.14) !important;
  text-decoration: none !important;
}
.single-product div.product .woocommerce-product-gallery .woocommerce-product-gallery__trigger .bds-zoom-label {
  display: inline-block !important;
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

@media (max-width: 767px) {
  .single-product .site-content > .ast-container {
    width: min(calc(100% - 10px), var(--bds-container)) !important;
    padding-top: 0 !important;
  }

  .single-product .site-main {
    padding-top: 6px !important;
  }

  .single-product div.product.type-product > .woocommerce-product-gallery {
    padding: 3px !important;
    border-radius: 14px !important;
  }

  .single-product div.product.type-product > .summary {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    column-gap: 14px !important;
    row-gap: 0 !important;
    align-items: center !important;
    padding: 14px !important;
    border-radius: 14px !important;
  }

  .single-product div.product .summary .product_title {
    grid-column: 1 / -1 !important;
    order: 1 !important;
    margin: 0 0 14px !important;
    font-size: 24px !important;
    line-height: 1.2 !important;
    color: var(--ast-global-color-2) !important;
  }

  .single-product div.product .summary > p.price {
    grid-column: 1 !important;
    order: 3 !important;
    align-self: center !important;
    display: inline-flex !important;
    align-items: baseline !important;
    flex-wrap: wrap !important;
    gap: 0 6px !important;
    margin: 0 !important;
    font-size: 25px !important;
    line-height: 1.15 !important;
    color: var(--ast-global-color-2) !important;
  }

  .single-product div.product .summary > p.price ins {
    order: 1;
    text-decoration: none !important;
  }

  .single-product div.product .summary > p.price del {
    order: 2;
    margin-left: 6px !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    opacity: .7 !important;
  }

  .single-product div.product .summary > form.cart {
    display: contents !important;
  }

  .single-product div.product .summary > form.variations_form > div:has(> table.variations) {
    display: contents !important;
  }

  .single-product div.product .summary > form.variations_form > div > .single_variation_wrap:not([style*="display: none"]) {
    display: contents !important;
  }

  .single-product div.product .summary > form.variations_form > div > .single_variation_wrap:not([style*="display: none"]) > .woocommerce-variation-add-to-cart {
    display: contents !important;
  }

  .single-product div.product .summary > form.variations_form > div > .single_variation_wrap > .single_variation {
    grid-column: 1 / -1 !important;
    order: 4 !important;
  }

  .single-product div.product form.variations_form table.variations {
    grid-column: 1 / -1 !important;
    order: 2 !important;
    width: 100% !important;
    margin: 0 0 16px !important;
  }

  .single-product div.product form.cart .quantity.bds-single-qty {
    grid-column: 2 !important;
    order: 3 !important;
    justify-self: end !important;
    align-self: center !important;
    width: 132px !important;
    height: 44px !important;
    grid-template-columns: 38px 56px 38px !important;
    margin: 0 !important;
  }

  .single-product div.product form.cart .quantity.bds-single-qty .bds-single-qty__button,
  .single-product div.product form.cart .quantity.bds-single-qty input.qty {
    height: 42px !important;
    min-height: 42px !important;
    line-height: 42px !important;
  }

  .single-product div.product form.cart .single_add_to_cart_button,
  .single-product div.product form.cart .bds-single-quick-order {
    order: 5 !important;
    min-width: 0 !important;
    width: 100% !important;
    min-height: 48px !important;
    height: 48px !important;
    margin-top: 14px !important;
  }

  .single-product div.product form.cart .single_add_to_cart_button {
    grid-column: 1 !important;
  }

  .single-product div.product form.cart .bds-single-quick-order {
    grid-column: 2 !important;
  }

  .single-product div.product .product_meta {
    grid-column: 1 / -1 !important;
    order: 6 !important;
    width: 100% !important;
    margin-top: 14px !important;
  }

  .single-product div.product .woocommerce-product-gallery .woocommerce-product-gallery__trigger {
    right: 10px !important;
    bottom: 10px !important;
    min-width: 132px !important;
    height: 38px !important;
    padding-inline: 13px !important;
  }

  .single-product div.product .woocommerce-product-gallery .woocommerce-product-gallery__trigger .bds-zoom-label {
    font-size: 12px !important;
  }

  .bds-product-card__title {
    min-height: 38px !important;
    font-size: 13px !important;
  }
  .bds-product-card__price del { font-size: 9px !important; }
}


/* Final single-product zoom control */
body.single-product .woocommerce-product-gallery .woocommerce-product-gallery__trigger {
  width: max-content !important;
  min-width: 168px !important;
  max-width: calc(100% - 20px) !important;
  height: 40px !important;

  display: inline-flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;

  padding: 0 15px !important;
  overflow: visible !important;

  color: #fff !important;
  background: rgba(47,48,52,.84) !important;
  border-radius: 999px !important;
}

/* Woo/Astra magnifier pseudo icon OFF — use only the real icon in the DOM. */
body.single-product .woocommerce-product-gallery .woocommerce-product-gallery__trigger::before,
body.single-product .woocommerce-product-gallery .woocommerce-product-gallery__trigger::after {
  content: none !important;
  display: none !important;
  width: 0 !important;
  height: 0 !important;
}

/* Existing real magnifier wrapper. */
body.single-product .woocommerce-product-gallery .woocommerce-product-gallery__trigger > span[aria-hidden="true"] {
  display: inline-flex !important;
  flex: 0 0 auto !important;
  width: 16px !important;
  min-width: 16px !important;
  height: 16px !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
}

/* Existing real magnifier image. */
body.single-product .woocommerce-product-gallery .woocommerce-product-gallery__trigger > span[aria-hidden="true"] img.emoji {
  display: block !important;
  width: 16px !important;
  min-width: 16px !important;
  height: 16px !important;
  margin: 0 !important;
  padding: 0 !important;
  filter: brightness(0) invert(1) !important;
}

/* JS-created text label — do not allow flex/theme CSS to collapse it to 0px. */
body.single-product .woocommerce-product-gallery .woocommerce-product-gallery__trigger > .bds-zoom-label {
  display: inline-block !important;
  position: static !important;

  flex: 0 0 auto !important;
  width: max-content !important;
  min-width: max-content !important;
  max-width: none !important;
  height: auto !important;

  margin: 0 !important;
  padding: 0 !important;

  overflow: visible !important;
  visibility: visible !important;
  opacity: 1 !important;

  color: #fff !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  white-space: nowrap !important;

  transform: none !important;
}

/* Zoom label root-cause fix: reset Woo/Astra hidden-text indentation */
body.single-product div.product div.images .woocommerce-product-gallery__trigger {
  text-indent: 0 !important;
}

body.single-product div.product div.images .woocommerce-product-gallery__trigger > .bds-zoom-label {
  text-indent: 0 !important;
  display: inline-block !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  flex: none !important;
  overflow: visible !important;
  color: #fff !important;
  visibility: visible !important;
  opacity: 1 !important;
  white-space: nowrap !important;
}

/* Product card typography polish only */
.bds-product-card__title {
  font-size: 16px !important;
  line-height: 1.4 !important;
}

/* Current / sale price */
.bds-product-card__price ins,
.bds-product-card__price > .amount,
.bds-product-card__price ins .amount {
  font-size: 22px !important;
}

/* Regular / crossed-out price */
.bds-product-card__price del,
.bds-product-card__price del .amount {
  font-size: 13px !important;
  opacity: .78 !important;
  color: var(--bds-muted) !important;
}

@media (max-width: 767px) {
  .bds-product-card__title {
    font-size: 15px !important;
    line-height: 1.4 !important;
  }

  .bds-product-card__price ins,
  .bds-product-card__price > .amount,
  .bds-product-card__price ins .amount {
    font-size: 21px !important;
  }

  .bds-product-card__price del,
  .bds-product-card__price del .amount {
    font-size: 12px !important;
    opacity: .8 !important;
  }
}

/* Stronger product card typography */
.bds-product-card__title {
  font-size: 20px !important;
  line-height: 1.35 !important;
}

.bds-product-card__price ins,
.bds-product-card__price > .amount,
.bds-product-card__price ins .amount {
  font-size: 27px !important;
}

.bds-product-card__price del,
.bds-product-card__price del .amount {
  font-size: 16px !important;
  opacity: .82 !important;
}

@media (max-width: 767px) {
  .bds-product-card__title {
    font-size: 18px !important;
    line-height: 1.35 !important;
  }

  .bds-product-card__price ins,
  .bds-product-card__price > .amount,
  .bds-product-card__price ins .amount {
    font-size: 25px !important;
  }

  .bds-product-card__price del,
  .bds-product-card__price del .amount {
    font-size: 15px !important;
    opacity: .84 !important;
  }
}

/* ============================================================
   BDS PREMIUM THANK YOU + ORDER DOCUMENTS
   ============================================================ */

.woocommerce-order-received .site-main .entry-content > .woocommerce {
  width: 100%;
  max-width: 1180px;
  margin: 0 auto 72px;
}

.bds-thankyou {
  --bds-ty-gap: 20px;
  color: var(--bds-ink);
}

.bds-thankyou__hero {
  position: relative;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 18px;
  align-items: center;
  margin-bottom: 18px;
  padding: 28px;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--bds-primary) 22%, var(--bds-border));
  border-radius: calc(var(--bds-radius) + 6px);
  background:
    radial-gradient(
      circle at 100% 0,
      color-mix(in srgb, var(--bds-primary) 12%, transparent) 0,
      transparent 38%
    ),
    var(--bds-surface);
  box-shadow: 0 18px 52px rgba(31, 27, 23, .07);
}

.bds-thankyou__success-icon {
  display: grid;
  width: 58px;
  height: 58px;
  place-items: center;
  flex: 0 0 auto;
  border-radius: 999px;
  background: color-mix(in srgb, #18884b 13%, var(--bds-surface));
  color: #18884b;
  font-size: 27px;
  font-weight: 900;
  box-shadow: inset 0 0 0 1px color-mix(in srgb, #18884b 22%, transparent);
}

.bds-thankyou--failed .bds-thankyou__success-icon {
  background: color-mix(in srgb, #b42318 11%, var(--bds-surface));
  color: #b42318;
}

.bds-thankyou__eyebrow,
.bds-thankyou__section-kicker {
  display: block;
  margin: 0 0 5px;
  color: var(--bds-primary-dark);
  font-size: 11px;
  font-weight: 850;
  letter-spacing: .105em;
  line-height: 1.3;
  text-transform: uppercase;
}

.bds-thankyou__hero h1 {
  margin: 0;
  color: var(--bds-ink);
  font-size: clamp(25px, 3.1vw, 38px);
  line-height: 1.12;
}

.bds-thankyou__hero p {
  max-width: 680px;
  margin: 8px 0 0;
  color: var(--bds-muted);
  font-size: 14px;
  line-height: 1.65;
}

.bds-thankyou__hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  justify-content: flex-end;
}

.bds-thankyou__button {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  padding: 0 17px;
  border: 1px solid var(--bds-border);
  border-radius: 10px;
  background: var(--bds-surface);
  color: var(--bds-ink) !important;
  font-size: 12px;
  font-weight: 800;
  line-height: 1;
  text-decoration: none !important;
  transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease;
}

.bds-thankyou__button:hover {
  border-color: var(--bds-primary);
  transform: translateY(-1px);
  box-shadow: 0 8px 20px rgba(31, 27, 23, .08);
}

.bds-thankyou__button--primary {
  border-color: var(--bds-primary);
  background: var(--bds-primary);
  color: #fff !important;
}

.bds-thankyou__facts {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-bottom: var(--bds-ty-gap);
  overflow: hidden;
  border: 1px solid var(--bds-border);
  border-radius: var(--bds-radius);
  background: var(--bds-surface);
}

.bds-thankyou__fact {
  min-width: 0;
  padding: 16px 18px;
  border-right: 1px solid var(--bds-border);
}

.bds-thankyou__fact:last-child {
  border-right: 0;
}

.bds-thankyou__fact span {
  display: block;
  margin-bottom: 5px;
  color: var(--bds-muted);
  font-size: 11px;
  font-weight: 700;
}

.bds-thankyou__fact strong {
  display: block;
  overflow-wrap: anywhere;
  color: var(--bds-ink);
  font-size: 13px;
  font-weight: 850;
}

.bds-thankyou__fact--total strong {
  color: var(--bds-primary-dark);
  font-size: 15px;
}

.bds-thankyou__main {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(300px, .75fr);
  gap: var(--bds-ty-gap);
  align-items: start;
}

.bds-thankyou__card {
  border: 1px solid var(--bds-border);
  border-radius: calc(var(--bds-radius) + 2px);
  background: var(--bds-surface);
  box-shadow: 0 10px 32px rgba(31, 27, 23, .045);
}

.bds-thankyou__order-card,
.bds-thankyou__totals,
.bds-thankyou__address,
.bds-thankyou__note {
  padding: 22px;
}

.bds-thankyou__section-head {
  display: flex;
  gap: 16px;
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: 8px;
}

.bds-thankyou__section-head h2,
.bds-thankyou__totals h2,
.bds-thankyou__address h2 {
  margin: 0;
  color: var(--bds-ink);
  font-size: 18px;
  line-height: 1.25;
}

.bds-thankyou__status {
  display: inline-flex;
  min-height: 28px;
  align-items: center;
  padding: 0 10px;
  border: 1px solid color-mix(in srgb, var(--bds-primary) 24%, var(--bds-border));
  border-radius: 999px;
  background: color-mix(in srgb, var(--bds-primary) 8%, var(--bds-surface));
  color: var(--bds-primary-dark);
  font-size: 10px;
  font-weight: 850;
}

.bds-thankyou__product {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  padding: 15px 0;
  border-bottom: 1px solid var(--bds-border);
}

.bds-thankyou__product:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

.bds-thankyou__product-media {
  width: 72px;
  aspect-ratio: 1;
  overflow: hidden;
  border: 1px solid var(--bds-border);
  border-radius: 10px;
  background: var(--bds-surface-soft);
}

.bds-thankyou__product-image {
  display: block;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  object-fit: cover;
}

.bds-thankyou__product-name {
  display: block;
  margin: 0 0 5px;
  color: var(--bds-ink) !important;
  font-size: 13px;
  font-weight: 850;
  line-height: 1.4;
  text-decoration: none !important;
}

.bds-thankyou__product-meta,
.bds-thankyou__product-qty {
  color: var(--bds-muted);
  font-size: 11px;
  line-height: 1.5;
}

.bds-thankyou__product-meta p {
  margin: 0;
}

.bds-thankyou__product-total {
  color: var(--bds-ink);
  font-size: 13px;
  font-weight: 850;
  white-space: nowrap;
}

.bds-thankyou__totals {
  position: sticky;
  top: 165px;
}

.bds-thankyou__totals-list {
  margin-top: 14px;
}

.bds-thankyou__total-row {
  display: flex;
  gap: 14px;
  justify-content: space-between;
  padding: 10px 0;
  border-bottom: 1px solid var(--bds-border);
  color: var(--bds-muted);
  font-size: 12px;
}

.bds-thankyou__total-row strong {
  color: var(--bds-ink);
  font-weight: 800;
  text-align: right;
}

.bds-thankyou__total-row.is-grand-total {
  margin-top: 4px;
  padding-top: 14px;
  border-bottom: 0;
  color: var(--bds-ink);
  font-size: 14px;
  font-weight: 850;
}

.bds-thankyou__total-row.is-grand-total strong {
  color: var(--bds-primary-dark);
  font-size: 17px;
}

.bds-thankyou__invoice-link {
  display: flex;
  min-height: 44px;
  gap: 8px;
  align-items: center;
  justify-content: center;
  margin-top: 15px;
  border: 1px solid var(--bds-primary);
  border-radius: 10px;
  background: color-mix(in srgb, var(--bds-primary) 7%, var(--bds-surface));
  color: var(--bds-primary-dark) !important;
  font-size: 12px;
  font-weight: 850;
  text-decoration: none !important;
}

.bds-thankyou__addresses {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--bds-ty-gap);
  margin-top: var(--bds-ty-gap);
}

.bds-thankyou__addresses > :only-child {
  grid-column: 1 / -1;
}

.bds-thankyou__address address {
  margin: 14px 0 0;
  color: var(--bds-ink);
  font-style: normal;
  font-size: 12px;
  line-height: 1.75;
}

.bds-thankyou__contact-line {
  margin-top: 7px;
  color: var(--bds-muted);
  font-size: 12px;
  overflow-wrap: anywhere;
}

.bds-thankyou__note {
  margin-top: var(--bds-ty-gap);
}

.bds-thankyou__note p {
  margin: 8px 0 0;
  color: var(--bds-muted);
}

@media (max-width: 921px) {
  .woocommerce-order-received .site-main .entry-content > .woocommerce {
    margin-bottom: 48px;
  }

  .bds-thankyou__hero {
    grid-template-columns: auto minmax(0, 1fr);
    padding: 22px;
  }

  .bds-thankyou__hero-actions {
    grid-column: 1 / -1;
    justify-content: flex-start;
  }

  .bds-thankyou__facts {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .bds-thankyou__fact:nth-child(2) {
    border-right: 0;
  }

  .bds-thankyou__fact:nth-child(-n+2) {
    border-bottom: 1px solid var(--bds-border);
  }

  .bds-thankyou__main {
    grid-template-columns: 1fr;
  }

  .bds-thankyou__totals {
    position: static;
  }
}

@media (max-width: 600px) {
  .bds-thankyou {
    --bds-ty-gap: 14px;
  }

  .bds-thankyou__hero {
    display: block;
    padding: 19px 17px;
    text-align: center;
  }

  .bds-thankyou__success-icon {
    width: 52px;
    height: 52px;
    margin: 0 auto 13px;
  }

  .bds-thankyou__hero p {
    font-size: 12px;
  }

  .bds-thankyou__hero-actions {
    display: grid;
    grid-template-columns: 1fr;
    margin-top: 16px;
  }

  .bds-thankyou__facts {
    grid-template-columns: 1fr;
  }

  .bds-thankyou__fact,
  .bds-thankyou__fact:nth-child(2) {
    border-right: 0;
    border-bottom: 1px solid var(--bds-border);
  }

  .bds-thankyou__fact:last-child {
    border-bottom: 0;
  }

  .bds-thankyou__order-card,
  .bds-thankyou__totals,
  .bds-thankyou__address,
  .bds-thankyou__note {
    padding: 17px;
  }

  .bds-thankyou__section-head {
    display: block;
  }

  .bds-thankyou__status {
    margin-top: 10px;
  }

  .bds-thankyou__product {
    grid-template-columns: 60px minmax(0, 1fr);
    gap: 11px;
  }

  .bds-thankyou__product-media {
    width: 60px;
  }

  .bds-thankyou__product-total {
    grid-column: 2;
  }

  .bds-thankyou__addresses {
    grid-template-columns: 1fr;
  }

  .bds-thankyou__addresses > :only-child {
    grid-column: auto;
  }
}

