.bb-product-detail__grid,
.bb-checkout-grid {
  align-items: start;
  display: grid;
  gap: clamp(30px, 4.6vw, 60px);
  grid-template-columns: minmax(0, 1.06fr) minmax(360px, 0.94fr);
}

.bb-section.bb-product-detail {
  background:
    radial-gradient(circle at 90% 8%, rgba(198, 62, 72, 0.055), transparent 26rem),
    linear-gradient(180deg, #fffaf7 0%, #fbf4ef 100%);
  padding: clamp(24px, 2.8vw, 40px) 0 clamp(58px, 7vw, 90px);
}

.bb-section.bb-cart-page,
.bb-section.bb-checkout-page {
  padding: clamp(32px, 3.5vw, 50px) 0 clamp(56px, 6vw, 84px);
}

.bb-product-detail__media {
  background: #efe3da;
  border: 1px solid rgba(218, 187, 175, 0.84);
  border-radius: 24px;
  box-shadow: 0 18px 44px rgba(75, 42, 30, 0.1);
  margin: 0;
  overflow: hidden;
  position: relative;
}

.bb-product-detail__media img {
  aspect-ratio: 4 / 3;
  display: block;
  object-fit: cover;
  transition: opacity 0.16s ease, transform 0.2s ease;
  width: 100%;
}

.bb-product-gallery__stage {
  background: transparent;
  border: 0;
  color: inherit;
  cursor: zoom-in;
  display: block;
  min-width: 0;
  padding: 0;
  position: relative;
  text-align: inherit;
  width: 100%;
}

.bb-product-gallery__stage:focus-visible { outline: 4px solid rgba(198, 62, 72, .34); outline-offset: -4px; }

.bb-product-gallery__zoom {
  align-items: center;
  background: rgba(48, 25, 17, .76);
  border-radius: 50%;
  bottom: 15px;
  color: #fff;
  display: inline-flex;
  font-size: 1.25rem;
  height: 38px;
  justify-content: center;
  position: absolute;
  right: 15px;
  width: 38px;
}

/* The WordPress shortcode block can insert empty paragraphs around returned
   block markup. They must not become invisible spacer rows in the gallery or
   product summary. */
.bb-product-gallery > p:empty,
.bb-product-detail__content > p:empty,
.bb-product-detail > .bb-shell > p:empty {
  display: none;
  margin: 0;
}

.bb-product-detail__media img.is-changing {
  opacity: 0.68;
  transform: scale(0.995);
}

.bb-product-gallery {
  min-width: 0;
  position: sticky;
  top: 128px;
}

.bb-product-lightbox[hidden] { display: none; }
.bb-product-lightbox {
  align-items: center;
  background: rgba(25, 14, 10, .94);
  display: grid;
  grid-template-columns: minmax(44px, 1fr) minmax(0, 1200px) minmax(44px, 1fr);
  inset: 0;
  padding: clamp(18px, 4vw, 58px);
  position: fixed;
  z-index: 100020;
}
.bb-product-lightbox img { grid-column: 2; max-height: calc(100svh - 70px); object-fit: contain; width: 100%; }
.bb-product-lightbox__close,
.bb-product-lightbox__step { background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.35); color: #fff; cursor: pointer; }
.bb-product-lightbox__close { border-radius: 50%; font-size: 1.7rem; height: 44px; position: absolute; right: 18px; top: 18px; width: 44px; }
.bb-product-lightbox__step { align-self: center; border-radius: 999px; font-size: 2rem; height: 58px; width: 44px; }
.bb-product-lightbox__step--previous { grid-column: 1; justify-self: start; }
.bb-product-lightbox__step--next { grid-column: 3; justify-self: end; }
.bb-product-lightbox__close:hover,
.bb-product-lightbox__close:focus-visible,
.bb-product-lightbox__step:hover,
.bb-product-lightbox__step:focus-visible { background: var(--bb-red, #c63e48); outline: 2px solid #fff; }
body.bb-product-lightbox-is-open { overflow: hidden; }
body.bb-product-lightbox-is-open .bb-product-gallery { z-index: 100100; }

.bb-product-gallery__controls {
  align-items: center;
  background: rgba(48, 25, 17, 0.84);
  border: 1px solid rgba(255, 255, 255, 0.4);
  border-radius: 999px;
  bottom: 14px;
  color: #fff;
  display: grid;
  gap: 5px;
  grid-template-columns: 38px auto 38px;
  left: 50%;
  padding: 4px;
  position: absolute;
  transform: translateX(-50%);
}

.bb-product-gallery__controls button {
  align-items: center;
  background: rgba(255, 255, 255, 0.14);
  border: 0;
  border-radius: 50%;
  color: #fff;
  cursor: pointer;
  display: inline-flex;
  font-size: 1.6rem;
  height: 38px;
  justify-content: center;
  line-height: 1;
  padding: 0 0 3px;
  width: 38px;
}

.bb-product-gallery__controls button:hover,
.bb-product-gallery__controls button:focus-visible {
  background: var(--bb-red, #c63e48);
  outline: 2px solid #fff;
  outline-offset: 1px;
}

.bb-product-gallery__controls span {
  align-items: center;
  display: flex;
  font-size: 0.72rem;
  gap: 3px;
  justify-content: center;
  min-width: 46px;
}

.bb-product-gallery__thumbs {
  display: grid;
  gap: 10px;
  grid-auto-columns: minmax(78px, 96px);
  grid-auto-flow: column;
  margin-top: 12px;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  padding: 3px 2px 8px;
  scroll-snap-type: inline mandatory;
  scrollbar-width: thin;
}

.bb-product-gallery__thumbs button {
  background: #fff;
  border: 2px solid transparent;
  border-radius: 13px;
  cursor: pointer;
  padding: 3px;
  scroll-snap-align: start;
}

.bb-product-gallery__thumbs button[aria-selected="true"] {
  border-color: var(--bb-red, #c63e48);
  box-shadow: 0 0 0 2px rgba(198, 62, 72, 0.12);
}

.bb-product-gallery__thumbs button:focus-visible {
  border-color: var(--bb-cocoa, #4b2a1e);
  outline: 3px solid rgba(198, 62, 72, 0.2);
}

.bb-product-gallery__thumbs img {
  aspect-ratio: 1;
  border-radius: 8px;
  display: block;
  object-fit: cover;
  width: 100%;
}

.bb-product-detail__content {
  min-width: 0;
  padding-top: 10px;
}

.bb-product-detail__content h1,
.bb-checkout-grid h1 {
  font-family: var(--bb-serif, Georgia, serif);
  font-size: clamp(2.35rem, 4.1vw, 3.85rem);
  letter-spacing: -0.025em;
  line-height: 1.04;
  margin: 13px 0 16px;
}

.bb-product-detail__description {
  color: var(--bb-muted, #7d6a63);
  font-size: 1rem;
  line-height: 1.7;
  margin: 0;
  max-width: 58ch;
}

.bb-product-detail__price-row {
  align-items: end;
  border-bottom: 1px solid rgba(218, 187, 175, 0.68);
  display: flex;
  justify-content: space-between;
  margin-top: 22px;
  padding-bottom: 15px;
}

.bb-product-detail__price {
  color: var(--bb-cocoa, #4b2a1e);
  font-size: 1.62rem;
  font-weight: 800;
  margin: 0;
}

.bb-product-detail__sku {
  color: var(--bb-muted, #7d6a63);
  font-size: 0.72rem;
  margin: 0 0 3px;
}

.bb-product-detail__lead,
.bb-form-note {
  color: var(--bb-muted, #7d6a63);
  font-size: 0.9rem;
}

.bb-product-detail__kicker {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.bb-product-detail__kicker a {
  color: var(--bb-cocoa, #4b2a1e);
  font-size: 0.88rem;
  font-weight: 800;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

.bb-product-marketing-badge {
  background: var(--bb-red, #c63e48);
  border-radius: 999px;
  color: #fff;
  display: inline-flex;
  font-size: 0.75rem;
  font-weight: 800;
  line-height: 1;
  padding: 8px 10px;
}

.bb-product-detail__media > .bb-product-marketing-badge {
  left: 18px;
  position: absolute;
  top: 18px;
}

.bb-product-facts {
  display: grid;
  gap: 9px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  list-style: none;
  margin: 16px 0 0;
  padding: 0;
}

.bb-product-facts li {
  align-items: center;
  background: rgba(255, 253, 252, 0.74);
  border: 1px solid #ead7cf;
  border-radius: 14px;
  display: flex;
  gap: 9px;
  min-width: 0;
  padding: 11px;
}

.bb-product-facts li > span:last-child {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.bb-product-fact__icon {
  align-items: center;
  background: #f8e7df;
  border-radius: 10px;
  color: var(--bb-red, #c63e48);
  display: inline-flex;
  flex: 0 0 30px;
  font-size: 0.86rem;
  height: 30px;
  justify-content: center;
}

.bb-product-facts strong {
  color: var(--bb-cocoa, #4b2a1e);
  font-size: 0.74rem;
  line-height: 1.25;
}

.bb-product-facts small {
  color: var(--bb-muted, #7d6a63);
  font-size: 0.68rem;
  line-height: 1.35;
}

.bb-product-assurance {
  background: rgba(255, 253, 252, 0.7);
  border: 1px solid rgba(218, 187, 175, 0.7);
  border-radius: 18px;
  display: grid;
  gap: 0;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 26px;
  overflow: hidden;
}

.bb-product-assurance > div {
  display: grid;
  gap: 3px;
  padding: 17px 20px;
}

.bb-product-assurance > div + div { border-left: 1px solid rgba(218, 187, 175, 0.7); }

.bb-product-assurance strong { color: var(--bb-cocoa, #4b2a1e); font-size: 0.82rem; }

.bb-product-assurance span { color: var(--bb-muted, #7d6a63); font-size: 0.74rem; }

.bb-product-mobile-action { display: none; }

.bb-product-order__heading {
  align-items: start;
  display: flex;
  justify-content: space-between;
  margin-bottom: 18px;
}

.bb-product-order__heading > div { display: grid; gap: 3px; }

.bb-product-order__heading strong { color: var(--bb-cocoa, #4b2a1e); font-size: 1.02rem; }

.bb-product-order__kicker {
  color: var(--bb-red, #c63e48);
  font-size: 0.66rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.bb-product-order__heading small,
.bb-product-order__pricing-note { color: var(--bb-muted, #7d6a63); font-size: 0.72rem; }

.bb-product-order__pricing-note {
  background: #f8eee9;
  border-radius: 999px;
  padding: 6px 9px;
}

.bb-product-options {
  border: 0;
  margin: 0 0 15px;
  padding: 0;
}

.bb-product-options legend {
  color: var(--bb-cocoa, #4b2a1e);
  font-size: 0.78rem;
  font-weight: 800;
  margin-bottom: 8px;
}

.bb-product-options__grid {
  display: grid;
  gap: 8px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.bb-product-option {
  cursor: pointer;
  margin: 0;
  min-width: 0;
  position: relative;
}

.bb-product-option input {
  height: 1px;
  opacity: 0;
  position: absolute;
  width: 1px;
}

.bb-product-option > span {
  background: #fff;
  border: 1px solid #dfc8be;
  border-radius: 14px;
  display: grid;
  gap: 3px;
  min-height: 68px;
  padding: 12px 12px 11px;
  position: relative;
  transition: border-color .16s ease, box-shadow .16s ease, background .16s ease, transform .16s ease;
}

.bb-product-option strong { color: var(--bb-cocoa, #4b2a1e); font-size: 0.82rem; line-height: 1.25; }
.bb-product-option small { color: var(--bb-red, #c63e48); font-size: 0.78rem; font-weight: 800; }
.bb-product-option__check {
  align-items: center;
  background: var(--bb-red, #c63e48);
  border-radius: 50%;
  color: #fff;
  display: flex;
  font-size: .58rem;
  height: 19px;
  justify-content: center;
  opacity: 0;
  position: absolute;
  right: 8px;
  top: 8px;
  transform: scale(.7);
  transition: opacity .16s ease, transform .16s ease;
  width: 19px;
}
.bb-product-option:hover > span { border-color: var(--bb-red, #c63e48); transform: translateY(-1px); }
.bb-product-option input:checked + span { background: linear-gradient(145deg, #fff9f6, #fff0ea); border-color: var(--bb-red, #c63e48); box-shadow: 0 7px 18px rgba(198, 62, 72, .1), inset 0 0 0 1px var(--bb-red, #c63e48); }
.bb-product-option input:checked + span .bb-product-option__check { opacity: 1; transform: scale(1); }
.bb-product-option input:focus-visible + span { outline: 3px solid rgba(198, 62, 72, .22); outline-offset: 2px; }

.bb-product-customizations { display: grid; gap: 11px; margin: 0 0 13px; }
.bb-product-customization { border: 0; margin: 0; padding: 0; }
.bb-product-customization legend { color: var(--bb-cocoa, #4b2a1e); font-size: .78rem; font-weight: 800; margin-bottom: 3px; }
.bb-product-customization legend span { background: #f7e3dc; border-radius: 999px; color: var(--bb-red, #c63e48); font-size: .57rem; margin-left: 6px; padding: 3px 6px; }
.bb-product-customization > p { color: var(--bb-muted, #7d6a63); font-size: .65rem; line-height: 1.4; margin: 0 0 6px; }
.bb-product-customization__grid { display: grid; gap: 7px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.bb-product-customization-option { cursor: pointer; margin: 0; min-width: 0; position: relative; }
.bb-product-customization-option input { height: 1px; opacity: 0; position: absolute; width: 1px; }
.bb-product-customization-option > img { aspect-ratio: 16 / 9; border-radius: 11px 11px 0 0; display: block; object-fit: cover; width: 100%; }
.bb-product-customization-option > span { background: #fff; border: 1px solid #dfc8be; border-radius: 11px; display: grid; gap: 2px; min-height: 52px; padding: 8px; }
.bb-product-customization-option > img + span { border-radius: 0 0 11px 11px; border-top: 0; }
.bb-product-customization-option strong { color: var(--bb-cocoa, #4b2a1e); font-size: .72rem; line-height: 1.25; }
.bb-product-customization-option em { color: var(--bb-muted, #7d6a63); font-size: .59rem; font-style: normal; line-height: 1.25; }
.bb-product-customization-option small { color: var(--bb-red, #c63e48); font-size: .65rem; font-weight: 800; }
.bb-product-customization-option input:checked ~ span,
.bb-product-customization-option input:checked + img + span { background: #fff3ee; border-color: var(--bb-red, #c63e48); box-shadow: inset 0 0 0 1px var(--bb-red, #c63e48); }
.bb-product-customization-option input:focus-visible ~ span { outline: 3px solid rgba(198, 62, 72, .22); outline-offset: 2px; }
.bb-product-customization-option--none > span { align-content: center; }

.bb-product-order__selection {
  align-items: center;
  background: rgba(255, 255, 255, .72);
  border: 1px solid #ead7cf;
  border-radius: 14px;
  display: flex;
  justify-content: space-between;
  margin: 0 0 13px;
  padding: 10px 13px;
}

.bb-product-order__selection > span { display: grid; gap: 1px; }
.bb-product-order__selection > span:last-child { text-align: right; }
.bb-product-order__selection small { color: var(--bb-muted, #7d6a63); font-size: .66rem; }
.bb-product-order__selection strong { color: var(--bb-cocoa, #4b2a1e); font-size: .85rem; }
.bb-product-order__selection [data-bb-order-total] { color: var(--bb-red, #c63e48); font-size: 1rem; }
.bb-product-order__selection em { color: var(--bb-muted, #7d6a63); font-size: .61rem; font-style: normal; line-height: 1.3; max-width: 44ch; }

.bb-product-quantity {
  align-items: center;
  background: #fff;
  border: 1px solid #dfc8be;
  border-radius: 12px;
  display: grid;
  flex: 0 0 auto;
  grid-template-columns: 42px 54px 42px;
  overflow: hidden;
}

.bb-product-quantity button,
.bb-product-quantity input {
  background: #fff;
  border: 0;
  color: var(--bb-cocoa, #4b2a1e);
  font: inherit;
  height: 48px;
  min-height: 48px;
  text-align: center;
}

.bb-product-quantity button {
  cursor: pointer;
  font-size: 1.16rem;
  font-weight: 800;
}

.bb-product-quantity button:disabled { color: #bea9a0; cursor: not-allowed; }

.bb-product-quantity input {
  border-left: 1px solid #ead7cf;
  border-radius: 0;
  border-right: 1px solid #ead7cf;
  padding: 0;
  width: 54px;
  -moz-appearance: textfield;
}

.bb-product-quantity input::-webkit-inner-spin-button,
.bb-product-quantity input::-webkit-outer-spin-button { margin: 0; -webkit-appearance: none; }

.bb-product-order__submit {
  align-items: center;
  display: flex;
  flex: 1 1 auto;
  justify-content: space-between;
  min-height: 52px;
}

.bb-product-order__submit span { font-size: .86rem; }
.bb-product-order__submit small { color: rgba(255,255,255,.86); font-size: .76rem; font-weight: 800; }

.bb-product-order__notice {
  color: var(--bb-muted, #7d6a63);
  font-size: 0.73rem;
  line-height: 1.5;
  margin: 12px 0 0;
}

.bb-product-order--closed {
  background: #fff5ef;
  border: 1px solid #eccdc1;
  border-radius: 18px;
  margin-top: 20px;
  padding: 18px;
}

.bb-product-order--closed p { color: var(--bb-muted, #7d6a63); margin: 5px 0 0; }

.bb-catalog-discovery {
  background: rgba(255, 253, 252, 0.82);
  border: 1px solid rgba(218, 187, 175, 0.74);
  border-radius: 21px;
  box-shadow: 0 10px 30px rgba(75, 42, 30, 0.045);
  margin: 0 0 24px;
  padding: 17px;
}

.bb-catalog-tools {
  align-items: end;
  background: transparent;
  border: 0;
  border-radius: 0;
  display: grid;
  gap: 14px;
  grid-template-columns: minmax(0, 1fr) minmax(190px, 0.3fr);
  margin: 0 0 15px;
  padding: 0;
}

.bb-catalog-search label,
.bb-catalog-sort {
  color: var(--bb-cocoa, #4b2a1e);
  display: grid;
  font-size: 0.8rem;
  font-weight: 800;
  gap: 7px;
}

.bb-catalog-search > div {
  display: flex;
}

.bb-catalog-search input,
.bb-catalog-sort select {
  background: #fff;
  border: 1px solid #dfc8be;
  color: var(--bb-cocoa, #4b2a1e);
  font: inherit;
  min-height: 46px;
}

.bb-catalog-search input {
  border-radius: 11px 0 0 11px;
  min-width: 0;
  padding: 9px 12px;
  width: 100%;
}

.bb-catalog-search button {
  background: var(--bb-red, #c63e48);
  border: 1px solid var(--bb-red, #c63e48);
  border-radius: 0 11px 11px 0;
  color: #fff;
  cursor: pointer;
  font: inherit;
  font-weight: 800;
  min-width: 78px;
  padding: 8px 14px;
}

.bb-catalog-sort select {
  border-radius: 11px;
  padding: 9px 34px 9px 11px;
  width: 100%;
}

.bb-catalog-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0;
}

.bb-catalog-filter {
  align-items: center;
  background: #fffdfc;
  border: 1px solid #e6cec5;
  border-radius: 999px;
  color: var(--bb-cocoa, #4b2a1e);
  display: inline-flex;
  font-size: 0.92rem;
  font-weight: 800;
  gap: 8px;
  min-height: 40px;
  padding: 8px 14px;
  text-decoration: none;
}

.bb-catalog-filter small {
  align-items: center;
  background: rgba(75, 42, 30, 0.08);
  border-radius: 999px;
  display: inline-flex;
  font-size: 0.7rem;
  height: 22px;
  justify-content: center;
  min-width: 22px;
  padding: 0 6px;
}

.bb-catalog-filter.is-active small {
  background: rgba(255, 255, 255, 0.2);
}

.bb-catalog-results-heading {
  align-items: center;
  display: flex;
  justify-content: space-between;
  margin: 0 2px 16px;
}

.bb-catalog-results-heading p {
  color: var(--bb-cocoa, #4b2a1e);
  font-size: 0.9rem;
  margin: 0;
}

.bb-catalog-results-heading p strong { display: block; font-size: 1rem; }

.bb-catalog-results-heading p span {
  display: block;
  color: var(--bb-muted, #7d6a63);
  font-weight: 500;
  margin-top: 2px;
}

.bb-catalog-results-heading a {
  color: var(--bb-red, #c63e48);
  font-size: 0.82rem;
  font-weight: 800;
}

.bb-catalog-card__media {
  position: relative;
}

.bb-catalog-card__badges {
  align-items: flex-start;
  display: flex;
  gap: 7px;
  justify-content: space-between;
  left: 11px;
  pointer-events: none;
  position: absolute;
  right: 11px;
  top: 11px;
}

.bb-catalog-card__badges .bb-pill {
  margin-left: auto;
}

.bb-catalog-card .bb-product-card__meta {
  align-items: center;
  display: flex;
  gap: 8px;
  justify-content: space-between;
}

.bb-catalog-card .bb-product-card__body { display: flex; flex-direction: column; }

.bb-catalog-card .bb-product-card__footer { margin-top: auto; }

.bb-catalog-card .bb-product-card__meta span {
  font-size: 0.72rem;
  white-space: nowrap;
}

.bb-catalog-filter:hover,
.bb-catalog-filter:focus-visible,
.bb-catalog-filter.is-active {
  background: var(--bb-red, #c63e48);
  border-color: var(--bb-red, #c63e48);
  color: #fff;
}

.bb-commerce-form,
.bb-checkout-form,
.bb-cart-panel {
  background: #fffdfc;
  border: 1px solid #e6cec5;
  border-radius: 18px;
  margin-top: 24px;
  padding: 20px;
}

.bb-commerce-form.bb-product-order {
  background: linear-gradient(145deg, #fffdfc 0%, #fff7f3 100%);
  border-color: #e8cec4;
  box-shadow: 0 16px 34px rgba(75, 42, 30, 0.075);
  margin-top: 18px;
  padding: 22px;
}

.bb-commerce-form label,
.bb-checkout-form label,
.bb-checkout-form legend {
  color: #4b2a1e;
  display: block;
  font-size: 0.9rem;
  font-weight: 800;
  margin: 0 0 7px;
}

.bb-quantity-row {
  align-items: center;
  display: flex;
  gap: 12px;
  justify-content: space-between;
}

.bb-quantity-row > div { display: grid; gap: 5px; }

.bb-product-order__sr-label { height: 0; overflow: hidden; }

.bb-product-order__submit-wrap {
  display: flex;
  flex: 1 1 auto;
  min-width: 0;
}

.bb-quantity-row__label {
  color: var(--bb-cocoa, #4b2a1e);
  font-size: .7rem;
  font-weight: 800;
}

.bb-quantity-row > input {
  border: 1px solid #e6cec5;
  border-radius: 10px;
  font-size: 1rem;
  min-height: 48px;
  padding: 8px 12px;
  width: 92px;
}

.bb-commerce-shell { max-width: 960px; }

.bb-commerce-hero { margin: 0 0 24px; max-width: 650px; }
.bb-commerce-hero h1 { color: var(--bb-cocoa, #4b2a1e); font-family: var(--bb-serif, Georgia, serif); font-size: clamp(2rem, 5vw, 3.25rem); line-height: 1.05; margin: 10px 0 9px; }
.bb-commerce-hero p { color: var(--bb-muted, #7d6a63); line-height: 1.65; margin: 0; }

.bb-checkout-grid { gap: clamp(28px, 4vw, 54px); grid-template-columns: minmax(0, .88fr) minmax(400px, 1.12fr); }
.bb-checkout-summary { position: sticky; top: 104px; }
.bb-checkout-summary .bb-form-note { line-height: 1.65; margin: 0; max-width: 52ch; }
.bb-checkout-trust { display: flex; flex-wrap: wrap; gap: 7px 14px; margin-top: 17px; }
.bb-checkout-trust span { color: #397d4a; font-size: .74rem; font-weight: 800; }

.bb-checkout-form {
  border-radius: 24px;
  box-shadow: 0 18px 42px rgba(75, 42, 30, .08);
  display: grid;
  gap: 20px;
  margin-top: 0;
  padding: 26px;
}

.bb-checkout-form__header span {
  color: var(--bb-red, #c63e48);
  font-size: .68rem;
  font-weight: 900;
  letter-spacing: .08em;
}

.bb-checkout-form__header h2 {
  color: var(--bb-cocoa, #4b2a1e);
  font-family: var(--bb-serif, Georgia, serif);
  font-size: 1.45rem;
  line-height: 1.2;
  margin: 4px 0 0;
}

.bb-checkout-step {
  border-top: 1px solid #efddd6;
  display: grid;
  gap: 15px;
  padding-top: 20px;
}

.bb-checkout-step__heading { align-items: center; display: flex; gap: 10px; }
.bb-checkout-step__heading > span {
  align-items: center;
  background: #fae9e3;
  border-radius: 11px;
  color: var(--bb-red, #c63e48);
  display: flex;
  flex: 0 0 34px;
  font-size: .8rem;
  font-weight: 900;
  height: 34px;
  justify-content: center;
}
.bb-checkout-step__heading > div { display: grid; gap: 1px; }
.bb-checkout-step__heading strong { color: var(--bb-cocoa, #4b2a1e); font-size: .9rem; }
.bb-checkout-step__heading small { color: var(--bb-muted, #7d6a63); font-size: .68rem; }

.bb-checkout-fields { display: grid; gap: 11px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.bb-checkout-field--wide { grid-column: 1 / -1; }

.bb-checkout-form input,
.bb-checkout-form select,
.bb-checkout-form textarea {
  background: #fff;
  border: 1px solid #d9c2b9;
  border-radius: 11px;
  font: inherit;
  margin: 7px 0 0;
  min-height: 48px;
  padding: 10px 12px;
  transition: border-color .16s ease, box-shadow .16s ease;
  width: 100%;
}

.bb-checkout-form input:focus,
.bb-checkout-form select:focus,
.bb-checkout-form textarea:focus { border-color: var(--bb-red, #c63e48); box-shadow: 0 0 0 3px rgba(198, 62, 72, .12); outline: 0; }
.bb-checkout-form textarea { min-height: 92px; }
.bb-checkout-form fieldset { border: 0; margin: 0; padding: 0; }
.bb-checkout-method__options { display: grid; gap: 9px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.bb-checkout-method__options label { cursor: pointer; margin: 0; position: relative; }
.bb-checkout-method__options input { height: 1px; opacity: 0; position: absolute; width: 1px; }
.bb-checkout-method__options label > span { align-items: center; background: #fff; border: 1px solid #dfc8be; border-radius: 13px; display: grid; gap: 1px 8px; grid-template-columns: 32px 1fr; min-height: 70px; padding: 10px; transition: border-color .16s ease, background .16s ease, box-shadow .16s ease; }
.bb-checkout-method__options b { align-items: center; background: #f8e7df; border-radius: 9px; color: var(--bb-red, #c63e48); display: flex; font-size: 1rem; grid-row: 1 / 3; height: 32px; justify-content: center; width: 32px; }
.bb-checkout-method__options strong { color: var(--bb-cocoa, #4b2a1e); font-size: .82rem; }
.bb-checkout-method__options small { color: var(--bb-muted, #7d6a63); font-size: .64rem; font-weight: 500; }
.bb-checkout-method__options input:checked + span { background: #fff4ef; border-color: var(--bb-red, #c63e48); box-shadow: inset 0 0 0 1px var(--bb-red, #c63e48); }
.bb-checkout-method__options input:focus-visible + span { outline: 3px solid rgba(198,62,72,.18); outline-offset: 2px; }
.bb-checkout-address { margin: 0; }
.bb-checkout-address[hidden] { display: none; }
.bb-checkout-field-note { color: var(--bb-muted, #7d6a63); display: block; font-size: .66rem; font-weight: 600; line-height: 1.4; margin-top: 6px; }
.bb-checkout-submit { align-items: center; display: flex; flex-direction: column; gap: 2px; justify-content: center; margin-top: 0; min-height: 58px; width: 100%; }
.bb-checkout-submit small { color: rgba(255,255,255,.8); font-size: .66rem; font-weight: 700; }
.bb-checkout-submit:disabled { cursor: not-allowed; filter: grayscale(.15); opacity: .48; }
[data-bb-add-to-cart][aria-busy="true"] .bb-product-order__submit,
.bb-checkout-form[aria-busy="true"] .bb-checkout-submit { cursor: wait; opacity: .68; }

.bb-cart-panel { box-shadow: 0 14px 34px rgba(75, 42, 30, .055); }
.bb-cart-panel__head { align-items: end; border-bottom: 1px solid #ecd9d1; display: flex; justify-content: space-between; margin: -2px 0 14px; padding: 0 2px 15px; }
.bb-cart-panel__head > div { display: flex; gap: 8px; }
.bb-cart-panel__head span { color: var(--bb-cocoa, #4b2a1e); font-weight: 800; }
.bb-cart-panel__head strong { background: #f8e7df; border-radius: 999px; color: var(--bb-red, #c63e48); font-size: .72rem; padding: 4px 8px; }
.bb-cart-panel__head small { color: var(--bb-muted, #7d6a63); font-size: .68rem; }
.bb-cart-list { display: grid; gap: 10px; list-style: none; margin: 0; padding: 0; }
.bb-cart-list li { align-items: center; background: #fffaf7; border: 1px solid #efddd6; border-radius: 16px; display: grid; gap: 14px; grid-template-columns: 84px minmax(0, 1fr) auto; padding: 12px; }
.bb-cart-list li.bb-cart-item--no-image { grid-template-columns: minmax(0, 1fr) auto; }
.bb-cart-item__image { background: #f6e9e3; border-radius: 12px; height: 84px; object-fit: cover; width: 84px; }
.bb-cart-item__copy { min-width: 0; }
.bb-cart-item__copy strong,
.bb-cart-item__copy small { display: block; }
.bb-cart-item__copy > strong { color: var(--bb-cocoa, #4b2a1e); font-size: .95rem; line-height: 1.3; }
.bb-cart-item__copy small { color: var(--bb-muted, #7d6a63); margin-top: 5px; }
.bb-cart-item__option { background: #f9ebe5; border-radius: 999px; color: var(--bb-cocoa, #4b2a1e); display: inline-flex; font-size: 0.68rem; font-weight: 800; margin-top: 6px; padding: 4px 8px; }
.bb-cart-item__unit { font-size: .7rem; }
.bb-cart-item__unavailable { color: #b3343d; display: block; font-size: 0.72rem; font-weight: 700; line-height: 1.4; margin-top: 5px; }
.bb-cart-item__summary { align-items: flex-end; display: flex; flex-direction: column; gap: 8px; }
.bb-cart-item__summary > span { color: var(--bb-muted, #7d6a63); font-size: .62rem; }
.bb-cart-item__summary > strong { color: var(--bb-cocoa, #4b2a1e); font-size: 1rem; }
.bb-cart-quantity { align-items: center; display: flex; gap: 6px; }
.bb-cart-quantity button { align-items: center; background: #fff; border: 1px solid #d9c2b9; border-radius: 8px; color: #4b2a1e; cursor: pointer; display: inline-flex; font: inherit; font-weight: 800; height: 34px; justify-content: center; width: 34px; }
.bb-cart-quantity button:disabled { cursor: not-allowed; opacity: 0.45; }
.bb-cart-quantity input { border: 1px solid #d9c2b9; border-radius: 8px; font: inherit; height: 34px; padding: 4px; text-align: center; width: 54px; }
.bb-cart-remove { background: transparent; border: 0; color: #b3343d; cursor: pointer; font: inherit; font-size: .7rem; font-weight: 800; padding: 4px; text-decoration: underline; text-underline-offset: 3px; }
.bb-cart-summary { background: #f9eee9; border-radius: 14px; margin-top: 14px; padding: 14px; }
.bb-cart-summary .bb-form-note { font-size: .7rem; line-height: 1.5; margin: 0 0 10px; }
.bb-cart-total { align-items: end; border-top: 1px solid #e6cec5; display: flex; justify-content: space-between; padding-top: 12px; }
.bb-cart-total > span { display: grid; gap: 1px; }
.bb-cart-total small { color: var(--bb-muted, #7d6a63); font-size: .68rem; }
.bb-cart-total strong { color: var(--bb-cocoa, #4b2a1e); font-size: 1.05rem; }
.bb-cart-total > strong { font-size: 1.4rem; }
.bb-cart-actions { display: grid; gap: 10px; grid-template-columns: minmax(0, .7fr) minmax(0, 1.3fr); margin-top: 14px; }
.bb-cart-actions .bb-button { justify-content: center; margin: 0; }
.bb-cart-actions .bb-button span { font-size: 1rem; margin-left: 4px; }
.bb-cart-empty { align-items: center; display: flex; flex-direction: column; min-height: 280px; justify-content: center; padding: 20px; text-align: center; }
.bb-cart-empty > span { align-items: center; background: #f9e9e2; border-radius: 50%; color: var(--bb-red, #c63e48); display: flex; font-size: 1.7rem; height: 56px; justify-content: center; margin-bottom: 13px; width: 56px; }
.bb-cart-empty strong { color: var(--bb-cocoa, #4b2a1e); font-size: 1.05rem; }
.bb-cart-empty p { color: var(--bb-muted, #7d6a63); font-size: .82rem; line-height: 1.55; margin: 7px auto 16px; max-width: 38ch; }
.bb-form-message { font-size: 0.92rem; font-weight: 700; min-height: 1.3em; margin-top: 10px; }
.bb-form-message[data-status="error"] { color: #b3343d; }
.bb-form-message[data-status="success"] { color: #237a3d; }

/* Desktop product details are intentionally compact enough to keep the
   gallery thumbnails and the primary order action in the first viewport. */
@media (min-width: 1024px) {
	.bb-product-detail__grid {
		gap: clamp(22px, 2.6vw, 36px);
		grid-template-columns: minmax(0, .96fr) minmax(420px, 1.04fr);
	}
	.bb-section.bb-product-detail { padding-top: clamp(20px, 2vw, 30px); }
		.bb-product-gallery { top: 112px; }
		.bb-product-gallery--multiple {
			display: grid;
			gap: 10px;
			grid-template-columns: minmax(0, 1fr) 70px;
		}
		.bb-product-detail__media { border-radius: 20px; }
	.bb-product-detail__media img {
		aspect-ratio: auto;
		height: clamp(340px, calc(100svh - 335px), 430px);
		object-position: center;
	}
	body.admin-bar .bb-product-detail__media img {
		height: clamp(315px, calc(100svh - 365px), 400px);
	}
	.bb-product-gallery__controls {
		bottom: 10px;
		grid-template-columns: 32px auto 32px;
		padding: 3px;
	}
	.bb-product-gallery__controls button { font-size: 1.35rem; height: 32px; width: 32px; }
	.bb-product-gallery__controls span { font-size: .67rem; min-width: 42px; }
		.bb-product-gallery__thumbs {
			gap: 8px;
			grid-auto-flow: row;
			grid-auto-rows: 64px;
			margin: 0;
			max-height: clamp(340px, calc(100svh - 335px), 430px);
			overflow-x: hidden;
			overflow-y: auto;
			padding: 2px 4px 2px 2px;
		}
	.bb-product-gallery__thumbs button { border-radius: 11px; padding: 2px; }
	.bb-product-gallery__thumbs img { border-radius: 7px; }
	.bb-product-detail__content { padding-top: 2px; }
	.bb-product-detail__content h1 {
		font-size: clamp(1.95rem, 2.85vw, 2.8rem);
		line-height: 1;
		margin: 7px 0 8px;
	}
	.bb-product-detail__description { font-size: .86rem; line-height: 1.45; }
	.bb-product-detail__price-row { margin-top: 10px; padding-bottom: 8px; }
	.bb-product-detail__price { font-size: 1.3rem; }
	.bb-product-detail__sku { font-size: .66rem; margin-bottom: 2px; }
	.bb-product-facts { gap: 6px; margin-top: 8px; }
	.bb-product-facts li { border-radius: 12px; gap: 7px; padding: 6px 7px; }
	.bb-product-fact__icon { border-radius: 8px; flex-basis: 26px; font-size: .72rem; height: 26px; }
	.bb-product-facts strong { font-size: .68rem; }
	.bb-product-facts small { font-size: .62rem; }
	.bb-commerce-form.bb-product-order {
		border-radius: 16px;
		margin-top: 9px;
		padding: 12px;
	}
	.bb-product-order__heading { margin-bottom: 9px; }
	.bb-product-order__heading > div:first-child { gap: 1px; }
	.bb-product-order__heading strong { font-size: .9rem; }
	.bb-product-order__kicker { font-size: .59rem; }
	.bb-product-order__heading small,
	.bb-product-order__pricing-note { font-size: .64rem; }
	.bb-product-order__pricing-note { padding: 4px 7px; }
	.bb-product-options { margin-bottom: 9px; }
	.bb-product-options legend { font-size: .7rem; margin-bottom: 5px; }
		.bb-product-options__grid { gap: 6px; }
	.bb-product-option > span { border-radius: 11px; min-height: 52px; padding: 8px 9px; }
	.bb-product-option strong { font-size: .74rem; }
		.bb-product-option small { font-size: .7rem; }
		.bb-product-customizations { gap: 7px; margin-bottom: 8px; }
		.bb-product-customization__grid { gap: 5px; }
		.bb-product-customization-option > span { min-height: 44px; padding: 6px 7px; }
		.bb-product-customization-option strong { font-size: .67rem; }
		.bb-product-customization-option small { font-size: .61rem; }
	.bb-product-order__selection { border-radius: 11px; margin-bottom: 8px; padding: 7px 10px; }
	.bb-product-order__selection small { font-size: .61rem; }
	.bb-product-order__selection strong { font-size: .78rem; }
	.bb-product-order__selection [data-bb-order-total] { font-size: .9rem; }
	.bb-quantity-row { gap: 9px; }
	.bb-quantity-row > div { gap: 3px; }
	.bb-quantity-row__label { font-size: .64rem; }
	.bb-product-quantity { grid-template-columns: 36px 44px 36px; }
	.bb-product-quantity button,
	.bb-product-quantity input { height: 42px; min-height: 42px; }
	.bb-product-quantity input { width: 44px; }
	.bb-product-order__submit { min-height: 44px; padding: 8px 13px; }
	.bb-product-order__submit span { font-size: .78rem; }
	.bb-product-order__submit small { font-size: .68rem; }
	.bb-product-order__notice { font-size: .66rem; margin-top: 7px; }
	.bb-product-order > p:not(.bb-product-order__notice),
	.bb-product-order > p:empty,
	.bb-product-detail__media > p:empty,
	.bb-quantity-row p:empty { display: none; margin: 0; }
	.bb-product-order .bb-form-message:empty { display: none; }
	.bb-product-assurance { margin-top: 18px; }
	.bb-product-assurance > div { padding: 12px 16px; }
}

/* A real short desktop viewport also contains the sticky site header and, for
   owners, the WordPress toolbar. Keep the complete gallery and the important
   purchase action visible without shrinking touch targets below 40px. */
@media (min-width: 1024px) and (max-height: 820px) {
	.bb-section.bb-product-detail { padding-top: 12px; }
	.bb-product-detail .bb-storefront-breadcrumb { margin-bottom: 10px; }
	.bb-product-detail__grid { gap: clamp(20px, 2vw, 30px); }
	.bb-product-gallery { top: 100px; }
	.bb-product-detail__media img { height: clamp(300px, calc(100svh - 385px), 350px); }
	body.admin-bar .bb-product-detail__media img { height: clamp(290px, calc(100svh - 405px), 330px); }
	.bb-product-gallery__controls { bottom: 8px; }
		.bb-product-gallery__thumbs { grid-auto-columns: 58px; margin-top: 6px; padding-bottom: 3px; }
		.bb-product-gallery--multiple .bb-product-gallery__thumbs { grid-auto-columns: auto; grid-auto-rows: 58px; margin: 0; max-height: clamp(290px, calc(100svh - 405px), 330px); padding: 2px 4px 2px 2px; }
	.bb-product-detail__content h1 { font-size: clamp(1.85rem, 2.45vw, 2.35rem); margin: 4px 0 6px; }
	.bb-product-detail__kicker { gap: 7px; }
	.bb-product-detail__kicker .bb-pill { font-size: .64rem; padding: 6px 8px; }
	.bb-product-detail__kicker a { font-size: .75rem; }
	.bb-product-detail__description { font-size: .82rem; line-height: 1.35; }
	.bb-product-detail__price-row { margin-top: 7px; padding-bottom: 6px; }
	.bb-product-detail__price { font-size: 1.22rem; }
	.bb-product-facts { margin-top: 6px; }
	.bb-product-facts li { padding: 5px 6px; }
	.bb-product-fact__icon { flex-basis: 24px; height: 24px; }
	.bb-product-facts strong { font-size: .64rem; }
	.bb-product-facts small { font-size: .58rem; }
	.bb-commerce-form.bb-product-order { margin-top: 7px; padding: 10px; }
	.bb-product-order__heading { margin-bottom: 6px; }
	.bb-product-order__heading strong { font-size: .84rem; }
	.bb-product-order__heading small,
	.bb-product-order__pricing-note { font-size: .59rem; }
		.bb-product-options { margin-bottom: 6px; }
	.bb-product-options legend { margin-bottom: 4px; }
		.bb-product-option > span { min-height: 46px; padding: 6px 8px; }
		.bb-product-customizations { gap: 5px; margin-bottom: 6px; }
		.bb-product-customization > p { display: none; }
		.bb-product-customization-option > img { aspect-ratio: 3 / 1; }
		.bb-product-customization-option > span { min-height: 40px; padding: 5px 6px; }
	.bb-product-order__selection { margin-bottom: 6px; padding: 6px 9px; }
	.bb-product-quantity { grid-template-columns: 34px 42px 34px; }
	.bb-product-quantity button,
	.bb-product-quantity input { height: 40px; min-height: 40px; }
	.bb-product-quantity input { width: 42px; }
	.bb-product-order__submit { min-height: 40px; padding: 7px 11px; }
	.bb-product-order__notice { font-size: .61rem; line-height: 1.35; margin-top: 5px; }
	.bb-product-order--simple {
		display: grid;
		gap: 6px 9px;
		grid-template-columns: minmax(0, .82fr) minmax(245px, 1.18fr);
	}
	.bb-product-order--simple .bb-product-order__heading,
	.bb-product-order--simple .bb-product-order__notice,
	.bb-product-order--simple .bb-form-message { grid-column: 1 / -1; }
	.bb-product-order--simple .bb-product-order__sr-label {
		grid-column: 1 / -1;
		position: absolute;
	}
	.bb-product-order--simple .bb-product-order__pricing-note,
	.bb-product-order--simple .bb-product-order__heading small { display: none; }
	.bb-product-order--simple .bb-product-order__heading,
	.bb-product-order--simple .bb-product-order__selection,
	.bb-product-order--simple .bb-product-order__notice { margin-bottom: 0; }
	.bb-product-order--simple .bb-quantity-row { gap: 6px; }
}

@media (max-width: 767px) {
	.bb-section.bb-cart-page,
	.bb-section.bb-checkout-page { padding: 24px 0 88px; }
	.bb-catalog-discovery { border-radius: 16px; margin-bottom: 18px; padding: 12px; }
	.bb-catalog-tools { align-items: stretch; border-radius: 0; gap: 11px; grid-template-columns: 1fr; margin-bottom: 12px; padding: 0; }
	.bb-catalog-search input,
	.bb-catalog-search button,
	.bb-catalog-sort select { font-size: 16px; min-height: 44px; }
	.bb-catalog-search label,
	.bb-catalog-sort { font-size: 0.72rem; gap: 5px; }
	.bb-catalog-filters { flex-wrap: nowrap; margin: 0 -12px; overflow-x: auto; padding: 0 12px 3px; scrollbar-width: none; scroll-padding-left: 12px; }
	.bb-catalog-filters::-webkit-scrollbar { display: none; }
	.bb-catalog-filter { flex: 0 0 auto; font-size: 0.82rem; min-height: 39px; padding: 7px 12px; }
	.bb-catalog-results-heading { gap: 12px; margin: 0 1px 14px; }
	.bb-catalog-results-heading p strong { font-size: 0.92rem; }
	.bb-catalog-results-heading p span { display: block; font-size: 0.72rem; margin-top: 2px; }
	.bb-catalog-results-heading a { flex: 0 0 auto; font-size: 0.76rem; }
	.bb-catalog-card__badges { left: 7px; right: 7px; top: 7px; }
	.bb-catalog-card__badges .bb-product-marketing-badge,
	.bb-catalog-card__badges .bb-pill { font-size: 0.64rem; padding: 6px 7px; }
	.bb-catalog-card .bb-product-card__meta { font-size: 0.67rem; gap: 5px; }
	.bb-catalog-card .bb-product-card__meta span { font-size: 0.64rem; }
	.bb-catalog-card .bb-product-card__footer { align-items: center; flex-direction: row; gap: 7px; }
	.bb-catalog-card .bb-button--compact { flex: 0 0 auto; font-size: 0.68rem; min-height: 38px; padding: 7px 9px; width: auto; }
	.bb-product-detail__grid,
	.bb-checkout-grid { gap: 0; grid-template-columns: 1fr; }
		.bb-product-gallery { position: static; }
		.bb-product-gallery--multiple { display: block; }
	.bb-product-detail__media { border: 0; border-radius: 0; box-shadow: none; }
	.bb-product-detail__media img { aspect-ratio: 4 / 3; min-height: 0; object-fit: cover; }
	.bb-product-gallery__controls { bottom: 10px; }
		.bb-product-gallery__thumbs { gap: 8px; grid-auto-columns: 68px; margin: 9px 0 0; padding: 2px 16px 8px; scrollbar-width: none; }
	.bb-product-gallery__thumbs::-webkit-scrollbar { display: none; }
	.bb-product-detail__content { padding: 20px 16px 0; }
	.bb-product-detail__content h1,
	.bb-checkout-grid h1 { font-size: clamp(1.95rem, 9vw, 2.35rem); line-height: 1.06; margin: 9px 0 12px; }
	.bb-product-detail__description { font-size: 0.88rem; line-height: 1.6; }
	.bb-product-detail__price-row { margin-top: 17px; padding-bottom: 13px; }
	.bb-product-detail__price { font-size: 1.3rem; }
	.bb-product-detail__sku { font-size: 0.66rem; }
	.bb-product-facts { gap: 7px; grid-template-columns: 1fr; margin-top: 13px; }
	.bb-product-facts li { min-height: 52px; padding: 9px 10px; }
	.bb-product-facts strong { font-size: 0.76rem; }
	.bb-product-facts small { font-size: 0.7rem; }
	.bb-product-fact__icon { flex-basis: 28px; height: 28px; }
	.bb-commerce-form,
	.bb-checkout-form,
	.bb-cart-panel { border-radius: 14px; padding: 14px; }
	.bb-commerce-form.bb-product-order { margin-top: 14px; padding: 16px; scroll-margin-top: 86px; }
	.bb-product-order__heading { margin-bottom: 12px; }
	.bb-product-order__pricing-note { display: none; }
	.bb-product-options { margin-bottom: 12px; }
		.bb-product-options__grid { gap: 7px; }
		.bb-product-customization__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
		.bb-product-customization-option > span { min-height: 56px; }
		.bb-product-lightbox { grid-template-columns: 42px minmax(0, 1fr) 42px; padding: 62px 8px 28px; }
		.bb-product-lightbox__step { height: 48px; width: 38px; }
	.bb-product-option > span { min-height: 59px; padding: 10px 9px; }
	.bb-product-option strong { font-size: 0.76rem; }
	.bb-product-option small { font-size: 0.72rem; }
	.bb-product-option__check { height: 17px; right: 6px; top: 6px; width: 17px; }
	.bb-product-order__selection { margin-bottom: 11px; padding: 9px 11px; }
	.bb-quantity-row { align-items: stretch; gap: 9px; }
	.bb-product-quantity { grid-template-columns: 38px 44px 38px; }
	.bb-product-quantity button,
	.bb-product-quantity input { height: 46px; min-height: 46px; }
	.bb-product-quantity input { font-size: 16px; width: 44px; }
	.bb-quantity-row .bb-button { flex: 1 1 auto; min-width: 0; }
	.bb-product-order__submit { font-size: 0.82rem; padding-left: 12px; padding-right: 12px; }
	.bb-product-order__submit span { font-size: .78rem; }
	.bb-product-order__submit small { font-size: .68rem; }
	.bb-product-assurance { border-radius: 14px; grid-template-columns: 1fr; margin: 16px; }
	.bb-product-assurance > div { gap: 1px; padding: 11px 13px; }
	.bb-product-assurance > div + div { border-left: 0; border-top: 1px solid rgba(218, 187, 175, 0.7); }
	.bb-product-assurance strong { font-size: 0.76rem; }
	.bb-product-assurance span { font-size: 0.68rem; }
	.bb-product-mobile-action {
	  align-items: center;
	  background: rgba(255, 253, 252, 0.96);
	  border: 1px solid rgba(218, 187, 175, 0.82);
	  border-radius: 17px;
	  bottom: calc(10px + env(safe-area-inset-bottom));
	  box-shadow: 0 14px 34px rgba(75, 42, 30, 0.17);
	  display: flex;
	  gap: 12px;
	  justify-content: space-between;
	  left: 12px;
	  padding: 8px 8px 8px 14px;
	  position: fixed;
	  right: 12px;
	  transition: opacity .18s ease, transform .18s ease;
	  z-index: 38;
	}
	.bb-product-mobile-action.is-order-visible { opacity: 0; pointer-events: none; transform: translateY(14px); }
	.bb-product-mobile-action > span { display: grid; line-height: 1.15; }
	.bb-product-mobile-action small { color: var(--bb-muted, #7d6a63); font-size: 0.64rem; }
	.bb-product-mobile-action strong { color: var(--bb-cocoa, #4b2a1e); font-size: 1rem; }
	.bb-product-mobile-action .bb-button { min-height: 44px; min-width: 150px; padding: 9px 16px; }
	.bb-commerce-hero { margin-bottom: 17px; }
	.bb-commerce-hero h1 { font-size: clamp(1.9rem, 9vw, 2.35rem); margin: 8px 0; }
	.bb-commerce-hero p { font-size: .82rem; }
	.bb-checkout-summary { position: static; }
	.bb-checkout-trust { gap: 6px 12px; margin-top: 13px; }
	.bb-checkout-trust span { font-size: .68rem; }
	.bb-checkout-form { gap: 16px; margin-top: 18px; padding: 17px; }
	.bb-checkout-form__header h2 { font-size: 1.25rem; }
	.bb-checkout-step { gap: 12px; padding-top: 16px; }
	.bb-checkout-fields { gap: 9px; grid-template-columns: 1fr; }
	.bb-checkout-field--wide { grid-column: auto; }
	.bb-checkout-method__options { gap: 7px; }
	.bb-checkout-method__options label > span { gap: 1px 7px; grid-template-columns: 29px 1fr; min-height: 66px; padding: 8px; }
	.bb-checkout-method__options b { height: 29px; width: 29px; }
	.bb-checkout-method__options strong { font-size: .76rem; }
	.bb-checkout-method__options small { font-size: .58rem; }
	.bb-checkout-form input,
	.bb-checkout-form select,
	.bb-checkout-form textarea { font-size: 16px; margin-top: 5px; }
	.bb-cart-panel__head { align-items: start; }
	.bb-cart-panel__head small { display: none; }
	.bb-cart-list li { align-items: start; grid-template-columns: 66px minmax(0, 1fr); padding: 10px; }
	.bb-cart-list li.bb-cart-item--no-image { grid-template-columns: 1fr; }
	.bb-cart-item__image { height: 66px; width: 66px; }
	.bb-cart-item__summary { align-items: center; border-top: 1px solid #efddd6; flex-direction: row; grid-column: 1 / -1; justify-content: space-between; padding-top: 9px; width: 100%; }
	.bb-cart-item__summary > span { display: none; }
	.bb-cart-item__summary > strong { margin-right: auto; }
	.bb-cart-quantity { margin-left: 8px; }
	.bb-cart-item--no-image .bb-cart-item__summary { grid-column: 1; }
	.bb-cart-summary { margin-top: 11px; padding: 12px; }
	.bb-cart-actions { grid-template-columns: 1fr; }
	.bb-cart-actions .bb-button { min-height: 47px; }
}

@media (max-width: 360px) {
	.bb-product-options__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.bb-product-option:last-child:nth-child(odd) { grid-column: 1 / -1; }
	.bb-product-option:last-child:nth-child(odd) > span { align-items: center; grid-template-columns: 1fr auto; min-height: 49px; }
	.bb-quantity-row { flex-direction: column; }
	.bb-product-quantity { align-self: stretch; grid-template-columns: 1fr 54px 1fr; }
	.bb-product-order__submit { min-height: 48px; }
	.bb-product-mobile-action .bb-button { min-width: 132px; }
	.bb-checkout-method__options { grid-template-columns: 1fr; }
}
