/* Product archive + taxonomy: sidebar filters + live search */

.bathgiant-store-layout {
 display: grid;
 grid-template-columns: minmax(240px, 280px) minmax(0, 1fr);
 gap: 1.5rem;
 align-items: start;
 margin-top: 1rem;
}

@media (min-width: 1200px) {
 .bathgiant-store-layout {
 grid-template-columns: minmax(260px, 300px) minmax(0, 1fr);
 gap: clamp(1.5rem, 3vw, 2.5rem);
 }
}

@media (max-width: 991px) {
 .bathgiant-store-layout {
 grid-template-columns: 1fr;
 }
}

.bathgiant-store-sidebar {
 position: sticky;
 top: var(--bathgiant-sticky-below-header, 5.5rem);
 align-self: start;
 display: flex;
 flex-direction: column;
 gap: 0.75rem;
}

.bathgiant-store-sidebar[data-filters-open="1"] .bathgiant-store-sidebar__categories {
 display: none;
}

.bathgiant-store-sidebar__categories .bathgiant-range-cat-filter,
.bathgiant-store-sidebar__categories .bathgiant-subterms {
 margin: 0;
 padding: 1rem 1.15rem;
 border: 1px solid var(--bathgiant-border, #d1d5db);
 border-radius: 12px;
 background: #fff;
 box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}

.bathgiant-store-sidebar__categories .bathgiant-range-cat-filter__heading,
.bathgiant-store-sidebar__categories .bathgiant-subterms-heading {
 font-size: 1rem;
 margin: 0 0 0.65rem;
 font-weight: 600;
}

.bathgiant-store-sidebar__categories .bathgiant-range-cat-filter__list,
.bathgiant-store-sidebar__categories .bathgiant-subterms-grid {
 flex-direction: column;
 flex-wrap: nowrap;
 align-items: stretch;
 gap: 0.35rem;
}

.bathgiant-store-sidebar__categories .bathgiant-range-cat-filter__link,
.bathgiant-store-sidebar__categories .bathgiant-subterm-link {
 display: flex;
 align-items: center;
 justify-content: space-between;
 width: 100%;
 box-sizing: border-box;
 border-radius: 8px;
}

@media (max-width: 991px) {
 .bathgiant-store-sidebar {
 position: static;
 }
}

@media (min-width: 992px) {
 .bathgiant-store-sidebar:has(.bathgiant-store-sidebar__panel[open]) {
 max-height: calc(100dvh - var(--bathgiant-sticky-below-header, 5.5rem) - 1.25rem);
 overflow: hidden;
 }

 /* When the filter panel is expanded, collapse the sibling subcategory block so the
    panel can claim the full sticky height and keep the Apply/Clear actions in view. */
 .bathgiant-store-sidebar:has(.bathgiant-store-sidebar__panel[open]) .bathgiant-store-sidebar__categories {
 display: none;
 }

 .bathgiant-store-sidebar__panel[open] {
 display: flex;
 flex-direction: column;
 min-height: 0;
 max-height: calc(100dvh - var(--bathgiant-sticky-below-header, 5.5rem) - 1.25rem);
 overflow: hidden;
 }

 .bathgiant-store-sidebar__panel[open] > .bathgiant-store-sidebar__title {
 flex: 0 0 auto;
 }

 .bathgiant-store-sidebar__panel[open] > .bathgiant-store-sidebar__inner {
 display: flex;
 flex-direction: column;
 flex: 1 1 auto;
 min-height: 0;
 overflow: hidden;
 padding-bottom: 0;
 }

 .bathgiant-store-sidebar__panel[open] .bathgiant-store-filter-form {
 display: flex;
 flex-direction: column;
 flex: 1 1 auto;
 min-height: 0;
 overflow: hidden;
 }

 .bathgiant-store-sidebar__scroll {
 flex: 1 1 auto;
 min-height: 0;
 overflow-x: hidden;
 overflow-y: auto;
 overscroll-behavior: contain;
 -webkit-overflow-scrolling: touch;
 scrollbar-width: thin;
 scrollbar-color: rgba(107, 114, 128, 0.42) transparent;
 padding-right: 0.15rem;
 }

 .bathgiant-store-sidebar__scroll::-webkit-scrollbar {
 width: 6px;
 }

 .bathgiant-store-sidebar__scroll::-webkit-scrollbar-thumb {
 background: rgba(107, 114, 128, 0.35);
 border-radius: 999px;
 }

 .bathgiant-store-sidebar__panel[open] .bathgiant-store-actions {
 flex: 0 0 auto;
 margin-top: 0;
 margin-left: -1.15rem;
 margin-right: -1.15rem;
 margin-bottom: 0;
 padding: 0.85rem 1.15rem 1.1rem;
 background: #fff;
 border-top: 1px solid #eef2f7;
 box-shadow: 0 -8px 16px rgba(255, 255, 255, 0.94);
 }
}

.bathgiant-store-sidebar__panel {
 border: 1px solid var(--bathgiant-border, #d1d5db);
 border-radius: 12px;
 background: #fff;
 box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
 overflow: hidden;
}

.bathgiant-store-sidebar__title {
 display: flex;
 align-items: center;
 gap: 0.5rem;
 margin: 0;
 padding: 1rem 1.15rem;
 font-size: 1.1rem;
 font-weight: 700;
 line-height: 1.2;
 cursor: pointer;
 list-style: none;
 user-select: none;
}

.bathgiant-store-sidebar__title::-webkit-details-marker {
 display: none;
}

.bathgiant-store-sidebar__title-copy {
 flex: 1 1 auto;
 min-width: 0;
 display: grid;
 gap: 0.1rem;
}

.bathgiant-store-sidebar__title-text {
 display: block;
 min-width: 0;
}

.bathgiant-store-sidebar__title-hint {
 display: block;
 font-size: 0.72rem;
 font-weight: 500;
 color: #6b7280;
 line-height: 1.25;
}

.bathgiant-store-sidebar__badge {
 flex: 0 0 auto;
 padding: 0.2rem 0.5rem;
 border-radius: 999px;
 background: #eff6ff;
 border: 1px solid #bfdbfe;
 color: #1d4ed8;
 font-size: 0.68rem;
 font-weight: 700;
 text-transform: uppercase;
 letter-spacing: 0.04em;
}

.bathgiant-store-sidebar__chevron {
 flex: 0 0 auto;
 width: 1.25rem;
 height: 1.25rem;
 display: inline-flex;
 align-items: center;
 justify-content: center;
 color: #6b7280;
}

.bathgiant-store-sidebar__chevron::before {
 content: "";
 display: block;
 width: 0.45rem;
 height: 0.45rem;
 border-right: 2px solid currentColor;
 border-bottom: 2px solid currentColor;
 transform: rotate(45deg);
 margin-top: -0.2rem;
 transition: transform 0.2s ease;
}

.bathgiant-store-sidebar__panel[open] > .bathgiant-store-sidebar__title .bathgiant-store-sidebar__chevron::before {
 transform: rotate(-135deg);
 margin-top: 0.15rem;
}

.bathgiant-store-sidebar__inner {
 padding: 0 1.15rem 1.1rem;
 background: transparent;
 border: 0;
 border-radius: 0;
 box-shadow: none;
}

.bathgiant-store-sidebar__panel[open] > .bathgiant-store-sidebar__inner {
 padding-top: 0;
 border-top: 1px solid #f3f4f6;
}

.bathgiant-store-sidebar__panel:not([open]) > .bathgiant-store-sidebar__inner {
 display: none;
}

.bathgiant-store-sidebar__heading {
 position: absolute;
 width: 1px;
 height: 1px;
 padding: 0;
 margin: -1px;
 overflow: hidden;
 clip: rect(0, 0, 0, 0);
 white-space: nowrap;
 border: 0;
}

.bathgiant-store-label {
 display: block;
 font-size: 0.8rem;
 font-weight: 600;
 text-transform: uppercase;
 letter-spacing: 0.04em;
 color: #6b7280;
 margin-bottom: 0.35rem;
}

.bathgiant-store-input,
.bathgiant-store-select {
 width: 100%;
 max-width: 100%;
 box-sizing: border-box;
 padding: 0.5rem 0.6rem;
 border: 1px solid var(--bathgiant-border, #d1d5db);
 border-radius: 4px;
 font-size: 0.95rem;
}

.bathgiant-store-field {
 margin-top: 1rem;
}

.bathgiant-store-toggle {
 display: grid;
 grid-template-columns: repeat(3, minmax(0, 1fr));
 gap: 0.45rem;
}

.bathgiant-store-toggle--branch-filter {
 grid-template-columns: repeat(4, minmax(0, 1fr));
}

.bathgiant-has-tooltip {
 position: relative;
}

/* PDP/package hero demo-notice is absolutely pinned; don't collapse it to in-flow. */
.bathgiant-product-single__hero .bathgiant-product-single__media-demo-notice.bathgiant-has-tooltip {
 position: absolute;
 left: auto;
 right: 0.65rem;
 bottom: 0.65rem;
}

.bathgiant-has-tooltip:hover .bathgiant-tooltip,
.bathgiant-has-tooltip:focus-visible .bathgiant-tooltip {
 opacity: 1;
 visibility: visible;
 transform: translateX(-50%) translateY(0);
}

/* Keep demo-notice tip anchored to the icon’s right (inward); skip translateX(-50%). */
.bathgiant-product-single__hero .bathgiant-product-single__media-demo-notice.bathgiant-has-tooltip:hover .bathgiant-tooltip,
.bathgiant-product-single__hero .bathgiant-product-single__media-demo-notice.bathgiant-has-tooltip:focus-visible .bathgiant-tooltip,
.bathgiant-product-single__hero .bathgiant-product-single__media-demo-notice.bathgiant-has-tooltip[aria-expanded="true"] .bathgiant-tooltip {
 transform: translateY(0);
}

@media (hover: none) {
 .bathgiant-has-tooltip:focus-visible .bathgiant-tooltip {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(0);
 }
}

.bathgiant-store-toggle__option {
 display: inline-flex;
 align-items: center;
 justify-content: center;
 border: 1px solid var(--bathgiant-border, #d1d5db);
 border-radius: 999px;
 background: #fff;
 color: #374151;
 padding: 0.45rem 0.85rem;
 font-size: 0.82rem;
 font-weight: 600;
 cursor: pointer;
 text-align: center;
 line-height: 1.2;
 text-decoration: none;
 white-space: nowrap;
}

.bathgiant-store-toggle__text--short {
 display: none;
}

.bathgiant-store-toggle__text--pending {
 display: none;
}

html.bg-trade-branch-sync-pending .bathgiant-store-toggle--branch-filter .bathgiant-store-toggle__text:not(.bathgiant-store-toggle__text--pending) {
 display: none !important;
}

html.bg-trade-branch-sync-pending .bathgiant-store-toggle--branch-filter .bathgiant-store-toggle__text--pending.bathgiant-store-toggle__text--long {
 display: inline;
}

.bathgiant-store-toggle__option.is-selected,
.bathgiant-store-toggle__option:hover {
 border-color: #2f68c4;
 background: #f1f6ff;
 color: #17365d;
}

.bathgiant-store-main__top {
 display: flex;
 justify-content: stretch;
 width: 100%;
 margin: 0 0 0.85rem;
}

.bathgiant-store-collect-toggle {
 display: grid;
 grid-template-columns: auto minmax(0, 1fr);
 align-items: center;
 gap: 0.65rem 1rem;
 width: 100%;
 max-width: none;
 margin: 0;
}

.bathgiant-store-collect-toggle .bathgiant-store-toggle {
 width: 100%;
 min-width: 0;
}

.bathgiant-store-collect-toggle__label {
 flex: 0 0 auto;
 font-size: 0.82rem;
 font-weight: 600;
 color: #5a6d82;
 line-height: 1.2;
 white-space: nowrap;
 padding-right: 0.15rem;
}

.bathgiant-store-collect-toggle .bathgiant-has-tooltip .bathgiant-tooltip {
 z-index: 20;
 white-space: normal;
 max-width: 14rem;
 text-align: center;
}

@media (max-width: 991px) {
 .bathgiant-store-collect-toggle {
  grid-template-columns: auto minmax(0, 1fr);
  gap: 0.5rem 0.65rem;
 }

 .bathgiant-store-toggle {
  gap: 0.35rem;
 }

 .bathgiant-store-toggle--branch-filter {
  grid-template-columns: repeat(2, minmax(0, 1fr));
 }

 .bathgiant-store-toggle__option {
  padding: 0.4rem 0.55rem;
  font-size: 0.74rem;
 }

 .bathgiant-store-toggle__text--long {
  display: none;
 }

 .bathgiant-store-toggle__text--short {
  display: inline;
 }

 html.bg-trade-branch-sync-pending .bathgiant-store-toggle--branch-filter .bathgiant-store-toggle__text--pending.bathgiant-store-toggle__text--long {
  display: none;
 }

 html.bg-trade-branch-sync-pending .bathgiant-store-toggle--branch-filter .bathgiant-store-toggle__text--pending.bathgiant-store-toggle__text--short {
  display: inline;
 }
}

.bathgiant-store-live-search {
 position: relative;
}

.bathgiant-live-results {
 position: absolute;
 z-index: 30;
 left: 0;
 right: 0;
 top: 100%;
 margin-top: 4px;
 max-height: 280px;
 overflow-y: auto;
 background: #fff;
 border: 1px solid var(--bathgiant-border, #d1d5db);
 border-radius: 6px;
 box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
 font-size: 0.9rem;
 padding: 0.4rem;
 color: #6b7280;
 isolation: isolate;
}

/* Header search dropdown.
 *
 * The form itself has `overflow: hidden` to render the rounded pill, so the
 * dropdown can't live inside it (it would be clipped). Instead the markup
 * wraps the form + dropdown in `.bathgiant-header-search-wrap` and we anchor
 * the absolutely-positioned dropdown to that wrap.
 */
.bathgiant-header-search-wrap {
 position: relative;
 display: block;
 width: 100%;
 min-width: 0;
}

/* Header search row must sit above inline dept tabs (z-index: 2) and the
   mega drop (z-index: 3) while results are open. */
.bathgiant-site-header__primary:has(.bathgiant-header-search__results:not([hidden])),
.bathgiant-header-search-wrap:has(.bathgiant-header-search__results:not([hidden])) {
 position: relative;
 z-index: 5;
}

.bathgiant-site-chrome:has(.bathgiant-header-search__results:not([hidden])) {
 z-index: 250;
}

.bathgiant-site-chrome:has(.bathgiant-header-search__results:not([hidden])) .bathgiant-site-header {
 position: relative;
 z-index: 10;
}

.bathgiant-header-search__results {
 z-index: 50;
 max-height: min(72vh, 480px);
 box-shadow: 0 12px 32px rgba(15, 23, 42, 0.16);
 border-color: var(--bathgiant-border, #d1d5db);
 background: #fff;
}

.bathgiant-live-results--rich {
 max-height: min(72vh, 480px);
 padding: 0;
 overflow: hidden;
 border-radius: 12px;
 display: flex;
 flex-direction: column;
}

.bathgiant-live-search-panel {
 display: grid;
 grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
 gap: 0;
 min-height: 0;
 flex: 1 1 auto;
 max-height: 100%;
 overflow: hidden;
}

.bathgiant-live-search-panel__main {
 min-width: 0;
 min-height: 0;
 max-height: 100%;
 display: flex;
 flex-direction: column;
 overflow: hidden;
 padding: 0.85rem 0.9rem 0.75rem;
 border-right: 1px solid #e8edf3;
}

.bathgiant-live-search-panel__aside {
 min-width: 0;
 min-height: 0;
 display: grid;
 grid-template-rows: minmax(0, 1fr) minmax(0, 0.85fr) minmax(0, 1.15fr);
 max-height: 100%;
 overflow: hidden;
 background: linear-gradient(180deg, #f8fafc 0%, #f1f5f9 100%);
}

.bathgiant-live-search-panel__block {
 min-height: 0;
 display: flex;
 flex-direction: column;
 padding: 0.75rem 0.8rem;
 border-bottom: 1px solid #e2e8f0;
 overflow: hidden;
}

.bathgiant-live-search-panel__block:last-child {
 border-bottom: 0;
}

.bathgiant-live-search-panel__heading {
 margin: 0 0 0.55rem;
 font-size: 0.72rem;
 font-weight: 700;
 letter-spacing: 0.06em;
 text-transform: uppercase;
 color: #64748b;
 flex-shrink: 0;
}

.bathgiant-live-search-panel__products {
 display: grid;
 gap: 0;
 flex: 1 1 auto;
 min-height: 0;
 overflow-y: auto;
 -webkit-overflow-scrolling: touch;
}

.bathgiant-live-search-panel__products .bathgiant-live-results__item {
 border-bottom: 1px solid #f1f5f9;
 border-radius: 8px;
}

.bathgiant-live-search-panel__products .bathgiant-live-results__item:last-child {
 border-bottom: 0;
}

.bathgiant-live-search-panel__view-all {
 display: inline-flex;
 align-items: center;
 flex-shrink: 0;
 margin-top: 0.65rem;
 padding-top: 0.5rem;
 border-top: 1px solid #f1f5f9;
 font-size: 0.86rem;
 font-weight: 600;
 color: var(--bathgiant-brand, #2f68c4);
 text-decoration: none;
}

.bathgiant-live-search-panel__view-all:hover {
 text-decoration: underline;
}

.bathgiant-live-search-panel__chips {
 display: flex;
 flex-wrap: wrap;
 gap: 0.4rem;
 min-height: 0;
 overflow-y: auto;
 align-content: flex-start;
}

.bathgiant-live-search-chip {
 display: inline-flex;
 align-items: center;
 gap: 0.35rem;
 max-width: 100%;
 padding: 0.38rem 0.62rem;
 border: 1px solid #dbe4f0;
 border-radius: 999px;
 background: #fff;
 color: #1e293b;
 font-size: 0.82rem;
 font-weight: 600;
 line-height: 1.25;
 text-decoration: none;
 transition: border-color 0.15s ease, background 0.15s ease, color 0.15s ease;
}

.bathgiant-live-search-chip:hover,
.bathgiant-live-search-chip:focus {
 border-color: #93b8e8;
 background: #eff6ff;
 color: #17365d;
 outline: none;
}

.bathgiant-live-search-chip__label {
 overflow: hidden;
 text-overflow: ellipsis;
 white-space: nowrap;
}

.bathgiant-live-search-chip__count {
 flex-shrink: 0;
 font-size: 0.72rem;
 font-weight: 700;
 color: #64748b;
}

.bathgiant-live-search-panel__block--brands .bathgiant-live-search-panel__chips {
 display: grid;
 grid-template-columns: 1fr;
 gap: 0.45rem;
 align-items: stretch;
}

@media (min-width: 640px) {
 .bathgiant-live-search-panel__block--brands .bathgiant-live-search-panel__chips {
 grid-template-columns: repeat(2, minmax(0, 1fr));
 }
}

.bathgiant-live-search-chip--brand {
 width: 100%;
 max-width: 100%;
 min-width: 0;
 border-radius: 10px;
 padding: 0.4rem 0.45rem;
 gap: 0.45rem;
 box-sizing: border-box;
}

.bathgiant-live-search-chip__logo {
 flex: 0 0 auto;
 display: inline-flex;
 align-items: center;
 justify-content: center;
 width: 2rem;
 height: 2rem;
 border-radius: 8px;
 overflow: hidden;
 background: #fff;
 border: 1px solid #e8edf3;
}

.bathgiant-live-search-chip__logo img {
 display: block;
 width: 100%;
 height: 100%;
 object-fit: contain;
 padding: 0.2rem;
 box-sizing: border-box;
}

.bathgiant-live-search-chip__logo--fallback {
 font-size: 0.95rem;
 font-weight: 700;
 color: var(--bathgiant-brand-deep, #17365d);
 background: linear-gradient(145deg, #f8fafc 0%, #eef2ff 100%);
}

.bathgiant-live-search-chip--colour {
 gap: 0.4rem;
}

.bathgiant-live-search-chip__swatch {
 flex: 0 0 auto;
 width: 0.95rem;
 height: 0.95rem;
 border-radius: 999px;
 border: 1px solid rgba(15, 23, 42, 0.18);
 box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.35);
}

.bathgiant-live-search-chip__swatch--empty {
 background: repeating-conic-gradient(#e2e8f0 0% 25%, #fff 0% 50%) 50% / 0.55rem 0.55rem;
}

.bathgiant-live-search-chip--brand .bathgiant-live-search-chip__label {
 flex: 1 1 auto;
 min-width: 0;
}

.bathgiant-live-search-panel__empty,
.bathgiant-live-search-panel__message {
 margin: 0;
 padding: 0.35rem 0;
 font-size: 0.86rem;
 color: #64748b;
 line-height: 1.45;
}

/* Loading / empty / error before the two-column panel mounts (rich header dropdown has padding: 0). */
.bathgiant-live-results--rich > .bathgiant-live-search-panel__message,
.bathgiant-live-results--rich > .bathgiant-live-search-panel__empty {
 padding: 0.85rem 0.9rem;
 min-height: 2.75rem;
 box-sizing: border-box;
}

/* Mobile: search sits in a definite grid track beside the logo. */
@media (max-width: 899px) {
 .bathgiant-header-search-wrap {
 min-width: 0;
 flex: none;
 width: auto;
 }
}

@media (max-width: 900px) {
 .bathgiant-live-results--rich {
  overflow-y: auto;
 }

 .bathgiant-live-search-panel {
  grid-template-columns: 1fr;
  overflow: visible;
  max-height: none;
  flex: none;
 }

 .bathgiant-live-search-panel__main {
  border-right: 0;
  border-bottom: 1px solid #e8edf3;
  max-height: none;
  overflow: visible;
 }

 .bathgiant-live-search-panel__products {
  max-height: 45vh;
 }

 .bathgiant-live-search-panel__aside {
  grid-template-rows: auto auto;
  max-height: none;
  overflow: visible;
 }
}

@media (max-width: 600px) {
 .bathgiant-header-search__results {
 left: -0.25rem;
 right: -0.25rem;
 max-height: 60vh;
 }

 .bathgiant-live-results--rich {
 max-height: 60vh;
 }
}

.bathgiant-live-results__item {
 display: flex;
 align-items: center;
 gap: 0.65rem;
 padding: 0.5rem 0.6rem;
 text-decoration: none;
 color: #111827;
 border-bottom: 1px solid #f3f4f6;
}

.bathgiant-live-results__item:last-child {
 border-bottom: 0;
}

.bathgiant-live-results__item:hover,
.bathgiant-live-results__item:focus {
 background: #f0fdfa;
 outline: none;
}

.bathgiant-live-results__thumb {
 flex: 0 0 auto;
 width: 44px;
 height: 44px;
 border-radius: 6px;
 overflow: hidden;
 background: #f3f4f6;
 border: 1px solid #e5e7eb;
 display: flex;
 align-items: center;
 justify-content: center;
}

.bathgiant-live-results__thumb img {
 width: 100%;
 height: 100%;
 object-fit: contain;
 object-position: center;
 display: block;
}

.bathgiant-live-results__thumb--empty {
 background: repeating-linear-gradient(
 45deg,
 #f3f4f6,
 #f3f4f6 6px,
 #fafafa 6px,
 #fafafa 12px
 );
}

.bathgiant-live-results__body {
 flex: 1 1 auto;
 min-width: 0;
}

.bathgiant-live-results__title {
 display: block;
 font-weight: 600;
 white-space: nowrap;
 overflow: hidden;
 text-overflow: ellipsis;
}

.bathgiant-live-results__meta {
 display: block;
 font-size: 0.85rem;
 color: #6b7280;
 margin-top: 0.15rem;
 white-space: nowrap;
 overflow: hidden;
 text-overflow: ellipsis;
}

.bathgiant-store-facet {
 margin-top: 0.75rem;
 border: 1px solid var(--bathgiant-border, #d1d5db);
 border-radius: 6px;
 background: #fff;
 overflow: hidden;
}

.bathgiant-store-facet-summary {
 display: flex;
 align-items: center;
 justify-content: space-between;
 gap: 0.65rem;
 padding: 0.6rem 0.75rem;
 font-weight: 600;
 font-size: 0.9rem;
 cursor: pointer;
 list-style: none;
}

.bathgiant-store-facet-summary::-webkit-details-marker {
 display: none;
}

.bathgiant-store-facet-summary::after {
 content: "";
 flex: 0 0 auto;
 width: 0.45rem;
 height: 0.45rem;
 border-right: 2px solid #6b7280;
 border-bottom: 2px solid #6b7280;
 transform: rotate(45deg);
 margin-top: -0.2rem;
 transition: transform 0.2s ease, margin-top 0.2s ease;
}

.bathgiant-store-facet[open] > .bathgiant-store-facet-summary::after {
 transform: rotate(-135deg);
 margin-top: 0.15rem;
}

.bathgiant-store-facet-body {
 padding: 0 0.65rem 0.65rem;
 border-top: 1px solid #f3f4f6;
}

.bathgiant-store-checklist {
 list-style: none;
 margin: 0.5rem 0 0;
 padding: 0;
 max-height: 200px;
 overflow-y: auto;
}

.bathgiant-store-checklist li {
 margin: 0.25rem 0;
}

.bathgiant-store-check {
 display: flex;
 flex-wrap: wrap;
 align-items: baseline;
 gap: 0.25rem 0.4rem;
 font-size: 0.88rem;
 cursor: pointer;
}

.bathgiant-store-check input {
 margin: 0;
}

.bathgiant-store-facet-more {
 margin: 0.5rem 0 0;
 font-size: 0.85rem;
}

.bathgiant-store-facet-more a {
 color: var(--bathgiant-accent, #2f88ef);
}

.bathgiant-price-range__sliders {
 position: relative;
 display: grid;
 gap: 0.4rem;
 margin-top: 0.55rem;
}

.bathgiant-price-range__slider {
 width: 100%;
 margin: 0;
}

.bathgiant-price-range__inputs {
 display: grid;
 grid-template-columns: 1fr 1fr;
 gap: 0.55rem;
 margin-top: 0.6rem;
}

.bathgiant-price-range__field {
 display: grid;
 gap: 0.25rem;
 font-size: 0.78rem;
 color: #4b5563;
}

.bathgiant-store-actions {
 display: flex;
 flex-wrap: wrap;
 gap: 0.5rem;
 margin-top: 1.25rem;
}

.bathgiant-store-actions .bathgiant-btn {
 flex: 1 1 auto;
 text-align: center;
 justify-content: center;
}

.bathgiant-store-main {
 min-width: 0;
 width: 100%;
 max-width: 100%;
}

.bathgiant-store-empty {
 display: flex;
 align-items: flex-start;
 gap: clamp(0.9rem, 2vw, 1.25rem);
 margin-top: 0.25rem;
 padding: clamp(1.25rem, 3vw, 2rem);
 border: 1px solid #dbe4ee;
 border-radius: 12px;
 background: linear-gradient(135deg, #fff 0%, #f7fafc 100%);
 box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}

.bathgiant-store-empty__icon {
 flex: 0 0 auto;
 display: inline-flex;
 align-items: center;
 justify-content: center;
 width: 3rem;
 height: 3rem;
 border-radius: 999px;
 color: var(--bathgiant-brand-deep, #17365d);
 background: var(--bathgiant-brand-wash, #eef5fc);
 border: 1px solid #d6e4f3;
}

.bathgiant-store-empty__icon svg {
 width: 1.55rem;
 height: 1.55rem;
 fill: none;
 stroke: currentColor;
 stroke-width: 1.8;
 stroke-linecap: round;
 stroke-linejoin: round;
}

.bathgiant-store-empty__body {
 flex: 1 1 auto;
 min-width: 0;
 max-width: 42rem;
}

.bathgiant-store-empty__eyebrow {
 margin: 0 0 0.3rem;
 color: #5a6d82;
 font-size: 0.75rem;
 font-weight: 700;
 letter-spacing: 0.06em;
 text-transform: uppercase;
}

.bathgiant-store-empty__title {
 margin: 0;
 color: var(--bathgiant-ink, #172033);
 font-family: var(--bathgiant-font-display, var(--bathgiant-font-sans));
 font-size: clamp(1.25rem, 2.4vw, 1.65rem);
 line-height: 1.2;
}

.bathgiant-store-empty__message {
 max-width: 58ch;
 margin: 0.55rem 0 0;
 color: #5a6d82;
 font-size: 0.96rem;
 line-height: 1.55;
}

.bathgiant-store-empty__actions {
 display: flex;
 flex-wrap: wrap;
 gap: 0.65rem;
 margin-top: 1.15rem;
}

.bathgiant-store-empty__actions .bathgiant-btn {
 justify-content: center;
 text-align: center;
}

@media (max-width: 600px) {
 .bathgiant-store-empty {
  display: block;
  padding: 1.1rem;
 }

 .bathgiant-store-empty__icon {
  width: 2.65rem;
  height: 2.65rem;
  margin-bottom: 0.8rem;
 }

 .bathgiant-store-empty__actions {
  display: grid;
  grid-template-columns: 1fr;
 }

 .bathgiant-store-empty__actions .bathgiant-btn {
  width: 100%;
 }
}

/* Product cards grid — fluid columns on generic store grids.
 * Archive/tax product lists keep fixed --bg-archive-grid-cols (style.css) so
 * showcase span-2 tiles do not leave holes on ultra-wide auto-fill layouts. */
.bathgiant-store-main .bathgiant-grid,
.bathgiant-store-main .bathgiant-product-grid {
 --bathgiant-grid-card-min: 16.25rem;
 grid-template-columns: 1fr;
}

@media (min-width: 700px) {
 .bathgiant-store-main .bathgiant-grid,
 .bathgiant-store-main .bathgiant-product-grid {
 grid-template-columns: repeat(auto-fill, minmax(min(100%, var(--bathgiant-grid-card-min)), 1fr));
 }

 /* Re-assert fixed tracks after auto-fill (this sheet loads after style.css). */
 .bathgiant-archive-products .bathgiant-store-main .bathgiant-grid,
 .bathgiant-tax-archive .bathgiant-store-main .bathgiant-grid {
 grid-template-columns: repeat(var(--bg-archive-grid-cols, 2), minmax(0, 1fr));
 grid-auto-flow: dense;
 }
}
