:root {
  /* Matched to tammymart.com theme tokens */
  --bd-bg: #ffffff;
  --bd-bg-deep: #f7f7f4;
  --bd-ink: #111111;
  --bd-ink-soft: #1c1d1d;
  --bd-muted: #6b6b6b;
  --bd-line: #e8e8e1;
  --bd-white: #ffffff;
  --bd-accent: #65afc0;
  --bd-accent-dark: #4f96a6;
  --bd-danger: #c62828;
  --bd-font: "Josefin Sans", sans-serif;
  --bd-font-display: "Josefin Sans", sans-serif;
  --bd-font-body: "Josefin Sans", sans-serif;
  --bd-fs-base: 15px;
  --bd-fs-sm: 13px;
  --bd-fs-xs: 12px;
  --bd-fs-lg: 17px;
  --bd-fs-h1: 32px;
  --bd-fs-h2: 26px;
  --bd-fs-h3: 20px;
  --bd-fs-display: 48px;
  --bd-container: 1400px;
  --bd-header-h: 118px;
  --bd-surface: #f2f1ec;
  --bd-ease: cubic-bezier(0.22, 1, 0.36, 1);
}

*,
*::before,
*::after { box-sizing: border-box; }

html { scroll-behavior: smooth; font-size: 16px; }

body {
  margin: 0;
  font-family: var(--bd-font-body);
  font-size: var(--bd-fs-base);
  font-weight: 400;
  color: var(--bd-ink);
  background: var(--bd-bg);
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
  letter-spacing: 0.01em;
}

img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
ul { list-style: none; margin: 0; padding: 0; }
button, input { font: inherit; }
.sr-only, .skip-link:not(:focus) {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0,0,0,0); border: 0;
}
.skip-link:focus {
  position: fixed; top: 8px; left: 8px; z-index: 10000;
  background: var(--bd-ink); color: var(--bd-white); padding: .75rem 1rem;
}

.container {
  width: min(100% - 2.5rem, var(--bd-container));
  margin-inline: auto;
}

/* Announcement — light slideshow (live match) */
.announcement-bar {
  background: var(--bd-surface, #f2f1ec);
  color: var(--bd-ink);
  font-size: 13px;
  letter-spacing: .04em;
  text-align: center;
  overflow: hidden;
  min-height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.announcement-slider {
  position: relative;
  width: 100%;
  min-height: 40px;
}
.announcement-slider__slide {
  display: none;
  padding: .65rem 1rem;
  line-height: 1.35;
}
.announcement-slider__slide.is-active {
  display: block;
  animation: bdAnnounceIn .45s var(--bd-ease);
}
@keyframes bdAnnounceIn {
  from { opacity: 0; transform: translateY(4px); }
  to { opacity: 1; transform: translateY(0); }
}

/* Header — brand left, nav center, actions right */
.site-header {
  position: relative;
  z-index: 100;
  background: #fff;
  border-bottom: 1px solid var(--bd-line);
}
.site-header__inner {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  column-gap: 2rem;
  min-height: 72px;
  padding-top: 0;
  padding-bottom: 0;
  position: relative;
}
.site-header__brand {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  justify-self: start;
  min-width: 0;
  grid-column: 1;
}
.site-brand {
  text-decoration: none !important;
  color: inherit;
  display: inline-flex;
  align-items: center;
  max-width: none;
}
.site-brand img {
  width: auto;
  height: 28px;
  max-width: min(200px, 42vw);
  object-fit: contain;
  object-position: left center;
  display: block;
}
.site-brand__name {
  display: inline-block;
  font-family: var(--bd-font-display);
  font-size: clamp(1.05rem, 1.6vw, 1.35rem);
  font-weight: 500;
  letter-spacing: .16em;
  text-transform: uppercase;
  line-height: 1;
  color: var(--bd-ink, #1a1a1a);
  white-space: nowrap;
}
.site-brand__name--footer {
  font-size: 1.5rem;
  margin-bottom: .75rem;
}
.nav-primary {
  display: flex;
  justify-content: center;
  align-items: center;
  min-width: 0;
  grid-column: 2;
  padding: 0;
}
.nav-primary__list {
  display: flex;
  justify-content: center;
  flex-wrap: nowrap;
  align-items: center;
  gap: 0 clamp(1.25rem, 2.2vw, 2.75rem);
  font-size: 13px;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  font-weight: 400;
}
.nav-item { position: static; }
.nav-item__link,
.nav-item__trigger {
  position: relative;
  display: inline-flex;
  align-items: center;
  padding: .55rem 0;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  letter-spacing: inherit;
  text-transform: inherit;
  font-weight: inherit;
  cursor: pointer;
  white-space: nowrap;
}
.nav-item__link::after,
.nav-item__trigger::after {
  content: "";
  position: absolute;
  left: 0; right: 100%; bottom: .2rem;
  height: 1px;
  background: var(--bd-ink);
  transition: right .35s var(--bd-ease);
}
.nav-item__link:hover::after,
.nav-item.is-open > .nav-item__trigger::after { right: 0; }

/* Mega menu panels */
.mega-panel {
  position: absolute;
  left: 0;
  right: 0;
  top: 100%;
  background: var(--bd-white);
  border-bottom: 1px solid var(--bd-line);
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.08);
  padding: 1.75rem 0 2rem;
  z-index: 120;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(6px);
  transition: opacity .25s var(--bd-ease), transform .25s var(--bd-ease), visibility .25s;
}
.nav-item.is-open > .mega-panel {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
}
.mega-panel[hidden] {
  display: block;
}
.mega-panel__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(110px, 1fr));
  gap: 1.25rem 1rem;
  justify-items: center;
}
.mega-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .65rem;
  text-align: center;
  width: 100%;
  max-width: 140px;
}
.mega-item__media {
  display: block;
  width: 100%;
  aspect-ratio: 1;
  overflow: hidden;
  background: var(--bd-bg-deep);
}
.mega-item__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .55s var(--bd-ease);
}
.mega-item:hover .mega-item__media img { transform: scale(1.05); }
.mega-item__label {
  font-size: 11px;
  letter-spacing: .12em;
  text-transform: uppercase;
  font-weight: 500;
  line-height: 1.3;
}
.nav-backdrop {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.28);
  z-index: 210;
}
.nav-backdrop.is-visible { display: block; }

.header-actions {
  display: flex;
  align-items: center;
  gap: 1.25rem;
  grid-column: 3;
  justify-self: end;
}
.header-actions a { position: relative; display: grid; place-items: center; }
.cart-count {
  position: absolute;
  top: -6px; right: -8px;
  min-width: 16px; height: 16px;
  border-radius: 999px;
  background: var(--bd-accent);
  color: var(--bd-white);
  font-size: .65rem;
  display: grid; place-items: center;
  padding: 0 4px;
}
.cart-count[hidden] { display: none; }
.nav-toggle {
  display: none;
  width: 40px; height: 40px;
  border: 0; background: transparent;
  flex-direction: column; justify-content: center; gap: 5px;
  padding: 8px;
}
.nav-toggle span {
  display: block; height: 1.5px; background: var(--bd-ink); width: 100%;
}

/* Buttons */
.btn {
  display: inline-flex; align-items: center; justify-content: center;
  padding: .85rem 1.5rem;
  border: 1px solid var(--bd-ink);
  font-size: var(--bd-fs-xs);
  letter-spacing: .14em;
  text-transform: uppercase;
  font-weight: 500;
  transition: background .3s var(--bd-ease), color .3s var(--bd-ease), transform .3s var(--bd-ease);
  line-height: 1.2;
}
.btn--primary { background: var(--bd-ink); color: var(--bd-white); }
.btn--primary:hover { background: var(--bd-accent); border-color: var(--bd-accent); }
.btn--ghost { background: transparent; color: var(--bd-white); border-color: var(--bd-white); }
.feature-band .btn--ghost {
  color: #fff;
  border-color: #fff;
  background: transparent;
  min-width: 140px;
}
.feature-band .btn--ghost:hover {
  background: #fff;
  color: #111;
}
.text-link {
  display: inline-block;
  margin-top: 1rem;
  font-size: .78rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  border-bottom: 1px solid currentColor;
  padding-bottom: 2px;
}

/* Hero — full-bleed banners, natural crop (images are 1920×630) */
.hero {
  position: relative;
  overflow: hidden;
  background: #f3f3f0;
  width: 100%;
  aspect-ratio: 1920 / 630;
  max-height: min(72vh, 630px);
}
.hero--banners { min-height: 0; }
.hero__slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity .85s var(--bd-ease);
  display: block;
  z-index: 0;
  pointer-events: none;
}
.hero__slide.is-active {
  opacity: 1;
  z-index: 1;
  pointer-events: auto;
}
.hero__media {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center center;
  max-height: none;
  aspect-ratio: auto;
}
.hero__controls {
  position: absolute;
  right: 1.25rem;
  bottom: 1.25rem;
  display: flex;
  gap: .35rem;
  z-index: 2;
}
.hero__controls button {
  width: 40px; height: 40px;
  border: 1px solid rgba(255, 255, 255, 0.55);
  background: rgba(0, 0, 0, 0.28);
  color: white;
  cursor: pointer;
}
.hero__dots {
  position: absolute;
  left: 50%;
  bottom: 1.15rem;
  transform: translateX(-50%);
  display: flex;
  gap: .4rem;
  z-index: 2;
}
.hero__dots button {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  border: 0;
  padding: 0;
  background: rgba(255, 255, 255, 0.45);
  cursor: pointer;
}
.hero__dots button.is-active { background: #fff; }

/* Sections */
.section { padding: clamp(2.75rem, 5vw, 4.25rem) 0; }
.section-head { margin-bottom: 1.75rem; }
.section-head--center { text-align: center; }
.section-head--split {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 2rem;
  flex-wrap: wrap;
}
.shop-look__layout {
  display: grid;
  grid-template-columns: 1.35fr 1fr;
  gap: 15px;
  align-items: stretch;
}
.shop-look__feature {
  display: block;
  overflow: hidden;
  background: var(--bd-surface, #f2f1ec);
  min-height: 100%;
}
.shop-look__feature img {
  width: 100%;
  height: 100%;
  min-height: 420px;
  object-fit: cover;
  transition: transform .7s var(--bd-ease);
}
.shop-look__feature:hover img { transform: scale(1.02); }
.shop-look__products {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: .75rem !important;
  list-style: none;
  margin: 0 !important;
  padding: 0 !important;
}
.shop-look__products li.product {
  width: 100% !important;
  margin: 0 !important;
}
.eyebrow {
  font-size: .72rem;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--bd-muted);
  margin: 0 0 .6rem;
}
.section-head h2,
.pattern-house__copy h2,
.feature-band h2,
.why-bd h2,
.new-arrivals__copy h2,
.club-dahlia h2,
.entry-title,
.page-hero__title,
.archive-header__title,
.bd-account__title {
  font-family: var(--bd-font-display);
  font-weight: 500;
  font-size: clamp(1.6rem, 3vw, var(--bd-fs-h1));
  line-height: 1.15;
  margin: 0 0 .75rem;
  letter-spacing: .02em;
}

/* Categories — 3×2 (live) */
.cat-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 15px;
}
.cat-card {
  display: flex;
  flex-direction: column;
  gap: .75rem;
  text-align: center;
  background: transparent;
  overflow: visible;
  aspect-ratio: auto;
}
.cat-card__media {
  display: block;
  overflow: hidden;
  aspect-ratio: 1;
  background: var(--bd-surface, #f2f1ec);
}
.cat-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .7s var(--bd-ease);
}
.cat-card:hover .cat-card__media img { transform: scale(1.04); }
.cat-card__label {
  font-size: 13px;
  letter-spacing: .12em;
  text-transform: uppercase;
  font-weight: 500;
  color: var(--bd-ink);
}

/* Pattern house intro + 5-up rail */
.pattern-house { background: #fff; }
.pattern-house__intro {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(2rem, 5vw, 4rem);
  align-items: center;
}
.pattern-house__copy p {
  color: var(--bd-ink-soft);
  max-width: 48ch;
  margin: 0 0 .85rem;
}
.pattern-house__visual {
  display: block;
  overflow: hidden;
  background: var(--bd-surface, #f2f1ec);
  aspect-ratio: 4 / 3;
}
.pattern-house__visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.pattern-rail { background: var(--bd-surface, #f2f1ec); }
.pattern-rail__grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 15px;
}
.pattern-rail__card {
  display: flex;
  flex-direction: column;
  gap: .7rem;
  text-align: center;
}
.pattern-rail__media {
  display: block;
  overflow: hidden;
  aspect-ratio: 1;
  background: #fff;
}
.pattern-rail__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .7s var(--bd-ease);
}
.pattern-rail__card:hover .pattern-rail__media img { transform: scale(1.04); }
.pattern-rail__label {
  font-size: 13px;
  letter-spacing: .12em;
  text-transform: uppercase;
  font-weight: 500;
}

/* Kids / gifting promo tiles */
.feature-bands { background: var(--bd-surface, #f2f1ec); }
.feature-bands__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 15px;
}
.feature-band {
  position: relative;
  overflow: hidden;
  min-height: 550px;
  display: block;
  color: #fff;
}
.feature-band img {
  position: absolute; inset: 0;
  width: 100%; height: 100%; object-fit: cover;
  transition: transform .8s var(--bd-ease);
}
.feature-band:hover img { transform: scale(1.04); }
.feature-band__content,
.feature-band > div {
  position: relative;
  z-index: 1;
  height: 100%;
  min-height: 550px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  gap: 1rem;
  padding: 2rem;
  background: linear-gradient(transparent 40%, rgba(0,0,0,.45));
  box-sizing: border-box;
}
.feature-band__actions {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem;
}

/* New arrivals intro + horizontal slider */
.new-arrivals__intro {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(1.5rem, 4vw, 3rem);
  align-items: center;
  margin-bottom: 2rem;
}
.new-arrivals__copy p { color: var(--bd-ink-soft); max-width: 48ch; }
.new-arrivals__banner {
  display: block;
  overflow: hidden;
  background: var(--bd-surface, #f2f1ec);
  aspect-ratio: 4 / 3;
}
.new-arrivals__banner img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.home-slider {
  position: relative;
  display: grid;
  grid-template-columns: 40px 1fr 40px;
  gap: .5rem;
  align-items: center;
}
.home-slider__track {
  display: grid !important;
  grid-auto-flow: column !important;
  grid-auto-columns: calc((100% - 3.6rem) / 5) !important;
  grid-template-columns: none !important;
  gap: .9rem !important;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  padding: .15rem 0 .5rem !important;
}
.home-slider__track::-webkit-scrollbar { display: none; }
.home-slider__track > li.product {
  scroll-snap-align: start;
  width: auto !important;
}
.home-slider__btn {
  width: 40px;
  height: 40px;
  border: 1px solid var(--bd-line);
  background: #fff;
  font-size: 1.35rem;
  line-height: 1;
  cursor: pointer;
}

.product-grid,
ul.products {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 1.15rem .9rem !important;
  list-style: none;
  padding: 0;
  margin: 0;
  align-items: stretch;
}
.woocommerce ul.products li.product,
.product-grid .product {
  width: 100% !important;
  margin: 0 !important;
  float: none !important;
  clear: none !important;
  background: transparent;
  text-align: left;
  display: flex;
  flex-direction: column;
  height: 100%;
  min-width: 0;
}
.woocommerce ul.products li.product a img {
  margin: 0 0 .85rem;
  aspect-ratio: 4/5;
  object-fit: cover;
  width: 100%;
  background: var(--bd-bg-deep);
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-size: .92rem;
  font-weight: 400;
  padding: 0;
  margin: 0 0 .35rem;
  color: var(--bd-ink);
}
.woocommerce ul.products li.product .price {
  color: var(--bd-ink-soft);
  font-size: .9rem;
}
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
  background: var(--bd-ink) !important;
  color: white !important;
  border-radius: 0 !important;
  font-weight: 500;
  letter-spacing: .08em;
  text-transform: uppercase;
  font-size: .72rem !important;
}

.why-bd {
  background: var(--bd-surface, #f2f1ec);
  color: var(--bd-ink);
  padding-top: 2.5rem;
  padding-bottom: 4.5rem;
}
.why-bd h2 {
  text-transform: uppercase;
  letter-spacing: .08em;
  font-size: clamp(1.25rem, 2.2vw, 1.6rem);
}
.why-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
}
.why-grid--certs {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 1.25rem 10px;
}
.why-grid--certs li {
  flex: 1 1 140px;
  max-width: 200px;
  border: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  text-align: center;
}
.why-grid__icon {
  width: 80px;
  height: 80px;
  display: flex;
  align-items: flex-end;
  justify-content: center;
}
.why-grid__icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: bottom center;
}
.why-grid__label {
  font-size: 13px;
  line-height: 1.4;
  letter-spacing: .02em;
  color: #000;
}

.club-dahlia {
  background: #edebe4;
  padding: 3.5rem 0;
}
.club-dahlia__inner {
  display: flex;
  justify-content: space-between;
  gap: 2rem;
  align-items: end;
  flex-wrap: wrap;
}
.club-dahlia__form {
  display: flex;
  gap: .5rem;
  width: min(100%, 420px);
}
.club-dahlia__form input {
  flex: 1;
  border: 1px solid var(--bd-line);
  background: var(--bd-white);
  padding: .9rem 1rem;
}
.club-dahlia__form button {
  border: 0;
  background: var(--bd-ink);
  color: white;
  padding: .9rem 1.25rem;
  letter-spacing: .1em;
  text-transform: uppercase;
  font-size: .72rem;
  cursor: pointer;
}

.site-footer { background: var(--bd-white); border-top: 1px solid var(--bd-line); }
.footer-main {
  display: grid;
  grid-template-columns: 1.2fr 2fr;
  gap: 3rem;
  padding: 3.5rem 0 2.5rem;
}
.footer-brand p {
  color: var(--bd-ink-soft);
  max-width: 34ch;
  font-weight: 300;
  margin-top: 1rem;
}
.footer-cols {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
}
.footer-cols h3 {
  font-size: .72rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  margin: 0 0 1rem;
}
.footer-cols a {
  display: block;
  padding: .25rem 0;
  color: var(--bd-ink-soft);
  font-weight: 300;
  font-size: .92rem;
}
.footer-cols a:hover { color: var(--bd-ink); }
.footer-bottom {
  border-top: 1px solid var(--bd-line);
  padding: 1.15rem 0;
  font-size: .8rem;
  color: var(--bd-muted);
  background: var(--bd-surface, #f2f1ec);
}
.footer-bottom__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  gap: 1rem 1.5rem;
  align-items: center;
}
.footer-bottom__copy {
  justify-self: start;
}
.footer-bottom__copy p {
  margin: 0;
  line-height: 1.4;
}
.footer-bottom__aside {
  justify-self: end;
  text-align: right;
}
.footer-bottom__aside p { margin: 0; }
.footer-bottom a {
  border-bottom: 1px solid currentColor;
  color: inherit;
  text-decoration: none;
}
.footer-bottom a:hover { color: var(--bd-ink); }

/* Payment card logos — centered, equal height, theme-neutral frames */
.footer-payments {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .55rem;
  list-style: none;
  margin: 0;
  padding: 0;
  justify-self: center;
}
.footer-payments li {
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center;
}
.footer-payments img {
  display: block;
  width: 48px;
  height: 30px;
  object-fit: contain;
  border: 1px solid var(--bd-line);
  border-radius: 3px;
  background: #fff;
  padding: 3px 5px;
  box-sizing: border-box;
  filter: grayscale(0.15) contrast(1.05);
  transition: border-color .2s var(--bd-ease), box-shadow .2s var(--bd-ease);
}
.footer-payments li:hover img {
  border-color: var(--bd-accent);
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--bd-accent) 35%, transparent);
  filter: none;
}

@media (max-width: 768px) {
  .nav-toggle { display: flex; }
  .site-header__inner {
    grid-template-columns: auto minmax(0, 1fr) auto;
    min-height: 60px;
    column-gap: .75rem;
  }
  .site-header__brand {
    grid-column: 1;
    justify-self: start;
    z-index: 1;
  }
  .nav-toggle {
    grid-column: 1;
    justify-self: start;
    margin-right: 0;
  }
  /* Brand left-most; hamburger sits just after brand visually via order */
  .site-header__inner {
    display: flex;
    align-items: center;
    gap: .75rem;
  }
  .site-header__brand { order: 1; flex: 0 0 auto; }
  .nav-toggle { order: 2; flex: 0 0 auto; margin-left: .15rem; }
  .header-actions { order: 3; margin-left: auto; flex: 0 0 auto; }
  .nav-primary { order: 4; }
  .site-brand__name {
    font-size: 1rem;
    letter-spacing: .12em;
  }
  .site-brand img {
    height: 24px;
    max-width: min(160px, 46vw);
  }
  .nav-primary {
    position: fixed;
    inset: 0 auto 0 0;
    width: min(88vw, 360px);
    background: var(--bd-bg);
    padding: 5rem 1.25rem 2rem;
    transform: translateX(-105%);
    transition: transform .4s var(--bd-ease);
    z-index: 220;
    box-shadow: 8px 0 30px rgba(0,0,0,.08);
    overflow-y: auto;
    display: block;
    justify-content: flex-start;
  }
  .nav-primary.is-open { transform: translateX(0); }
  .nav-primary__list {
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    flex-wrap: wrap;
  }
  .nav-item { border-bottom: 1px solid var(--bd-line); }
  .nav-item__link,
  .nav-item__trigger {
    width: 100%;
    justify-content: space-between;
    padding: 1rem 0;
  }
  .nav-item__link::after,
  .nav-item__trigger::after { display: none; }
  .nav-item.has-mega > .nav-item__trigger::before {
    content: "+";
    order: 2;
    font-size: 1.1rem;
    line-height: 1;
  }
  .nav-item.has-mega.is-open > .nav-item__trigger::before { content: "–"; }
  .mega-panel {
    position: static;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: none;
    box-shadow: none;
    border: 0;
    padding: 0 0 1rem;
    display: none;
  }
  .mega-panel[hidden] { display: none; }
  .nav-item.is-open > .mega-panel,
  .nav-item.is-open > .mega-panel[hidden] { display: block; }
  .mega-panel__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: .85rem;
    justify-items: stretch;
  }
  .mega-item { max-width: none; }
  .hero { aspect-ratio: 4 / 3; max-height: none; }
  .hero__media {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    aspect-ratio: auto;
    max-height: none;
  }
  .cat-grid { grid-template-columns: repeat(2, 1fr) !important; }
  .feature-bands__grid,
  .pattern-rail__grid,
  .footer-main,
  .footer-cols,
  .contact-grid,
  .care-grid { grid-template-columns: 1fr !important; }
  .home-slider__track {
    grid-auto-columns: calc((100% - .9rem) / 2) !important;
  }
  .feature-band,
  .feature-band__content,
  .feature-band > div { min-height: 380px; }
  .bd-pdp__grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
  }
  .bd-pdp__gallery,
  .bd-pdp__summary {
    float: none !important;
    width: 100% !important;
  }
  .sitemap-grid { grid-template-columns: 1fr 1fr; }
  .shop-look__feature img { min-height: 280px; }
}

@media (max-width: 520px) {
  .cat-grid { grid-template-columns: repeat(2, 1fr) !important; }
  .feature-bands__grid, .product-grid, ul.products, .footer-cols,
  .blog-grid, .sitemap-grid, .story-stats {
    grid-template-columns: 1fr !important;
  }
}

/* ========== v1.4 site-wide alignment polish (match tammymart.com) ========== */
.eyebrow {
  font-size: var(--bd-fs-xs) !important;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--bd-muted);
  margin: 0 0 .5rem;
  font-weight: 500;
}

.page-hero {
  background: var(--bd-bg-deep);
  border-bottom: 1px solid var(--bd-line);
  padding: clamp(2.25rem, 5vw, 3.5rem) 0;
}
.page-hero__title {
  font-size: clamp(1.75rem, 3vw, var(--bd-fs-h1)) !important;
  font-weight: 500 !important;
  letter-spacing: .03em;
}
.page-hero__lede {
  font-size: var(--bd-fs-sm) !important;
  color: var(--bd-muted);
  font-weight: 300;
  margin: 0;
  max-width: 48ch;
}

.prose {
  font-size: var(--bd-fs-base) !important;
  line-height: 1.65;
}
.prose .lead { font-size: var(--bd-fs-lg) !important; }
.prose h2 {
  font-size: clamp(1.35rem, 2.4vw, var(--bd-fs-h2)) !important;
  letter-spacing: .02em;
}

/* ========== Generic content wrapper (Contact / static pages) ========== */
.content-wrap {
  width: min(100% - 2.5rem, 900px);
  margin: 0 auto;
  padding: clamp(2.5rem, 5vw, 4rem) 0 clamp(3.5rem, 7vw, 5.5rem);
}
.content-wrap--wide { max-width: 1160px; }

.muted { color: var(--bd-muted); }

.form-notice {
  margin: 0 0 2rem;
  padding: .9rem 1.15rem;
  font-size: 14px;
  line-height: 1.55;
  border: 1px solid var(--bd-line);
  border-left: 3px solid var(--bd-ink);
  background: var(--bd-bg-deep);
}
.form-notice--success { border-left-color: #4a7a4a; }
.form-notice--error { border-left-color: #c0392b; }

/* ========== Contact page ========== */
.contact-grid {
  display: grid;
  grid-template-columns: minmax(0, .95fr) minmax(320px, 1.15fr);
  gap: clamp(2.5rem, 5vw, 4.5rem);
  align-items: start;
}
.contact-cards {
  display: grid;
  gap: 1.85rem;
}
.contact-card {
  border-top: 1px solid var(--bd-line);
  padding-top: 1.15rem;
}
.contact-card h2 {
  margin: 0 0 .65rem;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--bd-ink);
}
.contact-card p {
  margin: 0 0 .4rem;
  font-size: 14px;
  line-height: 1.6;
  color: var(--bd-ink);
  font-weight: 300;
}
.contact-card p:last-child { margin-bottom: 0; }
.contact-card p.muted { font-size: 13px; }
.contact-card a {
  color: var(--bd-ink);
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-color: var(--bd-line);
}
.contact-card a:hover { text-decoration-color: var(--bd-ink); }

.contact-form {
  border: 1px solid var(--bd-line);
  padding: clamp(1.5rem, 3vw, 2.5rem);
  background: var(--bd-white, #fff);
}
.contact-form h2 {
  margin: 0 0 1.5rem;
  font-size: clamp(1.1rem, 1.6vw, 1.3rem);
  font-weight: 500;
  letter-spacing: .02em;
}
.contact-form label {
  display: block;
  margin: 0 0 1.25rem;
}
.contact-form label span {
  display: block;
  margin: 0 0 .5rem;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--bd-muted);
}
.contact-form input,
.contact-form textarea {
  width: 100%;
  border: 1px solid var(--bd-line);
  background: #fff;
  padding: .8rem .95rem;
  font-family: inherit;
  font-size: 14px;
  color: var(--bd-ink);
  transition: border-color .2s var(--bd-ease);
}
.contact-form textarea {
  min-height: 140px;
  resize: vertical;
  line-height: 1.55;
}
.contact-form input:focus,
.contact-form textarea:focus {
  outline: none;
  border-color: var(--bd-ink);
}
.contact-form .btn {
  margin-top: .25rem;
  cursor: pointer;
}

@media (max-width: 780px) {
  .contact-grid { grid-template-columns: 1fr; }
  .contact-form { order: -1; }
}

.contact-map {
  margin-top: clamp(3rem, 6vw, 4.5rem);
  padding-top: clamp(2rem, 4vw, 2.75rem);
  border-top: 1px solid var(--bd-line);
}
.contact-map__title {
  margin: 0 0 .5rem;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--bd-ink);
}
.contact-map__address {
  margin: 0 0 1.25rem;
  font-size: 14px;
  font-weight: 300;
  color: var(--bd-muted);
}
.contact-map__frame {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 7;
  border: 1px solid var(--bd-line);
  background: var(--bd-bg-deep);
  overflow: hidden;
}
.contact-map__frame iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.contact-map__link {
  margin: .9rem 0 0;
  font-size: 13px;
}
.contact-map__link a {
  color: var(--bd-ink);
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-color: var(--bd-line);
}
.contact-map__link a:hover { text-decoration-color: var(--bd-ink); }

@media (max-width: 640px) {
  .contact-map__frame { aspect-ratio: 4 / 5; }
}

/* Product cards — matched to tammymart.com collection grid */
.woocommerce ul.products,
ul.products,
.product-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 1.15rem .9rem !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  align-items: stretch !important;
  clear: none !important;
}
/* WC clearfix pseudo-elements become empty grid cells — remove them */
.woocommerce ul.products::before,
.woocommerce ul.products::after,
.woocommerce-page ul.products::before,
.woocommerce-page ul.products::after,
.woocommerce .products ul::before,
.woocommerce .products ul::after,
ul.products::before,
ul.products::after,
.product-grid::before,
.product-grid::after {
  content: none !important;
  display: none !important;
}
.shop-layout__main .woocommerce ul.products,
.shop-layout__main ul.products,
.archive-main ul.products {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}
.woocommerce ul.products li.product,
.product-grid .product,
.bd-card {
  width: 100% !important;
  max-width: none !important;
  float: none !important;
  clear: none !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: left !important;
  background: transparent;
  position: relative;
  border: 0 !important;
  box-shadow: none !important;
  display: flex !important;
  flex-direction: column;
  height: 100%;
  min-width: 0;
}
.woocommerce ul.products li.product.first,
.woocommerce ul.products li.product.last {
  clear: none !important;
  margin: 0 !important;
}
.bd-card__link {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  height: 100%;
  min-height: 100%;
  color: inherit;
  text-decoration: none !important;
  border: 0 !important;
}
.bd-card__media {
  display: block;
  position: relative;
  aspect-ratio: 4 / 5;
  width: 100%;
  background: #f3f3f0;
  overflow: hidden;
  margin: 0;
  border: 0;
  flex: 0 0 auto;
}
.bd-card__media img,
.woocommerce ul.products li.product a img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  object-position: center;
  display: block !important;
  margin: 0 !important;
  transition: transform .55s var(--bd-ease);
}
.bd-card:hover .bd-card__media img { transform: scale(1.03); }
.bd-card__badge {
  position: absolute;
  top: .65rem; left: .65rem;
  background: var(--bd-accent);
  color: #fff;
  font-size: 10px;
  letter-spacing: .12em;
  text-transform: uppercase;
  padding: .35rem .5rem;
  font-weight: 500;
}
.bd-card__body {
  display: flex;
  flex-direction: column;
  gap: .55rem;
  flex: 1 1 auto;
  background: #f3f3f0;
  padding: 1rem 1rem 1.1rem;
  min-height: 6.75rem;
  box-sizing: border-box;
}
.bd-card__title,
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  display: block !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 1.35 !important;
  color: #111 !important;
  margin: 0 !important;
  padding: 0 !important;
  letter-spacing: .01em;
  min-height: 1.35em;
}
.bd-card__swatches {
  display: flex;
  align-items: center;
  gap: .4rem;
  flex-wrap: nowrap;
  height: 18px;
  min-height: 18px;
  overflow: hidden;
}
/* Hide leftover WC loop chrome that breaks card alignment */
.woocommerce ul.products li.product .star-rating,
.woocommerce ul.products li.product .onsale,
.bd-card .star-rating,
.bd-card .onsale {
  display: none !important;
}
.bd-card__swatch {
  width: 14px;
  height: 14px;
  border-radius: 50%;
  border: 1px solid rgba(0,0,0,.35);
  display: inline-block;
  flex: 0 0 auto;
  box-sizing: border-box;
}
.bd-card__swatch-more {
  font-size: 12px;
  color: #333;
  letter-spacing: .02em;
  margin-left: .1rem;
}
.bd-card__price,
.woocommerce ul.products li.product .price {
  margin-top: auto !important;
  font-size: 15px !important;
  color: #111 !important;
  font-weight: 600 !important;
  letter-spacing: .01em;
}
.bd-card__price .amount,
.bd-card__price bdi,
.woocommerce ul.products li.product .price .amount {
  font-weight: 600 !important;
  color: #111 !important;
}
.bd-card__price del,
.woocommerce ul.products li.product .price del {
  color: #888;
  font-weight: 400;
  opacity: .85;
  margin-right: .35rem;
}
.bd-card__price ins {
  text-decoration: none;
  background: transparent;
}
.bd-card__actions { display: none !important; }
.woocommerce ul.products li.product .button {
  display: none !important;
}

/* Collection header banner — full-bleed under header */
.collection-header-banner {
  width: 100%;
  background: #f2f1ec;
  margin: 0;
  padding: 0;
}
.collection-header-banner__inner {
  width: 100%;
  max-width: 2400px;
  margin: 0 auto;
  height: 300px;
  overflow: hidden;
  position: relative;
}
.collection-header-banner__img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.collection-header-banner__img--mobile { display: none; }
.collection-header-banner__img--desktop { display: block; }
@media (max-width: 768px) {
  .collection-header-banner__inner {
    height: auto;
    aspect-ratio: 1200 / 560;
    max-height: none;
  }
  .collection-header-banner__img--desktop { display: none; }
  .collection-header-banner__img--mobile { display: block; }
}

.archive-main { padding-top: 0; }
.archive-main > .container { padding-top: 1.25rem; }

/* Shop / category archive */
.archive-main { padding-bottom: clamp(2.5rem, 5vw, 4rem); }
.archive-header { margin-bottom: 1rem; }
.archive-header__title {
  font-size: clamp(1.75rem, 3vw, 2.25rem) !important;
  margin: 0 0 .5rem !important;
  letter-spacing: .04em;
  text-transform: uppercase;
  font-weight: 500;
}
.archive-header .term-description,
.archive-header p {
  max-width: 62ch;
  color: var(--bd-muted);
  font-size: var(--bd-fs-sm);
  font-weight: 300;
  margin: 0;
}


/* Match tammymart.com: page-width ~1500, sidebar 20%, content 80% */
.shop-main > .container,
.shop-main .container {
  max-width: min(100% - 2.5rem, 1500px);
}

.shop-layout {
  display: grid;
  grid-template-columns: 20% minmax(0, 80%);
  column-gap: 12px;
  row-gap: 0;
  align-items: start;
  margin-top: 0;
}
.shop-layout__main {
  min-width: 0;
  width: 100%;
}

.shop-filters-toggle {
  display: none;
  width: 100%;
  margin: 0 0 .75rem;
  padding: .85rem 1rem;
  border: 1px solid var(--bd-ink);
  background: var(--bd-white);
  letter-spacing: .12em;
  text-transform: uppercase;
  font-size: 11px;
  font-weight: 500;
  cursor: pointer;
}

.shop-sidebar {
  position: sticky;
  top: calc(var(--bd-header-h) + 12px);
  max-height: calc(100vh - var(--bd-header-h) - 24px);
  overflow-y: auto;
  overflow-x: hidden;
  padding: 0 10px 0 0;
  border: 0;
  width: 100%;
  box-sizing: border-box;
  align-self: start;
}
.shop-sidebar__inner {
  padding: 0;
  width: 100%;
}
.shop-sidebar__head {
  display: none;
  align-items: center;
  justify-content: space-between;
  margin-bottom: .75rem;
}
.shop-sidebar__title {
  margin: 0;
  font-size: .78rem;
  letter-spacing: .16em;
  text-transform: uppercase;
  font-weight: 500;
}
.shop-sidebar__close {
  display: none;
  border: 0;
  background: transparent;
  font-size: 1.5rem;
  line-height: 1;
  cursor: pointer;
  color: var(--bd-ink);
}
.shop-sidebar__clear {
  margin: 0 0 .85rem;
  font-size: 12px;
}
.shop-sidebar__clear a {
  border-bottom: 1px solid currentColor;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.shop-sidebar__group {
  width: 100%;
  border-top: 1px solid var(--bd-line);
  border-bottom: 0;
  padding: 0;
  margin: 0;
  overflow: hidden;
}
.shop-sidebar__group:last-child {
  border-bottom: 1px solid var(--bd-line);
}
.shop-sidebar__trigger {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  padding: 14px 0;
  border: 0;
  background: transparent;
  font: inherit;
  font-size: 12px;
  letter-spacing: .14em;
  text-transform: uppercase;
  font-weight: 500;
  cursor: pointer;
  color: #111;
  text-align: left;
  line-height: 1;
}
.shop-sidebar__trigger > span:first-child {
  flex: 1 1 auto;
  min-width: 0;
}
.shop-sidebar__chevron {
  width: 10px;
  height: 6px;
  flex: 0 0 auto;
  position: relative;
  opacity: .9;
  transition: transform .2s ease;
}
.shop-sidebar__chevron::before {
  content: "";
  position: absolute;
  inset: 0;
  border-left: 1.5px solid #111;
  border-bottom: 1.5px solid #111;
  transform: rotate(-45deg);
  transform-origin: center;
  width: 7px;
  height: 7px;
  left: 1px;
  top: -2px;
  box-sizing: border-box;
}
.shop-sidebar__group.is-open .shop-sidebar__chevron {
  transform: rotate(180deg);
}
.shop-sidebar__panel { padding: 0 0 14px; }
.shop-sidebar__panel[hidden] { display: none; }
.shop-sidebar__list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.shop-sidebar__list li { margin: 0; }
.shop-sidebar__list a {
  display: flex;
  align-items: center;
  gap: .55rem;
  padding: .42rem 0;
  font-size: 13px;
  color: #1c1d1d;
  text-decoration: none;
  border: 0;
  font-weight: 400;
}
.shop-sidebar__list li.is-active > a,
.shop-sidebar__list a:hover { color: #000; }
.shop-sidebar__list--checks .shop-sidebar__check { align-items: center; }
.shop-sidebar__box {
  width: 15px;
  height: 15px;
  border: 1px solid #bbb;
  flex: 0 0 auto;
  display: inline-grid;
  place-items: center;
  background: #fff;
  border-radius: 0;
}
.shop-sidebar__list li.is-active .shop-sidebar__box {
  border-color: #111;
  background: #111;
  box-shadow: inset 0 0 0 2px #fff;
}
.shop-sidebar__label { flex: 1; line-height: 1.35; }
.shop-sidebar__count { color: #6b6b6b; font-size: 12px; }
.shop-sidebar__list--scroll {
  max-height: 240px;
  overflow-y: auto;
  padding-right: .25rem;
}

.shop-price-range { display: grid; gap: .75rem; }
.shop-price-range__row {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: .45rem;
  align-items: end;
}
.shop-price-range__field {
  display: grid;
  gap: .3rem;
  font-size: 11px;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: #6b6b6b;
}
.shop-price-range__field input {
  width: 100%;
  border: 1px solid #e0e0e0;
  padding: .55rem .6rem;
  font-size: 13px;
  color: #111;
  background: #fff;
}
.shop-price-range__sep {
  padding-bottom: .55rem;
  color: #6b6b6b;
}
.shop-price-range__btn {
  width: 100%;
  border: 1px solid #111;
  background: #111;
  color: #fff;
  padding: .65rem .75rem;
  font-size: 11px;
  letter-spacing: .12em;
  text-transform: uppercase;
  cursor: pointer;
}
.shop-price-range__btn:hover { background: #2b2b2b; }

.shop-sidebar-backdrop {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.35);
  z-index: 180;
}
.shop-sidebar-backdrop.is-visible { display: block; }

@media (max-width: 900px) {
  .shop-layout { grid-template-columns: 1fr; column-gap: 0; }
  .shop-filters-toggle { display: block; }
  .shop-sidebar {
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    width: min(88vw, 340px);
    max-height: none;
    z-index: 190;
    background: #fff;
    padding: 1.25rem 1.25rem 2rem;
    border-right: 0;
    box-shadow: 8px 0 30px rgba(0,0,0,.1);
    transform: translateX(-105%);
    transition: transform .35s var(--bd-ease);
    overflow-y: auto;
  }
  .shop-sidebar.is-open { transform: translateX(0); }
  .shop-sidebar__head { display: flex; }
  .shop-sidebar__close { display: block; }
}

.archive-toolbar {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: .75rem 1rem;
  padding: .65rem 0 .85rem;
  margin: 0 0 .35rem;
  border-top: 1px solid var(--bd-line);
  border-bottom: 1px solid var(--bd-line);
  font-size: var(--bd-fs-sm);
  color: var(--bd-muted);
}
.archive-toolbar .woocommerce-result-count { margin: 0; float: none; }
.archive-toolbar .woocommerce-ordering { margin: 0; float: none; }
.archive-toolbar .woocommerce-ordering select {
  border: 1px solid var(--bd-line);
  background: var(--bd-white);
  padding: .55rem .85rem;
  font-size: var(--bd-fs-sm);
  color: var(--bd-ink);
  border-radius: 0;
}
.woocommerce nav.woocommerce-pagination ul {
  display: flex;
  gap: .35rem;
  border: 0;
  margin: 2rem 0 0;
  padding: 0;
  justify-content: center;
}
.woocommerce nav.woocommerce-pagination ul li {
  border: 0;
  margin: 0;
}
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
  min-width: 2.4rem;
  height: 2.4rem;
  display: grid;
  place-items: center;
  border: 1px solid var(--bd-line) !important;
  background: var(--bd-white);
  color: var(--bd-ink);
  font-size: var(--bd-fs-sm);
  padding: 0 !important;
}
.woocommerce nav.woocommerce-pagination ul li span.current {
  background: var(--bd-ink);
  color: #fff;
  border-color: var(--bd-ink) !important;
}

/* Commerce pages (account / cart / checkout) share the site container width —
   previously unset, so content ran edge-to-edge instead of aligning with the header/nav. */
.bd-commerce-page {
  width: min(100% - 2.5rem, 1200px);
  margin-inline: auto;
  padding: 2.5rem 0 5rem;
}

/* Cart */
.woocommerce-cart .bd-commerce-page,
.woocommerce-checkout .bd-commerce-page {
  padding-top: 2rem;
}
.woocommerce-cart-form,
.woocommerce-cart .cart-collaterals {
  float: none !important;
  width: 100% !important;
}
.woocommerce-cart .woocommerce {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(280px, .75fr);
  gap: 1.5rem;
  align-items: start;
}
.woocommerce-cart-form {
  background: var(--bd-white);
  border: 1px solid var(--bd-line);
  padding: 0;
  overflow: hidden;
}
.woocommerce table.shop_table.cart {
  margin: 0;
  border: 0;
  table-layout: auto;
}
.woocommerce table.shop_table.cart th,
.woocommerce table.shop_table.cart td {
  border: 0 !important;
  border-bottom: 1px solid var(--bd-line) !important;
  padding: 1rem .9rem !important;
  vertical-align: middle;
  font-size: var(--bd-fs-sm);
  background: transparent !important;
}
.woocommerce table.shop_table.cart thead th {
  font-size: 11px !important;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--bd-muted);
  font-weight: 500;
  background: var(--bd-bg-deep) !important;
}
.woocommerce table.cart .product-thumbnail img {
  width: 72px;
  height: 72px;
  object-fit: cover;
  border: 1px solid var(--bd-line);
}
.woocommerce table.cart .product-name a {
  color: var(--bd-ink);
  font-size: var(--bd-fs-sm);
  text-decoration: none;
  border: 0;
  font-weight: 400;
}
.cart-collaterals .cart_totals {
  float: none !important;
  width: 100% !important;
  background: var(--bd-white);
  border: 1px solid var(--bd-line);
  padding: 1.35rem 1.4rem 1.5rem;
}
.cart-collaterals .cart_totals h2 {
  font-size: var(--bd-fs-h3) !important;
  margin: 0 0 1rem;
  letter-spacing: .04em;
  text-transform: uppercase;
  font-weight: 500;
}
.cart_totals table th,
.cart_totals table td {
  border: 0 !important;
  border-bottom: 1px solid var(--bd-line) !important;
  padding: .75rem 0 !important;
  font-size: var(--bd-fs-sm);
}
.cart_totals .checkout-button,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
  display: block !important;
  width: 100%;
  text-align: center;
  margin: 1rem 0 0 !important;
  padding: 1rem !important;
  font-size: 12px !important;
}
.cart-empty.woocommerce-info,
.wc-empty-cart-message .woocommerce-info {
  display: block;
  text-align: center;
  padding: 2.5rem 1.5rem !important;
  border: 1px solid var(--bd-line) !important;
  border-left: 1px solid var(--bd-line) !important;
}

.bd-commerce-page--checkout {
  width: min(100% - 2.5rem, 1320px);
}

/* ========== Checkout — "ticket" layout, recolored to match the site's teal/ink brand palette ========== */
.bd-commerce-page--checkout {
  --bd-cx-accent: var(--bd-accent);
  --bd-cx-accent-dark: var(--bd-accent-dark);
  --bd-cx-panel: var(--bd-bg-deep);
  --bd-cx-line: var(--bd-line);
  --bd-cx-radius: 22px;
}

/* Layout: form column + order-summary sidebar */
form.checkout.woocommerce-checkout {
  display: grid !important;
  grid-template-columns: minmax(0, 1.2fr) minmax(320px, .85fr);
  gap: 0 3rem;
  align-items: start;
}
/* #customer_details also carries the legacy .col2-set class — keep it a plain
   stacked block (billing, then shipping fields), not a nested grid. */
form.checkout.woocommerce-checkout #customer_details {
  display: block;
  grid-column: 1;
  grid-row: 1 / span 3;
  width: 100% !important;
  float: none !important;
}
form.checkout.woocommerce-checkout #customer_details .col-1,
form.checkout.woocommerce-checkout #customer_details .col-2 {
  width: 100% !important;
  float: none !important;
}
form.checkout.woocommerce-checkout #customer_details .col-2 {
  margin-top: 2rem;
}
form.checkout.woocommerce-checkout .bd-order-panel {
  grid-column: 2;
  grid-row: 1 / span 3;
}
.woocommerce-checkout #order_review_heading,
.woocommerce-checkout #order_review {
  width: 100% !important;
  float: none !important;
}

/* Top-of-form utility links (coupon / returning customer) — plain text, no boxes */
.woocommerce-form-coupon-toggle,
.woocommerce-form-login-toggle {
  margin: 0 0 .5rem;
}
.woocommerce-form-coupon-toggle .woocommerce-info,
.woocommerce-form-login-toggle .woocommerce-info {
  background: none !important;
  border: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  font-size: 13px;
  color: var(--bd-muted);
}
.woocommerce-form-coupon-toggle .woocommerce-info::before,
.woocommerce-form-login-toggle .woocommerce-info::before { display: none !important; }
.woocommerce-form-coupon-toggle .woocommerce-info a,
.woocommerce-form-login-toggle .woocommerce-info a,
.woocommerce-form-login a {
  color: var(--bd-cx-accent);
  text-decoration: underline;
  text-underline-offset: 2px;
  font-weight: 600;
}
.woocommerce-form-coupon {
  display: flex;
  gap: .75rem;
  align-items: flex-start;
  border: 1.5px solid var(--bd-cx-line);
  border-radius: 16px;
  padding: 1rem;
  margin: .75rem 0 1.5rem;
  flex-wrap: wrap;
  background: #fff;
}
.woocommerce-form-coupon .form-row { margin: 0; flex: 1 1 220px; }
.woocommerce-form-coupon .form-row-last { flex: 0 0 auto; }
.woocommerce-form-coupon button {
  background: var(--bd-ink) !important;
  color: #fff !important;
  border: 0 !important;
  padding: .85rem 1.5rem !important;
  font-size: 12px !important;
  font-weight: 700;
  border-radius: 999px !important;
  cursor: pointer;
  height: 100%;
  transition: background .15s ease;
}
.woocommerce-form-coupon button:hover { background: var(--bd-cx-accent-dark) !important; }
.woocommerce-form-login {
  background: #fff;
  border: 1.5px solid var(--bd-cx-line);
  border-radius: 16px;
  padding: 1.4rem;
  margin: .75rem 0 1.75rem;
}
.woocommerce-form-login .form-row { flex: 1 1 100%; }

/* Section headings inside the form */
.woocommerce-checkout .woocommerce-billing-fields h3,
.woocommerce-checkout .woocommerce-shipping-fields h3,
.woocommerce-checkout .woocommerce-additional-fields h3 {
  font-size: 15px !important;
  letter-spacing: .04em;
  text-transform: uppercase;
  font-weight: 800 !important;
  margin: 0 0 1.4rem;
  color: var(--bd-ink);
}
.woocommerce-checkout .woocommerce-shipping-fields,
.woocommerce-checkout .woocommerce-additional-fields {
  margin-top: 2rem;
}

/* Pill-shaped fields */
.woocommerce-billing-fields__field-wrapper,
.woocommerce-shipping-fields__field-wrapper,
.woocommerce-additional-fields__field-wrapper {
  display: flex;
  flex-wrap: wrap;
  gap: 0 1rem;
}
.woocommerce-checkout .form-row { margin: 0 0 1rem; }
.woocommerce-checkout .form-row-first,
.woocommerce-checkout .form-row-last {
  flex: 1 1 calc(50% - .5rem);
  min-width: 160px;
}
.woocommerce-checkout .form-row-wide { flex: 1 1 100%; }
.woocommerce-checkout #order_comments_field,
.woocommerce-checkout .form-row.notes {
  flex: 1 1 100%;
  width: 100%;
  max-width: 100%;
}
.woocommerce-checkout #order_comments_field .woocommerce-input-wrapper,
.woocommerce-checkout #order_comments {
  display: block;
  width: 100% !important;
  max-width: 100%;
  box-sizing: border-box;
}
.woocommerce-checkout .form-row label {
  display: block;
  font-size: 12.5px !important;
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
  color: var(--bd-ink);
  margin-bottom: .4rem;
}
.woocommerce-checkout .form-row label .required { color: var(--bd-danger, #c62828); text-decoration: none; }
.woocommerce-checkout .form-row label .optional { font-weight: 400; color: var(--bd-muted); text-transform: none; }
.woocommerce-checkout .input-text,
.woocommerce-checkout select,
.woocommerce-checkout textarea,
.woocommerce-checkout .select2-container .select2-selection--single {
  width: 100%;
  border: 1.5px solid var(--bd-cx-line) !important;
  background: #fff !important;
  padding: .95rem 1.3rem !important;
  font-family: inherit;
  font-size: 14px;
  color: var(--bd-ink);
  border-radius: 26px !important;
  height: auto !important;
  transition: border-color .15s ease, box-shadow .15s ease;
  box-shadow: none !important;
}
.woocommerce-checkout .select2-container .select2-selection--single { display: flex; align-items: center; }
.woocommerce-checkout .select2-selection__rendered { padding: 0 !important; line-height: normal !important; }
.woocommerce-checkout .select2-selection__arrow { height: 100% !important; right: 10px !important; }
.woocommerce-checkout textarea {
  border-radius: 20px !important;
  min-height: 110px;
  resize: vertical;
  line-height: 1.55;
}
.woocommerce-checkout .input-text:focus,
.woocommerce-checkout select:focus,
.woocommerce-checkout textarea:focus {
  outline: none;
  border-color: var(--bd-cx-accent) !important;
  box-shadow: 0 0 0 4px rgba(101, 175, 192, .18) !important;
}
.woocommerce-checkout #ship-to-different-address {
  border: 0 !important;
  padding: 0 !important;
  margin: .25rem 0 1.5rem !important;
}
.woocommerce-checkout #ship-to-different-address label {
  display: flex;
  align-items: center;
  gap: .6rem;
  font-size: 13px !important;
  font-weight: 500;
  letter-spacing: 0;
  text-transform: none;
  color: var(--bd-ink);
  cursor: pointer;
}
.woocommerce-checkout input[type="checkbox"] {
  width: 18px;
  height: 18px;
  accent-color: var(--bd-cx-accent);
  cursor: pointer;
  border-radius: 5px;
}

/* ===== Order summary — shaded "ticket" panel with a zig-zag top edge ===== */
.bd-order-panel {
  --bd-cx-inset: 24px; /* shared horizontal inset for white card content */
  position: sticky;
  top: 24px;
  background: var(--bd-cx-panel);
  border-radius: 0 0 var(--bd-cx-radius) var(--bd-cx-radius);
  padding: 34px 20px 30px;
  margin-top: 16px;
}
.bd-order-panel__zig {
  display: block;
  position: absolute;
  left: 0;
  right: 0;
  top: -11px;
  height: 12px;
  background-repeat: repeat-x;
  background-size: 24px 12px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='12' viewBox='0 0 24 12'%3E%3Cpath d='M0 12L6 0 12 12 18 0 24 12Z' fill='%23f7f7f4'/%3E%3C/svg%3E");
}
.woocommerce-checkout #order_review_heading {
  margin: 0 !important;
  padding: 0 4px 18px;
  border: 0;
  background: none;
  text-align: center;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--bd-ink);
}
.woocommerce-checkout #order_review {
  padding: 0;
  border: 0;
  background: none;
  position: static;
}

/* White card: product list + totals (padding lives on cells — tables ignore box padding) */
#order_review table.shop_table {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
  margin: 0;
  background: #fff;
  border-radius: 16px 16px 0 0;
  padding: 0;
  table-layout: fixed;
}
#order_review table.shop_table colgroup,
#order_review table.shop_table col { display: none; }
#order_review table.shop_table thead { display: table-header-group; }
#order_review table.shop_table thead th {
  font-size: 10.5px !important;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--bd-ink);
  padding: 20px var(--bd-cx-inset) 12px !important;
  border-bottom: 1.5px solid var(--bd-cx-line) !important;
  background: transparent !important;
  vertical-align: middle;
}
#order_review table.shop_table thead th.product-name { text-align: left; width: 68%; }
#order_review table.shop_table thead th.product-total { text-align: right; width: 32%; }
#order_review table.shop_table td,
#order_review table.shop_table tfoot th,
#order_review table.shop_table tbody th {
  border: 0 !important;
  padding: 1rem var(--bd-cx-inset) !important;
  font-size: 13px;
  background: transparent !important;
  vertical-align: middle;
  text-align: left;
}
#order_review table.shop_table .product-name { text-align: left; padding-right: 12px !important; }
#order_review table.shop_table .product-total,
#order_review table.shop_table th.product-total {
  text-align: right;
  white-space: nowrap;
  font-weight: 700;
  color: var(--bd-ink);
  padding-left: 12px !important;
}
#order_review table.shop_table tbody tr { border-bottom: 1px solid var(--bd-cx-line); }
#order_review table.shop_table tfoot tr { border-bottom: 0; }
#order_review table.shop_table tfoot th {
  font-weight: 600;
  color: var(--bd-ink);
  width: 40%;
}
#order_review table.shop_table tfoot td {
  text-align: right;
  white-space: nowrap;
}

/* Line item: remove (×) + thumb + name + quantity stepper */
.bd-item {
  display: flex;
  align-items: center;
  gap: .75rem;
  text-align: left;
  min-width: 0;
}
.bd-item__remove {
  flex: 0 0 auto;
  width: 22px;
  height: 22px;
  border: 0;
  background: none;
  color: var(--bd-muted);
  font-size: 18px;
  line-height: 1;
  cursor: pointer;
  border-radius: 50%;
  transition: background .15s ease, color .15s ease;
}
.bd-item__remove:hover { background: rgba(101, 175, 192, .14); color: var(--bd-cx-accent); }
.bd-item__thumb {
  position: relative;
  flex: 0 0 auto;
  width: 56px;
  height: 68px;
  border-radius: 10px;
  overflow: hidden;
  background: var(--bd-cx-panel);
}
.bd-item__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.bd-item__body { display: flex; flex-direction: column; gap: .55rem; min-width: 0; flex: 1 1 auto; }
.bd-item__name { font-size: 13px; line-height: 1.4; font-weight: 500; color: var(--bd-ink); }
.bd-item__name a { color: inherit; text-decoration: none; }
.bd-item__name .product-quantity {
  display: inline-block;
  margin-left: .35rem;
  color: var(--bd-muted);
  font-weight: 400;
}
.bd-item__qty {
  display: inline-flex;
  align-items: center;
  gap: 0;
  border: 1.5px solid var(--bd-cx-line);
  border-radius: 999px;
  width: fit-content;
  overflow: hidden;
}
.bd-item__qty-btn {
  width: 26px;
  height: 26px;
  border: 0;
  background: #fff;
  color: var(--bd-ink);
  font-size: 14px;
  line-height: 1;
  cursor: pointer;
  transition: background .15s ease;
}
.bd-item__qty-btn:hover { background: var(--bd-cx-panel); }
.bd-item__qty-btn:disabled { opacity: .5; cursor: default; }
.bd-item__qty-val {
  min-width: 26px;
  text-align: center;
  font-size: 12px;
  font-weight: 700;
}

/* Totals rows — same inset as product header/cells */
#order_review tr.cart-subtotal th,
#order_review tr.cart-subtotal td,
#order_review tr.shipping th,
#order_review tr.shipping td,
#order_review tr.fee th,
#order_review tr.fee td,
#order_review tr.tax-total th,
#order_review tr.tax-total td,
#order_review tr.cart-discount th,
#order_review tr.cart-discount td {
  font-size: 13px;
  font-weight: 600;
  color: var(--bd-ink);
  padding-top: .85rem !important;
  padding-bottom: .85rem !important;
}
#order_review tr.cart-subtotal .woocommerce-Price-amount,
#order_review tr.shipping .woocommerce-Price-amount { color: var(--bd-ink); font-weight: 700; }
#order_review tr.shipping th { vertical-align: top; padding-top: 1rem !important; }
#order_review tr.shipping td { vertical-align: top; }
#order_review tr.shipping fieldset { margin: 0; padding: 0; border: 0; }
#order_review tr.shipping ul.woocommerce-shipping-methods {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: .55rem;
}
#order_review tr.shipping ul.woocommerce-shipping-methods li {
  margin: 0;
  display: flex;
  flex-direction: row-reverse;
  align-items: center;
  gap: .55rem;
  white-space: nowrap;
  font-size: 12.5px;
  font-weight: 500;
  line-height: 1.3;
}
#order_review tr.shipping ul.woocommerce-shipping-methods li label {
  margin: 0;
  cursor: pointer;
  white-space: nowrap;
}
#order_review tr.shipping ul.woocommerce-shipping-methods input.shipping_method {
  accent-color: var(--bd-cx-accent);
  margin: 0;
  flex: 0 0 auto;
}
#order_review tr.order-total {
  border-top: 1.5px solid var(--bd-cx-line);
}
#order_review tr.order-total th,
#order_review tr.order-total td {
  border: 0 !important;
  font-size: 15px !important;
  font-weight: 800;
  color: var(--bd-ink);
  padding-top: 1.15rem !important;
  padding-bottom: 1.15rem !important;
  vertical-align: middle;
}
#order_review tr.order-total .woocommerce-Price-amount {
  font-size: 19px;
  color: var(--bd-ink);
}

/* Gift card / coupon — same inset as table cells so left/right edges align */
.bd-giftcard {
  background: #fff;
  border-radius: 0 0 16px 16px;
  padding: 4px var(--bd-cx-inset) 22px;
  margin: 0 0 1.25rem;
  border-top: 1px solid var(--bd-cx-line);
}
.bd-giftcard__label {
  font-size: 12.5px;
  font-weight: 600;
  color: var(--bd-ink);
  margin: 0 0 .7rem;
}
.bd-order-panel .bd-giftcard__form.checkout_coupon,
.bd-order-panel .bd-giftcard__form.woocommerce-form-coupon,
.bd-giftcard__form {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  gap: .55rem !important;
  margin: 0 !important;
  border: 0 !important;
  padding: 0 !important;
  background: none !important;
  width: 100% !important;
  text-align: left !important;
}
.bd-order-panel .bd-giftcard__form .input-text {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  width: auto !important;
  max-width: none !important;
  border-radius: 999px !important;
  font-size: 13px !important;
  padding: .75rem 1.1rem !important;
  height: 44px !important;
}
.bd-order-panel .bd-giftcard__form button.button,
.bd-order-panel .bd-giftcard__form button {
  flex: 0 0 auto !important;
  float: none !important;
  width: auto !important;
  background: var(--bd-ink) !important;
  color: #fff !important;
  border: 0 !important;
  padding: 0 1.25rem !important;
  height: 44px !important;
  font-size: 11px !important;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  border-radius: 999px !important;
  cursor: pointer;
  white-space: nowrap;
  line-height: 1;
}
.bd-order-panel .bd-giftcard__form button:hover { background: var(--bd-cx-accent) !important; }

/* Payment methods — clean white rounded cards (same inset as white card) */
#payment {
  padding: 0 4px;
}
#order_review ul.payment_methods {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: .6rem;
}
#order_review ul.payment_methods li.wc_payment_method {
  background: #fff;
  border: 1.5px solid var(--bd-cx-line);
  border-radius: 14px;
  padding: 0;
  position: relative;
}
#order_review ul.payment_methods li.wc_payment_method:has(input:checked) {
  border-color: var(--bd-cx-accent);
}
#order_review ul.payment_methods input.input-radio {
  position: absolute;
  top: 1.05rem;
  left: 1.1rem;
  width: 16px;
  height: 16px;
  accent-color: var(--bd-cx-accent);
  margin: 0;
  cursor: pointer;
}
/* Direct-child combinator only — a descendant selector here would also match
   the "Card Holder" / "Card number" etc. labels nested inside .payment_box
   and wrongly indent them by the same amount as the payment-method title. */
#order_review ul.payment_methods > li > label {
  display: flex;
  align-items: center;
  gap: .5rem;
  padding: 1rem 1.1rem 1rem 2.85rem;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
}
#order_review ul.payment_methods > li > label img { height: 20px; width: auto; }
#order_review .payment_box {
  padding: 0 1.1rem 1.15rem 2.85rem !important;
  font-size: 13px;
  color: var(--bd-muted);
  background: transparent !important;
}
#order_review .payment_box::before { display: none !important; }
#order_review .payment_box p:first-child { margin-top: 0; }

/* Some gateways (offline card / credit-card forms) print a raw <fieldset> of
   form-row-first / form-row-last <p> pairs with no flex parent — pair them
   up properly instead of letting them stack full-width. */
#order_review .payment_box fieldset,
#order_review .payment_box .wc-credit-card-form,
#order_review .payment_box form {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 0 1rem;
  border: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  min-width: 0;
  width: 100%;
}
#order_review .payment_box .clear { display: none !important; }
#order_review .payment_box .form-row {
  margin: 0 0 .85rem !important;
  width: 100% !important;
  min-width: 0 !important;
}
#order_review .payment_box .form-row-first,
#order_review .payment_box .form-row-last {
  flex: 1 1 calc(50% - .5rem) !important;
  width: auto !important;
  /* The order-panel sidebar is much narrower than the main billing column, so
     a large min-width (as used elsewhere for billing fields) would exceed the
     available half-row space and force these to wrap onto separate lines
     instead of sitting side by side. Keep this small. */
  min-width: 0 !important;
  float: none !important;
}
#order_review .payment_box .form-row-wide { flex: 1 1 100% !important; }
#order_review .payment_box .form-row label {
  display: block !important;
  font-size: 11.5px !important;
  font-weight: 600 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  color: var(--bd-ink) !important;
  margin: 0 0 .4rem !important;
  line-height: 1.3 !important;
}
#order_review .payment_box .form-row label .required { color: var(--bd-danger, #c62828); }

/* Neutralise inline styles (font-size / padding / line-height / width) some
   third-party gateways hardcode directly on their fields. */
#order_review .payment_box .input-text,
#order_review .payment_box select,
#order_review .payment_box input[type="text"],
#order_review .payment_box input[type="tel"] {
  box-sizing: border-box !important;
  width: 100% !important;
  height: auto !important;
  min-height: 42px !important;
  line-height: normal !important;
  vertical-align: middle !important;
  font-size: 13px !important;
  padding: .65rem .9rem !important;
  border-radius: 12px !important;
  border: 1.5px solid var(--bd-cx-line) !important;
  background: #fff !important;
  color: var(--bd-ink) !important;
  margin: 0 !important;
}
#order_review .payment_box select { -webkit-appearance: menulist !important; appearance: menulist !important; }
#order_review .payment_box .wc-credit-card-form-card-expiry,
#order_review .payment_box #offline_cc_card_csc {
  width: 100% !important;
}
#order_review .payment_box .help {
  display: block;
  font-size: 11px;
  color: var(--bd-muted);
  margin-top: .3rem;
}
#order_review .payment_box .test_mode_msg {
  width: 100%;
  font-size: 11px;
  letter-spacing: .04em;
  color: var(--bd-danger, #c62828);
  text-align: left !important;
  margin-top: .5rem;
}

/* Terms / privacy + submit */
#order_review .woocommerce-privacy-policy-text {
  font-size: 12px;
  color: var(--bd-muted);
  margin: 1.4rem 0 0;
  line-height: 1.6;
}
#order_review .woocommerce-privacy-policy-text a { color: var(--bd-cx-accent); text-decoration: underline; text-underline-offset: 2px; }
#order_review .woocommerce-terms-and-conditions-wrapper .form-row {
  margin: 1rem 0 0;
}
#order_review .woocommerce-terms-and-conditions-wrapper label {
  font-size: 13px;
  color: var(--bd-ink);
  display: flex;
  align-items: flex-start;
  gap: .55rem;
}
.woocommerce-checkout #place_order {
  width: 100%;
  float: none !important;
  margin-top: 1.1rem !important;
  padding: 1.1rem !important;
  font-size: 14px !important;
  font-weight: 700;
  letter-spacing: 0;
  text-transform: none;
  border-radius: 999px !important;
  background: var(--bd-ink) !important;
  border-color: var(--bd-ink) !important;
  transition: background .15s ease;
}
.woocommerce-checkout #place_order:hover {
  background: var(--bd-cx-accent-dark) !important;
  border-color: var(--bd-cx-accent-dark) !important;
}

/* PDP type handled in main PDP block */

/* Footer type */
.footer-cols h3 {
  font-size: 11px !important;
  letter-spacing: .14em;
}
.footer-cols a { font-size: var(--bd-fs-sm) !important; }
.footer-brand p { font-size: var(--bd-fs-sm); }

/* Header bar match */
.site-header {
  background: #fff;
  border-bottom: 1px solid var(--bd-line);
}
.site-brand img {
  width: auto;
  height: 28px;
  max-width: min(200px, 42vw);
}
.site-brand__name {
  font-size: clamp(1.05rem, 1.6vw, 1.35rem);
}

/* ========== Order confirmation (thank you) ========== */
.bd-commerce-page--thankyou {
  width: min(100% - 2.5rem, 1100px);
  margin: 2.5rem auto 4rem;
}
.bd-commerce-page--thankyou .woocommerce {
  max-width: none;
}

.bd-thankyou {
  color: var(--bd-ink);
}

.bd-thankyou__hero {
  text-align: center;
  padding: 1.5rem 0 2.25rem;
  max-width: 640px;
  margin: 0 auto;
}
.bd-thankyou__hero--failed .bd-thankyou__icon {
  background: rgba(198, 40, 40, .1);
  color: var(--bd-danger);
  border-color: rgba(198, 40, 40, .25);
}
.bd-thankyou__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: rgba(101, 175, 192, .14);
  color: var(--bd-accent-dark);
  border: 1.5px solid rgba(101, 175, 192, .35);
  margin: 0 auto 1.1rem;
  font-size: 1.4rem;
  font-weight: 700;
  animation: bd-thankyou-pop .55s var(--bd-ease) both;
}
@keyframes bd-thankyou-pop {
  from { transform: scale(.72); opacity: 0; }
  to { transform: scale(1); opacity: 1; }
}
.bd-thankyou__eyebrow {
  margin: 0 0 .55rem;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--bd-accent-dark);
}
.bd-thankyou__title {
  margin: 0 0 .75rem;
  font-family: var(--bd-font-display);
  font-size: clamp(1.75rem, 3.5vw, 2.35rem);
  font-weight: 600;
  letter-spacing: -.01em;
  line-height: 1.2;
  color: var(--bd-ink);
}
.bd-thankyou__lede {
  margin: 0 auto;
  max-width: 48ch;
  font-size: 15px;
  line-height: 1.6;
  color: var(--bd-muted);
}
.bd-thankyou__status {
  display: inline-block;
  margin: 1.1rem 0 0;
  padding: .55rem 1rem;
  font-size: 12.5px;
  font-weight: 500;
  color: var(--bd-ink);
  background: var(--bd-bg-deep);
  border-radius: 999px;
  line-height: 1.4;
}

/* Meta strip */
.bd-thankyou__meta,
.bd-thankyou ul.woocommerce-order-overview {
  list-style: none;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 0;
  margin: 0 0 2rem;
  padding: 0;
  background: #fff;
  border: 1.5px solid var(--bd-line);
  border-radius: 16px;
  overflow: hidden;
}
.bd-thankyou__meta li,
.bd-thankyou ul.woocommerce-order-overview li {
  display: flex;
  flex-direction: column;
  gap: .35rem;
  margin: 0 !important;
  padding: 1.15rem 1.25rem !important;
  border: 0 !important;
  border-right: 1px solid var(--bd-line) !important;
  float: none !important;
  text-transform: none !important;
  font-size: 13px !important;
  line-height: 1.35;
}
.bd-thankyou__meta li:last-child,
.bd-thankyou ul.woocommerce-order-overview li:last-child {
  border-right: 0 !important;
}
.bd-thankyou__meta-label,
.bd-thankyou__meta li > :first-child:not(strong) {
  display: block;
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--bd-muted);
}
.bd-thankyou__meta strong,
.bd-thankyou ul.woocommerce-order-overview strong {
  font-size: 14px;
  font-weight: 700;
  color: var(--bd-ink);
  line-height: 1.35;
  word-break: break-word;
}

/* Two-column body */
.bd-thankyou__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(280px, .85fr);
  gap: 1.5rem 2rem;
  align-items: start;
}
.bd-thankyou__main,
.bd-thankyou__aside {
  min-width: 0;
}

/* Order summary card */
.bd-order-details {
  background: #fff;
  border: 1.5px solid var(--bd-line);
  border-radius: 16px;
  padding: 1.35rem 1.4rem 1.15rem;
  margin: 0 0 1.25rem;
}
.bd-order-details__head {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: .5rem 1rem;
  margin-bottom: 1rem;
  padding-bottom: .85rem;
  border-bottom: 1.5px solid var(--bd-line);
}
.bd-order-details .woocommerce-order-details__title,
.bd-thankyou .woocommerce-order-details__title {
  margin: 0;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--bd-ink);
}
.bd-order-details__ship-method {
  margin: 0;
  font-size: 12.5px;
  color: var(--bd-muted);
  font-weight: 500;
}
.bd-order-details__table {
  width: 100%;
  border-collapse: collapse;
  margin: 0;
}
.bd-order-details__table thead th {
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--bd-muted);
  padding: 0 0 .75rem;
  border: 0;
  border-bottom: 1px solid var(--bd-line);
  background: transparent;
}
.bd-order-details__table thead th.product-total { text-align: right; }
.bd-order-details__table td,
.bd-order-details__table tfoot th {
  border: 0;
  border-bottom: 1px solid var(--bd-line);
  padding: 1rem 0;
  vertical-align: middle;
  background: transparent;
  font-size: 13px;
}
.bd-order-details__table tbody tr:last-child td { border-bottom: 1.5px solid var(--bd-line); }
.bd-order-details__table .product-total {
  text-align: right;
  white-space: nowrap;
  font-weight: 700;
  padding-left: 1rem;
  color: var(--bd-ink);
}
.bd-order-details__table tfoot th {
  text-align: left;
  font-weight: 600;
  color: var(--bd-ink);
  width: 55%;
  padding-right: 1rem;
}
.bd-order-details__table tfoot td {
  text-align: right;
  white-space: nowrap;
  font-weight: 600;
  border-bottom: 0;
  padding: .65rem 0;
}
.bd-order-details__table tfoot tr:first-child th,
.bd-order-details__table tfoot tr:first-child td {
  padding-top: 1rem;
}
.bd-order-details__total--order_total th,
.bd-order-details__total--order_total td {
  font-size: 15px !important;
  font-weight: 800 !important;
  padding-top: 1rem !important;
  border-top: 1.5px solid var(--bd-line);
}
.bd-order-details__total--order_total .woocommerce-Price-amount {
  font-size: 1.15rem;
}

/* Line item with thumbnail */
.bd-order-item {
  display: flex;
  align-items: center;
  gap: .9rem;
  text-align: left;
  min-width: 0;
}
.bd-order-item__thumb {
  flex: 0 0 auto;
  width: 56px;
  height: 68px;
  border-radius: 10px;
  overflow: hidden;
  background: var(--bd-bg-deep);
}
.bd-order-item__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.bd-order-item__body { min-width: 0; flex: 1 1 auto; }
.bd-order-item__name {
  display: block;
  font-size: 13.5px;
  font-weight: 600;
  line-height: 1.4;
  color: var(--bd-ink);
}
.bd-order-item__name a { color: inherit; text-decoration: none; }
.bd-order-item__name a:hover { color: var(--bd-accent-dark); }
.bd-order-item__name .product-quantity {
  font-weight: 500;
  color: var(--bd-muted);
}
.bd-order-item .wc-item-meta {
  margin: .4rem 0 0;
  padding: 0;
  list-style: none;
  font-size: 12px;
  color: var(--bd-muted);
}
.bd-order-item .wc-item-meta li {
  margin: 0 0 .15rem;
}
.bd-order-item .wc-item-meta p { margin: 0; display: inline; }

/* Aside cards */
.bd-thankyou__aside {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.bd-thankyou__card,
.bd-order-addresses__card {
  background: var(--bd-bg-deep);
  border-radius: 16px;
  padding: 1.2rem 1.25rem 1.25rem;
}
.bd-thankyou__card-title,
.bd-order-addresses .woocommerce-column__title {
  margin: 0 0 .85rem;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--bd-ink);
}
.bd-order-addresses {
  margin: 0;
}
.bd-order-addresses__grid {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.bd-order-addresses address {
  font-style: normal;
  font-size: 13.5px;
  line-height: 1.55;
  color: var(--bd-ink);
}
.bd-order-addresses address p {
  margin: .45rem 0 0;
  color: var(--bd-muted);
  font-size: 13px;
}
.bd-thankyou__steps {
  margin: 0;
  padding: 0 0 0 1.15rem;
  font-size: 13.5px;
  line-height: 1.5;
  color: var(--bd-ink-soft);
}
.bd-thankyou__steps li {
  margin: 0 0 .65rem;
  padding-left: .15rem;
}
.bd-thankyou__steps li:last-child { margin-bottom: 0; }
.bd-thankyou__help {
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: 13.5px;
  line-height: 1.55;
  color: var(--bd-ink-soft);
}
.bd-thankyou__help li { margin: 0 0 .4rem; }
.bd-thankyou__help a {
  color: var(--bd-accent-dark);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.bd-thankyou__help a:hover { color: var(--bd-ink); }

.bd-thankyou__actions {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem;
  justify-content: center;
  margin-top: 1.25rem;
}
.bd-thankyou__actions--aside {
  justify-content: stretch;
  flex-direction: column;
  margin-top: .25rem;
}
.bd-thankyou__actions .btn {
  border-radius: 999px;
  min-height: 46px;
  padding: .85rem 1.4rem;
  letter-spacing: .08em;
}
.bd-thankyou__actions--aside .btn { width: 100%; }
.bd-thankyou .btn--ghost,
.bd-thankyou__actions .btn--ghost {
  background: #fff;
  color: var(--bd-ink);
  border-color: var(--bd-line);
}
.bd-thankyou .btn--ghost:hover,
.bd-thankyou__actions .btn--ghost:hover {
  border-color: var(--bd-ink);
  background: var(--bd-bg-deep);
}

/* Login gate / verify-email on thank-you */
.bd-commerce-page--thankyou .woocommerce-info,
.bd-commerce-page--thankyou .woocommerce-notice {
  background: var(--bd-bg-deep) !important;
  border: 0 !important;
  border-radius: 14px;
  padding: 1rem 1.2rem !important;
  color: var(--bd-ink);
  font-size: 14px;
  margin: 0 0 1.25rem;
}
.bd-commerce-page--thankyou .woocommerce-info::before { display: none !important; }
.bd-commerce-page--thankyou .woocommerce-form-login {
  max-width: 420px;
  margin: 0 auto;
  background: #fff;
  border: 1.5px solid var(--bd-line);
  border-radius: 16px;
  padding: 1.5rem;
}
.bd-commerce-page--thankyou .woocommerce-form-login .form-row-first,
.bd-commerce-page--thankyou .woocommerce-form-login .form-row-last {
  width: 100%;
  float: none;
}
.bd-commerce-page--thankyou .woocommerce-form-login .button {
  width: 100%;
  border-radius: 999px !important;
  background: var(--bd-ink) !important;
  border-color: var(--bd-ink) !important;
  padding: .95rem !important;
}

/* Hide default WC thank-you notice when our hero is present */
.bd-thankyou .woocommerce-thankyou-order-received { display: none; }

@media (max-width: 900px) {
  .bd-thankyou__grid {
    grid-template-columns: 1fr;
  }
  .bd-thankyou__aside { order: 2; }
  .bd-thankyou__main { order: 1; }
  .bd-thankyou__meta li,
  .bd-thankyou ul.woocommerce-order-overview li {
    border-right: 0 !important;
    border-bottom: 1px solid var(--bd-line) !important;
  }
  .bd-thankyou__meta li:last-child,
  .bd-thankyou ul.woocommerce-order-overview li:last-child {
    border-bottom: 0 !important;
  }
}

/* Section spacing tighten */
.section { padding: clamp(2.75rem, 5.5vw, 4.5rem) 0; }
.why-bd { background: var(--bd-surface, #f2f1ec); }
.why-grid strong { font-size: 1.35rem !important; font-family: var(--bd-font); }
.why-grid span { font-size: var(--bd-fs-sm) !important; }
.cat-card span,
.pattern-card span {
  font-size: 11px !important;
  letter-spacing: .12em;
}

.woocommerce a.button,
.woocommerce button.button {
  background: var(--bd-ink) !important;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover {
  background: #2b2b2b !important;
}

@media (max-width: 960px) {
  .woocommerce-cart .woocommerce,
  form.checkout.woocommerce-checkout {
    grid-template-columns: 1fr !important;
  }
  form.checkout.woocommerce-checkout #customer_details,
  form.checkout.woocommerce-checkout .bd-order-panel {
    grid-column: 1 !important;
    grid-row: auto !important;
  }
  .bd-order-panel {
    /* Not "static" — the zig-zag decoration inside is position:absolute and
       needs this panel to stay a positioned ancestor, otherwise it escapes
       to the <body> (left:0;right:0 relative to the whole page) and can
       force the entire checkout page to scroll horizontally on mobile. */
    position: relative;
    order: -1;
    margin-top: 0;
    --bd-cx-inset: 20px;
    padding: 28px 14px 24px;
  }
  .woocommerce ul.products,
  ul.products,
  .product-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 520px) {
  .woocommerce ul.products,
  ul.products,
  .product-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 1.1rem .7rem !important;
  }
  body { font-size: 14px; }
}

/* Account title size match */
.bd-account__title {
  font-size: clamp(1.6rem, 3vw, 2rem) !important;
  letter-spacing: .04em;
  text-transform: uppercase;
  font-weight: 500 !important;
}
.woocommerce-products-header,
.archive-header { margin-bottom: 1rem; }
.woocommerce-products-header__title.page-title,
h1.page-title {
  font-family: var(--bd-font) !important;
  font-size: clamp(1.75rem, 3vw, 2.25rem) !important;
  font-weight: 500 !important;
  letter-spacing: .04em;
  text-transform: uppercase;
  margin: 0 0 .75rem !important;
  color: var(--bd-ink) !important;
}
.woocommerce-products-header .term-description {
  max-width: 62ch;
  color: var(--bd-muted);
  font-size: var(--bd-fs-sm);
  font-weight: 300;
}

/* ========== PDP live-match polish (v1.5.9) ========== */
/* Kill WooCommerce float layout — otherwise accordions wrap into a
   narrow column beside the gallery and crush the buy box. */
.bd-pdp,
.bd-pdp-page .product.bd-pdp,
.single-product div.product.bd-pdp {
  float: none !important;
  width: 100% !important;
  max-width: 100% !important;
}
.bd-pdp::before,
.bd-pdp::after,
.bd-pdp__grid::before,
.bd-pdp__grid::after {
  content: none !important;
  display: none !important;
}
.bd-pdp__grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1.05fr) minmax(280px, .95fr) !important;
  gap: clamp(1.5rem, 3.5vw, 3rem) !important;
  align-items: start;
  width: 100%;
}
.bd-pdp__gallery,
.bd-pdp__summary,
.woocommerce div.product.bd-pdp div.images,
.woocommerce div.product.bd-pdp div.summary,
.woocommerce div.product.bd-pdp .entry-summary {
  float: none !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  clear: none !important;
  min-width: 0;
}
.bd-pdp__below {
  clear: both !important;
  display: block !important;
  float: none !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 2rem 0 0;
  position: relative;
}

/* Breadcrumb above PDP — short, left-aligned, wraps cleanly */
.bd-pdp .woocommerce-breadcrumb,
.single-product .woocommerce-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .35rem .45rem;
  margin: 0 0 1.25rem !important;
  padding: 0;
  font-size: 12px;
  font-weight: 400;
  letter-spacing: .02em;
  line-height: 1.4;
  color: #8a8a8a;
  text-align: left !important;
}
.bd-pdp .woocommerce-breadcrumb a,
.single-product .woocommerce-breadcrumb a {
  color: #6b6b6b;
  text-decoration: none;
  border-bottom: 0;
}
.bd-pdp .woocommerce-breadcrumb a:hover,
.single-product .woocommerce-breadcrumb a:hover {
  color: #111;
}
.bd-pdp .woocommerce-breadcrumb .bd-bc-sep,
.single-product .woocommerce-breadcrumb .bd-bc-sep {
  display: inline-block;
  margin: 0 .1rem;
  color: #c2c2c2;
  font-weight: 300;
}
.bd-pdp .woocommerce-breadcrumb .bd-bc-item,
.single-product .woocommerce-breadcrumb .bd-bc-item {
  display: inline;
  max-width: 100%;
}

/* Buy box: force left text alignment (WC / floats can center) */
.bd-pdp__summary,
.bd-pdp__summary .price,
.bd-pdp__summary .product_title,
.bd-pdp__excerpt,
.bd-pdp__below,
.bd-pdp-accordions {
  text-align: left !important;
}
.bd-pdp__summary .price {
  display: flex !important;
  flex-wrap: wrap;
  gap: .35rem .5rem;
  justify-content: flex-start;
}
/* Article family pills */
.bd-pdp__articles {
  margin: 0 0 1.15rem;
  text-align: left;
}
.bd-pdp__articles-label {
  display: block;
  margin: 0 0 .45rem;
  font-size: 15px;
  color: #111;
  font-weight: 400;
}
.bd-pdp__article-pills {
  display: flex;
  flex-wrap: wrap;
  gap: .4rem;
}
.bd-pdp__article-pill {
  display: inline-block;
  padding: 8px 14px;
  font-size: 13px;
  line-height: 1.2;
  color: #111;
  text-decoration: none;
  border: 1px solid #e8e8e1;
  background: #fff;
  transition: background .15s ease, border-color .15s ease;
}
.bd-pdp__article-pill:hover {
  background: #f2f1ec;
  border-color: #f2f1ec;
}
.bd-pdp__article-pill.is-active {
  border: 2px solid #111;
  padding: 7px 13px;
  background: #f2f1ec;
}

/* Specs strip (Fabric / Design / TC / Includes) */
.bd-pdp__specs {
  margin: 1.35rem 0 0;
  padding-top: 1.25rem;
  border-top: 1px solid var(--bd-line);
  text-align: left;
}
.bd-pdp__spec-list {
  margin: 0;
  padding: 0;
  display: grid;
  gap: .55rem;
}
.bd-pdp__spec {
  display: grid;
  grid-template-columns: 7.5rem minmax(0, 1fr);
  gap: .5rem 1rem;
  align-items: start;
  font-size: 14px;
  line-height: 1.45;
}
.bd-pdp__spec dt {
  margin: 0;
  color: #6b6b6b;
  font-weight: 400;
}
.bd-pdp__spec dd {
  margin: 0;
  color: #111;
  font-weight: 300;
}
.bd-pdp__spec-sizes {
  list-style: none;
  margin: .9rem 0 0;
  padding: 0;
  display: grid;
  gap: .3rem;
  font-size: 13px;
  color: #444;
  font-weight: 300;
}
@media (max-width: 560px) {
  .bd-pdp__spec { grid-template-columns: 1fr; gap: .15rem; }
}

/* Thumbs beside main image (desktop) */
@media (min-width: 961px) {
  .bd-pdp__gallery .woocommerce-product-gallery {
    display: flex !important;
    flex-direction: row-reverse;
    align-items: flex-start;
    gap: .65rem;
  }
  .bd-pdp__gallery .woocommerce-product-gallery .flex-viewport,
  .bd-pdp__gallery .woocommerce-product-gallery__wrapper {
    flex: 1 1 auto;
    min-width: 0;
  }
  .bd-pdp__gallery .woocommerce-product-gallery .flex-control-thumbs,
  .bd-pdp__gallery .woocommerce-product-gallery ol.flex-control-nav {
    display: flex !important;
    flex-direction: column;
    grid-template-columns: none !important;
    width: 72px !important;
    flex: 0 0 72px;
    gap: .5rem !important;
    margin: 0 !important;
    max-height: 520px;
    overflow-y: auto;
  }
  .bd-pdp__gallery .woocommerce-product-gallery .flex-control-thumbs li {
    width: 72px !important;
    flex: 0 0 auto;
  }
}

/* Mobile gallery: stack main image, then horizontal thumbs */
@media (max-width: 960px) {
  .bd-pdp__gallery .woocommerce-product-gallery {
    display: block !important;
  }
  .bd-pdp__gallery .woocommerce-product-gallery .flex-control-thumbs,
  .bd-pdp__gallery .woocommerce-product-gallery ol.flex-control-nav {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap;
    gap: .45rem !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: .65rem 0 0 !important;
    padding: 0 !important;
    list-style: none !important;
    max-height: none;
  }
  .bd-pdp__gallery .woocommerce-product-gallery .flex-control-thumbs li {
    width: 64px !important;
    flex: 0 0 64px;
    margin: 0 !important;
  }
  .bd-pdp__gallery .woocommerce-product-gallery .flex-control-thumbs img {
    width: 100%;
    height: auto;
    display: block;
  }
}

.bd-pdp__summary .product_title {
  font-size: clamp(19px, 1.7vw, 22px) !important;
  font-weight: 400 !important;
  line-height: 1.4 !important;
  margin: 0 0 .75rem !important;
  max-width: 46ch;
  text-wrap: pretty;
  color: #111;
}
.bd-pdp__summary .price {
  font-size: 20px !important;
  font-weight: 400 !important;
  margin: 0 0 .3rem !important;
  align-items: baseline !important;
}
.bd-pdp__summary .price del {
  font-size: 15px;
  color: #999;
  margin-right: .35rem;
}
.bd-pdp__summary .price ins {
  text-decoration: none;
}
.bd-price-save {
  position: relative;
  top: -1px;
}
.bd-pdp__tax-note {
  margin: 0 0 .15rem !important;
  font-size: 12px !important;
  color: #777 !important;
  font-weight: 300;
}
.bd-pdp__ship-note {
  margin: 0 0 1.15rem !important;
  font-size: 12px !important;
  color: #6b6b6b !important;
  font-weight: 300;
}

/* Variation labels: stacked, left-aligned rows */
.bd-pdp__summary table.variations {
  width: 100%;
  border: 0;
  margin: .35rem 0 1rem;
  border-collapse: collapse;
}
.bd-pdp__summary table.variations tbody,
.bd-pdp__summary table.variations tr,
.bd-pdp__summary table.variations th,
.bd-pdp__summary table.variations td {
  display: block;
  width: 100%;
  border: 0;
  padding: 0;
  text-align: left !important;
  vertical-align: top;
}
.bd-pdp__summary table.variations tr {
  margin: 0 0 1.05rem;
}
.bd-pdp__summary table.variations th.label {
  margin: 0 0 .45rem;
}
.bd-pdp__summary table.variations th.label label {
  font-size: 15px !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  color: #111 !important;
  font-weight: 400 !important;
  display: block;
}
.bd-pdp__summary table.variations td.value {
  padding: 0;
  position: relative;
}
.bd-pdp__summary table.variations td.value .reset_variations {
  display: inline-block;
  margin-top: .5rem;
  font-size: 12px;
}
.bd-swatch-select {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0,0,0,0) !important;
  border: 0 !important;
}
.bd-swatches {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
  align-items: center;
}
.bd-swatch {
  position: relative;
  cursor: pointer;
  margin: 0;
  display: inline-flex;
}
.bd-swatch__input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.bd-swatch--color .bd-swatch__chip {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  display: block;
  box-shadow: inset 0 0 0 1px #e8e8e1;
  box-sizing: border-box;
}
.bd-swatch--color.is-selected .bd-swatch__chip,
.bd-swatch--color .bd-swatch__input:checked + .bd-swatch__chip {
  outline: 1px solid #111;
  outline-offset: 4px;
}
.bd-swatch--pill .bd-swatch__text {
  display: inline-block;
  font-size: 14px;
  font-weight: 400;
  color: #111;
  background: #fff;
  border: 1px solid #e8e8e1;
  padding: 8px 16px;
  line-height: 1.2;
  text-transform: none;
  letter-spacing: 0;
  transition: background .15s ease, border-color .15s ease;
}
.bd-swatch--pill:hover .bd-swatch__text {
  background: #f2f1ec;
  border-color: #f2f1ec;
}
.bd-swatch--pill.is-selected .bd-swatch__text,
.bd-swatch--pill .bd-swatch__input:checked + .bd-swatch__text {
  background: #f2f1ec;
  border: 2px solid #111;
  padding: 7px 15px;
}

.bd-pdp__summary .woocommerce-variation-add-to-cart,
.bd-pdp__summary form.cart:not(.variations_form) {
  display: grid !important;
  grid-template-columns: 88px 1fr;
  gap: .65rem;
  align-items: stretch;
}
.bd-pdp__summary form.cart .quantity .qty {
  width: 100% !important;
  height: 52px;
  font-size: 15px;
}
.bd-pdp__summary form.cart .single_add_to_cart_button {
  height: 52px !important;
  line-height: 52px !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  padding: 0 24px !important;
  background: #000 !important;
  min-width: 0;
}
.bd-pdp__summary form.cart .single_add_to_cart_button:hover {
  background: #333 !important;
}

.bd-pdp__help {
  border-top: 1px solid var(--bd-line);
  padding-top: 1.25rem;
  margin-top: .25rem;
}
.bd-pdp__help-label {
  margin: 0 0 .35rem !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  color: #111;
}
.bd-pdp__help-desc {
  margin: 0 0 .75rem;
  font-size: 13px;
  color: #6b6b6b;
  font-weight: 300;
  line-height: 1.45;
}
.bd-pdp__help-list {
  list-style: none;
  margin: 0 0 .75rem;
  padding: 0;
  display: grid;
  gap: .3rem;
  font-size: 14px;
}
.bd-pdp__help-list a {
  color: #111;
  text-decoration: none;
  border-bottom: 1px solid #d5d5d5;
}

/* Below-the-fold info: accordions + delivery/help side by side, 50/50 */
.bd-pdp__info-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 clamp(2rem, 5vw, 4rem);
  align-items: start;
  margin: 0 0 2.5rem;
}
@media (max-width: 860px) {
  .bd-pdp__info-grid {
    grid-template-columns: 1fr;
    gap: 2rem 0;
  }
}

/* Accordions instead of tabs */
.bd-pdp-accordions {
  border-top: 1px solid var(--bd-line);
  margin: 0;
}
.bd-pdp-accordion {
  border-bottom: 1px solid var(--bd-line);
}
.bd-pdp-accordion__trigger {
  list-style: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 0;
  font-size: 15px;
  font-weight: 400;
  color: #111;
}
.bd-pdp-accordion__trigger::-webkit-details-marker { display: none; }
.bd-pdp-accordion__chevron {
  width: 10px;
  height: 10px;
  border-right: 1.5px solid #111;
  border-bottom: 1.5px solid #111;
  transform: rotate(45deg);
  transition: transform .2s ease;
  flex: 0 0 auto;
  margin-top: -4px;
}
.bd-pdp-accordion[open] .bd-pdp-accordion__chevron {
  transform: rotate(-135deg);
  margin-top: 4px;
}
.bd-pdp-accordion__panel {
  padding: 0 0 1.25rem;
  color: #1c1d1d;
  font-size: 14px;
  font-weight: 300;
  line-height: 1.65;
  max-width: 72ch;
  text-align: left !important;
}
.bd-pdp-accordion__panel p,
.bd-pdp-accordion__panel .bd-pdp__desc,
.bd-pdp-accordion__panel .product-description-internal {
  margin: 0 0 .85rem;
  text-align: left !important;
}
.bd-pdp-accordion__panel p:last-child { margin-bottom: 0; }
.bd-pdp-accordion__panel ul,
.bd-pdp__care-list {
  margin: 0;
  padding: 0 0 0 1.1rem;
  text-align: left;
}
.bd-pdp__care-list li { margin: 0 0 .35rem; }
.bd-pdp__text-btn {
  display: inline-block;
  margin-top: .25rem;
  color: #111;
  text-decoration: underline;
  text-underline-offset: 3px;
  font-weight: 400;
}

/* Details attribute table */
.bd-pdp-accordion__panel .shop_attributes,
.bd-pdp-accordion__panel .woocommerce-product-attributes {
  width: 100%;
  max-width: 40rem;
  border: 0;
  border-collapse: collapse;
  margin: 0;
}
.bd-pdp-accordion__panel .woocommerce-product-attributes-item {
  display: grid;
  grid-template-columns: 9rem minmax(0, 1fr);
  gap: .75rem 1.25rem;
  padding: .65rem 0;
  border-bottom: 1px solid var(--bd-line);
  align-items: start;
}
.bd-pdp-accordion__panel .woocommerce-product-attributes-item:last-child {
  border-bottom: 0;
}
.bd-pdp-accordion__panel .woocommerce-product-attributes-item__label,
.bd-pdp-accordion__panel .woocommerce-product-attributes-item__value,
.bd-pdp-accordion__panel .woocommerce-product-attributes-item__value p {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  text-align: left !important;
  font-size: 14px;
  line-height: 1.5;
}
.bd-pdp-accordion__panel .woocommerce-product-attributes-item__label {
  color: #6b6b6b;
  font-weight: 400;
}
.bd-pdp-accordion__panel .woocommerce-product-attributes-item__value {
  color: #111;
  font-weight: 300;
}
.bd-pdp__policy-link {
  margin: .35rem 0 0;
  font-size: 13px;
  text-align: left;
}
.bd-pdp__policy-link a {
  color: #111;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.bd-pdp__extras {
  margin: 0;
  text-align: left;
}

.bd-pdp__manufacturer {
  margin: 0;
  display: grid;
  gap: .65rem;
}
.bd-pdp__manufacturer > div {
  display: grid;
  grid-template-columns: 11rem minmax(0, 1fr);
  gap: .35rem 1rem;
  font-size: 14px;
}
.bd-pdp__manufacturer dt {
  margin: 0;
  color: #6b6b6b;
  font-weight: 500;
}
.bd-pdp__manufacturer dd {
  margin: 0;
  font-weight: 300;
  color: #111;
}
.bd-pdp__care-heading {
  margin: 0 0 .55rem;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: #6b6b6b;
}
.bd-pdp__size-table-wrap {
  overflow-x: auto;
  margin: 0 0 .75rem;
}
.bd-pdp__size-table {
  width: 100%;
  min-width: 420px;
  border-collapse: collapse;
  font-size: 13px;
}
.bd-pdp__size-table th,
.bd-pdp__size-table td {
  text-align: left;
  padding: .55rem .65rem;
  border-bottom: 1px solid var(--bd-line);
  vertical-align: top;
  font-weight: 300;
}
.bd-pdp__size-table th {
  font-weight: 500;
  color: #6b6b6b;
}
.bd-pdp__size-table .muted {
  display: block;
  color: #8a8a8a;
  font-size: 12px;
  margin-top: .15rem;
}
.bd-pdp-accordion__panel {
  max-width: 72ch;
}
.bd-pdp-accordion__panel:has(.bd-pdp__size-table) {
  max-width: none;
}
.bd-pdp__why {
  clear: both;
  margin: 2.5rem 0 1rem;
  padding: 2rem 1rem;
  width: 100%;
  box-sizing: border-box;
}
.bd-pdp__why .section-head { margin-bottom: 1.5rem; }
.bd-pdp__why .why-grid--certs {
  justify-content: center;
  gap: 1.25rem 1.5rem;
}
.woocommerce-tabs { display: none !important; }

@media (max-width: 560px) {
  .bd-pdp__manufacturer > div { grid-template-columns: 1fr; gap: .1rem; }
}

@media (max-width: 560px) {
  .bd-pdp-accordion__panel .woocommerce-product-attributes-item {
    grid-template-columns: 1fr;
    gap: .2rem;
  }
}

.related.products > h2 {
  font-size: 16px !important;
  letter-spacing: .1em;
  text-transform: uppercase;
  font-weight: 500;
}
.related.products ul.products {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

@media (max-width: 960px) {
  .bd-pdp__summary .woocommerce-variation-add-to-cart,
  .bd-pdp__summary form.cart:not(.variations_form) {
    grid-template-columns: 80px 1fr;
  }
}
@media (max-width: 560px) {
  .bd-pdp__summary .woocommerce-variation-add-to-cart,
  .bd-pdp__summary form.cart:not(.variations_form) {
    grid-template-columns: 1fr;
  }
  .bd-swatch--pill .bd-swatch__text { padding: 8px 12px; font-size: 13px; }
  .related.products ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}


/* ========== PDP related slider + buy-box live match (v1.6.0) ========== */
.bd-price-save {
  display: inline-block;
  background: #c31212;
  color: #fff;
  font-size: 12px;
  font-weight: 500;
  padding: 3px 10px;
  margin-left: .35rem;
  letter-spacing: .02em;
}

.bd-qty {
  display: inline-flex !important;
  align-items: stretch;
  border: 1px solid #e0e0e0;
  height: 52px;
  width: 118px !important;
  background: #fff;
}
.bd-qty .qty {
  width: 44px !important;
  height: 50px !important;
  border: 0 !important;
  text-align: center;
  font-size: 15px;
  -moz-appearance: textfield;
}
.bd-qty .qty::-webkit-outer-spin-button,
.bd-qty .qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.bd-qty-btn {
  width: 36px;
  border: 0;
  background: transparent;
  font-size: 18px;
  line-height: 1;
  cursor: pointer;
  color: #111;
}
.bd-qty-btn:hover { background: #f2f1ec; }

.bd-pdp__summary .woocommerce-variation-add-to-cart,
.bd-pdp__summary form.cart:not(.variations_form) {
  display: grid !important;
  grid-template-columns: 118px 1fr 1fr;
  gap: .55rem;
  align-items: stretch;
}
.bd-pdp__summary form.cart .single_add_to_cart_button {
  min-width: 0 !important;
}
.bd-buy-now {
  background: #fff !important;
  color: #111 !important;
  border: 1px solid #111 !important;
  height: 52px !important;
  line-height: 50px !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  padding: 0 16px !important;
  margin: 0 !important;
}
.bd-buy-now:hover {
  background: #f2f1ec !important;
  color: #111 !important;
}

.bd-pdp__delivery {
  border-top: 1px solid var(--bd-line);
  padding-top: 1.15rem;
  margin-bottom: 1.25rem;
}
.bd-pdp__pincode {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: .45rem;
  margin: 0 0 .65rem;
  max-width: 320px;
}
.bd-pdp__pincode input {
  border: 1px solid #e0e0e0;
  padding: .7rem .85rem;
  font-size: 14px;
  background: #fff;
}
.bd-pdp__pincode button {
  border: 1px solid #111;
  background: #111;
  color: #fff;
  padding: .7rem 1rem;
  font-size: 13px;
  cursor: pointer;
}
.bd-pdp__delivery-result {
  margin: 0 0 .55rem;
  font-size: 13px;
  color: #111;
}
.bd-pdp__help { border-top: 1px solid var(--bd-line); padding-top: 1.15rem; }

/* Related one-row slider */
.bd-related { margin-top: 1.5rem; }
.bd-related__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin: 0 0 1.1rem;
}
.bd-related__head h2 {
  margin: 0 !important;
  font-size: 16px !important;
  letter-spacing: .1em;
  text-transform: uppercase;
  font-weight: 500;
}
.bd-related__nav { display: flex; gap: .35rem; }
.bd-related__btn {
  width: 36px;
  height: 36px;
  border: 1px solid #e0e0e0;
  background: #fff;
  font-size: 20px;
  line-height: 1;
  cursor: pointer;
  color: #111;
}
.bd-related__btn:hover { border-color: #111; }
.bd-related__viewport { overflow: hidden; }
.bd-related__track,
.related.products ul.products.bd-related__track {
  display: flex !important;
  grid-template-columns: none !important;
  gap: 1rem !important;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  padding: 0 0 .35rem !important;
  margin: 0 !important;
  list-style: none !important;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.bd-related__track::-webkit-scrollbar { display: none; }
.bd-related__track > li.product {
  flex: 0 0 calc((100% - 3rem) / 4) !important;
  max-width: calc((100% - 3rem) / 4);
  scroll-snap-align: start;
  width: auto !important;
  margin: 0 !important;
  float: none !important;
}
@media (max-width: 960px) {
  .bd-related__track > li.product {
    flex-basis: calc((100% - 1rem) / 2) !important;
    max-width: calc((100% - 1rem) / 2);
  }
  .bd-pdp__summary .woocommerce-variation-add-to-cart,
  .bd-pdp__summary form.cart:not(.variations_form) {
    grid-template-columns: 118px 1fr;
  }
  .bd-buy-now { grid-column: 1 / -1; }
}
@media (max-width: 560px) {
  .bd-pdp__summary .woocommerce-variation-add-to-cart,
  .bd-pdp__summary form.cart:not(.variations_form) {
    grid-template-columns: 1fr;
  }
  .bd-qty { width: 100% !important; }
}


/* ========== Currency switcher ========== */
.bd-currency {
  position: relative;
  z-index: 120;
}
.bd-currency__toggle {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  border: 0;
  background: transparent;
  padding: .35rem .15rem;
  font: inherit;
  font-size: 11px;
  letter-spacing: .12em;
  text-transform: uppercase;
  font-weight: 500;
  color: #111;
  cursor: pointer;
}
.bd-currency__chevron {
  width: 7px;
  height: 7px;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(45deg);
  margin-top: -3px;
  opacity: .75;
}
.bd-currency.is-open .bd-currency__chevron {
  transform: rotate(-135deg);
  margin-top: 2px;
}
.bd-currency__menu {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  min-width: 120px;
  margin: 0;
  padding: .35rem 0;
  list-style: none;
  background: #fff;
  border: 1px solid var(--bd-line);
  box-shadow: 0 10px 28px rgba(0,0,0,.08);
}
.bd-currency__menu[hidden] { display: none; }
.bd-currency__option {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding: .55rem .85rem;
  font-size: 12px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #111;
  text-decoration: none;
}
.bd-currency__option:hover,
.bd-currency__option.is-active {
  background: #f2f1ec;
}
.bd-currency__option-sym {
  color: #6b6b6b;
  letter-spacing: 0;
  text-transform: none;
}

/* ========== Live homepage match overrides (v1.8) ========== */
.bd-card__body { background: #f2f1ec !important; }
.home-slider ul.products.home-slider__track,
.home-slider .home-slider__track.product-grid,
.home-slider .products.home-slider__track {
  display: grid !important;
  grid-auto-flow: column !important;
  grid-auto-columns: calc((100% - 3.6rem) / 5) !important;
  grid-template-columns: none !important;
  gap: .9rem !important;
  overflow-x: auto !important;
  scroll-snap-type: x mandatory;
  align-items: stretch !important;
}
@media (max-width: 1100px) {
  .home-slider .products.home-slider__track {
    grid-auto-columns: calc((100% - 1.8rem) / 3) !important;
  }
}
@media (max-width: 768px) {
  .home-slider .products.home-slider__track {
    grid-auto-columns: calc((100% - .9rem) / 2) !important;
  }
}
.nav-primary .container { width: 100%; }

/* ========== Shop the Look (match tammymart.com carousel layout) ========== */
.stl-page {
  background: #fff;
  padding-bottom: 3rem;
}
.stl-intro {
  padding: 2.5rem 0 1.25rem;
  text-align: center;
}
.stl-intro__inner {
  max-width: 720px;
}
.stl-intro__lede {
  margin: 0 0 .85rem;
  font-size: clamp(1.05rem, 2vw, 1.35rem);
  line-height: 1.45;
  color: #111;
  font-weight: 400;
}
.stl-intro__sub {
  margin: 0;
  font-size: 1rem;
  color: #333;
}
.stl-look {
  padding: 2rem 0 2.75rem;
}
.stl-look__container {
  max-width: min(100% - 2.5rem, 1280px);
}
.stl-look__heading {
  margin: 0 0 1.5rem;
  font-family: var(--bd-font-display);
  font-size: clamp(1.35rem, 2.4vw, 1.85rem);
  font-weight: 500;
  letter-spacing: .06em;
  text-transform: uppercase;
  text-align: center;
  color: #111;
}
.stl-look__main {
  display: flex;
  gap: 30px;
  align-items: flex-start;
}
.stl-look__stage {
  flex: 1;
  min-width: 0;
}
.stl-look__image-wrap {
  position: relative;
  width: 100%;
  background: #f2f1ec;
  cursor: zoom-in;
}
.stl-look__image {
  width: 100%;
  height: auto;
  display: block;
  vertical-align: middle;
}
.stl-look__zoom {
  position: absolute;
  right: 15px;
  bottom: 15px;
  width: 40px;
  height: 40px;
  border: 0;
  border-radius: 50%;
  background: #111;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 5;
  transition: transform .25s ease;
}
.stl-look__zoom:hover { transform: scale(1.08); }

.stl-hotspot {
  position: absolute;
  z-index: 10;
  transform: translate(-50%, -50%);
}
.stl-hotspot__btn {
  width: 28px;
  height: 28px;
  border: 0;
  border-radius: 50%;
  background: #111;
  color: #fff;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  box-shadow: 0 2px 8px rgba(0,0,0,.2);
  transition: transform .25s ease;
}
.stl-hotspot__btn span {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #fff;
  display: block;
}
.stl-hotspot:hover .stl-hotspot__btn,
.stl-hotspot.is-open .stl-hotspot__btn { transform: scale(1.1); }
.stl-hotspot__popup {
  position: absolute;
  left: 50%;
  bottom: calc(100% + 12px);
  transform: translateX(-50%);
  width: min(240px, 70vw);
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 10px 40px rgba(0,0,0,.2);
  padding: 14px;
  z-index: 20;
  text-align: center;
}
.stl-hotspot__popup[hidden] { display: none !important; }
.stl-hotspot__close {
  position: absolute;
  top: 6px;
  right: 8px;
  border: 0;
  background: transparent;
  font-size: 20px;
  line-height: 1;
  cursor: pointer;
  color: #333;
}
.stl-hotspot__media {
  width: 100%;
  aspect-ratio: 1;
  overflow: hidden;
  border-radius: 8px;
  background: #f5f5f5;
  margin-bottom: 10px;
}
.stl-hotspot__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.stl-hotspot__title {
  margin: 0 0 .35rem;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.3;
}
.stl-hotspot__price {
  margin: 0 0 .65rem;
  font-size: 15px;
  font-weight: 600;
}
.stl-hotspot__link {
  display: inline-block;
  font-size: 12px;
  letter-spacing: .08em;
  text-transform: uppercase;
  border: 1px solid #111;
  padding: .45rem .8rem;
  text-decoration: none !important;
}

.stl-look__sidebar {
  width: clamp(250px, 30%, 350px);
  flex-shrink: 0;
}
.stl-bundle {
  background: #f2f1ec;
  padding: 20px;
}
.stl-bundle__title {
  margin: 0 0 1rem;
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.stl-bundle__list {
  list-style: none;
  margin: 0 0 1.25rem;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.stl-bundle__item {
  background: #fff;
  padding: 10px;
}
.stl-bundle__link {
  display: flex;
  align-items: center;
  gap: 12px;
  color: inherit;
  text-decoration: none !important;
}
.stl-bundle__thumb {
  width: 70px;
  height: 70px;
  flex: 0 0 70px;
  background: #f5f5f5;
  overflow: hidden;
}
.stl-bundle__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.stl-bundle__meta {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}
.stl-bundle__name {
  font-size: 14px;
  line-height: 1.35;
  font-weight: 400;
}
.stl-bundle__price {
  font-size: 14px;
  font-weight: 500;
}
.stl-bundle__button {
  width: 100%;
  border: 0;
  background: #111;
  color: #fff;
  padding: 15px 20px;
  font-size: 14px;
  letter-spacing: .1em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background .25s ease;
}
.stl-bundle__button:hover:not(:disabled) { background: #333; }
.stl-bundle__button:disabled {
  opacity: .45;
  cursor: not-allowed;
}
.stl-bundle__button.is-loading { opacity: .7; }
.stl-bundle__empty {
  text-align: center;
  color: #999;
  font-style: italic;
  margin: 0 0 .75rem;
}
.stl-bundle__status {
  margin: .75rem 0 0;
  font-size: 13px;
  text-align: center;
}
.stl-bundle__status.is-error { color: #c62828; }
.stl-bundle__status.is-ok { color: #1b5e20; }

.stl-fullscreen {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.95);
  z-index: 100000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2rem;
}
.stl-fullscreen[hidden] { display: none !important; }
.stl-fullscreen__img {
  max-width: 92%;
  max-height: 88vh;
  object-fit: contain;
}
.stl-fullscreen__close {
  position: absolute;
  top: 16px;
  right: 20px;
  border: 0;
  background: transparent;
  color: #fff;
  font-size: 36px;
  cursor: pointer;
  line-height: 1;
}

@media (max-width: 900px) {
  .stl-look__main {
    flex-direction: column;
    gap: 20px;
  }
  .stl-look__sidebar {
    width: 100%;
  }
  .stl-bundle__thumb {
    width: 60px;
    height: 60px;
    flex-basis: 60px;
  }
  .stl-hotspot__popup {
    position: fixed;
    left: 50%;
    top: 50%;
    bottom: auto;
    transform: translate(-50%, -50%);
    width: min(300px, 88vw);
    z-index: 100001;
  }
}
