/** Shopify CDN: Minification failed

Line 1691:0 Unexpected "@media"

**/
/* ==========================================================================
   bt-kitchen.css — BloopTrend kitchen-storage skin for Refresh (Dawn family)
   Spec: SPEC-2026-10-04-2019.md (Williams Sonoma primary, Crate & Barrel 2nd)
   Load AFTER base.css, e.g. in layout/theme.liquid just before </head>:
     {{ 'bt-kitchen.css' | asset_url | stylesheet_tag }}
   Units are px on purpose (Dawn sets html font-size 62.5%, 1rem = 10px).
   Class names checked against github.com/Shopify/dawn (main) on 2026-10-04.
   .bt-* classes are NEW and need the markup in header-markup-notes.md.
   ========================================================================== */

/* ---------- 1. Tokens ---------------------------------------------------- */
:root {
  /* Gifts palette (Pass 1). Contrast notes in the Pass 1 report. */
  --bt-cream: #FAF3E8;      /* page + feature bands */
  --bt-espresso: #2A1F1A;   /* text */
  --bt-evergreen: #1F4A3D;  /* announcement bar, footer, feature bands */
  --bt-cranberry: #9E2A3A;  /* primary buttons, ADD TO CART, hover accents */
  --bt-cranberry-dk: #7E1F2D;
  --bt-gold: #C9A24B;       /* thin accents + icons only, never small text on cream */
  --bt-blush: #F1D9D2;      /* secondary bands */
  /* legacy names now point at the palette */
  --bt-white: var(--bt-cream);
  --bt-offwhite: var(--bt-blush);
  --bt-ink: var(--bt-espresso);
  --bt-gray: #6B5A50;       /* secondary text: 5.9:1 on cream, 4.9:1 on blush */
  --bt-line: #E4D5C3;       /* hairlines */
  --bt-line2: #D8C6B0;
  --bt-blue: var(--bt-cranberry);  /* old "blue" hover/focus accent */
  /* Display serif (H1/H2) from Shopify library — see --bt-serif-family in theme.liquid */
  --bt-serif: var(--bt-serif-family, Georgia, 'Times New Roman', serif);
  --bt-font: 'Jost', system-ui, -apple-system,
    'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
  --bt-s1: 8px; --bt-s2: 16px; --bt-s3: 24px; --bt-s4: 32px;
  --bt-s6: 48px; --bt-s8: 64px;
  --bt-max: 1440px;
  --bt-pad: 40px;
}
@media (max-width: 749px) { :root { --bt-pad: 20px; } }

/* ---------- 2. Base: type, page, width ----------------------------------- */
/* Reserve scrollbar space so overflow-hidden on cart-open does not shift the header ~7px */
html {
  scrollbar-gutter: stable;
}
body {
  background: var(--bt-white);
  color: var(--bt-ink);
  font-family: var(--bt-font);
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 0;
}
h1, h2, h3, h4, h5, .h0, .h1, .h2, .h3, .h4, .h5 {
  font-family: var(--bt-font);
  font-weight: 600;          /* no thin weights, no serif */
  letter-spacing: 0;
  color: var(--bt-ink);
}
.title, .main-page-title, .collection-hero__title { font-size: 32px; }
.title-wrapper .title, .h2 { font-size: 20px; }

/* Full-bleed bands; content capped at 1440 with 40/20 padding.
   Kills Refresh's boxed container + beige gutters. */
.page-width,
.header.page-width,
.footer__content-top.page-width,
.footer__content-bottom-wrapper.page-width {
  max-width: var(--bt-max);
  padding-left: var(--bt-pad);
  padding-right: var(--bt-pad);
  margin-left: auto;
  margin-right: auto;
}
.gradient, .color-scheme-1 { background: var(--bt-white); }

a { color: inherit; }
a:hover, .link:hover { color: var(--bt-blue); }
:focus-visible { outline: 2px solid var(--bt-blue); outline-offset: 2px; box-shadow: none; }

/* Sections 64px apart: set each section's top/bottom padding to 32px in
   the theme editor (32 + 32 = 64). Not forced here to avoid doubling. */

/* ---------- 3. Buttons: black, white text, square, 12px caps ------------- */
.button, .shopify-payment-button__button--unbranded, .button--primary,
button.product-form__submit, .cart__checkout-button, .newsletter-form__button.bt-btn {
  background: var(--bt-ink);
  color: var(--bt-white);
  border: 0;
  border-radius: 0;
  font-family: var(--bt-font);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  min-height: 48px;
  padding: 0 var(--bt-s3);
  box-shadow: none;
}
.button::before, .button::after { box-shadow: none !important; border-radius: 0 !important; }
.button:hover, button.product-form__submit:hover, .cart__checkout-button:hover {
  background: var(--bt-cranberry-dk);
  outline: 0;
  outline-offset: -2px;
}
.button--secondary, .button--tertiary {
  background: var(--bt-white);
  color: var(--bt-ink);
  border: 1px solid var(--bt-ink);
}

/* ---------- 4. Header: utility strip (NEW markup .bt-utility) ------------ */
.header-wrapper { background: var(--bt-white); border-bottom: 1px solid var(--bt-line); }
.bt-utility { background: var(--bt-offwhite); height: 32px; font-size: 12px; color: var(--bt-gray); }
.bt-utility__inner {
  max-width: var(--bt-max); height: 32px; margin: 0 auto; padding: 0 var(--bt-pad);
  display: flex; align-items: center; justify-content: space-between;
}
.bt-utility a { color: var(--bt-gray); text-decoration: none; }
.bt-utility a:hover { color: var(--bt-blue); }
.bt-utility__sep { margin: 0 var(--bt-s1); color: var(--bt-line); }
@media (max-width: 749px) { .bt-utility__inner { justify-content: center; } }

/* ---------- 5. Header: main row (88px) + nav row (48px) ----------------- */
/* Theme setting needed: Header > Logo position = "Top center" (gives the
   'left-icons heading icons' / 'navigation' grid). Sticky = "Always". */
@media (min-width: 990px) {
  .header,
  .header--top-center {
    grid-template-areas: 'left-icons heading icons' 'navigation navigation navigation';
    grid-template-columns: 1fr auto 1fr;  /* equal sides => logo truly page-centered */
    grid-template-rows: 88px 48px;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    column-gap: var(--bt-s3);
    transition: grid-template-rows .2s ease;
  }
  /* Sticky collapse: Dawn adds .scrolled-past-header to .section-header */
  .scrolled-past-header .header { grid-template-rows: 64px 40px; }
  .scrolled-past-header .bt-utility { display: none !important; }
  .scrolled-past-header .header__heading-logo { height: 28px; max-height: 28px; }
  .scrolled-past-header .header__inline-menu { height: 40px; }
  .scrolled-past-header .header__menu-item { height: 40px; }
}

/* Logo: 1804px source, shown ~40px tall. Set Theme settings > Logo width
   to ~144px (1804x505 => 3.57:1) so image_url width 600 is >2x display. */
.header__heading, .header__heading-link { grid-area: heading; justify-self: center !important; text-align: center; }
.header__heading-link { padding: 0; }
.header__heading-logo-wrapper { width: auto !important; }
.header__heading-logo { height: 40px; width: auto; max-width: none; image-rendering: auto; }
@media (max-width: 989px) { .header__heading-logo { height: 28px; } }

/* ---------- 6. Header: left search (NEW markup .bt-search) -------------- */
.bt-search { grid-area: left-icons; justify-self: start; width: 360px; max-width: 100%; position: relative; align-self: center; }
.bt-search__form { position: relative; margin: 0; }
.bt-search__input {
  width: 100%; height: 40px; padding: 0 44px 0 var(--bt-s2);
  border: 1px solid var(--bt-line2); border-radius: 0; background: var(--bt-white);
  font: 400 14px/40px var(--bt-font); color: var(--bt-ink);
  -webkit-appearance: none; appearance: none; box-shadow: none;
}
.bt-search__input::placeholder { color: var(--bt-gray); opacity: 1; }
.bt-search__input:focus { outline: 0; border-color: var(--bt-blue); box-shadow: inset 0 0 0 1px var(--bt-blue); }
.bt-search__input::-webkit-search-cancel-button { display: none; }
.bt-search__button {
  position: absolute; top: 0; right: 0; width: 44px; height: 40px;
  display: flex; align-items: center; justify-content: center;
  background: none; border: 0; padding: 0; color: var(--bt-ink); cursor: pointer;
}
.bt-search__button:hover { color: var(--bt-blue); }
.bt-search__button svg, .bt-search__button .icon { width: 18px; height: 18px; }

/* Mobile search cluster (left of logo). Hidden on desktop. */
.bt-mobile-search { display: none; }
@media (max-width: 989px) {
  .bt-mobile-search {
    display: flex; align-items: center; grid-area: left-icons;
    justify-self: start; margin-left: 40px; z-index: 3;
  }
}

/* Kill duplicate / floating search icons. Desktop: only .bt-search.
   Mobile: hide .bt-search, keep ONE Dawn modal icon (the left one). */
@media (min-width: 990px) {
  .header > .header__search,
  .header__icons > .header__search,
  .header__icons .header__search { display: none !important; }
}
@media (max-width: 989px) {
  .bt-search { display: none !important; }
  /* Mobile keeps the icons-row search modal (wrapped in .large-up-hide). */
}

/* ---------- 7. Header: right icons — identical column wrappers ------------ */
/*
  Override culprit for Sign In sitting low:
  - Refresh/base `.header__icon { height: 4.4rem; width: 4.4rem }`
  - `<shopify-account>` host used to carry `.header__icon`, so the CE
    button (::part signed-out-avatar) + avatar-size derived ~44px and
    vertically centered the glyph, pushing the whole Sign In stack ~20px
    below Favorites/Cart.
  Fix: `.bt-account-wrap` owns `.header__icon` layout; host uses
  `--shopify-account-avatar-size: 24px` + `::part(signed-out-avatar)`
  padding:0 / 24×24. Label is a real sibling span (not ::after on the CE).
*/
.header__icons .header__icon--cart::before { content: none !important; display: none !important; }
.header__icons {
  grid-area: icons; justify-self: end; align-items: flex-start;
  gap: 28px; padding-right: 0;
}

.header__icons .header__icon,
.header__icons .header__icon--cart,
.header__icons .header__icon--account,
.header__icons .bt-account-wrap,
.header__icons .bt-fav {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 6px !important;
  width: auto !important;
  height: auto !important;
  min-width: 44px;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--bt-ink);
  text-decoration: none !important;
  position: relative;
  line-height: 0;
  box-sizing: border-box;
}

/* Kill Dawn span{height:100%} / 44px svg-wrapper */
.header__icons .header__icon span,
.header__icons .bt-fav span,
.header__icons .bt-account-wrap span,
.header__icons .header__icon .svg-wrapper,
.header__icons .header__icon .account-icon {
  height: auto !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* 24px icon box; SVG 22px tall */
.header__icons .bt-icon-glyph {
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 24px !important;
  height: 24px !important;
  min-width: 24px !important;
  min-height: 24px !important;
  max-width: 24px !important;
  max-height: 24px !important;
  flex: 0 0 24px !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 0;
  box-sizing: border-box;
}

.header__icons .bt-icon-glyph svg,
.header__icons .bt-cart-icon,
.header__icons .bt-account-icon,
.header__icons .bt-fav-icon {
  height: 22px !important;
  width: auto !important;
  max-width: 24px !important;
  max-height: 22px !important;
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--bt-ink);
  opacity: 1 !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 1.5;
}

/* shopify-account host: ONLY the 24px glyph, not a 4.4rem Refresh icon */
.header__icons shopify-account.bt-account-host {
  display: block !important;
  width: 24px !important;
  height: 24px !important;
  min-width: 24px !important;
  min-height: 24px !important;
  max-width: 24px !important;
  max-height: 24px !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 0;
  flex: 0 0 24px;
  --shopify-account-avatar-size: 24px;
  --shopify-account-signed-in-avatar-size: 22px;
}
.header__icons shopify-account.bt-account-host::part(signed-out-avatar) {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 24px !important;
  height: 24px !important;
  min-width: 24px !important;
  min-height: 24px !important;
  max-width: 24px !important;
  max-height: 24px !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-sizing: border-box !important;
  cursor: pointer;
}

.header__icons .bt-icon-label {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  height: 12px;
  line-height: 12px;
  font: 500 12px/12px var(--bt-font) !important;
  letter-spacing: 0;
  color: inherit;
  white-space: nowrap;
  flex: 0 0 auto;
}
/* Remove any leftover ::after Sign In / Cart from prior approach */
.header .header__icons .header__icon--account::after,
.header .header__icons shopify-account::after,
.header .header__icons .bt-account-wrap::after {
  content: none !important;
  display: none !important;
}
.header .header__icons .header__icon--cart::after {
  display: block !important;
  content: 'Cart' !important;
  margin: 0 !important;
  padding: 0 !important;
  height: 12px;
  line-height: 12px;
  font: 500 12px/12px var(--bt-font) !important;
  letter-spacing: 0;
  color: inherit;
  white-space: nowrap;
}

.header__icon:hover, .bt-fav:hover, .bt-account-wrap:hover { color: var(--bt-blue); }
.header__icon:hover .icon { transform: none; }
.bt-fav { cursor: pointer; }
.bt-account-wrap { cursor: pointer; }

.header__icon--cart .cart-count-bubble {
  position: absolute !important;
  top: -4px !important;
  right: -6px !important;
  bottom: auto !important;
  left: auto !important;
  width: 18px; height: 18px;
  font: 600 10px/18px var(--bt-font);
  background: var(--bt-ink); color: var(--bt-white);
  z-index: 1;
  pointer-events: none;
}

@media (max-width: 989px) {
  .header__icons .bt-icon-label,
  .header .header__icons .header__icon--cart::after {
    display: none !important; content: none !important;
  }
  /* Favorites heart shown compact on mobile — see max-width 989 block below */
  .header__icons { gap: 12px; align-items: center; }
  .header__icons .header__icon,
  .header__icons .bt-account-wrap {
    min-height: 0 !important;
    gap: 0 !important;
    min-width: 44px;
  }
}

/* Mobile ≤749: hide header account (crowds logo); Sign In lives in the drawer */
@media (max-width: 749px) {
  .header__icons .bt-account-wrap,
  .header__icons shopify-account.bt-account-host {
    display: none !important;
  }
  .header__icons { gap: 4px; }
}

/* Drawer Sign In row */
.bt-drawer-account {
  display: flex; align-items: center;
  padding: 12px 0 4px;
  border-bottom: 1px solid var(--bt-line, #e5e5e5);
  margin-bottom: 8px;
}
.bt-drawer-account-host {
  --shopify-account-avatar-size: auto;
  width: 100%;
}
.bt-drawer-account-host::part(signed-out-avatar) {
  display: flex !important;
  align-items: center;
  gap: 12px;
  width: 100%;
  padding: 8px 0 !important;
  border: 0; background: transparent;
  font: 500 14px/1.2 var(--bt-font);
  color: var(--bt-ink);
  cursor: pointer;
}
.bt-drawer-account-link {
  display: inline-flex; align-items: center; gap: 12px;
}
.bt-drawer-account-icon {
  display: inline-flex; width: 24px; height: 24px; align-items: center; justify-content: center;
}
.bt-drawer-account-icon svg { width: 22px; height: 22px; display: block; }

/* ---------- 8. Header: nav row, centered, 40px gaps, blue underline ---- */
.header__inline-menu { grid-area: navigation; justify-self: center; margin-top: 0 !important; height: 48px; }
.header__inline-menu .list-menu--inline { display: flex; flex-wrap: nowrap; gap: 40px; height: 48px; align-items: stretch; }
.header__menu-item {
  height: 48px; padding: 0 !important; display: flex; align-items: center;
  font: 500 14px/1 var(--bt-font); color: var(--bt-ink) !important;
  text-decoration: none !important; background: none !important; box-shadow: inset 0 -2px 0 transparent;
}
.header__menu-item span, .header__active-menu-item { text-decoration: none !important; color: inherit; }
.header__menu-item:hover,
.header__menu-item[aria-current='page'],
details[open] > .header__menu-item,
.header__menu-item:has(.header__active-menu-item) {
  color: var(--bt-ink) !important; box-shadow: inset 0 -2px 0 var(--bt-blue);
}
.header__menu-item .icon-caret { display: none; }   /* flat menu, no dropdowns */
/* Remove the old black nav box from Refresh's menu color scheme */
.header__inline-menu, .header__inline-menu .list-menu { background: transparent !important; }

/* ---------- 9. Collection page: title, count, sticky pill filters ------ */
.collection-hero__title, .main-collection .title { font-size: 32px; font-weight: 400; margin: var(--bt-s2) 0 var(--bt-s1); letter-spacing: 0; }
.bt-breadcrumb__sep { color: var(--bt-line); }
.bt-collection-count { margin: 0 0 var(--bt-s3); }
/* No Exclusive/sale/sold-out badges until New/Bestseller tags are wired */
.product-card-wrapper .card__badge { display: none !important; }
.bt-breadcrumb { font-size: 12px; color: var(--bt-gray); margin-top: var(--bt-s3); }
.bt-breadcrumb a { color: var(--bt-gray); text-decoration: none; }
.bt-breadcrumb a:hover { color: var(--bt-blue); }
.product-count__text, .product-count-vertical { font-size: 12px; color: var(--bt-gray); }

.facets-container {
  position: sticky; top: var(--header-height, 0px); z-index: 2;
  background: var(--bt-white); border-bottom: 1px solid var(--bt-line);
  padding: var(--bt-s2) 0; margin-bottom: var(--bt-s3);
}
.facets__form { display: flex; align-items: center; gap: var(--bt-s1); flex-wrap: wrap; }
.facets__wrapper { display: flex; gap: var(--bt-s1); flex-wrap: wrap; }
.facets__heading { font-size: 12px; text-transform: uppercase; letter-spacing: .12em; color: var(--bt-gray); }
.facets__summary, .facets__disclosure > summary {
  height: 36px; padding: 0 var(--bt-s2); border: 1px solid var(--bt-line); border-radius: 999px;
  font: 500 14px/36px var(--bt-font); color: var(--bt-ink); background: var(--bt-white);
  display: inline-flex; align-items: center; gap: var(--bt-s1);
}
.facets__summary:hover, .facets__disclosure[open] .facets__summary { border-color: var(--bt-ink); color: var(--bt-ink); }
.facet-filters__sort, .facet-filters__field .select__select {
  height: 36px; border: 1px solid var(--bt-line); border-radius: 999px; padding: 0 36px 0 var(--bt-s2);
  font: 500 14px var(--bt-font); background: var(--bt-white); box-shadow: none;
}
.facet-filters { margin-left: auto; }
.active-facets__button-inner { border-radius: 999px; font-size: 12px; }

/* ---------- 10. Product grid + cards ----------------------------------- */
.product-grid.grid, #product-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--bt-s3); column-gap: var(--bt-s3); row-gap: var(--bt-s3);
  margin: 0; padding: 0;
}
.product-grid .grid__item { width: auto !important; max-width: none !important; padding: 0; }
@media (max-width: 989px) {
  .product-grid.grid, #product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--bt-s2); }
}
.card, .card__inner, .card--standard .card__inner { border-radius: 0 !important; box-shadow: none !important; border: 0 !important; background: var(--bt-white); position: relative; }
.card--standard .card__inner::after, .card::after { display: none !important; }
/* Same square crop on every card, pure white behind the product */
.card__media, .card .media {
  aspect-ratio: 1 / 1; background: var(--bt-white) !important; border-radius: 0;
}
.card__inner.ratio::before { padding-bottom: 100% !important; }
.card__media img, .card .media img { object-fit: contain !important; background: var(--bt-white); }
/* One small badge top left, only when true (theme renders it only on sale/sold out;
   New/Bestseller badges need a product tag check in card-product.liquid) */
.card__badge { position: absolute; top: var(--bt-s1); left: var(--bt-s1); bottom: auto; right: auto; }
.card__badge .badge {
  border-radius: 0; background: var(--bt-white); color: var(--bt-ink); border: 1px solid var(--bt-ink);
  font: 600 10px/1 var(--bt-font); letter-spacing: .12em; text-transform: uppercase; padding: 4px 8px;
}
/* Heart top right — toggles localStorage favorites */
.bt-card-heart,
button.bt-card-heart {
  position: absolute; top: var(--bt-s1); right: var(--bt-s1); z-index: 3;
  width: 36px; height: 36px; display: flex; align-items: center; justify-content: center;
  background: var(--bt-cream); border: 1px solid var(--bt-line2); border-radius: 50%; color: var(--bt-ink);
  text-decoration: none; box-shadow: none; padding: 0; cursor: pointer;
  appearance: none; -webkit-appearance: none;
}
.bt-card-heart:hover { color: var(--bt-blue); border-color: var(--bt-blue); }
.bt-card-heart svg { width: 18px; height: 18px; }
.bt-card-heart.is-saved { color: var(--bt-blue); border-color: var(--bt-blue); }
.bt-card-heart.is-saved svg { fill: currentColor; stroke: currentColor; }
.header__icons .bt-fav { position: relative; }
/* Match cart bubble vs cart glyph: on Dawn's 44px icon hit area, cart uses
   top:-4 / right:-6. Favorites label is wider than Cart, so we recreate that
   glyph-relative placement from the centered icon (left:50% + 10px). */
.header__icons .bt-fav .bt-fav-count,
.header__icons .bt-fav .cart-count-bubble {
  position: absolute !important;
  top: -4px !important;
  left: 50% !important;
  right: auto !important;
  bottom: auto !important;
  width: 18px !important;
  min-width: 18px !important;
  height: 18px !important;
  padding: 0 !important;
  margin: 0 0 0 10px !important; /* center + 10px = cart's glyph-relative left */
  border-radius: 50% !important;
  background: var(--bt-ink) !important;
  background-color: var(--bt-ink) !important;
  color: #fff !important;
  font: 600 10px/18px var(--bt-font) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  z-index: 1;
  pointer-events: none;
  box-shadow: none !important;
  border: 0 !important;
}
.header__icons .bt-fav .bt-fav-count[hidden],
.header__icons .bt-fav .cart-count-bubble[hidden] {
  display: none !important;
}
.card__content, .card__information { padding: var(--bt-s2) 0 0 !important; text-align: left; }
.card__heading, .card__heading a { font: 500 16px/1.35 var(--bt-font); color: var(--bt-ink); text-decoration: none; }
.card__heading a:hover { color: var(--bt-blue); }
.bt-card-attr { font-size: 12px; color: var(--bt-gray); margin: 4px 0 0; }
.price, .price-item { font-family: var(--bt-font); color: var(--bt-ink); }
.card-information 
.price--on-sale 
/* Empty collection state (Dawn: .collection--empty) */
.collection--empty { background: var(--bt-white); padding: var(--bt-s8) 0; text-align: center; }
.collection--empty .title { font-size: 20px; }
.bt-empty-links { display: flex; justify-content: center; gap: var(--bt-s3); margin-top: var(--bt-s3); }
.bt-empty-links a { color: var(--bt-blue); text-decoration: underline; text-underline-offset: 3px; }

/* ---------- 11. Product page (spec 8:28pm PT, WS bourguignonne model) --
   Customizer: Media size = Medium, Gallery layout = "Thumbnail carousel"
   (thumbnail_slider), Image zoom = Hover, Media fit = Contain,
   Buy buttons: dynamic checkout OFF. Blocks: see pdp-markup-notes.md. */
.product { --bt-gutter: 60px; }
@media (min-width: 990px) {
  .product.grid { flex-wrap: nowrap; column-gap: var(--bt-gutter); }
  .product:not(.product--no-media) .product__media-wrapper { flex: 0 0 calc(58% - var(--bt-gutter) / 2); max-width: calc(58% - var(--bt-gutter) / 2) !important; width: auto !important; }
  .product:not(.product--no-media) .product__info-wrapper { flex: 0 0 calc(42% - var(--bt-gutter) / 2); max-width: calc(42% - var(--bt-gutter) / 2) !important; width: auto !important; padding: 0 !important; }
}
/* Vertical thumbnail rail — root cause of empty grey strip:
   Dawn .thumbnail is position:absolute; our prior rules set 72px height on
   the button but never position:relative on the <li>, so thumbs painted
   outside the rail and looked empty. Also Dawn keeps horizontal
   slider-buttons on .thumbnail-slider at ≥750px. */
@media (min-width: 750px) {
  .product--thumbnail_slider media-gallery {
    display: grid !important;
    grid-template-columns: 74px minmax(0, 1fr);
    column-gap: 12px;
    align-items: start;
  }
  .product--thumbnail_slider .thumbnail-slider {
    grid-column: 1; grid-row: 1;
    display: block !important;
    width: 74px !important; /* 72px + 1px borders */
    max-width: 74px !important;
    align-items: stretch !important;
    position: relative;
  }
  .product--thumbnail_slider .thumbnail-slider .slider-button,
  .product--thumbnail_slider .thumbnail-slider .slider-button--prev,
  .product--thumbnail_slider .thumbnail-slider .slider-button--next,
  .product--thumbnail_slider .slider-mobile-gutter .slider-button {
    display: none !important;
  }
  .product--thumbnail_slider media-gallery > slider-component:not(.thumbnail-slider) {
    grid-column: 2; grid-row: 1; min-width: 0;
  }
  .product--thumbnail_slider .thumbnail-slider .thumbnail-list,
  .product--thumbnail_slider .thumbnail-slider .thumbnail-list.slider,
  .product--thumbnail_slider .thumbnail-slider .thumbnail-list.slider--tablet-up {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    gap: 8px !important;
    max-height: 640px;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    scroll-snap-type: y mandatory;
    padding: 0 !important;
    margin: 0 !important;
    list-style: none;
    width: 72px !important;
  }
  .product--thumbnail_slider .thumbnail-slider .thumbnail-list,
  .product--thumbnail_slider .thumbnail-slider .thumbnail-list.slider,
  .product--thumbnail_slider .thumbnail-slider .thumbnail-list.slider--tablet-up {
    scrollbar-width: none !important;
    -ms-overflow-style: none;
    width: 72px !important;
  }
  .product--thumbnail_slider .thumbnail-slider .thumbnail-list::-webkit-scrollbar {
    display: none !important; width: 0 !important; height: 0 !important;
  }
  .product--thumbnail_slider .thumbnail-list__item,
  .product--thumbnail_slider .thumbnail-list__item.slider__slide {
    position: relative !important;
    aspect-ratio: 1 / 1 !important;
    width: 72px !important;
    height: 72px !important;
    min-width: 72px !important;
    min-height: 72px !important;
    max-width: 72px !important;
    max-height: 72px !important;
    flex: 0 0 72px !important;
    padding: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    scroll-snap-align: start;
    overflow: hidden !important;
  }
  .product--thumbnail_slider .thumbnail-list__item .thumbnail,
  .product--thumbnail_slider .thumbnail {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    display: block !important;
    overflow: hidden !important;
    border: 1px solid var(--bt-line2) !important;
    box-shadow: none !important;
    background: var(--bt-cream) !important;
    border-radius: 0 !important;
    opacity: 1 !important;
  }
  .product--thumbnail_slider .thumbnail[aria-current] {
    border: 1px solid var(--bt-ink) !important;
    box-shadow: none !important;
  }
  .product--thumbnail_slider .thumbnail img,
  .product--thumbnail_slider .thumbnail-list__item img {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center;
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
  }
}

/* Square main image (desktop + mobile)
   Regression (final-0100): padding-top:100% on BOTH .product__modal-opener
   and .media created an empty beige box with the photo flowing below.
   Use aspect-ratio on the container; zero padding-top; fill with absolute media. */
.product-media-container,
.product__media-item .product-media-container {
  --aspect-ratio: 1 !important;
  --preview-ratio: 1 !important;
  --ratio-percent: 100% !important;
  aspect-ratio: 1 / 1 !important;
  background: var(--bt-cream) !important;
  border-radius: 0;
  width: 100%;
  max-width: 100%;
  position: relative;
  overflow: hidden;
}
.product-media-container.constrain-height,
.product-media-container.constrain-height.media-fit-contain {
  width: 100% !important;
  max-width: 100% !important;
}
/* Kill Dawn padding-top sizing — height comes from aspect-ratio on the container */
.product-media-container .media,
.product-media-container.constrain-height .media,
.product__media-item .media {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  background: var(--bt-cream) !important;
  border-radius: 0;
}
.product-media-container .product__modal-opener,
.product__media-item .product__modal-opener {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  display: block;
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  background: transparent !important;
}
.product-media-container .media,
.product-media-container.constrain-height .media {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
}
.product__media-item img,
.product__media-item .media > img,
.product__main-photos img,
.product-media-container .media img,
.product-media-container .media > img,
.product-media-container .deferred-media__poster img {
  position: absolute !important;
  inset: 0 !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: contain !important;
  object-position: center !important;
}
@media (max-width: 749px) {
  .product__media-wrapper .product-media-container,
  .product__media-wrapper .product-media-container.constrain-height,
  .product__media-wrapper .product-media-container.media-fit-contain,
  .product__media-wrapper .product-media-container.media-fit-cover {
    aspect-ratio: 1 / 1 !important;
    --aspect-ratio: 1 !important;
    --preview-ratio: 1 !important;
    --ratio-percent: 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    background: var(--bt-cream) !important;
    position: relative !important;
    overflow: hidden !important;
  }
  .product__media-wrapper .product-media-container .product__modal-opener,
  .product__media-wrapper .product-media-container .media,
  .product__media-wrapper .product-media-container.constrain-height .media,
  .product__media-wrapper .product-media-container.media-fit-cover .media {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    background: var(--bt-cream) !important;
  }
  .product__media-wrapper .media img,
  .product__media-wrapper .product-media-container .media > img,
  .product__media-wrapper .deferred-media__poster img {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: center !important;
  }
}
.product__media-item .media, .thumbnail { border-radius: 0; }
.thumbnail { border: 1px solid var(--bt-line2); box-shadow: none !important; }
.thumbnail[aria-current] { border: 1px solid var(--bt-ink) !important; box-shadow: none !important; }
.thumbnail:hover { border-color: var(--bt-line); opacity: 1; }
/* Description sizing */
.product__description,
.product .accordion__content,
.product .accordion__content.rte,
.product .rte {
  font: 400 15px/1.6 var(--bt-font) !important; color: var(--bt-ink);
}
.product__description h1, .product__description h2, .product__description h3,
.product .accordion__content h1, .product .accordion__content h2, .product .accordion__content h3,
.product .rte h1, .product .rte h2, .product .rte h3 {
  font-size: 18px !important; line-height: 1.3; font-weight: 600;
}
/* Gallery favorites — real button above zoom hit-target */
:root { --bt-heart: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231a1a1a' stroke-width='1.5'%3E%3Cpath d='M12 21s-6.5-4.35-9.33-7.18A5.5 5.5 0 0 1 12 5.27a5.5 5.5 0 0 1 9.33 8.55C18.5 16.65 12 21 12 21z'/%3E%3C/svg%3E"); }
.product__media-wrapper media-gallery,
media-gallery {
  position: relative;
}
/* Kill old decorative ::after so it cannot confuse filled-state */
.product__media-wrapper media-gallery > slider-component:not(.thumbnail-slider)::after {
  content: none !important;
  display: none !important;
}
/* Isolate media gallery so a high local z-index on the heart cannot escape
   above menu/cart drawers, header, or the zoom modal (those live outside).
   Heart is a direct child of media-gallery (see product-media-gallery.liquid).
   .product__media-toggle::after also uses z-index:2 over the whole slide —
   heart must be > that (20) or the later-in-tree ::after steals the tap. */
.product__media-wrapper,
.product__media-wrapper media-gallery {
  position: relative;
  isolation: isolate;
  z-index: 0;
}
.bt-gallery-fav {
  position: absolute !important;
  top: 12px;
  right: 12px;
  z-index: 20 !important; /* above media-toggle::after (z-index:2); still inside isolate */
  width: 40px;
  height: 40px;
  padding: 0;
  margin: 0;
  border: 1px solid var(--bt-line2);
  border-radius: 50%;
  background: var(--bt-cream);
  color: var(--bt-ink);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  pointer-events: auto !important;
}
.bt-gallery-fav:hover { color: var(--bt-blue); border-color: var(--bt-blue); }
.bt-gallery-fav.is-saved { color: var(--bt-blue); border-color: var(--bt-blue); }
.bt-gallery-fav.is-saved svg { fill: currentColor; stroke: currentColor; }
.bt-gallery-fav svg { display: block; pointer-events: none; }

/* Zoom modal close X — match zoom icon */
.product-media-modal__toggle {
  background: var(--bt-cream) !important;
  background-color: var(--bt-cream) !important;
  border: 1px solid var(--bt-line2) !important;
  border-radius: 50% !important;
  color: var(--bt-ink) !important;
  box-shadow: none !important;
}
.product-media-modal__toggle:hover { color: var(--bt-blue) !important; }

/* Buy box rhythm: lean, tight above the button */
.product__info-container > * + * { margin: var(--bt-s2) 0 0; }
.product__text.caption-with-letter-spacing { font-size: 12px; color: var(--bt-gray); }
/* PDP price */
.product .price .price-item,
.product .price-item--regular,
.product .price__regular .price-item--regular {
  font: 700 20px/1.2 var(--bt-font) !important;
  color: var(--bt-ink) !important;
}
.product__title h1, .product__title .h1 {
  font: 400 28px/1.25 var(--bt-font) !important; font-weight: 400 !important; letter-spacing: 0; margin: 0;
  /* 400 per BloopTrend Bot 8:32pm PT: no weight below 400 anywhere */
}
.bt-badges { display: flex; gap: var(--bt-s2); font: 700 12px/1 var(--bt-font); letter-spacing: .08em; text-transform: uppercase; }
.product .price__badge-sale, .product .price__badge-sold-out {
  background: none !important; border: 0; padding: 0; border-radius: 0; color: var(--bt-ink);
  font: 700 12px/1 var(--bt-font); letter-spacing: .08em; text-transform: uppercase;
}
.product__info-container .price-item { font: 700 18px/1.3 var(--bt-font); color: var(--bt-ink); }
.product__info-container .price--on-sale 
shopify-payment-terms, .product__tax, .product__inventory, .product-form__buttons .shopify-payment-button { display: none !important; }
/* Variant chips — beat Refresh variant_pills_radius (40) + scheme cream bg */
:root, .product {
  --variant-pills-radius: 2px !important;
}
.product-form__input { margin: 0; }
.product-form__input .form__label, .quantity__label { font: 600 12px/1 var(--bt-font); text-transform: uppercase; letter-spacing: .12em; color: var(--bt-ink); margin-bottom: var(--bt-s1); }
.product-form__input--pill input[type='radio'] + label,
.product-form__input--pill input[type='radio'] + label:before,
.product-form__input--pill input[type='radio'] + label:after {
  border-radius: 2px !important;
}
.product-form__input--pill input[type='radio'] + label {
  border: 1px solid var(--bt-line2) !important;
  border-radius: 2px !important;
  background: var(--bt-cream) !important;
  background-color: var(--bt-cream) !important;
  color: var(--bt-ink) !important;
  box-shadow: none !important;
  font: 400 14px/1 var(--bt-font) !important;
  letter-spacing: 0 !important;
  padding: 12px 16px !important;
  margin: 0 8px 8px 0 !important;
}
.product-form__input--pill input[type='radio'] + label:hover {
  border-color: var(--bt-ink) !important;
  color: var(--bt-ink) !important;
}
.product-form__input--pill input[type='radio']:checked + label {
  border: 1px solid var(--bt-ink) !important;
  background: var(--bt-ink) !important;
  background-color: var(--bt-ink) !important;
  color: #fff !important;
  box-shadow: none !important;
}
/* Out of stock: keep strike-through, stay square white chip */
.product-form__input--pill input[type='radio']:disabled + label,
.product-form__input--pill input[type='radio'].disabled + label,
.product-form__input--pill input[type='radio'].visually-disabled + label {
  border: 1px solid var(--bt-line2) !important;
  border-radius: 2px !important;
  background: var(--bt-cream) !important;
  background-color: var(--bt-cream) !important;
  color: var(--bt-ink) !important;
  text-decoration: line-through !important;
  opacity: 0.55;
  box-shadow: none !important;
}
.product-form__input--pill input[type='radio'].disabled:checked + label,
.product-form__input--pill input[type='radio']:disabled:checked + label {
  background: var(--bt-ink) !important;
  background-color: var(--bt-ink) !important;
  color: #fff !important;
  border-radius: 2px !important;
  text-decoration: line-through !important;
}
.product-form__input--swatch .swatch-input__label { border-radius: 2px !important; padding: 2px; }
.product-form__input--swatch .swatch { border-radius: 2px !important; width: 48px; height: 48px; }
.product-form__input--swatch .swatch-input__input:checked + .swatch-input__label { outline: 1px solid var(--bt-ink); outline-offset: 0; }

/* Gallery zoom icon — white circle + 1px var(--bt-line2) (no cream scheme fill) */
.product__media-icon,
.product__modal-opener .product__media-icon,
.thumbnail__badge {
  background: var(--bt-cream) !important;
  background-color: var(--bt-cream) !important;
  border: 1px solid var(--bt-line2) !important;
  border-radius: 50% !important;
  color: var(--bt-ink) !important;
  box-shadow: none !important;
}
.product__media-icon .icon,
.product__media-icon .svg-wrapper,
.product__media-icon svg {
  color: var(--bt-ink) !important;
  fill: none !important;
  stroke: currentColor;
}
/* Thin quantity stepper */
.product-form__quantity .quantity { width: 120px; min-height: 40px; border: 1px solid var(--bt-line); border-radius: 0; }
.product-form__quantity .quantity::before, .product-form__quantity .quantity::after { display: none !important; }
.product-form__quantity .quantity__button { width: 36px; color: var(--bt-ink); }
.product-form__quantity .quantity__input { font: 500 14px var(--bt-font); }
/* Delivery box (custom_liquid .bt-delivery) */
.bt-delivery { border: 1px solid var(--bt-line); padding: var(--bt-s2); font-size: 14px; color: var(--bt-ink); }
.bt-delivery__label { display: block; font: 600 12px/1 var(--bt-font); text-transform: uppercase; letter-spacing: .12em; color: var(--bt-gray); margin-bottom: var(--bt-s1); }
.bt-delivery p { margin: 0; }
/* ADD TO CART 48px + favorites heart beside it */
.product-form__buttons { display: grid; grid-template-columns: minmax(0, 1fr) 48px; column-gap: var(--bt-s1); align-items: stretch; max-width: none; }
.product-form__buttons::after { display: none !important; content: none !important; }
.product-form__submit.button { grid-column: 1; min-height: 48px; height: 48px; margin: 0; font: 600 12px/1 var(--bt-font); letter-spacing: .14em; text-transform: uppercase; background: var(--bt-ink); color: var(--bt-white); border-radius: 0; }
.bt-pdp-fav {
  grid-column: 2; grid-row: 1;
  width: 48px; height: 48px; min-width: 48px; padding: 0;
  border: 1px solid var(--bt-ink); border-radius: 0; background: var(--bt-cream); color: var(--bt-ink);
  display: inline-flex; align-items: center; justify-content: center; cursor: pointer;
}
.bt-pdp-fav:hover { color: var(--bt-blue); border-color: var(--bt-blue); }
.bt-pdp-fav.is-saved { color: var(--bt-blue); }
.bt-pdp-fav.is-saved svg { fill: currentColor; stroke: currentColor; }
.bt-pdp-fav svg { display: block; }
/* Hairline accordions — single +/- on the right (no Refresh caret) */
.product .accordion, .product .product__accordion, .product .bt-acc {
  margin: 0; border-top: 1px solid var(--bt-line); border-bottom: 0;
}
.product .product__accordion:last-of-type, .product .bt-acc:last-of-type {
  border-bottom: 1px solid var(--bt-line);
}
.product .accordion summary,
.product .product__accordion summary,
.product .bt-acc summary {
  display: flex !important;
  align-items: center !important;
  gap: 12px;
  padding: 18px 40px 18px 0 !important; /* right pad clears +/- */
  position: relative;
  cursor: pointer;
  list-style: none;
}
.product .accordion summary::-webkit-details-marker,
.product .bt-acc summary::-webkit-details-marker { display: none; }
.product .accordion summary .svg-wrapper,
.product .accordion summary .icon-caret,
.product .accordion summary .icon-accordion,
.product .accordion summary > svg,
.product .product__accordion summary .svg-wrapper,
.product .bt-acc summary .svg-wrapper,
.product .bt-acc summary .icon-caret {
  display: none !important;
  width: 0 !important; height: 0 !important; overflow: hidden !important;
}
.product .accordion .summary__title,
.product .bt-acc .summary__title {
  flex: 1 1 auto; min-width: 0; padding-right: 8px; margin: 0;
}
.product .accordion__title,
.product .bt-acc .accordion__title,
.product .accordion .h4 {
  margin: 0 !important;
  font: 500 16px/1.3 var(--bt-font) !important;
  letter-spacing: 0 !important;
  max-width: none !important;
}
.product .accordion summary::after,
.product .product__accordion summary::after,
.product .bt-acc summary::after {
  content: '+' !important;
  position: absolute !important;
  right: 0 !important;
  top: 50% !important;
  transform: translateY(-50%);
  margin: 0 !important;
  width: 28px;
  text-align: center;
  font: 400 22px/1 var(--bt-font) !important;
  color: var(--bt-ink);
  pointer-events: none;
}
.product .accordion details[open] > summary::after,
.product .product__accordion details[open] > summary::after,
.product .bt-acc details[open] > summary::after {
  content: '\2212' !important;
}
.product .accordion__content,
.product .accordion__content.rte,
.product .bt-acc .accordion__content {
  padding: 0 0 18px;
  font: 400 15px/1.6 var(--bt-font) !important;
  color: var(--bt-ink) !important;
}

.bt-mini-label { display: block; font: 600 12px/1 var(--bt-font); text-transform: uppercase; letter-spacing: .12em; color: var(--bt-gray); margin: 0 0 var(--bt-s1); }
/* Complete the Space: compact rows with ADD (Dawn complementary block) */
.complementary-products { margin-top: var(--bt-s4); }
.complementary-products__container .summary__title, .complementary-products .h4 { font: 600 12px/1 var(--bt-font); text-transform: uppercase; letter-spacing: .12em; }
.complementary-slide .card--horizontal { border-top: 1px solid var(--bt-line); padding: var(--bt-s2) 0; border-radius: 0; }
.complementary-slide .card--horizontal .card__inner { width: 72px; flex: 0 0 72px; }
.complementary-slide .card__heading { font-size: 14px; }
.card--horizontal__quick-add { width: auto !important; min-height: 32px !important; height: 32px; padding: 0 var(--bt-s2) !important; background: var(--bt-ink) !important; color: var(--bt-white) !important; border: 0 !important; }
.card--horizontal__quick-add .icon-wrap { display: none; }
.card--horizontal__quick-add::after { content: 'ADD'; font: 600 12px/1 var(--bt-font); letter-spacing: .12em; position: static; box-shadow: none; }
/* Similar Items: force visible (was scroll-trigger opacity 0.01 on desktop
   screenshots) + 4-up grid; swipe on mobile only */
.related-products,
.related-products.scroll-trigger,
.related-products.scroll-trigger.animate--slide-in,
.shopify-section:has(.related-products) .scroll-trigger {
  opacity: 1 !important;
  transform: none !important;
  animation: none !important;
}
.related-products { padding-top: var(--bt-s8); padding-bottom: var(--bt-s6); }
.related-products__heading { font: 600 20px/1.3 var(--bt-font); text-align: left; margin-bottom: var(--bt-s3); }
@media (min-width: 750px) {
  .related-products .product-grid.grid,
  .related-products ul.product-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 24px !important;
    overflow: visible !important;
  }
  .related-products .product-grid .grid__item {
    width: auto !important; max-width: none !important; flex: none !important;
  }
}
@media (max-width: 749px) {
  .related-products .product-grid.grid { display: flex !important; overflow-x: auto; scroll-snap-type: x mandatory; gap: var(--bt-s2); }
  .related-products .product-grid .grid__item { flex: 0 0 70%; scroll-snap-align: start; }
}
/* Recently viewed cards — ensure media shows */
.bt-recently-viewed .card__media,
.bt-recently-viewed .media {
  aspect-ratio: 1 / 1;
  background: var(--bt-cream);
  position: relative;
  overflow: hidden;
}
.bt-recently-viewed .media img {
  position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover;
}

/* Recently Viewed (pdp/bt-recently-viewed.liquid) reuses the Similar Items
   (.related-products) card styles above; stays hidden until JS renders cards. */
.bt-recently-viewed[hidden] { display: none !important; }

/* ---------- 12. Footer: off-white, 4 link cols + signup right ---------- */
.footer { background: var(--bt-offwhite) !important; color: var(--bt-ink); border-top: 0; }
.footer__content-top { padding-top: 64px; padding-bottom: var(--bt-s6); }
@media (min-width: 990px) {
  .footer__content-top {
    display: grid; grid-template-columns: minmax(0, 2fr) minmax(320px, 1fr); column-gap: var(--bt-s8); align-items: start;
  }
  .footer__blocks-wrapper.grid { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--bt-s4); margin: 0; }
  .footer__blocks-wrapper .grid__item { width: auto !important; max-width: none !important; padding: 0; }
  .footer-block--newsletter { margin-top: 0 !important; display: block; }
}
.footer-block__heading { font: 600 13px/1.3 var(--bt-font); text-transform: uppercase; letter-spacing: .08em; margin: 0 0 var(--bt-s2); color: var(--bt-ink); }
.footer-block__details-content .list-menu__item--link,
.footer-block__details-content a {
  font-size: 14px; color: var(--bt-ink); text-decoration: none; padding: 4px 0; line-height: 1.5;
}
.footer-block__details-content .list-menu__item--link:hover,
.footer-block__details-content a:hover { color: var(--bt-blue); text-decoration: underline; text-underline-offset: 3px; }
.footer-block__newsletter .footer-block__heading { font: 600 20px/1.3 var(--bt-font); text-transform: none; letter-spacing: 0; }
.newsletter-form { max-width: 100%; }
.newsletter-form__field-wrapper { max-width: none; }
.newsletter-form__field-wrapper .field { display: flex; gap: 0; }
.newsletter-form__field-wrapper .field::before, .newsletter-form__field-wrapper .field::after { display: none; }
.newsletter-form__field-wrapper .field__input {
  height: 48px; border: 1px solid var(--bt-ink); border-right: 0; border-radius: 0; background: var(--bt-white);
  font: 400 14px var(--bt-font); padding: 0 var(--bt-s2); box-shadow: none;
}
.newsletter-form__field-wrapper .field__input:focus { outline: 2px solid var(--bt-blue); outline-offset: -2px; }
/* Dawn's button is an arrow icon inside the field; restyled to a black
   SIGN UP NOW button. Label text needs the markup change in the notes. */
.newsletter-form__button {
  position: static !important; width: auto !important; height: 48px !important; padding: 0 var(--bt-s3);
  background: var(--bt-ink); color: var(--bt-white); border-radius: 0;
  font: 600 12px var(--bt-font); letter-spacing: .12em; text-transform: uppercase; white-space: nowrap;
}
.newsletter-form__button:hover { background: #000; outline: 2px solid var(--bt-blue); outline-offset: -2px; }
.newsletter-form__message { font-size: 12px; }
/* Round social icons */
.list-social, .footer__list-social { justify-content: flex-start !important; gap: var(--bt-s1); margin-top: var(--bt-s3); }
.list-social__link {
  width: 40px; height: 40px; padding: 0 !important; border-radius: 50%;
  border: 1px solid var(--bt-ink); justify-content: center; color: var(--bt-ink) !important;
}
.list-social__link:hover { color: var(--bt-blue) !important; border-color: var(--bt-blue); }
.list-social__link:hover .icon { transform: none; }
.list-social__item .icon, .list-social__link svg { width: 18px; height: 18px; }
/* Bottom bar: hairline + copyright + Privacy/Terms */
.footer__content-bottom { border-top: 1px solid var(--bt-line) !important; padding: var(--bt-s3) 0; margin: 0; }
.footer__copyright, .copyright__content { font-size: 12px; color: var(--bt-gray); text-align: left; }
.footer__copyright .policies li { font-size: 12px; }
.footer__copyright a { color: var(--bt-gray); text-decoration: none; }
.footer__copyright a:hover { color: var(--bt-blue); }
.footer__payment, .footer__follow-on-shop { display: none; }

/* ---------- 13. Cart drawer --------------------------------------------- */
.cart-drawer .drawer__inner { width: 420px; max-width: 100vw; border-radius: 0; background: var(--bt-white); border-left: 1px solid var(--bt-line); }
.cart-drawer .drawer__heading { font: 600 20px var(--bt-font); }
.cart-drawer .cart-item__name { font: 500 14px/1.4 var(--bt-font); color: var(--bt-ink); text-decoration: none; }
.cart-drawer .cart-item__image { background: var(--bt-white); object-fit: contain; }
.cart-drawer .totals__total, .cart-drawer .totals__total-value { font: 700 16px var(--bt-font); }
.cart-drawer .cart__checkout-button { width: 100%; min-height: 52px; }
.cart-drawer .drawer__footer { border-top: 1px solid var(--bt-line); }
.cart-remove-button .button { background: none; color: var(--bt-gray); min-height: 0; }

/* ---------- 14. Homepage helpers (hero, tiles, trust band) ------------- */
/* Dawn banner--medium = 56rem ≈ 560px with html 62.5%; lock it explicitly */
.banner--medium:not(.banner--adapt) { min-height: 560px; }
@media (max-width: 749px) {
  .banner--medium:not(.banner--adapt) { min-height: 420px; }
}
.banner__box .banner__heading { font-size: 48px; font-weight: 400; line-height: 1.1; letter-spacing: 0; max-width: 14ch; }
@media (max-width: 749px) { .banner__box .banner__heading { font-size: 32px; } }
.banner__box .banner__text { font-size: 16px; color: inherit; max-width: 36ch; }
.banner__box .button {
  background: var(--bt-ink) !important; color: var(--bt-white) !important;
  border-radius: 0 !important; min-height: 48px; padding: 0 28px;
  font: 500 12px/1 var(--bt-font); letter-spacing: .12em; text-transform: uppercase;
}
.banner__box .button:hover { background: var(--bt-blue) !important; }

.bt-band { background: var(--bt-offwhite); padding: var(--bt-s6) 0; }
.bt-trust { background: var(--bt-offwhite); }
.bt-trust__list {
  list-style: none; margin: 0; padding: var(--bt-s6) 0;
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--bt-s3);
  text-align: center;
}
.bt-trust__item {
  font: 500 14px/1.4 var(--bt-font); color: var(--bt-ink);
  padding: var(--bt-s2); border: 0;
}
@media (max-width: 749px) {
  .bt-trust__list { grid-template-columns: 1fr; gap: var(--bt-s2); padding: var(--bt-s4) 0; }
}

/* Shop by space: square tiles */
.collection-list .card__media, .collection-list .media { aspect-ratio: 1 / 1; background: var(--bt-offwhite); }
.collection-list .card__heading { font-size: 16px; text-align: center; font-weight: 500; }
.collection-list .collection-list-title, .collection-list .title { font-size: 20px; font-weight: 600; }
/* Empty collection tile: soft off-white instead of blank / beauty stock */
.collection-list__item--no-media .card__inner {
  background: var(--bt-offwhite) !important; min-height: 0;
}
.collection-list__item--no-media .card__content { background: transparent; }


/* ---------- 15. Guarantee trio + PDP polish ------------------------------- */
.product__title, .product__title * { font-weight: 400 !important; letter-spacing: 0; }
.bt-guarantee { background: var(--bt-offwhite); padding: var(--bt-s6) 0; }
.bt-guarantee__grid {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--bt-s4);
}
.bt-guarantee__title { font: 600 16px/1.3 var(--bt-font); color: var(--bt-ink); margin: 0 0 var(--bt-s1); }
.bt-guarantee__text { font: 400 14px/1.5 var(--bt-font); color: var(--bt-gray); margin: 0; }
@media (max-width: 749px) {
  .bt-guarantee__grid { grid-template-columns: 1fr; gap: var(--bt-s3); }
}
.bt-delivery {
  border: 1px solid var(--bt-line); padding: var(--bt-s2); margin: var(--bt-s2) 0;
}
.bt-delivery__label {
  display: block; font: 600 11px/1 var(--bt-font); letter-spacing: .12em;
  text-transform: uppercase; color: var(--bt-gray); margin-bottom: 6px;
}
.bt-delivery p { margin: 0; font: 400 14px/1.4 var(--bt-font); color: var(--bt-ink); }
.bt-badges { display: flex; gap: 12px; margin: 0 0 8px; }
.bt-badges span { font: 700 12px/1 var(--bt-font); color: var(--bt-ink); letter-spacing: .04em; }
.product-form__submit {
  background: var(--bt-ink) !important; color: var(--bt-white) !important;
  border-radius: 0 !important; min-height: 48px !important;
  font: 500 12px/1 var(--bt-font) !important; letter-spacing: .12em; text-transform: uppercase;
}
.shopify-payment-button, shopify-payment-terms { display: none !important; }


/* ---------- 16. Footer (Williams Sonoma) -------------------------------- */
.footer, .footer__content-top, .footer__content-bottom {
  background: var(--bt-offwhite) !important;
  color: var(--bt-ink);
}
.footer-block__heading { font: 600 13px/1.3 var(--bt-font); letter-spacing: .08em; text-transform: uppercase; color: var(--bt-ink); }
.footer-block__details-content ul { list-style: none; margin: 0; padding: 0; }
.footer-block__details-content ul li { margin: 0 0 8px; }
.footer-block__details-content a {
  color: var(--bt-ink); text-decoration: none; font: 400 14px/1.4 var(--bt-font);
}
.footer-block__details-content a:hover { color: var(--bt-blue); }
.footer-block--newsletter .footer-block__heading { text-transform: none; letter-spacing: 0; font-size: 16px; font-weight: 500; max-width: 28ch; }
.bt-newsletter-submit {
  background: var(--bt-ink) !important; color: var(--bt-white) !important;
  border-radius: 0 !important; min-width: 140px; height: 48px !important;
  font: 500 12px/1 var(--bt-font) !important; letter-spacing: .12em;
}
.bt-newsletter-label { color: inherit; }
.newsletter-form__field-wrapper .field__input {
  border-radius: 0 !important; border: 1px solid var(--bt-ink); height: 48px;
}
.footer__list-social .list-social__link {
  width: 40px; height: 40px; border-radius: 50%; border: 1px solid var(--bt-line);
  display: inline-flex; align-items: center; justify-content: center;
}
.footer__list-social .icon { width: 18px; height: 18px; }
.bt-copyright, .bt-footer-policies a { color: var(--bt-gray); font-size: 12px; }
.bt-footer-policies { display: inline-flex; gap: 16px; list-style: none; margin: 0 0 0 16px; padding: 0; }
.footer__copyright { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; border-top: 1px solid var(--bt-line); padding-top: var(--bt-s3); margin-top: var(--bt-s3); }


/* ==========================================================================
   Design review 2026-10-04 11:22pm PT
   ========================================================================== */

/* ---------- Review #1: desktop header from 990px ------------------------- */
@media (min-width: 990px) {
  header-drawer { display: none !important; }
  .header__inline-menu { display: block !important; }
  .bt-search.small-hide.medium-hide,
  .bt-search { display: block !important; }
  .header__icons .large-up-hide { display: none !important; }
  .header,
  .header--top-center {
    grid-template-areas: 'left-icons heading icons' 'navigation navigation navigation' !important;
    grid-template-columns: 1fr auto 1fr !important;
    grid-template-rows: 88px 48px !important;
  }
}

/* ---------- Review #1b + prior: mobile/tablet header (390–989) ----------- */
@media (max-width: 989px) {
  .header.header--mobile-left,
  .header {
    position: relative;
    display: grid !important;
    grid-template-columns: 104px 1fr 104px !important;
    grid-template-areas: 'left-icons heading icons' !important;
    min-height: 64px;
    align-items: center;
    padding-left: 8px !important;
    padding-right: 8px !important;
  }
  /* Center logo without collapsing homepage <h1> (index wraps link in h1) */
  .header > .header__heading,
  .header > h1.header__heading,
  .header > .header__heading-link {
    position: absolute !important;
    left: 50% !important; top: 50% !important;
    transform: translate(-50%, -50%) !important;
    grid-area: unset !important;
    max-width: calc(100% - 220px);
    z-index: 5;
    margin: 0 !important;
    padding: 0 !important;
    pointer-events: auto;
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: auto;
    height: auto;
  }
  /* Inner link on homepage must stay in-flow so h1 doesn't collapse to 0 */
  .header__heading .header__heading-link,
  h1.header__heading .header__heading-link {
    position: static !important;
    left: auto !important; top: auto !important;
    transform: none !important;
    max-width: 100%;
    display: flex !important;
    align-items: center;
    margin: 0 !important;
    padding: 0 !important;
  }
  .header__heading-logo-wrapper {
    display: block !important;
    line-height: 0;
  }
  .header__heading-logo {
    height: 28px !important; width: auto !important; max-width: 100%;
    display: block !important; opacity: 1 !important; visibility: visible !important;
  }
  /* Keep header above homepage hero */
  .section-header,
  .shopify-section-group-header-group,
  .header-wrapper {
    z-index: 10 !important;
    position: relative;
  }
  .shopify-section-header-sticky {
    z-index: 10 !important;
  }
  /* Left cluster: hamburger + search share left-icons area */
  .header > header-drawer,
  header-drawer {
    grid-area: left-icons; justify-self: start;
    display: flex; align-items: center; width: 44px; z-index: 3;
  }
  .bt-mobile-search {
    grid-area: left-icons; justify-self: start;
    margin-left: 44px; display: flex; align-items: center; z-index: 3;
  }
  .header__icons {
    grid-area: icons; justify-self: end; gap: 8px;
    display: flex; align-items: center;
  }
  /* Hide close X unless search modal is open */
  .header__search .header__icon-close,
  .header__search .svg-wrapper.header__icon-close,
  .bt-mobile-search .header__icon-close,
  .bt-mobile-search .svg-wrapper.header__icon-close {
    display: none !important;
  }
  details[open] > .header__icon--summary .header__icon-close,
  details[open].menu-opening .header__icon-close,
  .header__search details[open] .header__icon-close,
  .header__search details[open] .svg-wrapper.header__icon-close,
  .bt-mobile-search details[open] .header__icon-close,
  .bt-mobile-search details[open] .svg-wrapper.header__icon-close {
    display: flex !important;
  }
  .header__inline-menu { display: none !important; }
  .bt-search { display: none !important; }
  .bt-icon-label,
  .header .header__icons .header__icon--account::after,
  .header .header__icons shopify-account.header__icon--account::after,
  .header .header__icons .header__icon--cart::after { display: none !important; content: none !important; }
  /* Compact Favorites heart beside cart (no label) — drawer also has Favorites */
  .header__icons .bt-fav,
  .header__icons a.bt-fav.header__icon {
    display: flex !important;
    flex-direction: column !important;
    min-width: 40px !important;
    gap: 0 !important;
  }
  .header__icons .bt-fav .bt-icon-label { display: none !important; }
  .bt-utility__inner { justify-content: center; }
}
/* Extra: never show summary close icon when details closed (all widths) */
.header__search details:not([open]) .header__icon-close,
.header__search details:not([open]) .svg-wrapper.header__icon-close {
  display: none !important;
}


/* #2 Hero — Williams Sonoma-style split on desktop; stacked on mobile
   Root cause of missing wash: overlay gradient on a mostly-white cabinet photo
   was effectively invisible (and absolute full-bleed media ignored object-position
   intent for the text column). Desktop now uses a real solid panel — no text
   over the photo.
*/
.section-bt-hero {
  padding: 0 !important;
  margin: 0 !important;
}
.section-bt-hero > .bt-hero,
.bt-hero {
  position: relative;
  width: 100%;
  margin: 0;
  padding: 0;
  background: var(--bt-cream); /* soft band / footer off-white */
  overflow: hidden;
}

/* Desktop / tablet landscape: solid text panel ~40% | image ~60% */
@media (min-width: 990px) {
  .section-bt-hero > .bt-hero,
  .bt-hero {
    display: grid !important;
    grid-template-columns: minmax(300px, 40%) minmax(0, 60%);
    grid-template-areas: 'panel media';
    align-items: stretch;
    min-height: 560px;
    max-height: none;
  }
  .bt-hero__panel {
    grid-area: panel;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    background: var(--bt-cream);
    padding: 56px 40px 56px 40px;
    box-sizing: border-box;
    z-index: 2;
    min-height: 560px;
  }
  .bt-hero__text {
    max-width: 420px;
    width: 100%;
    margin: 0;
  }
  .bt-hero__media {
    grid-area: media;
    position: relative !important;
    inset: auto !important;
    width: 100%;
    height: 100%;
    min-height: 560px;
    z-index: 1;
    overflow: hidden;
  }
  .bt-hero__img {
    width: 100% !important;
    height: 100% !important;
    min-height: 560px;
    object-fit: cover !important;
    object-position: 70% center !important;
    display: block;
  }
  /* legacy overlay (removed from markup) — keep hidden if cached HTML remains */
  .bt-hero__shade,
  .bt-hero__content { display: none !important; }
}

.bt-hero__eyebrow {
  margin: 0 0 12px; font: 500 12px/1 var(--bt-font);
  letter-spacing: .1em; text-transform: uppercase; color: var(--bt-ink);
}
.bt-hero__heading {
  margin: 0 0 16px; font: 500 44px/1.1 var(--bt-font);
  color: var(--bt-ink); letter-spacing: 0; max-width: 12em;
}
.bt-hero__sub { margin: 0 0 24px; font: 400 16px/1.5 var(--bt-font); color: var(--bt-ink); max-width: 36ch; }
.bt-hero__btn {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 48px; padding: 0 28px;
  background: var(--bt-ink); color: #fff; text-decoration: none;
  font: 500 12px/1 var(--bt-font); letter-spacing: .12em; text-transform: uppercase;
  border-radius: 0;
}
.bt-hero__btn:hover { background: var(--bt-blue); color: #fff; }

/* Mobile / tablet: image on top, text below on plain background (unchanged UX) */
@media (max-width: 989px) {
  .section-bt-hero > .bt-hero,
  .bt-hero {
    display: flex !important;
    flex-direction: column;
    min-height: 0;
    background: var(--bt-cream);
  }
  .bt-hero__media {
    position: relative !important;
    inset: auto !important;
    order: 1;
    width: 100%;
    height: 280px;
    min-height: 280px;
    overflow: hidden;
  }
  .bt-hero__img {
    width: 100%; height: 100%;
    object-fit: cover;
    object-position: 70% center;
    display: block;
  }
  .bt-hero__panel {
    order: 2;
    background: var(--bt-cream);
    padding: 28px var(--bt-pad) 40px;
    box-sizing: border-box;
  }
  .bt-hero__text { max-width: 100%; margin: 0; }
  .bt-hero__heading { font-size: 30px; max-width: none; }
  .bt-hero__sub { max-width: none; }
  .bt-hero__shade,
  .bt-hero__content { display: none !important; }
}

/* #3 Shop by space — image tiles */
.bt-space__heading { font: 600 28px/1.2 var(--bt-font); margin: 0 0 var(--bt-s4); color: var(--bt-ink); text-align: center; }
.bt-space__grid {
  list-style: none; margin: 0; padding: 0;
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px;
}
.bt-space__card { display: block; text-decoration: none; color: var(--bt-ink); text-align: center; }
.bt-space__media {
  aspect-ratio: 1 / 1; background: var(--bt-offwhite); overflow: hidden; margin-bottom: 12px;
}
.bt-space__img { width: 100%; height: 100%; object-fit: cover; display: block; }
.bt-space__placeholder { display: block; width: 100%; height: 100%; background: var(--bt-offwhite); }
.bt-space__name { display: block; font: 500 16px/1.3 var(--bt-font); margin-bottom: 4px; }
.bt-space__shop {
  display: inline-block; font: 400 13px/1.3 var(--bt-font); text-decoration: underline; text-underline-offset: 3px; color: var(--bt-ink);
}
.bt-space__card:hover .bt-space__shop { color: var(--bt-blue); }
@media (max-width: 989px) {
  .bt-space__grid {
    display: flex; overflow-x: auto; scroll-snap-type: x mandatory;
    gap: 24px; padding-bottom: 10px; -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
    scrollbar-color: var(--bt-line2) #F0F0F0;
  }
  .bt-space__grid::-webkit-scrollbar { height: 3px; }
  .bt-space__grid::-webkit-scrollbar-track { background: #F0F0F0; }
  .bt-space__grid::-webkit-scrollbar-thumb { background: var(--bt-line2); border-radius: 2px; }
  .bt-space__item { flex: 0 0 80vw; max-width: 80vw; scroll-snap-align: start; }
}

/* #4 Editorial split */
.bt-editorial { background: var(--bt-offwhite); padding: 80px 0; }
.bt-editorial__grid {
  display: grid; grid-template-columns: 3fr 2fr; gap: 48px; align-items: center;
}
.bt-editorial__media { aspect-ratio: 1 / 1; overflow: hidden; background: var(--bt-cream); }
.bt-editorial__img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 45%; display: block; }

.bt-editorial__heading { margin: 0 0 16px; color: var(--bt-ink); }
.bt-editorial__text p { font: 400 16px/1.5 var(--bt-font); color: var(--bt-ink); margin: 0 0 12px; max-width: 36ch; }
.bt-editorial__link {
  display: inline-block; margin-top: 12px; font: 500 14px/1.3 var(--bt-font);
  color: var(--bt-ink); text-decoration: underline; text-underline-offset: 3px;
}
.bt-editorial__link:hover { color: var(--bt-blue); }
@media (max-width: 989px) {
  .bt-editorial { padding: 56px 0; }
  .bt-editorial__grid { grid-template-columns: 1fr; gap: 24px; }
}

/* #5 Trust bar */
.bt-trust-bar { background: var(--bt-offwhite); padding: 64px 0; }
.bt-trust-bar__list {
  list-style: none; margin: 0; padding: 0;
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px;
}
.bt-trust-bar__item {
  display: flex; flex-direction: column; align-items: center; justify-content: flex-start;
  gap: 8px; text-align: center;
}
.bt-trust-bar__icon { flex: 0 0 auto; color: var(--bt-ink); margin: 0; line-height: 0; }
.bt-trust-bar__title { font: 500 16px/1.3 var(--bt-font); margin: 0 0 4px; color: var(--bt-ink); }
.bt-trust-bar__text { font: 400 14px/1.4 var(--bt-font); margin: 0; color: var(--bt-gray); }
@media (max-width: 749px) {
  .bt-trust-bar { padding: 40px 0; }
  .bt-trust-bar__list { grid-template-columns: 1fr; gap: 20px; }
}

/* #6 Email band */
.bt-email { background: var(--bt-cream); border-top: 1px solid var(--bt-line); padding: 48px 0; }
.bt-email__inner {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 20px;
}
.bt-email__heading { font: 500 20px/1.3 var(--bt-font); margin: 0; max-width: 28ch; color: var(--bt-ink); }
.bt-email__form { display: flex; flex-wrap: wrap; gap: 0; flex: 1 1 320px; max-width: 520px; }
.bt-email__input {
  flex: 1 1 auto; min-width: 180px; height: 48px; padding: 0 16px;
  border: 1px solid var(--bt-ink); border-right: 0; border-radius: 0;
  font: 400 14px/48px var(--bt-font); color: var(--bt-ink);
}
.bt-email__btn {
  height: 48px; padding: 0 24px; border: 0; border-radius: 0; cursor: pointer;
  background: var(--bt-ink); color: #fff;
  font: 500 12px/1 var(--bt-font); letter-spacing: .12em; text-transform: uppercase;
}
.bt-email__btn:hover { background: var(--bt-blue); }
@media (max-width: 749px) {
  .bt-email__form { max-width: none; width: 100%; }
  .bt-email__input { border-right: 1px solid var(--bt-ink); width: 100%; }
  .bt-email__btn { width: 100%; }
}

/* #7 System spacing */
.section + .section, .shopify-section + .shopify-section { /* keep Dawn defaults; our sections set own pad */ }
.page-width { max-width: 1440px; }
@media (min-width: 990px) {
  :root { --bt-section-y: 80px; }
}
@media (max-width: 989px) {
  :root { --bt-section-y: 56px; }
}

/* #8 Collection empty + cards */
/* #product-grid is a 4-col grid elsewhere — empty state must NOT use that */
.collection--empty,
.bt-collection-empty,
#product-grid.collection--empty {
  display: block !important;
  grid-template-columns: none !important;
  grid-column: 1 / -1 !important;
  width: 100% !important;
  max-width: none !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 64px 40px;
  text-align: center;
  box-sizing: border-box;
}
.product-grid-container:has(.collection--empty),
.product-grid-container:has(.bt-collection-empty),
.collection:has(.bt-collection-empty),
#ProductGridContainer:has(.collection--empty) {
  width: 100% !important;
  max-width: none !important;
  grid-column: 1 / -1 !important;
  display: block !important;
}
.facets-layout-list:has(.collection--empty),
.product-grid-container .collection--empty {
  width: 100%;
}
.bt-empty-wrap {
  width: 100%; max-width: 560px; margin: 0 auto;
  text-align: center; box-sizing: border-box;
}
.bt-empty { text-align: center; width: 100%; margin: 0 auto; }
.bt-empty__title { font: 500 20px/1.3 var(--bt-font); margin: 0 0 24px; color: var(--bt-ink); }
.bt-empty__links {
  display: grid; grid-template-columns: 1fr 1fr; gap: 12px;
  max-width: 480px; width: 100%; margin: 0 auto;
}
.bt-empty__btn {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 44px; padding: 0 16px; width: 100%;
  border: 1px solid var(--bt-ink); color: var(--bt-ink); background: var(--bt-cream);
  text-decoration: none; font: 500 14px/1 var(--bt-font); border-radius: 0;
  box-sizing: border-box;
}
.bt-empty__btn:hover { background: var(--bt-ink); color: #fff; }
@media (max-width: 749px) {
  .collection--empty, .bt-collection-empty { padding: 48px 20px; }
  .bt-empty__links { grid-template-columns: 1fr 1fr; gap: 8px; }
  .bt-empty__btn { font-size: 13px; letter-spacing: 0.01em; padding: 0 10px; }
}
@media (max-width: 420px) {
  .bt-empty__links { grid-template-columns: 1fr; gap: 10px; max-width: 280px; }
  .bt-empty__btn { font-size: 14px; letter-spacing: 0; }
}
.bt-collection-intro { font: 400 14px/1.5 var(--bt-font); color: var(--bt-gray); margin: 0 0 8px; max-width: 42ch; }
.card__heading, .card__heading a { font: 400 15px/1.35 var(--bt-font) !important; }
.card-information 
/* second image on hover */
@media (hover: hover) and (min-width: 990px) {
  .card .media.media--hover-effect > img + img { opacity: 0; }
  .card-wrapper:hover .media.media--hover-effect > img:first-child:not(:only-child) { opacity: 0; }
  .card-wrapper:hover .media.media--hover-effect > img + img { opacity: 1; }
}


/* Pages */
.bt-page { max-width: 720px; margin: 0 auto; padding: 0 var(--bt-pad) 48px; }
.bt-page h1, .main-page-title { font: 500 32px/1.2 var(--bt-font); color: var(--bt-ink); }
.bt-page h2 { font: 600 20px/1.3 var(--bt-font); margin-top: 32px; }
.bt-page p, .bt-page li { font: 400 16px/1.6 var(--bt-font); color: var(--bt-ink); }


.bt-contact-form-wrap { margin-top: 32px; }
.bt-contact-form .title { margin-bottom: 16px; }
.bt-contact-form .button {
  background: var(--bt-ink) !important; color: #fff !important; border-radius: 0 !important;
  min-height: 48px; letter-spacing: .08em; text-transform: uppercase; font-size: 12px;
}



/* ---------- Footer always visible (no scroll-reveal hide) ----------------
   Root cause: Refresh adds scroll-trigger animate--slide-in when
   settings.animations_reveal_on_scroll is true. base.css sets
   .scroll-trigger.animate--slide-in { opacity: 0.01 } until JS marks it
   in-view. Full-page screenshots never fire IntersectionObserver, so the
   footer looked blank (off-white with invisible copy; social icons barely
   peeked through). Force visible without JS.
*/
.footer .scroll-trigger,
.footer .scroll-trigger.animate--slide-in,
.footer .scroll-trigger.animate--fade-in,
.footer__blocks-wrapper.scroll-trigger,
.footer-block.scroll-trigger,
.footer-block--newsletter.scroll-trigger,
.footer__content-bottom.scroll-trigger,
.shopify-section-group-footer-group .scroll-trigger {
  opacity: 1 !important;
  transform: none !important;
  animation: none !important;
  transition: none !important;
}
.footer,
.footer.color-scheme-1,
.footer.color-scheme-2,
.footer.color-scheme-3,
.footer[class*="color-"] {
  background: var(--bt-cream) !important;
  color: var(--bt-ink) !important;
}
.footer .footer-block__heading,
.footer .footer-block__details-content,
.footer .footer-block__details-content a,
.footer .footer-block__details-content p,
.footer .footer-block__details-content li {
  color: var(--bt-ink) !important;
  opacity: 1 !important;
}
.footer .copyright__content,
.footer .footer__copyright,
.footer .bt-copyright {
  color: #6B6B6B !important;
  opacity: 1 !important;
}
/* When newsletter is off, let the 4 link columns use the full top width */
@media (min-width: 990px) {
  .footer__content-top:not(:has(.footer-block--newsletter)) {
    display: block !important;
  }
  .footer__content-top:not(:has(.footer-block--newsletter)) .footer__blocks-wrapper.grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 24px;
    width: 100%;
  }
}


/* Thin light-grey horizontal sliders (Shop by space + any other) */
.bt-space__grid,
.slider.slider--tablet,
.slider.slider--mobile,
.product-grid.slider,
.collection .slider {
  scrollbar-width: thin;
  scrollbar-color: var(--bt-line2) #F0F0F0;
}
.bt-space__grid::-webkit-scrollbar,
.slider.slider--tablet::-webkit-scrollbar,
.slider.slider--mobile::-webkit-scrollbar,
.product-grid.slider::-webkit-scrollbar,
.collection .slider::-webkit-scrollbar {
  height: 3px;
}
.bt-space__grid::-webkit-scrollbar-track,
.slider.slider--tablet::-webkit-scrollbar-track,
.slider.slider--mobile::-webkit-scrollbar-track,
.product-grid.slider::-webkit-scrollbar-track,
.collection .slider::-webkit-scrollbar-track {
  background: #F0F0F0;
}
.bt-space__grid::-webkit-scrollbar-thumb,
.slider.slider--tablet::-webkit-scrollbar-thumb,
.slider.slider--mobile::-webkit-scrollbar-thumb,
.product-grid.slider::-webkit-scrollbar-thumb,
.collection .slider::-webkit-scrollbar-thumb {
  background: var(--bt-line2);
  border-radius: 2px;
}


/* ---------- Cart drawer (spec s6) --------------------------------------- */
cart-drawer.drawer,
.cart-drawer {
  font-family: var(--bt-font);
}
.cart-drawer .drawer__inner,
cart-drawer .drawer__inner {
  width: min(420px, 100vw) !important;
  max-width: 100vw;
  background: var(--bt-cream) !important;
  border-radius: 0 !important;
  border-left: 1px solid var(--bt-line2) !important;
  box-shadow: none;
  font-family: var(--bt-font);
  color: var(--bt-ink);
}
.cart-drawer .drawer__header {
  border-bottom: 1px solid var(--bt-line2);
  padding: 16px 20px;
}
.cart-drawer .drawer__heading {
  font: 600 18px/1.2 var(--bt-font) !important;
  color: var(--bt-ink);
  letter-spacing: 0;
}
.cart-drawer .drawer__footer,
.cart-drawer .cart-drawer__footer {
  border-top: 1px solid var(--bt-line2) !important;
  background: var(--bt-cream);
  padding: 16px 20px 20px;
}
.cart-drawer .cart-item {
  border-bottom: 1px solid var(--bt-line2);
}
.cart-drawer .cart-item__name {
  font: 500 14px/1.4 var(--bt-font) !important;
  color: var(--bt-ink) !important;
  text-decoration: none !important;
}
.cart-drawer .totals__total,
.cart-drawer .totals__total-value {
  font: 600 16px/1.3 var(--bt-font) !important;
  color: var(--bt-ink);
}
.cart-drawer .cart__checkout-button,
#CartDrawer-Checkout {
  width: 100% !important;
  min-height: 52px !important;
  border-radius: 0 !important;
  background: var(--bt-ink) !important;
  color: #fff !important;
  font: 500 12px/1 var(--bt-font) !important;
  letter-spacing: .12em;
  text-transform: uppercase;
  border: 0 !important;
}
.cart-drawer .cart__checkout-button:hover,
#CartDrawer-Checkout:hover {
  background: var(--bt-blue) !important;
  color: #fff !important;
}
.cart-drawer .free-shipping,
.cart-drawer [class*="free-ship"],
.cart-drawer [class*="shipping-bar"],
.cart-drawer [class*="shipping_bar"],
.cart-drawer .cart-progress,
.cart-drawer .goals-cart,
.drawer__inner .shipping-bar,
#CartDrawer [data-free-shipping] {
  display: none !important;
}
.cart-drawer .cart__empty-text {
  font: 500 20px/1.3 var(--bt-font);
  color: var(--bt-ink);
  margin: 0 0 16px;
}
.bt-cart-empty__hint {
  font: 500 12px/1 var(--bt-font);
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--bt-gray);
  margin: 8px 0 12px;
}
.bt-cart-empty__links {
  display: flex;
  flex-direction: column;
  gap: 10px;
  width: 100%;
  max-width: 280px;
  margin: 0 auto;
}
.bt-cart-empty__link {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0 16px;
  border: 1px solid var(--bt-ink);
  color: var(--bt-ink);
  text-decoration: none;
  font: 500 14px/1 var(--bt-font);
  background: var(--bt-cream);
}
.bt-cart-empty__link:hover {
  background: var(--bt-ink);
  color: #fff;
}
.cart-drawer__empty-content .cart__login-title,
.cart-drawer__empty-content .cart__login-paragraph {
  display: none !important;
}


/* Header gutters 40px (search + icons align with page content) */
@media (min-width: 990px) {
  .header.page-width,
  .header {
    padding-left: 40px !important;
    padding-right: 40px !important;
    box-sizing: border-box;
  }
  .bt-utility__inner {
    padding-left: 40px !important;
    padding-right: 40px !important;
  }
}

/* Remove Dawn · before Privacy/Terms */
.footer .policies li::before,
.footer .bt-footer-policies li::before {
  content: none !important;
  display: none !important;
}
.footer .bt-footer-policies {
  display: inline-flex; gap: 16px; list-style: none; margin: 0 0 0 16px; padding: 0;
}

/* Collection: intro under title; count+sort toolbar always visible */
.bt-collection-intro {
  font: 400 14px/1.5 var(--bt-font); color: var(--bt-gray);
  margin: 8px 0 0; max-width: 42ch;
}
.bt-collection-count { display: none !important; }
.bt-collection-toolbar {
  display: flex; align-items: center; justify-content: space-between;
  gap: 16px; padding: 12px 40px; border-top: 1px solid var(--bt-line);
  border-bottom: 1px solid var(--bt-line); margin: 0 0 24px;
  box-sizing: border-box; max-width: 1440px;
}
.bt-collection-toolbar__count {
  margin: 0; font: 400 14px/1.3 var(--bt-font); color: var(--bt-ink);
}
.bt-collection-toolbar__select {
  border: 1px solid var(--bt-line2); border-radius: 0; background: var(--bt-cream);
  height: 40px; padding: 0 32px 0 12px; font: 400 14px/40px var(--bt-font);
  color: var(--bt-ink); -webkit-appearance: none; appearance: none;
}
@media (max-width: 749px) {
  .bt-collection-toolbar { padding: 12px 20px; }
  /* Hide Dawn vertical-sort duplicate; we use bt toolbar */
  .facets-vertical-sort { display: none !important; }
}
@media (min-width: 750px) {
  .facets-vertical-sort { display: none !important; }
}


/* Footer headings — beat section-footer.css calc(var(--font-heading-scale)*1.8rem) */
.footer .footer-block__heading,
.footer .footer-block__heading.h2,
.footer .footer-block__heading.h3,
.footer .footer-block__heading.h4,
.footer h2.footer-block__heading,
.footer .footer-block > .footer-block__heading,
.footer-block__heading {
  font-family: var(--bt-font) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  line-height: 1.3 !important;
  letter-spacing: 0.09em !important;
  text-transform: uppercase !important;
  color: #fff !important;
}


/* Cart drawer overlay — static dim when open
   Regression (98a063e): opacity 0→1 fade never painted (page stayed 253–255).
   Drop the fade. Whenever cart-drawer.active / .drawer.active, overlay is a
   plain fixed rgba(0,0,0,.5) layer (translateZ(0) for its own compositor layer). */
cart-drawer.drawer,
cart-drawer,
.drawer.cart-drawer {
  z-index: 10000 !important;
  background: transparent !important;
  background-color: transparent !important;
  filter: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  transform: none !important;
}
cart-drawer.drawer.active,
.drawer.active {
  background: transparent !important;
  background-color: transparent !important;
  visibility: visible;
  filter: none !important;
  transform: none !important;
}
cart-drawer > #CartDrawer,
cart-drawer > .cart-drawer {
  background: transparent !important;
  filter: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  transform: none !important;
}
/* Dim layer: fixed, own GPU layer, no opacity fade */
cart-drawer .cart-drawer__overlay,
#CartDrawer-Overlay,
#CartDrawer-Overlay.cart-drawer__overlay,
.cart-drawer__overlay {
  position: fixed !important;
  inset: 0 !important;
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  left: 0 !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  display: block !important; /* beat any :empty quirks */
  background: transparent !important;
  background-color: transparent !important;
  opacity: 1 !important;
  pointer-events: none;
  z-index: 1 !important;
  box-shadow: none !important;
  border: 0 !important;
  filter: none !important;
  backdrop-filter: none !important;
  transform: translateZ(0) !important;
  -webkit-transform: translateZ(0) !important;
  transition: none !important;
  will-change: auto;
}
cart-drawer.active .cart-drawer__overlay,
cart-drawer.drawer.active .cart-drawer__overlay,
cart-drawer.active #CartDrawer-Overlay,
cart-drawer.drawer.active #CartDrawer-Overlay,
.drawer.active .cart-drawer__overlay,
.drawer.active #CartDrawer-Overlay {
  background: rgba(0, 0, 0, 0.5) !important;
  background-color: rgba(0, 0, 0, 0.5) !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  display: block !important;
}
/* Panel above the dim */
cart-drawer .drawer__inner,
.drawer .drawer__inner {
  position: relative;
  z-index: 2 !important;
  background: var(--bt-cream) !important;
  background-color: var(--bt-cream) !important;
  box-shadow: none !important;
  filter: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  border: 0 !important;
  border-left: 1px solid var(--bt-line2) !important;
  border-radius: 0 !important;
  will-change: transform;
}
cart-drawer.drawer.active .drawer__inner,
.drawer.active .drawer__inner {
  width: min(420px, 100vw) !important;
  max-width: 100vw !important;
  height: 100% !important;
  margin: 0 !important;
}
body:has(cart-drawer.active) .header__icon--menu[aria-expanded='true']::before,
body:has(cart-drawer.active) menu-drawer > details > summary::before,
body:has(cart-drawer.active) details[open] .modal-overlay::after {
  background: transparent !important;
  background-color: transparent !important;
  opacity: 0 !important;
  visibility: hidden !important;
  content: none !important;
}

/* Cart drawer quantity + remove: square, 1px var(--bt-line2) (inputs_radius is 26 → pill) */
.cart-drawer .quantity,
.cart-drawer quantity-popover .quantity,
cart-drawer .quantity {
  border-radius: 0 !important;
  border: 1px solid var(--bt-line2) !important;
  background: var(--bt-cream) !important;
  min-height: 40px;
  width: 120px;
  box-shadow: none !important;
}
.cart-drawer .quantity::before,
.cart-drawer .quantity::after,
cart-drawer .quantity::before,
cart-drawer .quantity::after {
  display: none !important; /* Dawn outset radius rings */
  box-shadow: none !important;
  border: 0 !important;
}
.cart-drawer .quantity__button,
.cart-drawer .quantity__input {
  border-radius: 0 !important;
}
.cart-drawer cart-remove-button .button,
.cart-drawer .cart-remove-button,
.cart-drawer .cart-item__quantity cart-remove-button .button,
cart-drawer cart-remove-button .button {
  border-radius: 0 !important;
  border: 1px solid var(--bt-line2) !important;
  background: var(--bt-cream) !important;
  box-shadow: none !important;
  min-width: 40px !important;
  min-height: 40px !important;
  width: 40px !important;
  height: 40px !important;
  padding: 0 !important;
}
.cart-drawer cart-remove-button .button::before,
.cart-drawer cart-remove-button .button::after {
  display: none !important;
  box-shadow: none !important;
}

.bt-collection-toolbar__select:disabled {
  opacity: 0.55;
  cursor: not-allowed;
  color: var(--bt-ink);
  background: var(--bt-cream);
  border: 1px solid var(--bt-line2);
}

/* ---------- Favorites page + toggles ------------------------------------ */
.bt-favorites { max-width: 1100px; margin: 0 auto; }
.bt-favorites__lede { font: 400 14px/1.5 var(--bt-font); color: var(--bt-gray); margin: 0 0 24px; }
.bt-favorites__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px 16px;
}
@media (min-width: 750px) {
  .bt-favorites__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 28px 20px; }
}
.bt-fav-card { position: relative; display: flex; flex-direction: column; gap: 8px; }
.bt-fav-card__media {
  display: block; aspect-ratio: 1 / 1; background: var(--bt-cream); overflow: hidden;
}
.bt-fav-card__media img {
  width: 100%; height: 100%; object-fit: contain; object-position: center;
}
.bt-fav-card__title {
  font: 500 14px/1.35 var(--bt-font); color: var(--bt-ink); text-decoration: none;
}
.bt-fav-card__title:hover { color: var(--bt-blue); }
.bt-fav-card__price { margin: 0; font: 400 14px/1.3 var(--bt-font); color: var(--bt-ink); }
.bt-favorites__empty { padding: 24px 0 48px; }
.bt-favorites__empty-title { font: 600 20px/1.3 var(--bt-font); margin: 0 0 8px; }
.bt-favorites__empty-hint { font: 400 14px/1.5 var(--bt-font); color: var(--bt-gray); margin: 0 0 20px; }
.bt-favorites__links { display: flex; flex-wrap: wrap; gap: 12px; }
.bt-favorites__link {
  display: inline-flex; align-items: center; min-height: 40px; padding: 0 16px;
  border: 1px solid var(--bt-line2); background: var(--bt-cream); color: var(--bt-ink); text-decoration: none;
  font: 500 13px/1 var(--bt-font);
}
.bt-favorites__link:hover { border-color: var(--bt-ink); color: var(--bt-blue); }
.bt-favorites__loading { grid-column: 1 / -1; color: var(--bt-gray); }

/* ---------- Contact form + shared inputs (square, white, var(--bt-line2)) -------- */
.contact .field__input,
.contact .text-area,
.bt-contact-form .field__input,
.bt-contact-form .text-area,
.field__input,
.text-area.field__input {
  border-radius: 2px !important;
  background: var(--bt-cream) !important;
  background-color: var(--bt-cream) !important;
  border: 1px solid var(--bt-line2) !important;
  box-shadow: none !important;
  color: var(--bt-ink) !important;
}
.contact .field::before,
.contact .field::after,
.bt-contact-form .field::before,
.bt-contact-form .field::after,
.field::before,
.field::after {
  display: none !important;
  box-shadow: none !important;
  border: 0 !important;
}
.contact .field__input:focus,
.contact .text-area:focus,
.bt-contact-form .field__input:focus,
.field__input:focus,
.bt-search__input:focus {
  outline: 2px solid var(--bt-ink) !important;
  outline-offset: -2px;
  border-color: var(--bt-ink) !important;
  box-shadow: none !important;
}
.contact__button .button,
.bt-contact-form .button {
  border-radius: 0 !important;
  background: var(--bt-ink) !important;
  color: #fff !important;
  min-height: 48px;
  letter-spacing: .12em;
  text-transform: uppercase;
  font: 600 12px/1 var(--bt-font) !important;
}
.bt-search__input {
  border-radius: 2px !important;
  background: var(--bt-cream) !important;
  border: 1px solid var(--bt-line2) !important;
}
.newsletter-form__field-wrapper .field__input {
  border-radius: 2px !important;
  background: var(--bt-cream) !important;
  border: 1px solid var(--bt-line2) !important;
  border-right: 0 !important;
}

/* Drawer Favorites row */
.bt-drawer-favorites {
  display: flex !important;
  align-items: center;
  gap: 10px;
  padding: 1.1rem 3rem !important;
  text-decoration: none;
  color: var(--bt-ink);
  font: 500 14px/1.3 var(--bt-font) !important;
}
.bt-drawer-favorites:hover { color: var(--bt-blue); }
.bt-drawer-fav-icon { display: inline-flex; flex-shrink: 0; }
.bt-drawer-fav-label { flex: 1 1 auto; }
/* Count is inlined as "Favorites (1)" — no separate bubble */
.bt-drawer-fav-count { display: none !important; }

/* ===== BT: search / 404 / password / a11y ===== */
.template-search {
  background: var(--bt-white);
  color: var(--bt-ink);
}
.template-search__header { text-align: center; }
.template-search .field__input,
.template-search .search__input {
  border: 1px solid var(--bt-line2) !important;
  border-radius: 2px !important;
  background: var(--bt-cream) !important;
  color: var(--bt-ink) !important;
  min-height: 44px;
}
.template-search .field::before,
.template-search .field::after { display: none !important; }
.template-search .search__button {
  min-width: 44px; min-height: 44px;
}
.bt-search-empty {
  max-width: 420px;
  margin: var(--bt-s4) auto 0;
  text-align: center;
  padding: var(--bt-s4);
  background: var(--bt-offwhite);
}
.bt-search-empty__msg { font: 500 16px/1.4 var(--bt-font); color: var(--bt-ink); }
.bt-search-empty__hint { font: 400 14px/1.5 var(--bt-font); color: var(--bt-gray); margin-top: 8px; }
.bt-search-empty__links {
  display: flex; flex-wrap: wrap; justify-content: center;
  gap: 12px; margin-top: 16px; padding: 0;
}
.bt-search-empty__links a {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 44px; padding: 0 16px;
  border: 1px solid var(--bt-ink); background: var(--bt-cream); color: var(--bt-ink);
  text-decoration: none; font: 500 14px/1 var(--bt-font);
}
.bt-search-empty__links a:hover { color: var(--bt-blue); border-color: var(--bt-blue); }

.bt-404 {
  text-align: center;
  padding: 64px var(--bt-pad) 80px;
  max-width: 560px;
  margin: 0 auto;
}
.bt-404__code { font: 600 14px/1 var(--bt-font); letter-spacing: .12em; color: var(--bt-gray); margin: 0 0 8px; }
.bt-404__title { font: 500 32px/1.2 var(--bt-font); color: var(--bt-ink); margin: 0 0 12px; }
.bt-404__text { font: 400 16px/1.5 var(--bt-font); color: var(--bt-ink); margin: 0 0 24px; }
.bt-404__links {
  display: flex; flex-wrap: wrap; justify-content: center;
  gap: 12px; margin: 0 0 28px; padding: 0;
}
.bt-404__links a {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 44px; padding: 0 16px;
  border: 1px solid var(--bt-ink); background: var(--bt-cream); color: var(--bt-ink);
  text-decoration: none; font: 500 14px/1 var(--bt-font);
}
.bt-404__links a:hover { color: var(--bt-blue); border-color: var(--bt-blue); }
.bt-404__search {
  display: flex; flex-wrap: wrap; gap: 8px; justify-content: center;
  max-width: 420px; margin: 0 auto;
}
.bt-404__input {
  flex: 1 1 200px; min-height: 44px; padding: 0 14px;
  border: 1px solid var(--bt-line2); border-radius: 2px; background: var(--bt-cream); color: var(--bt-ink);
  font: 400 14px/1.2 var(--bt-font);
}
.bt-404__btn {
  min-height: 44px; min-width: 96px; border-radius: 0 !important;
  background: var(--bt-ink) !important; color: #fff !important;
}

/* Password page — kitchen, no scarcity UI */
body.password {
  background: var(--bt-white) !important;
  color: var(--bt-ink);
  font-family: var(--bt-font);
}
body.password .password-header,
body.password .password-main,
body.password .password__footer {
  background: var(--bt-white);
}
body.password .email-signup-banner,
body.password .email-signup-banner__box,
body.password .banner__box {
  background: var(--bt-offwhite) !important;
  box-shadow: none !important;
  border: 0 !important;
}
body.password .email-signup-banner .banner__heading,
body.password .email-signup-banner h2,
body.password .email-signup-banner h1 {
  font: 500 28px/1.25 var(--bt-font) !important;
  color: var(--bt-ink) !important;
  text-transform: none !important;
}
body.password .email-signup-banner .banner__text,
body.password .email-signup-banner p {
  font: 400 16px/1.5 var(--bt-font) !important;
  color: var(--bt-ink) !important;
}
body.password .newsletter-form__field-wrapper .field__input,
body.password .field__input {
  border: 1px solid var(--bt-line2) !important;
  border-radius: 2px !important;
  background: var(--bt-cream) !important;
  min-height: 44px !important;
  color: var(--bt-ink) !important;
}
body.password .field::before,
body.password .field::after { display: none !important; }
body.password .newsletter-form__button,
body.password .button {
  background: var(--bt-ink) !important;
  color: #fff !important;
  border-radius: 0 !important;
  min-height: 44px !important;
  border: 0 !important;
}
body.password .newsletter-form__button:hover,
body.password .button:hover { outline: 2px solid var(--bt-blue); outline-offset: -2px; }
/* Hide countdown / fake scarcity widgets if any app injects them on password */
body.password [class*="countdown"],
body.password [class*="timer"],
body.password .password-countdown { display: none !important; }

/* A11y: visible focus (var(--bt-ink)), tap targets, placeholder contrast */
:focus-visible {
  outline: 2px solid var(--bt-ink) !important;
  outline-offset: 2px !important;
  box-shadow: none !important;
}
.button:focus-visible,
.bt-hero__btn:focus-visible,
.bt-gallery-fav:focus-visible,
.bt-card-heart:focus-visible,
.bt-fav:focus-visible,
a:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible,
summary:focus-visible,
.quantity__button:focus-visible,
.product-form__input input[type="radio"]:focus-visible + label {
  outline: 2px solid var(--bt-ink) !important;
  outline-offset: 2px !important;
}
::placeholder { color: #5c5c5c !important; opacity: 1 !important; }
::-webkit-input-placeholder { color: #5c5c5c !important; }
.header__icons .header__icon,
.header__icons .bt-fav,
.header__icons .bt-account-wrap,
.list-social__link,
.menu-drawer__menu-item,
.footer-block__details-content a,
.bt-gallery-fav,
.bt-card-heart,
.quantity__button,
.product-form__input--pill input[type="radio"] + label,
.product-form__input--swatch .swatch-input__label,
.bt-acc summary,
.slider-button {
  min-height: 44px;
  min-width: 44px;
}
@media (max-width: 749px) {
  .footer-block__details-content a,
  .menu-drawer__menu-item {
    display: flex;
    align-items: center;
    min-height: 44px;
  }
}

/* ===== BT: password chrome ===== */
body.password .bt-password-tagline {
  font: 400 14px/1.4 var(--bt-font);
  color: var(--bt-ink);
  margin: 8px 0 0;
  text-align: center;
}
body.password .password-link,
body.password .modal__toggle-open.password-link,
body.password .password-link.link {
  color: var(--bt-ink) !important;
  text-decoration: none !important;
  font: 500 14px/1.4 var(--bt-font);
}
body.password .password-link:hover,
body.password .modal__toggle-open.password-link:hover {
  color: var(--bt-ink) !important;
  text-decoration: underline !important;
  text-underline-offset: 3px;
}

/* Store-owner "Log in here" inside password modal (locale admin_link_html) */
body.password .password__footer-text a,
body.password .password-modal__content .password__footer-text a,
body.password .password-modal .link.underlined-link {
  color: var(--bt-ink) !important;
  text-decoration: none !important;
  text-underline-offset: 3px;
}
body.password .password__footer-text a:hover,
body.password .password-modal__content .password__footer-text a:hover,
body.password .password-modal .link.underlined-link:hover {
  color: var(--bt-ink) !important;
  text-decoration: underline !important;
}
body.password .password__footer-text a:focus-visible,
body.password .password-modal .link.underlined-link:focus-visible {
  color: var(--bt-ink) !important;
  text-decoration: underline !important;
  outline: 2px solid var(--bt-ink) !important;
  outline-offset: 2px !important;
}
body.password .password-modal__content .field__input,
body.password .password-field .field__input {
  border: 1px solid var(--bt-line2) !important;
  border-radius: 2px !important;
  background: var(--bt-cream) !important;
  min-height: 44px !important;
}
body.password .password-button.button,
body.password .password-button {
  background: var(--bt-ink) !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: 0 !important;
  min-height: 44px !important;
}
body.password .email-signup-banner .field__label:not(.visually-hidden) {
  display: none !important;
}
body.password .email-signup-banner .field__input::placeholder {
  color: #5c5c5c !important;
  opacity: 1 !important;
}

/* ===== BT: design round serif / homepage / banner / hover ===== */
/* Serif display for H1/H2 only — body/UI/nav/buttons stay sans */
h1, h2,
.h0, .h1, .h2,
.bt-hero__heading,
.bt-editorial__heading,
.bt-space__heading,
.bt-most-loved__heading,
.bt-solutions__heading,
.collection-hero__title,
.bt-collection-hero__title,
.related-products__heading,
.main-page-title {
  font-family: var(--bt-serif) !important;
  font-weight: var(--bt-serif-weight, 500) !important;
  font-style: var(--bt-serif-style, normal);
  letter-spacing: 0;
}
h2, .h2,
.bt-space__heading,
.bt-most-loved__heading,
.bt-solutions__heading,
.bt-editorial__heading,
.related-products__heading {
  font-size: 32px !important;
  line-height: 1.2 !important;
}
@media (max-width: 749px) {
  h2, .h2,
  .bt-space__heading,
  .bt-most-loved__heading,
  .bt-solutions__heading,
  .bt-editorial__heading,
  .related-products__heading {
    font-size: 24px !important;
  }
}
/* Keep UI chrome sans */
.h3, .h4, .h5,
.header__menu-item, .bt-icon-label, .button, .bt-hero__btn,
.bt-editorial__eyebrow, .bt-hero__eyebrow, .bt-hero__sub,
.card__heading, .price, .footer, .menu-drawer {
  font-family: var(--bt-font) !important;
}
.card__heading {
  font-weight: 500 !important;
}

/* Hero thin rule above eyebrow */
.bt-hero__rule {
  display: block;
  width: 40px;
  height: 1px;
  background: var(--bt-ink);
  margin: 0 0 12px;
}

/* Editorial 60/40 + eyebrow */
.bt-editorial__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--bt-s4);
  align-items: center;
}
@media (min-width: 990px) {
  .bt-editorial__grid {
    grid-template-columns: 3fr 2fr; /* 60/40 */
    gap: var(--bt-s6);
  }
}
.bt-editorial__media {
  overflow: hidden;
  aspect-ratio: 1 / 1;
  background: var(--bt-offwhite);
}
.bt-editorial__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  /* Keep dual under-sink organizers + P-trap in frame at 1280 / 390 */
  object-position: 50% 45%;
  display: block;
  transition: transform 300ms ease;
}
.bt-editorial__eyebrow {
  font: 500 12px/1 var(--bt-font);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--bt-gray);
  margin: 0 0 12px;
}
.bt-editorial__link {
  display: inline-block;
  margin-top: var(--bt-s2);
  color: var(--bt-ink);
  text-decoration: none;
  font: 500 14px/1.4 var(--bt-font);
  border-bottom: 1px solid var(--bt-ink);
  transition: color 150ms ease, border-bottom-color 150ms ease;
}
.bt-editorial__link:hover { color: var(--bt-blue); border-bottom-color: var(--bt-blue); }

/* Most-loved */
.bt-most-loved { padding: var(--bt-s6) 0; background: var(--bt-white); }
.bt-most-loved__heading { margin: 0 0 var(--bt-s3); text-align: left; }

/* Small-space solutions */
.bt-solutions { padding: var(--bt-s6) 0; background: var(--bt-offwhite); }
.bt-solutions__heading { margin: 0 0 var(--bt-s3); }
.bt-solutions__grid {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--bt-s3);
}
@media (min-width: 750px) {
  .bt-solutions__grid { grid-template-columns: repeat(3, 1fr); gap: var(--bt-s3); }
}
.bt-solutions__card {
  display: block;
  text-decoration: none;
  color: inherit;
}
.bt-solutions__media {
  overflow: hidden;
  aspect-ratio: 1 / 1;
  background: var(--bt-cream);
  margin-bottom: 12px;
}
.bt-solutions__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 300ms ease;
}
.bt-solutions__title {
  font-family: var(--bt-font) !important;
  font-weight: 500 !important;
  font-size: 20px !important;
  line-height: 1.3 !important;
  margin: 0 0 8px;
  color: var(--bt-ink);
}
.bt-solutions__link {
  font: 500 14px/1.4 var(--bt-font);
  color: var(--bt-ink);
  text-decoration: none;
  border-bottom: 1px solid var(--bt-ink);
  transition: color 150ms ease, border-bottom-color 150ms ease;
}
.bt-solutions__card:hover .bt-solutions__link { color: var(--bt-blue); border-bottom-color: var(--bt-blue); }
.bt-solutions__placeholder { display: block; width: 100%; height: 100%; background: #eee; }

/* Collection banner 280/200 — source of truth (also inlined per-section) */
.collection-hero.bt-collection-hero,
.collection-hero.bt-collection-hero--banner,
.collection-hero.bt-collection-hero.collection-hero--with-image {
  padding: 0 !important;
  margin: 0 !important;
}
.shopify-section.section-bt-collection-banner,
.shopify-section:has(> .bt-collection-hero--banner) {
  margin-top: 0 !important;
}
.bt-collection-hero--banner { padding: 0; }
.bt-collection-hero__banner {
  position: relative;
  height: 280px;
  overflow: hidden;
  background: var(--bt-ink);
}
@media (max-width: 749px) {
  .bt-collection-hero__banner { height: 200px; }
}
.bt-collection-hero__img {
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover !important;
  object-position: center center;
  display: block !important;
}
.bt-collection-hero__overlay {
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  pointer-events: none !important;
  display: block !important;
  opacity: 1 !important;
  background: linear-gradient(
    90deg,
    rgba(0, 0, 0, 0.55) 0%,
    rgba(0, 0, 0, 0.35) 45%,
    rgba(0, 0, 0, 0.10) 100%
  ) !important;
}
.bt-collection-hero__banner-text {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  margin: 0;
  padding: 0;
  pointer-events: none;
  box-sizing: border-box;
}
.bt-collection-hero__banner-inner {
  width: 100%;
  max-width: 1440px;
  margin: 0 auto;
  padding-left: 40px;
  padding-right: 40px;
  box-sizing: border-box;
  pointer-events: auto;
  text-align: left;
}
@media (max-width: 749px) {
  .bt-collection-hero__banner-inner {
    padding-left: 20px;
    padding-right: 20px;
  }
}
.bt-collection-hero__title,
.collection-hero__title.bt-collection-hero__title {
  color: #fff !important;
  margin: 8px 0 0;
  font-size: 32px !important;
  line-height: 1.2 !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.35);
  max-width: 18ch;
}
@media (max-width: 749px) {
  .bt-collection-hero__title,
  .collection-hero__title.bt-collection-hero__title {
    font-size: 24px !important;
  }
}
.bt-breadcrumb--on-dark,
.bt-breadcrumb--on-dark a,
.bt-breadcrumb--on-dark span {
  color: #fff !important;
  font-size: 12px;
  opacity: 0.9;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.35);
}
.bt-breadcrumb--on-dark a { text-decoration: none; }
.bt-breadcrumb--on-dark a:hover { text-decoration: underline; opacity: 1; }
.bt-collection-hero__intro {
  padding-top: 20px;
  padding-bottom: 8px;
  padding-left: 40px;
  padding-right: 40px;
  max-width: 1440px;
  margin-left: auto;
  margin-right: auto;
  box-sizing: border-box;
}
@media (max-width: 749px) {
  .bt-collection-hero__intro {
    padding-left: 20px;
    padding-right: 20px;
  }
}
.bt-collection-hero__intro .bt-collection-intro { margin: 0; color: var(--bt-ink); }

/* Hover zoom on tiles / editorial / product cards — no layout shift */
.bt-space__media,
.bt-editorial__media,
.bt-solutions__media,
.card__inner .card__media,
.card--standard .card__inner {
  overflow: hidden;
}
.bt-space__img,
.card__media img,
.card__inner .media img {
  transition: transform 300ms ease;
}
@media (hover: hover) and (pointer: fine) {
  .bt-space__card:hover .bt-space__img,
  .bt-editorial:hover .bt-editorial__img,
  .bt-solutions__card:hover .bt-solutions__img,
  .card-wrapper:hover .card__media img,
  .card-wrapper:hover .media img {
    transform: scale(1.03);
  }
}
@media (prefers-reduced-motion: reduce) {
  .bt-space__img,
  .bt-editorial__img,
  .bt-solutions__img,
  .card__media img,
  .card__inner .media img,
  .header__menu-item::after {
    transition: none !important;
  }
  .bt-space__card:hover .bt-space__img,
  .bt-editorial:hover .bt-editorial__img,
  .bt-solutions__card:hover .bt-solutions__img,
  .card-wrapper:hover .card__media img {
    transform: none !important;
  }
}

/* Nav underline animation (desktop menu) */
.header__inline-menu .header__menu-item {
  position: relative;
  text-decoration: none !important;
}
.header__inline-menu .header__menu-item span {
  position: relative;
}
.header__inline-menu .header__menu-item::after {
  content: '';
  position: absolute;
  left: 0; right: 0; bottom: 2px;
  height: 1px;
  background: var(--bt-ink);
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 150ms ease;
  pointer-events: none;
}
.header__inline-menu .header__menu-item:hover::after,
.header__inline-menu .header__menu-item:focus-visible::after,
.header__inline-menu .header__menu-item[aria-current='page']::after {
  transform: scaleX(1);
}
.header__inline-menu .header__menu-item:hover {
  color: var(--bt-blue);
}
.header__inline-menu .header__menu-item:hover::after {
  background: var(--bt-blue);
}


/* ===== Gifts pivot: neutral blocks instead of kitchen photos ===== */
.bt-editorial--text-only .bt-editorial__grid { grid-template-columns: 1fr; max-width: 720px; text-align: left; }
.bt-solutions__desc { font: 400 14px/1.5 var(--bt-font); color: var(--bt-gray); margin: 0 0 8px; max-width: 36ch; }
.bt-solutions__placeholder { background: var(--bt-offwhite, var(--bt-cream)); }


/* ===== Gifts redesign ===== */
/* Recipient tiles: 4-up desktop, 2x2 on tablet/phone */
.bt-space__grid { grid-template-columns: repeat(var(--bt-cols, 3), minmax(0, 1fr)); }
@media (max-width: 989px) {
  .bt-space__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; overflow: visible; padding-bottom: 0; }
  .bt-space__item { flex: none; max-width: none; }
}
.bt-gift-guide { background: var(--bt-offwhite); }
.bt-gift-guide__sub { margin: -8px 0 24px; font: 400 15px/1.5 var(--bt-font); color: var(--bt-gray); }
.bt-complete-gift { background: var(--bt-cream); border-top: 1px solid var(--bt-line); }
.bt-collection-browse { margin: 8px 0 0; font: 400 13px/1.4 var(--bt-font); color: var(--bt-gray); }
.bt-collection-browse a { color: var(--bt-ink); text-decoration: underline; text-underline-offset: 3px; transition: color 150ms; }
.bt-collection-browse a:hover { color: var(--bt-blue); }
.bt-great-for { margin: 4px 0 12px; font: 400 14px/1.5 var(--bt-font); color: var(--bt-ink); }
.bt-buy-note { list-style: none; margin: 16px 0 8px; padding: 0; font: 400 13px/1.6 var(--bt-font); color: var(--bt-gray); }
.bt-buy-note li { margin: 0; }

/* (content-visibility removed: unknown-height sections can leave phantom gaps) */

/* Mobile bottom nav (<750px only) */
.bt-bnav, .bt-sheet, .bt-sheet-backdrop { display: none; }
@media (max-width: 749px) {
  :root { --bt-bnav-h: 56px; }
  body { padding-bottom: calc(var(--bt-bnav-h) + env(safe-area-inset-bottom, 0px)); }
  .bt-bnav {
    display: flex; position: fixed; left: 0; right: 0; bottom: 0; z-index: 950;
    box-sizing: border-box; height: calc(var(--bt-bnav-h) + env(safe-area-inset-bottom, 0px));
    padding-bottom: env(safe-area-inset-bottom, 0px);
    background: var(--bt-cream); border-top: 1px solid var(--bt-line);
  }
  .bt-bnav__tab {
    position: relative; flex: 1 1 0; min-width: 0; min-height: 44px; height: var(--bt-bnav-h);
    display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px;
    margin: 0; padding: 0; border: 0; background: none; border-radius: 0;
    font: 500 11px/1 var(--bt-font); color: var(--bt-ink); text-decoration: none;
    -webkit-tap-highlight-color: transparent; cursor: pointer;
  }
  .bt-bnav__tab:hover, .bt-bnav__tab:focus-visible, .bt-bnav__tab[aria-current="page"], .bt-bnav__tab[aria-expanded="true"] { color: var(--bt-blue); }
  .bt-bnav__tab:focus-visible { outline: 2px solid var(--bt-blue); outline-offset: -4px; }
  .bt-bnav__badge {
    position: absolute; top: 6px; left: calc(50% + 6px); box-sizing: border-box;
    min-width: 16px; height: 16px; padding: 0 4px; border-radius: 8px;
    background: var(--bt-ink); color: #fff; font: 600 10px/16px var(--bt-font); text-align: center;
  }
  .bt-bnav__badge[hidden] { display: none; }
  .bt-sheet-backdrop { position: fixed; inset: 0; z-index: 930; background: rgba(0, 0, 0, 0.35); }
  .bt-sheet-backdrop:not([hidden]) { display: block; }
  .bt-sheet {
    position: fixed; left: 0; right: 0; z-index: 945; box-sizing: border-box;
    bottom: calc(var(--bt-bnav-h) + env(safe-area-inset-bottom, 0px));
    max-height: 70vh; overflow-y: auto; background: var(--bt-cream); border-top: 1px solid var(--bt-line);
    padding: 12px 20px 8px;
  }
  .bt-sheet:not([hidden]) { display: block; }
  .bt-sheet__title { margin: 0 0 4px; font: 600 12px/1.4 var(--bt-font); letter-spacing: .08em; text-transform: uppercase; color: var(--bt-gray); }
  .bt-sheet__nav { display: flex; flex-direction: column; }
  .bt-sheet__link {
    display: flex; align-items: center; min-height: 52px; border-bottom: 1px solid var(--bt-line);
    font: 500 16px/1.3 var(--bt-font); color: var(--bt-ink); text-decoration: none;
  }
  .bt-sheet__link:last-child { border-bottom: 0; }
  .bt-sheet__link:hover, .bt-sheet__link[aria-current="page"] { color: var(--bt-blue); }
  /* Hide while the menu drawer / cart drawer / modals lock the body */
  body.overflow-hidden .bt-bnav { display: none; }
  /* Any sticky add-to-cart bar sits above the nav */
  .bt-sticky-atc, .sticky-atc, [data-sticky-atc] { bottom: calc(var(--bt-bnav-h) + env(safe-area-inset-bottom, 0px)) !important; }
  /* Cart drawer (z-index 1000) stays above the nav; keep its footer clear of the home indicator */
  cart-drawer .drawer__inner { padding-bottom: env(safe-area-inset-bottom, 0px); }
  .bt-buy-note { font-size: 13px; }
  .bt-great-for { font-size: 14px; }
}

/* Hero collage: centered, off-white bleed matches the panel */
.bt-hero__img { object-position: 50% 50% !important; background: var(--bt-cream); }
@media (max-width: 989px) {
  .bt-hero__panel { padding-bottom: 20px; }
  .bt-hero__media { height: auto; min-height: 0; aspect-ratio: 1200 / 860; }
  .bt-hero__img { object-position: 50% 50% !important; }
}
@media (max-width: 749px) {
  .bt-space { padding-top: 24px !important; }
}

/* Page snippets: body column aligns to the H1's left edge */
.page-width--narrow .bt-page,
.page-width--narrow .bt-page.page-width {
  max-width: 720px; margin: 0; padding-left: 0; padding-right: 0;
}
.bt-page .bt-page { padding: 0; max-width: none; margin: 0; }

/* ===== Perf/a11y polish =====
   Reveal-on-scroll left cards at opacity .01 (axe read #fdfdfd text; also delayed LCP paint). Keep everything visible. */
.scroll-trigger.animate--fade-in,
.scroll-trigger.animate--slide-in {
  opacity: 1 !important; transform: none !important; animation: none !important;
}
/* Contrast: product count, card titles, prices on white/off-white */
.product-count__text, .product-count-vertical, #ProductCount, #ProductCountDesktop { color: #4A4A4A !important; }
.card__heading, .card__heading a, .card-information .price, .price .price-item, .price-item--regular { color: var(--bt-ink) !important; opacity: 1 !important; }


/* ===== Collection toolbar: one row (facets), small-label style =====
   Label style = same as eyebrows / .bt-mini-label: Jost 12px, 500, uppercase, .09em tracking. */
:root { --bt-label-font: 500 12px/1.2 var(--bt-font); --bt-label-ls: .09em; }
.facets__heading, .facets__heading--vertical, .facet-filters__label, .facet-filters__label label,
.mobile-facets__open-label, .mobile-facets__heading, .product-count__text, .product-count-vertical,
.facets__summary, .facets__summary-label, .facets__disclosure > summary,
.facet-filters__sort, .facet-filters__field .select__select, .active-facets__button-inner, .active-facets__button {
  font: var(--bt-label-font) !important; letter-spacing: var(--bt-label-ls) !important;
  text-transform: uppercase !important; font-family: var(--bt-font) !important;
}
.facets__heading, .facet-filters__label, .facet-filters__label label, .mobile-facets__heading { color: var(--bt-gray) !important; }
.facets__summary, .facets__disclosure > summary, .facet-filters__sort, .facet-filters__field .select__select,
.active-facets__button-inner { color: var(--bt-ink) !important; }
.facets__summary, .facets__disclosure > summary, .facet-filters__sort, .facet-filters__field .select__select { height: 40px; line-height: 40px !important; }
.facets-container { border-top: 1px solid var(--bt-line); }
.facets-container .facet-filters__field { display: flex; align-items: center; gap: 12px; }
.facets-container .product-count { margin: 0 0 0 16px; }

@media (max-width: 749px) {
  .facets-container { padding: 8px 0; }
  .mobile-facets__open-wrapper, .mobile-facets__open { min-height: 44px; }
  .mobile-facets__open { display: inline-flex; align-items: center; gap: 8px; }
  .facets-container .product-count { margin: 4px 0 0; }
  .facet-filters__sort, .facet-filters__field .select__select, .facets__summary { min-height: 44px; }
}

/* ===== Mobile bottom nav: never cover buttons (<750px) ===== */
@media (max-width: 749px) {
  :root { --bt-bottom-nav-h: var(--bt-bnav-h, 56px); }
  html { scroll-padding-bottom: calc(var(--bt-bottom-nav-h) + env(safe-area-inset-bottom, 0px) + 16px); }
  body { padding-bottom: calc(var(--bt-bottom-nav-h) + env(safe-area-inset-bottom, 0px)) !important; }
  .product-form__submit, .product-form__buttons, .cart__checkout-button, #checkout, .button[type="submit"] {
    scroll-margin-bottom: calc(var(--bt-bottom-nav-h) + env(safe-area-inset-bottom, 0px) + 16px);
  }
  .footer, .footer__content-bottom { scroll-margin-bottom: calc(var(--bt-bottom-nav-h) + env(safe-area-inset-bottom, 0px)); }
  /* Shopify customer-privacy banner + any bottom-fixed bar sit above the nav */
  #shopify-pc__banner, .shopify-pc__banner, [id^="shopify-pc__banner"], .bt-sticky-atc, .sticky-atc, [data-sticky-atc] {
    bottom: calc(var(--bt-bottom-nav-h) + env(safe-area-inset-bottom, 0px)) !important;
    z-index: 940 !important;
  }
  /* Cart drawer / notification stay above the nav (z-index 1000+); keep footer buttons off the home indicator */
  cart-drawer .drawer__footer, cart-drawer .cart-drawer__footer { padding-bottom: calc(env(safe-area-inset-bottom, 0px) + 12px); }
}

/* ==========================================================================
   v2 — Gifts redesign, Pass 1 (palette, type, announcement, header, home, footer)
   Palette tokens live in :root at the top. Jost is self-hosted (assets/bt-jost.woff2).
   ========================================================================== */
:root {
  --font-body-family: 'Jost', system-ui, -apple-system, 'Segoe UI', Helvetica, Arial, sans-serif;
  --font-body-weight: 400;
  --bt-hdr-h: 172px;             /* announcement 36 + header rows 88 + 48 (desktop, homepage overlay) */
  --bt-ease: 250ms cubic-bezier(.2, .6, .2, 1);
}
html, body { font-family: var(--bt-font); }
body { background: var(--bt-cream); color: var(--bt-espresso); }
input, select, textarea, button { font-family: var(--bt-font); }
h1, h2, h3, .h0, .h1, .h2, .h3 { color: var(--bt-espresso); }
.bt-dark :focus-visible, .bt-hv2 :focus-visible, .bt-feat :focus-visible, .footer :focus-visible, .bt-utility :focus-visible { outline-color: #fff; }

/* ---- Buttons: square, cranberry primary, outlined secondary, tracked caps ---- */
.button, .button--primary, button.product-form__submit, .cart__checkout-button,
.shopify-payment-button__button--unbranded, .newsletter-form__button, .bt-email__btn,
.banner__box .button, .bt-empty__btn {
  background: var(--bt-cranberry) !important; color: #fff !important; border-radius: 0 !important;
  border: 1px solid var(--bt-cranberry) !important; letter-spacing: .09em; font-weight: 500;
  transition: background-color var(--bt-ease), color var(--bt-ease), border-color var(--bt-ease), transform var(--bt-ease);
}
.button:hover, .button--primary:hover, button.product-form__submit:hover, .cart__checkout-button:hover,
.shopify-payment-button__button--unbranded:hover, .newsletter-form__button:hover, .bt-email__btn:hover,
.banner__box .button:hover, .bt-empty__btn:hover {
  background: var(--bt-cranberry-dk) !important; border-color: var(--bt-cranberry-dk) !important; color: #fff !important; outline: 0 !important;
}
.button--secondary, .button--tertiary, .cart-remove-button .button {
  background: transparent !important; color: var(--bt-espresso) !important; border: 1px solid var(--bt-espresso) !important;
}
.button--secondary:hover, .button--tertiary:hover { background: var(--bt-espresso) !important; color: var(--bt-cream) !important; border-color: var(--bt-espresso) !important; }
.button:disabled, .button[aria-disabled="true"] { opacity: .55; }
a:hover, .link:hover { color: var(--bt-cranberry); }
.badge { border-radius: 0; background: var(--bt-espresso); color: var(--bt-cream); border: 0; letter-spacing: .09em; text-transform: uppercase; font-weight: 500; font-size: 11px; }

/* ---- Announcement bar (evergreen) ---- */
.bt-utility { background: var(--bt-evergreen); color: #fff; height: 36px; display: flex; align-items: center; }
.bt-utility__inner { display: flex; justify-content: center; align-items: center; width: 100%; padding: 0 var(--bt-pad); box-sizing: border-box; }
.bt-utility__msg { margin: 0; font: 500 12px/1 var(--bt-font); letter-spacing: .09em; text-transform: uppercase; color: #fff; text-align: center; }

/* ---- Header: solid cream by default ---- */
.header-wrapper { background: var(--bt-cream); border-bottom: 1px solid var(--bt-line); }
.header__menu-item, .header__inline-menu a, .header__inline-menu summary {
  font: 500 12px/1 var(--bt-font) !important; letter-spacing: .09em !important; text-transform: uppercase; color: var(--bt-espresso);
}
.header__inline-menu .header__menu-item:hover, .header__inline-menu a:hover { color: var(--bt-cranberry); }
.header__menu-item span { text-decoration: none !important; background-image: none; }
.header__inline-menu .header__menu-item { position: relative; }
.header__inline-menu .header__menu-item::after {
  content: ''; position: absolute; left: 0; right: 0; bottom: 10px; height: 2px; background: var(--bt-gold);
  transform: scaleX(0); transform-origin: left; transition: transform var(--bt-ease);
}
.header__inline-menu .header__menu-item:hover::after, .header__inline-menu .header__menu-item[aria-current="page"]::after { transform: scaleX(1); }
.header__icon, .header__icons .bt-icon-label, .bt-fav, .bt-account-wrap { color: var(--bt-espresso); }
.bt-search__input { background: transparent; border-radius: 0; border-color: var(--bt-line2); color: var(--bt-espresso); font-family: var(--bt-font); }
.bt-search__input::placeholder { color: var(--bt-gray); }
.header__icon--cart .cart-count-bubble { background: var(--bt-cranberry); color: #fff; }

/* Homepage, desktop: header floats transparent over the hero, turns solid cream once scrolled (Dawn adds .scrolled-past-header) */
@media (min-width: 990px) {
  .bt-home .section-header { position: fixed !important; top: 0; left: 0; right: 0; width: 100%; z-index: 30; margin-bottom: 0 !important; }
  .bt-home .section-header:not(.scrolled-past-header) .header-wrapper { background: transparent; border-bottom-color: rgba(255, 255, 255, .22); }
  .bt-home .section-header:not(.scrolled-past-header) .header__menu-item,
  .bt-home .section-header:not(.scrolled-past-header) .header__inline-menu a,
  .bt-home .section-header:not(.scrolled-past-header) .header__icon,
  .bt-home .section-header:not(.scrolled-past-header) .header__icons .bt-icon-label,
  .bt-home .section-header:not(.scrolled-past-header) .bt-fav,
  .bt-home .section-header:not(.scrolled-past-header) .bt-account-wrap,
  .bt-home .section-header:not(.scrolled-past-header) .bt-search__button { color: #fff; }
  .bt-home .section-header:not(.scrolled-past-header) .bt-search__input { background: rgba(255, 255, 255, .12); border-color: rgba(255, 255, 255, .55); color: #fff; }
  .bt-home .section-header:not(.scrolled-past-header) .bt-search__input::placeholder { color: rgba(255, 255, 255, .85); }
  .bt-home .section-header:not(.scrolled-past-header) .header__heading-logo { filter: brightness(0) invert(1); }
  .bt-home .section-header.scrolled-past-header .header-wrapper { box-shadow: 0 1px 12px rgba(42, 31, 26, .08); }
}

/* ---- Hero (full-bleed) ---- */
.bt-hv2 { position: relative; background: var(--bt-evergreen); color: #fff; overflow: hidden; }
.bt-hv2__media { position: relative; aspect-ratio: 1000 / 704; }
.bt-hv2__img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.bt-hv2__inner { position: relative; padding-top: 28px; padding-bottom: 40px; }
.bt-hv2__text { max-width: 560px; }
.bt-hv2__kicker { margin: 0 0 14px; font: 500 12px/1.2 var(--bt-font); letter-spacing: .09em; text-transform: uppercase; color: #fff; }
.bt-hv2__kicker::before { content: ''; display: block; width: 40px; height: 2px; background: var(--bt-gold); margin-bottom: 14px; }
.bt-hv2__title { margin: 0 0 14px; font: 500 36px/1.12 var(--bt-serif); letter-spacing: 0; color: #fff; text-wrap: balance; }
.bt-hv2__sub { margin: 0 0 24px; font: 400 17px/1.5 var(--bt-font); color: #fff; max-width: 34ch; }
.bt-hv2__btns { display: flex; gap: 12px; flex-wrap: wrap; }
.bt-hv2__btn {
  display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 28px; box-sizing: border-box;
  font: 500 12px/1 var(--bt-font); letter-spacing: .09em; text-transform: uppercase; text-decoration: none; border-radius: 0;
  border: 1px solid #fff; transition: background-color var(--bt-ease), color var(--bt-ease), border-color var(--bt-ease), transform var(--bt-ease);
}
.bt-hv2__btn--primary { background: var(--bt-cranberry); color: #fff; }
.bt-hv2__btn--primary:hover { background: var(--bt-cranberry-dk); color: #fff; }
.bt-hv2__btn--outline { background: transparent; color: #fff; }
.bt-hv2__btn--outline:hover { background: #fff; color: var(--bt-evergreen); }
@media (max-width: 749px) { .bt-hv2__btn { width: 100%; } }
@media (min-width: 990px) {
  .bt-hv2 { min-height: clamp(640px, 82vh, 760px); display: flex; align-items: center; }
  .bt-hv2__media { position: absolute; inset: 0; aspect-ratio: auto; }
  .bt-hv2__inner { width: 100%; padding-top: calc(var(--bt-hdr-h) + 24px); padding-bottom: 72px; box-sizing: border-box; }
  .bt-hv2__text { max-width: 520px; }
  .bt-hv2__title { font-size: 54px; line-height: 1.08; }
  .bt-hv2__sub { font-size: 19px; }
}
@media (min-width: 750px) and (max-width: 989px) { .bt-hv2__title { font-size: 44px; } }

/* ---- "How can we help" band (cream) ---- */
.bt-help { background: var(--bt-cream); padding: 56px 0 64px; }
.bt-help__heading, .bt-occ__heading, .bt-most-loved__heading { margin: 0 0 8px; text-align: center; font: 500 30px/1.2 var(--bt-serif); letter-spacing: 0; color: var(--bt-espresso); }
.bt-help__sub { margin: 0 0 36px; text-align: center; font-size: 16px; color: var(--bt-gray); }
.bt-help__grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.bt-help__card {
  display: flex; flex-direction: column; align-items: center; text-align: center; padding: 32px 22px 28px;
  border: 1px solid var(--bt-line2); background: transparent;
  transition: transform var(--bt-ease), box-shadow var(--bt-ease);
}
.bt-help__icon { color: var(--bt-gold); display: inline-flex; margin-bottom: 14px; }
.bt-help__title { margin: 0 0 8px; font: 500 21px/1.25 var(--bt-serif); color: var(--bt-espresso); }
.bt-help__text { margin: 0 0 22px; font-size: 15px; line-height: 1.5; color: var(--bt-espresso); max-width: 26ch; flex: 1 1 auto; }
.bt-help__btn {
  display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 0 22px; box-sizing: border-box;
  border: 1px solid var(--bt-espresso); color: var(--bt-espresso); background: transparent; text-decoration: none; border-radius: 0;
  font: 500 12px/1 var(--bt-font); letter-spacing: .09em; text-transform: uppercase;
  transition: background-color var(--bt-ease), color var(--bt-ease);
}
.bt-help__btn:hover, .bt-help__card:hover .bt-help__btn { background: var(--bt-espresso); color: var(--bt-cream); }
@media (max-width: 989px) { .bt-help__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 749px) { .bt-help { padding: 40px 0 44px; } .bt-help__heading, .bt-occ__heading, .bt-most-loved__heading { font-size: 25px; } .bt-help__grid { gap: 12px; } .bt-help__card { padding: 24px 14px 20px; } .bt-help__title { font-size: 18px; } .bt-help__text { font-size: 14px; } .bt-help__btn { padding: 0 14px; } }

/* ---- Occasion tiles ---- */
.bt-occ { background: var(--bt-cream); padding: 8px 0 64px; }
.bt-occ__heading { margin-bottom: 28px; }
.bt-occ__grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.bt-occ__link { display: block; text-decoration: none; color: var(--bt-espresso); }
.bt-occ__media { display: block; overflow: hidden; aspect-ratio: 1 / 1; background: var(--bt-blush); }
.bt-occ__media img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform 400ms cubic-bezier(.2, .6, .2, 1); }
.bt-occ__label { display: block; margin-top: 14px; text-align: center; font: 500 13px/1.2 var(--bt-font); letter-spacing: .09em; text-transform: uppercase; color: var(--bt-espresso); }
.bt-occ__label::after { content: ''; display: block; width: 28px; height: 2px; background: var(--bt-gold); margin: 10px auto 0; transition: width var(--bt-ease); }
.bt-occ__link:hover .bt-occ__label { color: var(--bt-cranberry); }
.bt-occ__link:hover .bt-occ__label::after { width: 48px; }
@media (max-width: 749px) { .bt-occ { padding-bottom: 44px; } .bt-occ__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; } .bt-occ__label { font-size: 12px; } }

/* ---- Popular gifts row ---- */
.bt-most-loved, .bt-gift-guide { background: var(--bt-cream); padding: 8px 0 64px; }
.bt-gift-guide__sub { margin: 0 0 28px; text-align: center; color: var(--bt-gray); }
.bt-most-loved__heading { margin-bottom: 8px; }
@media (max-width: 749px) { .bt-most-loved, .bt-gift-guide { padding-bottom: 44px; } }

/* ---- Evergreen feature band ---- */
.bt-feat { background: var(--bt-evergreen); color: #fff; }
.bt-feat__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 56px; align-items: center; padding-top: 64px; padding-bottom: 64px; }
.bt-feat__kicker { margin: 0 0 14px; font: 500 12px/1.2 var(--bt-font); letter-spacing: .09em; text-transform: uppercase; color: #fff; }
.bt-feat__kicker::before { content: ''; display: block; width: 40px; height: 2px; background: var(--bt-gold); margin-bottom: 14px; }
.bt-feat__heading { margin: 0 0 18px; font: 500 36px/1.15 var(--bt-serif); letter-spacing: 0; color: #fff; text-wrap: balance; }
.bt-feat__p { margin: 0 0 14px; font-size: 17px; line-height: 1.55; color: #fff; max-width: 46ch; }
.bt-feat__btn {
  display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 28px; margin-top: 12px; box-sizing: border-box;
  border: 1px solid #fff; color: #fff; background: transparent; text-decoration: none; border-radius: 0;
  font: 500 12px/1 var(--bt-font); letter-spacing: .09em; text-transform: uppercase;
  transition: background-color var(--bt-ease), color var(--bt-ease);
}
.bt-feat__btn:hover { background: #fff; color: var(--bt-evergreen); }
.bt-feat__media { overflow: hidden; }
.bt-feat__img { display: block; width: 100%; height: auto; }
@media (max-width: 989px) { .bt-feat__grid { grid-template-columns: 1fr; gap: 32px; padding-top: 44px; padding-bottom: 44px; } .bt-feat__heading { font-size: 28px; } .bt-feat__media { order: -1; } }

/* ---- Trust band (blush) ---- */
.bt-trust-bar { background: var(--bt-blush); }
.bt-trust-bar__list { padding: 40px 0; }
.bt-trust-bar__item { color: var(--bt-espresso); }
.bt-trust-bar__icon { color: var(--bt-evergreen); }
.bt-trust-bar__title { font: 500 15px/1.3 var(--bt-font); letter-spacing: .09em; text-transform: uppercase; color: var(--bt-espresso); }
.bt-trust-bar__text { color: var(--bt-espresso); }

/* ---- Newsletter band (quiet) ---- */
.bt-email { background: var(--bt-cream); border-top: 1px solid var(--bt-line); padding: 48px 0; }
.bt-email__inner { display: flex; align-items: center; justify-content: space-between; gap: 32px; flex-wrap: wrap; }
.bt-email__heading { margin: 0; font: 500 26px/1.2 var(--bt-serif); letter-spacing: 0; color: var(--bt-espresso); }
.bt-email__text { margin: 6px 0 0; font-size: 15px; color: var(--bt-gray); }
.bt-email__form { display: flex; gap: 0; flex: 1 1 380px; max-width: 520px; margin: 0; }
.bt-email__input { flex: 1 1 auto; min-width: 0; height: 48px; border: 1px solid var(--bt-espresso); border-right: 0; border-radius: 0; background: var(--bt-cream); color: var(--bt-espresso); padding: 0 16px; font: 400 15px var(--bt-font); }
.bt-email__btn { height: 48px; padding: 0 26px; font: 500 12px var(--bt-font); letter-spacing: .09em; text-transform: uppercase; cursor: pointer; }
@media (max-width: 749px) { .bt-email { padding: 36px 0; } .bt-email__form { flex-basis: 100%; max-width: none; } }

/* ---- Footer (evergreen) ---- */
.footer, .footer.footer[class*="color-"], .shopify-section-group-footer-group .footer { background: var(--bt-evergreen) !important; color: var(--bt-cream) !important; border-top: 0 !important; }
.footer .footer-block__heading, .footer .footer-block__details-content, .footer .footer-block__details-content p,
.footer .footer-block__details-content li, .footer .footer-block__details-content a, .footer .list-menu__item--link { color: var(--bt-cream) !important; }
.footer .footer-block__heading { font: 500 13px/1.3 var(--bt-font) !important; letter-spacing: .09em !important; text-transform: uppercase !important; margin-bottom: 16px; }
.footer .footer-block__heading::after { content: ''; display: block; width: 28px; height: 2px; background: var(--bt-gold); margin-top: 10px; }
.footer .footer-block__details-content a { text-decoration: none; background-image: none; transition: opacity var(--bt-ease); }
.footer .footer-block__details-content a:hover { color: #fff !important; text-decoration: underline; text-underline-offset: 4px; text-decoration-color: var(--bt-gold); }
.footer .footer__content-bottom, .footer .footer__copyright { border-color: rgba(250, 243, 232, .22) !important; }
.footer .footer__copyright, .footer .copyright__content, .footer .bt-copyright, .footer .bt-footer-policies a, .footer .footer__copyright a { color: var(--bt-cream) !important; opacity: .86; }
.footer .list-social__link { border-color: var(--bt-cream) !important; color: var(--bt-cream) !important; }
.footer .list-social__link:hover { background: var(--bt-cream); color: var(--bt-evergreen) !important; border-color: var(--bt-cream) !important; }
.footer .field__input, .footer .newsletter-form__field-wrapper .field__input { background: var(--bt-cream); color: var(--bt-espresso); }

/* ---- Mobile bottom nav in the palette (safe-area padding unchanged) ---- */
@media (max-width: 749px) {
  .bt-bnav, .bt-sheet { background: var(--bt-cream); border-top-color: var(--bt-line2); }
  .bt-bnav__tab { color: var(--bt-espresso); font-weight: 500; letter-spacing: .04em; }
  .bt-bnav__tab:hover, .bt-bnav__tab:focus-visible, .bt-bnav__tab[aria-current="page"], .bt-bnav__tab[aria-expanded="true"] { color: var(--bt-cranberry); }
  .bt-bnav__badge { background: var(--bt-cranberry); color: #fff; }
  .bt-sheet__link:hover, .bt-sheet__link[aria-current="page"] { color: var(--bt-cranberry); }
}

/* ---- Motion: gentle hover lift + image zoom 1.03, no scroll reveals ---- */
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .card-wrapper { transition: transform var(--bt-ease); }
  .card-wrapper:hover { transform: translateY(-3px); }
  .card-wrapper .card__media img, .card-wrapper .media img { transition: transform 400ms cubic-bezier(.2, .6, .2, 1); }
  .card-wrapper:hover .card__media img, .card-wrapper:hover .media img { transform: scale(1.03); }
  .bt-help__card:hover { transform: translateY(-3px); box-shadow: 0 8px 22px rgba(42, 31, 26, .08); }
  .bt-occ__link:hover .bt-occ__media img { transform: scale(1.03); }
  .bt-hv2__btn:hover, .bt-feat__btn:hover, .button:hover { transform: translateY(-1px); }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; }
}

/* ==========================================================================
   v2.1 — QA fixes (footer one band, header legibility, announcement at 390, Popular gifts grid)
   + seasonal navigation dropdown, occasion plain tiles
   ========================================================================== */

/* ---- Announcement bar: always visible, all widths ---- */
.bt-utility { min-height: 36px; height: auto; padding: 0; overflow: visible; }
.bt-utility__inner { padding-left: 16px !important; padding-right: 16px !important; min-height: 36px; }
.bt-utility__msg { display: block !important; visibility: visible !important; color: #fff !important; font-size: 12px; line-height: 1.2; white-space: normal; }
@media (max-width: 389px) { .bt-utility__msg { font-size: 11px; letter-spacing: .07em; } }

/* ---- Footer: ONE evergreen band, no inner panels or strips ---- */
.footer, .footer.footer[class*="color-"], .shopify-section-group-footer-group .footer, .shopify-section-group-footer-group {
  background: var(--bt-evergreen) !important; color: var(--bt-cream) !important;
}
.footer .footer__content-top, .footer .footer__content-bottom, .footer .footer__content-bottom-wrapper,
.footer .footer__blocks-wrapper, .footer .footer-block, .footer .footer__copyright, .footer .page-width,
.footer__content-top, .footer__content-bottom {
  background: transparent !important; border-color: rgba(250, 243, 232, .28) !important;
}
.footer { margin: 0 !important; padding-bottom: 0; }
.footer .footer__content-bottom { padding: 24px 0 28px; border-top: 1px solid rgba(201, 162, 75, .55) !important; }
.footer .footer__copyright, .footer .copyright__content, .footer .bt-copyright,
.footer .bt-footer-policies a, .footer .footer__copyright a, .footer .policies a {
  color: var(--bt-cream) !important; opacity: 1 !important; font-size: 13px; text-decoration: none;
}
.footer .footer__copyright a:hover, .footer .bt-footer-policies a:hover { color: #fff !important; text-decoration: underline; text-underline-offset: 3px; text-decoration-color: var(--bt-gold); }
.footer .footer-block__details-content a, .footer .footer-block__details-content li, .footer .footer-block__details-content p { color: var(--bt-cream) !important; opacity: 1 !important; font-size: 15px; }
.footer .footer__list-social .list-social__link, .footer .list-social__link {
  width: 44px; height: 44px; border: 1px solid var(--bt-cream) !important; color: var(--bt-cream) !important; background: transparent !important; border-radius: 50%;
}
.footer .list-social__link svg, .footer .list-social__link .icon { color: var(--bt-cream) !important; fill: currentColor; width: 20px; height: 20px; }
.footer .list-social__link:hover { background: var(--bt-cream) !important; color: var(--bt-evergreen) !important; }
.footer .list-social__link:hover svg, .footer .list-social__link:hover .icon { color: var(--bt-evergreen) !important; }
.footer .footer-block__heading { color: #fff !important; }

/* ---- Header over hero (desktop): white text + top scrim, always above the hero art ---- */
@media (min-width: 990px) {
  .bt-home .section-header { z-index: 60 !important; }
  .bt-hv2 { position: relative; z-index: 0; isolation: isolate; }
  .bt-home .section-header:not(.scrolled-past-header)::before {
    content: ''; position: absolute; z-index: -1; left: 0; right: 0; top: 0; bottom: -56px; pointer-events: none;
    background: linear-gradient(to bottom, rgba(14, 34, 27, .82) 0, rgba(14, 34, 27, .66) 55%, rgba(14, 34, 27, .3) 80%, rgba(14, 34, 27, 0) 100%);
  }
  .bt-home .section-header:not(.scrolled-past-header) .header__inline-menu .list-menu--inline > li > a,
  .bt-home .section-header:not(.scrolled-past-header) .header__inline-menu .list-menu--inline > li > a span,
  .bt-home .section-header:not(.scrolled-past-header) .header__inline-menu .bt-dd__summary,
  .bt-home .section-header:not(.scrolled-past-header) .header__inline-menu .bt-dd__summary span,
  .bt-home .section-header:not(.scrolled-past-header) .header__icons .header__icon,
  .bt-home .section-header:not(.scrolled-past-header) .header__icons .header__icon span,
  .bt-home .section-header:not(.scrolled-past-header) .header__icons .bt-icon-label,
  .bt-home .section-header:not(.scrolled-past-header) .header__icons .bt-fav,
  .bt-home .section-header:not(.scrolled-past-header) .header__icons .bt-account-wrap,
  .bt-home .section-header:not(.scrolled-past-header) .bt-search__button {
    color: #fff !important; text-shadow: 0 1px 6px rgba(0, 0, 0, .45);
  }
  .bt-home .section-header:not(.scrolled-past-header) .header__icons svg,
  .bt-home .section-header:not(.scrolled-past-header) .header__icons .icon { stroke: #fff !important; color: #fff !important; filter: drop-shadow(0 1px 4px rgba(0, 0, 0, .45)); }
  .bt-home .section-header:not(.scrolled-past-header) .bt-search__input {
    background: rgba(255, 255, 255, .16) !important; border-color: rgba(255, 255, 255, .7) !important; color: #fff !important;
  }
  .bt-home .section-header:not(.scrolled-past-header) .bt-search__input::placeholder { color: #fff !important; opacity: .95; }
  .bt-home .section-header:not(.scrolled-past-header) .header__heading-logo { filter: brightness(0) invert(1) drop-shadow(0 1px 4px rgba(0, 0, 0, .35)); }
}

/* ---- Seasonal dropdown (desktop nav) ---- */
.bt-dd { position: relative; }
.bt-dd details { position: relative; }
.bt-dd__summary { display: inline-flex; align-items: center; gap: 7px; cursor: pointer; list-style: none; }
.bt-dd__summary::-webkit-details-marker { display: none; }
.bt-dd__caret { transition: transform var(--bt-ease); }
.bt-dd details[open] .bt-dd__caret { transform: rotate(180deg); }
.bt-dd__panel {
  position: absolute; top: 100%; left: 50%; transform: translateX(-50%); z-index: 70; min-width: 270px; margin: 0; padding: 8px 0; list-style: none;
  background: var(--bt-cream); border: 1px solid var(--bt-line2); border-top: 2px solid var(--bt-gold); box-shadow: 0 10px 28px rgba(42, 31, 26, .14);
}
.bt-dd__panel li { margin: 0; padding: 0; }
.bt-dd__link {
  display: block; padding: 12px 22px; font: 500 12px/1.2 var(--bt-font); letter-spacing: .09em; text-transform: uppercase; white-space: nowrap;
  color: var(--bt-espresso) !important; text-decoration: none; text-shadow: none !important;
}
.bt-dd__link:hover, .bt-dd__link:focus-visible { background: var(--bt-blush); color: var(--bt-cranberry) !important; }
.bt-dd__link[aria-current="page"] { box-shadow: inset 3px 0 0 var(--bt-gold); }
.bt-dd__all { border-top: 1px solid var(--bt-line); margin-top: 6px !important; padding-top: 6px !important; }
.bt-dd__link:focus-visible { outline: 2px solid var(--bt-cranberry); outline-offset: -2px; }
.header__inline-menu .list-menu--inline { overflow: visible; }
.header__inline-menu, .header { overflow: visible; }

/* mobile drawer + shop sheet: seasonal sub-links */
.bt-drawer-sub { padding-left: 3.6rem !important; font-size: 1.5rem !important; }
@media (max-width: 749px) { .bt-sheet__link--sub { padding-left: 20px; font-size: 15px; min-height: 48px; } }

/* ---- Occasion plain tiles (no imagery) ---- */
.bt-occ__media--plain { display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 16px; box-sizing: border-box; }
.bt-occ__media--evergreen { background: var(--bt-evergreen); color: #fff; }
.bt-occ__media--blush { background: var(--bt-blush); color: var(--bt-espresso); }
.bt-occ__plain-name { font: 500 26px/1.15 var(--bt-serif); letter-spacing: 0; max-width: 11ch; text-wrap: balance; }
.bt-occ__plain-rule { display: block; width: 44px; height: 2px; background: var(--bt-gold); margin-top: 16px; }
@media (max-width: 749px) { .bt-occ__plain-name { font-size: 20px; } }

/* ---- Popular gifts: clean grid at every width, no inner scroller ---- */
@media (max-width: 989px) {
  .bt-gift-guide slider-component, .bt-gift-guide .slider-mobile-gutter { display: block; margin: 0 !important; padding: 0 !important; overflow: visible !important; }
  .bt-gift-guide .product-grid.slider, .bt-gift-guide ul.grid.slider {
    display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 12px; margin: 0 !important; padding: 0 !important;
    overflow: visible !important; overflow-x: visible !important; scroll-snap-type: none !important; flex-wrap: initial;
  }
  .bt-gift-guide .slider .grid__item, .bt-gift-guide .slider.grid--peek .grid__item, .bt-gift-guide .slider .slider__slide {
    width: auto !important; max-width: none !important; min-width: 0 !important; flex: none !important; margin: 0 !important; padding: 0 !important;
    scroll-snap-align: none;
  }
  .bt-gift-guide .slider-buttons { display: none !important; }
  .bt-gift-guide::-webkit-scrollbar, .bt-gift-guide .slider::-webkit-scrollbar { display: none; }
}
@media (min-width: 750px) and (max-width: 989px) {
  .bt-gift-guide .product-grid.slider, .bt-gift-guide ul.grid.slider { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px 16px; }
}
.bt-gift-guide .card__heading, .bt-gift-guide .card-information { overflow-wrap: anywhere; }


/* ==========================================================================
   v2.2 — QA round 2: footer headings, hero clearance under header, shop sheet scroll
   ========================================================================== */
.footer .footer-block__heading, .footer h2.footer-block__heading, .footer .footer-block > .footer-block__heading,
.footer .footer-block__heading.inline-richtext, .footer .footer-block__heading * { color: #fff !important; }
/* any other text/link inside the footer defaults to cream (never ink) */
.footer, .footer h2, .footer h3, .footer p, .footer li, .footer a, .footer span, .footer label, .footer .rte, .footer .rte * { color: var(--bt-cream); }
.footer h2.footer-block__heading, .footer .footer-block__heading { color: #fff !important; }
.footer .footer__list-social .list-social__link, .footer .list-social__link { color: var(--bt-cream) !important; }

/* Hero (desktop): the art starts BELOW the header (announcement + logo row + nav row), never behind it.
   Hero background = the art's own edge green so the join is invisible; top edge of the art is feathered. */
@media (min-width: 990px) {
  .bt-hv2 {
    background: #1C473B; display: flex; align-items: center; box-sizing: border-box;
    min-height: 0; height: calc(var(--bt-hdr-h) + min(41.667vw, 720px));
  }
  .bt-hv2__media { position: absolute; left: 0; right: 0; bottom: 0; top: var(--bt-hdr-h); inset-inline: 0; aspect-ratio: auto; }
  .bt-hv2__img {
    width: 100%; height: 100%; object-fit: cover; object-position: right center;
    -webkit-mask-image: linear-gradient(to bottom, transparent 0, #000 9%); mask-image: linear-gradient(to bottom, transparent 0, #000 9%);
  }
  .bt-hv2__inner { padding-top: var(--bt-hdr-h); padding-bottom: 0; }
  .bt-hv2__text { max-width: min(520px, 44vw); }
}
@media (min-width: 990px) and (max-width: 1279px) {
  .bt-hv2__title { font-size: 42px; }
  .bt-hv2__sub { font-size: 17px; }
  .bt-hv2__btn { padding: 0 20px; }
}
/* header scrim: now only needs to cover the green; keep a soft fade for the first 56px of art */
@media (min-width: 990px) {
  .bt-home .section-header:not(.scrolled-past-header)::before {
    background: linear-gradient(to bottom, rgba(14, 34, 27, .55) 0, rgba(14, 34, 27, .35) 60%, rgba(14, 34, 27, 0) 100%);
    bottom: -24px;
  }
}

/* Mobile Shop sheet: scrolls, never clipped by the bottom nav, last row reachable */
@media (max-width: 749px) {
  .bt-sheet {
    max-height: min(70vh, calc(100vh - var(--bt-bnav-h) - env(safe-area-inset-bottom, 0px) - 84px));
    max-height: min(70vh, calc(100dvh - var(--bt-bnav-h) - env(safe-area-inset-bottom, 0px) - 84px));
    overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch;
    padding: 12px 20px 28px; scroll-padding-bottom: 28px;
  }
  .bt-sheet__nav { padding-bottom: 12px; }
}

/* ==========================================================================
   v2.3 — Holiday & Seasonal dropdown: pure-CSS hover / keyboard focus / .is-open (JS only adds .is-open + aria)
   Panel is always in the DOM (button + ul, no <details>), so CSS alone can show it.
   ========================================================================== */
.bt-nav-item { position: relative; display: flex; align-items: stretch; }
button.bt-dd__summary {
  -webkit-appearance: none; appearance: none; background: transparent; border: 0; border-radius: 0; margin: 0; padding: 0;
  display: inline-flex; align-items: center; gap: 7px; cursor: pointer; height: 100%; color: inherit; text-align: center;
}
.bt-dd__caret { transition: transform var(--bt-ease); }
.bt-nav-item:hover .bt-dd__caret, .bt-nav-item.is-open .bt-dd__caret, .bt-nav-item:has(:focus-visible) .bt-dd__caret { transform: rotate(180deg); }
.bt-nav-item > .bt-dropdown {
  display: block; visibility: hidden; opacity: 0; pointer-events: none;
  transition: opacity 160ms ease 120ms, visibility 0s linear 280ms;   /* short close delay so the pointer can travel */
}
/* hover bridge: invisible strip above the panel, part of the panel, so :hover on the item never drops */
.bt-nav-item > .bt-dropdown::before { content: ''; position: absolute; left: -12px; right: -12px; top: -22px; height: 22px; background: transparent; }
.bt-nav-item:hover > .bt-dropdown,
.bt-nav-item.is-open > .bt-dropdown,
.bt-nav-item:has(:focus-visible) > .bt-dropdown {
  visibility: visible; opacity: 1; pointer-events: auto; transition-delay: 0s, 0s;
}
@supports not selector(:has(*)) {
  .bt-nav-item:focus-within > .bt-dropdown { visibility: visible; opacity: 1; pointer-events: auto; transition-delay: 0s, 0s; }
}
/* Escape dismisses until the pointer/focus leaves */
.bt-nav-item.is-dismissed > .bt-dropdown { visibility: hidden !important; opacity: 0 !important; pointer-events: none !important; }
@media (prefers-reduced-motion: reduce) { .bt-nav-item > .bt-dropdown { transition: none; } }

/* ==========================================================================
   Pass 2 — collection banner, PDP, cart/search/404/pages/password, privacy notice, email popup
   ========================================================================== */

/* ---- Collection banner: art by handle (left third = title) or clean palette banner ---- */
.bt-cb { position: relative; background: var(--bt-cb-bg, var(--bt-evergreen)); color: #fff; overflow: hidden; }
.bt-cb--light { color: var(--bt-espresso); }
.bt-cb__media { display: block; }
.bt-cb__img { display: block; width: 100%; height: auto; }
.bt-cb__inner { position: relative; z-index: 1; padding-top: 28px; padding-bottom: 32px; }
.bt-cb__inner > * { max-width: 100%; }
.bt-cb .bt-breadcrumb, .bt-cb .bt-breadcrumb a, .bt-cb .bt-breadcrumb span { color: inherit; opacity: .92; font: 500 12px/1.2 var(--bt-font); letter-spacing: .09em; text-transform: uppercase; text-decoration: none; }
.bt-cb .bt-breadcrumb a:hover { text-decoration: underline; text-underline-offset: 3px; text-decoration-color: var(--bt-gold); color: inherit; }
.bt-cb__title { margin: 12px 0 0; font: 500 32px/1.12 var(--bt-serif); letter-spacing: 0; color: inherit; text-wrap: balance; }
.bt-cb__rule { display: block; width: 44px; height: 2px; background: var(--bt-gold); margin-top: 16px; }
.bt-cb__intro { padding-top: 24px; padding-bottom: 8px; }
.bt-cb__intro .bt-collection-intro { margin: 0; font: 400 17px/1.55 var(--bt-font); color: var(--bt-espresso); max-width: 62ch; }
@media (min-width: 750px) {
  .bt-cb__title { font-size: clamp(34px, 3.6vw, 48px); }
  .bt-cb__inner { min-height: clamp(200px, 23.34vw, 320px); display: flex; flex-direction: column; justify-content: center; padding-top: 24px; padding-bottom: 24px; }
  .bt-cb__inner > * { max-width: 32%; }               /* title area stays in the left third */
  .bt-cb--art .bt-cb__media { position: absolute; inset: 0; }
  .bt-cb--art .bt-cb__img { width: 100%; height: 100%; object-fit: cover; object-position: right center; }
}
@media (max-width: 749px) {
  .bt-cb--art .bt-cb__inner { padding-top: 20px; padding-bottom: 24px; }
}

/* ---- Collection grid / toolbar polish (single sort + single count kept) ---- */
.facets-wrapper, .facets-container { border-bottom: 1px solid var(--bt-line); }
.product-grid .card-wrapper .card__heading a, .product-grid .card__heading { color: var(--bt-espresso); font-weight: 500; }
.price, .price-item { color: var(--bt-espresso); }
.card-wrapper:hover .card__heading a { color: var(--bt-cranberry); }
.bt-card-heart:hover, .bt-card-heart.is-saved { color: var(--bt-cranberry); border-color: var(--bt-cranberry); }
.pagination__item--current, .pagination__item:hover { color: var(--bt-cranberry); }

/* ---- Product page ---- */
.product__title h1, .product__title .h1, .product__title { font-family: var(--bt-serif); font-weight: 500; letter-spacing: 0; color: var(--bt-espresso); }
.product__info-wrapper .price-item { font-size: 22px; font-weight: 500; }
.bt-great-for { font-size: 15px; color: var(--bt-espresso); }
.bt-buy-note { list-style: none; margin: 16px 0 0; padding: 14px 0 0; border-top: 1px solid var(--bt-line); display: grid; gap: 8px; }
.bt-buy-note li { position: relative; padding-left: 20px; font-size: 14px; line-height: 1.45; color: var(--bt-espresso); }
.bt-buy-note li::before { content: ''; position: absolute; left: 2px; top: .55em; width: 7px; height: 7px; background: var(--bt-gold); transform: rotate(45deg); }
.bt-acc details, .product__accordion details { border-top: 1px solid var(--bt-line); }
.bt-acc:last-of-type details, .product__accordion:last-of-type details { border-bottom: 1px solid var(--bt-line); }
.product__accordion summary .accordion__title, .bt-acc summary .accordion__title { font: 500 13px/1.3 var(--bt-font); letter-spacing: .09em; text-transform: uppercase; color: var(--bt-espresso); margin: 0; }
.product__accordion .accordion__content { font-size: 15px; color: var(--bt-espresso); }
.product-form__input--pill input[type=radio] + label:hover { border-color: var(--bt-cranberry) !important; }
.bt-guarantee { background: var(--bt-blush) !important; }
.bt-guarantee__title { font: 500 15px/1.3 var(--bt-font); letter-spacing: .09em; text-transform: uppercase; color: var(--bt-espresso); }
.bt-guarantee__text { color: var(--bt-espresso); }
.bt-complete-gift .bt-most-loved__heading { text-align: center; }

/* ---- Cart drawer, cart page, search, 404, generic pages ---- */
.cart-drawer .drawer__inner, .cart-drawer .drawer__header, .cart-drawer .drawer__footer { background: var(--bt-cream); color: var(--bt-espresso); }
.cart-drawer .drawer__heading, .cart__empty-text, .title--primary, .cart__heading, .main-page-title, .template-search__header h1, .page-title h1, .rte h1, .rte h2 {
  font-family: var(--bt-serif); font-weight: 500; letter-spacing: 0; color: var(--bt-espresso);
}
.cart-item__name, .cart-items .cart-item__name { color: var(--bt-espresso); font-weight: 500; }
.cart-items td, .cart-items th, .cart-item { border-color: var(--bt-line) !important; }
.cart__footer, .cart-footer { border-top: 1px solid var(--bt-line2); }
.totals__total, .totals__total-value { color: var(--bt-espresso); }
.cart__ctas .button, .cart__checkout-button { width: 100%; }
.rte a, .main-page-content a, .page-width .rte a { color: var(--bt-cranberry); text-underline-offset: 3px; }
.rte a:hover { color: var(--bt-cranberry-dk); }
.template-search__search .field__input, .search__input { border-radius: 0; border-color: var(--bt-espresso); background: var(--bt-cream); color: var(--bt-espresso); }
.bt-404 { text-align: center; padding-top: 64px; padding-bottom: 72px; }
.bt-404__code { font: 500 64px/1 var(--bt-serif); color: var(--bt-cranberry); margin: 0 0 8px; }
.bt-404__title { font: 500 34px/1.2 var(--bt-serif); color: var(--bt-espresso); margin: 0 0 12px; }
.bt-404__text { color: var(--bt-espresso); max-width: 46ch; margin: 0 auto 24px; }
.bt-404__links a { color: var(--bt-espresso); text-underline-offset: 3px; }
.bt-404__links a:hover { color: var(--bt-cranberry); }
.bt-404__input { height: 48px; border: 1px solid var(--bt-espresso); border-radius: 0; background: var(--bt-cream); padding: 0 14px; font: 400 15px var(--bt-font); color: var(--bt-espresso); }

/* ---- Password page ---- */
.password, body.password { background: var(--bt-cream); color: var(--bt-espresso); }
.password .password-header h1, .password .email-signup-banner h1, .password .h1, .password .h2 { font-family: var(--bt-serif); font-weight: 500; color: var(--bt-espresso); }
.bt-password-tagline { color: var(--bt-gray); letter-spacing: .09em; text-transform: uppercase; font-size: 12px; }
.password .password-link, .password .link { color: var(--bt-espresso); }
.password .password-link:hover, .password .link:hover { color: var(--bt-cranberry); }
.password .field__input { border-radius: 0; background: var(--bt-cream); color: var(--bt-espresso); }
.password .newsletter-form__button, .password .field__button { background: var(--bt-cranberry) !important; color: #fff !important; border-radius: 0 !important; }
.password .password-footer, .password footer { background: var(--bt-evergreen); color: var(--bt-cream); }
.password .password-footer a, .password footer a { color: var(--bt-cream); }

/* ---- Privacy notice (non-modal; card bottom-left on desktop, full width above the bottom nav on mobile) ---- */
.bt-privacy[hidden], .bt-pop[hidden] { display: none !important; }
.bt-privacy {
  position: fixed; z-index: 940; left: 20px; bottom: 20px; width: min(380px, calc(100vw - 40px)); box-sizing: border-box;
  background: var(--bt-cream); color: var(--bt-espresso); border: 1px solid var(--bt-line2); border-top: 3px solid var(--bt-gold);
  box-shadow: 0 10px 32px rgba(42, 31, 26, .18); padding: 20px 22px 18px;
}
.bt-privacy__title { margin: 0 0 6px; font: 500 20px/1.25 var(--bt-serif); color: var(--bt-espresso); }
.bt-privacy__text { margin: 0 0 16px; font: 400 14px/1.5 var(--bt-font); color: var(--bt-espresso); }
.bt-privacy__text a { color: var(--bt-cranberry); text-underline-offset: 3px; }
.bt-privacy__btns { display: flex; gap: 10px; }
.bt-privacy__btn {
  flex: 1 1 0; min-height: 44px; padding: 0 16px; border-radius: 0; cursor: pointer; font: 500 12px/1 var(--bt-font); letter-spacing: .09em; text-transform: uppercase;
  transition: background-color var(--bt-ease), color var(--bt-ease);
}
.bt-privacy__btn--accept { background: var(--bt-cranberry); color: #fff; border: 1px solid var(--bt-cranberry); }
.bt-privacy__btn--accept:hover { background: var(--bt-cranberry-dk); border-color: var(--bt-cranberry-dk); }
.bt-privacy__btn--decline { background: transparent; color: var(--bt-espresso); border: 1px solid var(--bt-espresso); }
.bt-privacy__btn--decline:hover { background: var(--bt-espresso); color: var(--bt-cream); }
.bt-privacy__btn:focus-visible, .bt-privacy a:focus-visible { outline: 2px solid var(--bt-cranberry); outline-offset: 2px; }
@media (max-width: 749px) {
  .bt-privacy {
    left: 0; right: 0; width: auto; border-left: 0; border-right: 0; padding: 16px 20px 16px;
    bottom: calc(var(--bt-bottom-nav-h, 56px) + env(safe-area-inset-bottom, 0px)); z-index: 940;
  }
  .bt-privacy__title { font-size: 18px; }
  .bt-privacy__text { font-size: 13px; margin-bottom: 12px; }
}

/* ---- Email popup (quiet, accessible dialog) ---- */
.bt-pop { position: fixed; inset: 0; z-index: 1100; display: flex; align-items: center; justify-content: center; padding: 20px; box-sizing: border-box; }
.bt-pop__overlay { position: absolute; inset: 0; background: rgba(42, 31, 26, .55); }
.bt-pop__dialog { position: relative; width: min(440px, 100%); max-height: calc(100vh - 40px); overflow: auto; box-sizing: border-box; background: var(--bt-cream); color: var(--bt-espresso); padding: 44px 36px 30px; border-top: 3px solid var(--bt-gold); box-shadow: 0 18px 50px rgba(0, 0, 0, .3); text-align: center; }
.bt-pop__dialog:focus { outline: none; }
.bt-pop__x { position: absolute; top: 6px; right: 6px; width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center; background: transparent; border: 0; color: var(--bt-espresso); cursor: pointer; }
.bt-pop__x:hover { color: var(--bt-cranberry); }
.bt-pop__kicker { margin: 0 0 8px; font: 500 12px/1.2 var(--bt-font); letter-spacing: .09em; text-transform: uppercase; color: var(--bt-gray); }
.bt-pop__title { margin: 0 0 10px; font: 500 28px/1.2 var(--bt-serif); color: var(--bt-espresso); }
.bt-pop__text, .bt-pop__ok { margin: 0 0 18px; font: 400 16px/1.5 var(--bt-font); color: var(--bt-espresso); }
.bt-pop__err { margin: 0 0 12px; font-size: 14px; color: var(--bt-cranberry); }
.bt-pop__row { display: flex; }
.bt-pop__input { flex: 1 1 auto; min-width: 0; height: 48px; border: 1px solid var(--bt-espresso); border-right: 0; border-radius: 0; background: var(--bt-cream); color: var(--bt-espresso); padding: 0 14px; font: 400 15px var(--bt-font); }
.bt-pop__btn { height: 48px; padding: 0 22px; border: 1px solid var(--bt-cranberry); border-radius: 0; background: var(--bt-cranberry); color: #fff; font: 500 12px/1 var(--bt-font); letter-spacing: .09em; text-transform: uppercase; cursor: pointer; }
.bt-pop__btn:hover { background: var(--bt-cranberry-dk); border-color: var(--bt-cranberry-dk); }
.bt-pop__skip { margin-top: 14px; min-height: 44px; padding: 0 12px; background: none; border: 0; color: var(--bt-gray); font: 400 14px var(--bt-font); text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.bt-pop__skip:hover { color: var(--bt-espresso); }
.bt-pop__input:focus-visible, .bt-pop__btn:focus-visible, .bt-pop__skip:focus-visible, .bt-pop__x:focus-visible { outline: 2px solid var(--bt-cranberry); outline-offset: 2px; }
html.bt-pop-open { overflow: hidden; }
@media (max-width: 749px) { .bt-pop { align-items: flex-end; padding: 0; } .bt-pop__dialog { width: 100%; padding: 44px 22px calc(26px + env(safe-area-inset-bottom, 0px)); } }

/* ==========================================================================
   Pass 2 QA fixes
   ========================================================================== */

/* Search: the #product-grid WRAPPER div must not become the grid (only the inner ul.product-grid is the grid) */
div#product-grid.template-search__results, .template-search__results#product-grid {
  display: block !important; grid-template-columns: none !important; gap: 0 !important;
}
.template-search__results .product-grid.grid { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--bt-s3); margin: 0; padding: 0; list-style: none; }
.template-search__results .product-grid .grid__item { width: auto !important; max-width: none !important; min-width: 0; padding: 0; }
.template-search__results .card-wrapper, .template-search__results .card { width: 100%; }
.template-search__results .card__media, .template-search__results .card .media { aspect-ratio: 1 / 1; }
.template-search__results .card__heading { overflow-wrap: anywhere; }
@media (max-width: 989px) { .template-search__results .product-grid.grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--bt-s2); } }

/* Cart drawer: nothing may render around the close X (no focus halo / pseudo dot); the hidden duplicate header stays gone */
cart-drawer.is-empty .drawer__header { display: none !important; }
.drawer__close { box-shadow: none !important; background: transparent !important; border-radius: 0 !important; outline: 0; }
.drawer__close::before, .drawer__close::after, .drawer__close .svg-wrapper::before, .drawer__close .svg-wrapper::after { content: none !important; display: none !important; }
.drawer__close:focus-visible { outline: 2px solid var(--bt-cranberry); outline-offset: -4px; }
.drawer__close:focus:not(:focus-visible) { outline: 0; box-shadow: none !important; }

/* Contrast (AA) + non-colour cue on inline links */
#ProductCount, .product-count, .product-count__text, .product-count-vertical, .facets__summary-label { color: #4D433C !important; opacity: 1 !important; }
.bt-cb .bt-breadcrumb, .bt-cb .bt-breadcrumb a, .bt-cb .bt-breadcrumb span { opacity: 1 !important; }
.bt-cb .bt-breadcrumb a { text-decoration: underline !important; text-underline-offset: 3px; text-decoration-thickness: 1px; }
.bt-cb__intro a, .bt-privacy__text a, .bt-pop a, .rte a, .main-page-content a, .bt-404__text a, .bt-collection-intro a { text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }

/* 1015: cart count bubble readable in every header state (red bubble, white number) */
.header__icon--cart .cart-count-bubble,
.bt-home .section-header:not(.scrolled-past-header) .header__icon--cart .cart-count-bubble {
  background: var(--bt-cranberry) !important; background-color: var(--bt-cranberry) !important; color: #fff !important;
  min-width: 18px; width: auto; padding: 0 5px; border-radius: 9px; box-sizing: border-box; overflow: visible;
}
.header__icon--cart .cart-count-bubble span[aria-hidden="true"] { color: #fff !important; display: inline; line-height: 18px; }
