/*
 * Sleepbetter.Baby v3.2 commerce system
 * Catalog, product detail, cart, checkout, and order confirmation.
 */

body:is(.woocommerce, .woocommerce-page, .woocommerce-cart, .woocommerce-checkout, .single-product) {
  --sbb-commerce-cocoa: #624837;
  --sbb-commerce-cocoa-deep: #493529;
  --sbb-commerce-cream: #fff8ed;
  --sbb-commerce-paper: #fffdf8;
  --sbb-commerce-sage: #e5ecdf;
  --sbb-commerce-sage-strong: #7f917a;
  --sbb-commerce-blue: #e5edf1;
  --sbb-commerce-blue-strong: #536b7b;
  --sbb-commerce-peach: #f4ddd0;
  --sbb-commerce-line: rgba(98, 72, 55, .16);
  --sbb-commerce-line-strong: rgba(98, 72, 55, .28);
  --sbb-commerce-shadow: 0 22px 55px rgba(72, 48, 34, .1);
  --sbb-commerce-shadow-soft: 0 10px 30px rgba(72, 48, 34, .07);
  --sbb-commerce-radius: 24px;
  --sbb-commerce-radius-small: 18px;
}

body:is(.woocommerce, .woocommerce-page, .woocommerce-cart, .woocommerce-checkout, .single-product)
  :where(a, button, input, select, textarea, [tabindex]):focus-visible {
  outline: 3px solid var(--sbb-commerce-blue-strong);
  outline-offset: 3px;
  box-shadow: 0 0 0 5px rgba(83, 107, 123, .14);
}

body:is(.woocommerce, .woocommerce-page, .woocommerce-cart, .woocommerce-checkout, .single-product)
  :where(.button, button.button, input.button, .wc-block-components-button) {
  min-height: 46px;
  border-radius: 999px;
  font-weight: 800;
  letter-spacing: -.01em;
}

body:is(.woocommerce, .woocommerce-page, .woocommerce-cart, .woocommerce-checkout, .single-product)
  :where(.woocommerce-error, .woocommerce-info, .woocommerce-message) {
  margin-bottom: 1.25rem;
  padding: 1rem 1.2rem 1rem 3.25rem;
  overflow: hidden;
  border: 1px solid var(--sbb-commerce-line);
  border-top: 0;
  border-radius: var(--sbb-commerce-radius-small);
  background: var(--sbb-commerce-paper);
  color: var(--sbb-ink);
  box-shadow: var(--sbb-commerce-shadow-soft);
}

body:is(.woocommerce, .woocommerce-page, .woocommerce-cart, .woocommerce-checkout, .single-product)
  :where(.woocommerce-error, .woocommerce-info, .woocommerce-message)::before {
  top: 1rem;
  left: 1.2rem;
  color: var(--sbb-commerce-sage-strong);
}

.sbb-wc-extension-slot {
  max-width: 100%;
  min-width: 0;
  color: inherit;
}

/* Product cover with HTML overlay */
.sbb-cover-v320 {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  overflow: hidden;
  aspect-ratio: 4 / 5;
  border-radius: inherit;
  background:
    radial-gradient(circle at 20% 10%, rgba(255, 255, 255, .8), transparent 28%),
    var(--sbb-commerce-cream);
}

.sbb-cover-v320 > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.sbb-cover-v320__copy {
  position: absolute;
  inset: auto 0 0;
  display: grid;
  min-height: 39%;
  padding: clamp(1rem, 2vw, 1.45rem);
  align-content: end;
  gap: .22rem;
  background: linear-gradient(0deg, rgba(47, 34, 27, .88), rgba(47, 34, 27, .58) 58%, transparent);
  color: #fffaf3;
  pointer-events: none;
}

.sbb-cover-v320__copy small {
  font-size: clamp(.58rem, .75vw, .68rem);
  font-weight: 800;
  letter-spacing: .08em;
  opacity: .82;
}

.sbb-cover-v320__copy strong {
  display: -webkit-box;
  overflow: hidden;
  font-family: var(--sbb-font-display);
  font-size: clamp(1rem, 1.6vw, 1.35rem);
  font-weight: 700;
  line-height: 1.08;
  text-wrap: balance;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.sbb-cover-v320__copy em {
  color: #f2d6bb;
  font-size: .67rem;
  font-style: normal;
  font-weight: 750;
}

/* Catalog and related products */
.woocommerce ul.products,
.woocommerce-page ul.products {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: stretch;
  gap: clamp(1rem, 2vw, 1.45rem);
}

.woocommerce ul.products li.product.sbb-product-card-v320,
.woocommerce-page ul.products li.product.sbb-product-card-v320 {
  position: relative;
  display: flex;
  width: 100%;
  min-width: 0;
  height: 100%;
  margin: 0;
  float: none;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid var(--sbb-commerce-line);
  border-radius: var(--sbb-commerce-radius);
  background: rgba(255, 253, 248, .98);
  box-shadow: var(--sbb-commerce-shadow-soft);
  isolation: isolate;
  transition:
    border-color 180ms ease,
    box-shadow 180ms ease,
    transform 180ms ease;
}

.woocommerce ul.products li.product.sbb-product-card-v320:hover,
.woocommerce-page ul.products li.product.sbb-product-card-v320:hover {
  border-color: var(--sbb-commerce-line-strong);
  box-shadow: var(--sbb-commerce-shadow);
  transform: translateY(-4px);
}

.woocommerce ul.products li.product.sbb-product-card-v320 .sbb-product-card-v320__media {
  position: relative;
  display: block;
  flex: 0 0 auto;
  overflow: hidden;
  aspect-ratio: 4 / 5;
  border-bottom: 1px solid var(--sbb-commerce-line);
  background:
    linear-gradient(145deg, var(--sbb-commerce-peach), var(--sbb-commerce-sage)),
    var(--sbb-commerce-cream);
  color: inherit;
  text-decoration: none;
}

.woocommerce ul.products li.product.sbb-product-card-v320 .sbb-product-card-v320__media > img,
.woocommerce-page ul.products li.product.sbb-product-card-v320 .sbb-product-card-v320__media > img,
.woocommerce ul.products li.product.sbb-product-card-v320 .sbb-product-card-v320__media > .sbb-cover-v320 {
  width: 100%;
  height: 100%;
  margin: 0;
  aspect-ratio: 4 / 5;
  border-radius: 0;
  object-fit: cover;
}

.woocommerce ul.products li.product.sbb-product-card-v320 .sbb-product-card-v320__badge {
  position: absolute;
  z-index: 3;
  top: .8rem;
  right: .8rem;
  display: inline-flex;
  max-width: calc(100% - 1.6rem);
  min-height: 30px;
  padding: .42rem .68rem;
  align-items: center;
  border: 1px solid rgba(255, 255, 255, .56);
  border-radius: 999px;
  background: rgba(73, 53, 41, .88);
  color: #fffaf3;
  font-size: .66rem;
  font-weight: 850;
  line-height: 1.15;
  text-align: center;
  box-shadow: 0 8px 18px rgba(49, 33, 24, .16);
  backdrop-filter: blur(8px);
}

.woocommerce ul.products li.product.sbb-product-card-v320 .sbb-product-card-v320__body {
  display: flex;
  min-width: 0;
  height: 100%;
  padding: 1.1rem;
  flex: 1 1 auto;
  flex-direction: column;
}

.sbb-product-card-v320__kicker {
  display: flex;
  min-height: 1.65rem;
  flex-wrap: wrap;
  gap: .35rem;
  margin-bottom: .65rem;
}

.sbb-product-card-v320__kicker span {
  display: inline-flex;
  min-height: 25px;
  padding: .3rem .5rem;
  align-items: center;
  border-radius: 999px;
  background: var(--sbb-commerce-sage);
  color: var(--sbb-commerce-cocoa);
  font-size: .62rem;
  font-weight: 800;
  line-height: 1.15;
}

.sbb-product-card-v320__kicker span + span {
  background: var(--sbb-commerce-blue);
  color: var(--sbb-commerce-blue-strong);
}

.woocommerce ul.products li.product.sbb-product-card-v320
  .woocommerce-loop-product__title.sbb-product-card-v320__title {
  margin: 0;
  padding: 0;
  color: var(--sbb-ink);
  font-family: var(--sbb-font-display);
  font-size: clamp(1.15rem, 1.55vw, 1.42rem);
  font-weight: 700;
  line-height: 1.16;
  letter-spacing: -.025em;
}

.sbb-product-card-v320__title a {
  color: inherit;
  text-decoration: none;
}

.sbb-product-card-v320__excerpt {
  display: -webkit-box;
  min-height: calc(1.52em * 3);
  margin: .62rem 0 .85rem;
  overflow: hidden;
  color: var(--sbb-muted);
  font-size: .79rem;
  line-height: 1.52;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.sbb-product-card-v320__facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .42rem;
  margin: 0 0 .8rem;
}

.sbb-product-card-v320__facts > div {
  min-width: 0;
  padding: .52rem .58rem;
  border: 1px solid rgba(98, 72, 55, .1);
  border-radius: 12px;
  background: rgba(255, 248, 237, .78);
}

.sbb-product-card-v320__facts dt,
.sbb-product-card-v320__facts dd {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.sbb-product-card-v320__facts dt {
  color: var(--sbb-muted);
  font-size: .58rem;
  font-weight: 750;
}

.sbb-product-card-v320__facts dd {
  margin: .1rem 0 0;
  color: var(--sbb-ink);
  font-size: .69rem;
  font-weight: 800;
}

.sbb-product-card-v320__rating {
  display: flex;
  min-height: 1.25rem;
  align-items: center;
  gap: .45rem;
  margin-bottom: .7rem;
  color: var(--sbb-muted);
  font-size: .68rem;
}

.woocommerce ul.products li.product.sbb-product-card-v320 .sbb-product-card-v320__rating .star-rating {
  margin: 0;
  color: #a97745;
}

.sbb-product-card-v320__purchase {
  display: grid;
  gap: .75rem;
  margin-top: auto;
  padding-top: .85rem;
  border-top: 1px solid var(--sbb-commerce-line);
}

.sbb-product-card-v320__price {
  display: grid;
  gap: .08rem;
}

.sbb-product-card-v320__price small {
  color: var(--sbb-muted);
  font-size: .62rem;
  font-weight: 700;
}

.sbb-product-card-v320__price strong {
  color: var(--sbb-commerce-cocoa-deep);
  font-size: 1.08rem;
  font-weight: 850;
  line-height: 1.25;
}

.sbb-product-card-v320__price :where(del, ins) {
  display: inline;
}

.sbb-product-card-v320__price del {
  margin-right: .3rem;
  color: var(--sbb-muted);
  font-size: .78em;
  opacity: .7;
}

.sbb-product-card-v320__price ins {
  text-decoration: none;
}

.sbb-product-card-v320__actions {
  display: grid;
  grid-template-columns: minmax(0, .84fr) minmax(0, 1.16fr);
  gap: .5rem;
}

.woocommerce ul.products li.product.sbb-product-card-v320
  :where(.sbb-product-card-v320__details, .sbb-product-card-v320__cart, .sbb-product-card-v320__options) {
  display: inline-flex;
  width: 100%;
  min-width: 0;
  min-height: 44px;
  margin: 0;
  padding: .65rem .55rem;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--sbb-commerce-cocoa);
  border-radius: 999px;
  font-size: .7rem;
  font-weight: 850;
  line-height: 1.15;
  text-align: center;
  text-decoration: none;
  white-space: normal;
}

.woocommerce ul.products li.product.sbb-product-card-v320 .sbb-product-card-v320__details {
  background: transparent;
  color: var(--sbb-commerce-cocoa);
}

.woocommerce ul.products li.product.sbb-product-card-v320
  :where(.sbb-product-card-v320__cart, .sbb-product-card-v320__options) {
  background: var(--sbb-commerce-cocoa);
  color: #fff;
}

.woocommerce ul.products li.product.sbb-product-card-v320
  :where(.sbb-product-card-v320__cart, .sbb-product-card-v320__options):hover {
  border-color: var(--sbb-commerce-cocoa-deep);
  background: var(--sbb-commerce-cocoa-deep);
  color: #fff;
}

.woocommerce ul.products li.product.sbb-product-card-v320 .sbb-product-card-v320__details:hover {
  background: var(--sbb-commerce-cream);
}

.woocommerce ul.products li.product.sbb-product-card-v320 a.added_to_cart {
  grid-column: 1 / -1;
  width: 100%;
  min-height: 44px;
  margin: .25rem 0 0;
  padding: .65rem .8rem;
  justify-content: center;
  border: 1px solid var(--sbb-commerce-line);
  border-radius: 999px;
  background: var(--sbb-commerce-sage);
  color: var(--sbb-commerce-cocoa-deep);
  font-size: .7rem;
  font-weight: 850;
  text-align: center;
  text-decoration: none;
}

/* Honest non-purchasable guide previews */
.sbb-catalog-previews-v320 {
  margin-top: clamp(2.5rem, 6vw, 5rem);
  padding: clamp(1.25rem, 3.5vw, 2.4rem);
  border: 1px solid var(--sbb-commerce-line);
  border-radius: 30px;
  background:
    radial-gradient(circle at 94% 4%, rgba(255, 255, 255, .85), transparent 18rem),
    linear-gradient(145deg, var(--sbb-commerce-cream), rgba(229, 237, 241, .64));
}

.sbb-catalog-previews-v320__head {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(260px, .72fr);
  align-items: end;
  gap: 1.5rem;
  margin-bottom: 1.4rem;
}

.sbb-catalog-previews-v320__head h2 {
  max-width: 780px;
  margin: .25rem 0 0;
  color: var(--sbb-commerce-cocoa-deep);
  font-size: clamp(1.9rem, 3.6vw, 3.35rem);
  line-height: 1.08;
}

.sbb-catalog-previews-v320__head > p {
  margin: 0;
  color: var(--sbb-muted);
  font-size: .84rem;
}

.sbb-catalog-previews-v320__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(.85rem, 2vw, 1.25rem);
}

.sbb-catalog-previews-v330__legend {
  display: flex;
  min-height: 46px;
  margin: 0 0 1.25rem;
  padding: .7rem .85rem;
  align-items: center;
  justify-content: space-between;
  gap: .8rem 1.2rem;
  border-block: 1px solid rgba(98, 72, 55, .12);
  color: var(--sbb-muted);
  font-size: .68rem;
}

.sbb-catalog-previews-v330__legend span {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  font-weight: 800;
}

.sbb-catalog-previews-v330__legend i {
  width: 10px;
  height: 10px;
  border: 2px solid var(--sbb-commerce-cocoa);
  border-radius: 50%;
  background: transparent;
}

.sbb-catalog-previews-v330__legend strong {
  color: var(--sbb-commerce-cocoa);
  font-size: inherit;
  text-align: right;
}

.sbb-preview-card-v320 {
  display: flex;
  min-width: 0;
  overflow: hidden;
  border: 1px dashed rgba(98, 72, 55, .26);
  border-radius: 22px;
  background: rgba(255, 253, 248, .9);
  box-shadow: var(--sbb-commerce-shadow-soft);
  flex-direction: column;
}

.sbb-preview-card-v320__media {
  position: relative;
  overflow: hidden;
  aspect-ratio: 4 / 5;
  border-bottom: 1px solid var(--sbb-commerce-line);
  background: var(--sbb-commerce-blue);
}

.sbb-preview-card-v320__media > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.sbb-preview-card-v320__media::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(0deg, rgba(47, 34, 27, .82), transparent 58%);
  content: "";
  pointer-events: none;
}

.sbb-preview-card-v320__status {
  position: absolute;
  z-index: 2;
  top: .75rem;
  right: .75rem;
  max-width: calc(100% - 1.5rem);
  padding: .38rem .58rem;
  border: 1px solid rgba(255, 255, 255, .5);
  border-radius: 999px;
  background: rgba(73, 53, 41, .86);
  color: #fff;
  font-size: .62rem;
  font-weight: 850;
  line-height: 1.15;
  text-align: center;
  backdrop-filter: blur(8px);
}

.sbb-preview-card-v330__folio {
  position: absolute;
  z-index: 2;
  top: .85rem;
  left: .85rem;
  display: inline-flex;
  min-width: 46px;
  min-height: 30px;
  padding: .35rem .5rem;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255, 255, 255, .48);
  border-radius: 999px;
  background: rgba(255, 253, 248, .86);
  color: var(--sbb-commerce-cocoa-deep);
  font-size: .58rem;
  font-weight: 900;
  letter-spacing: .04em;
  backdrop-filter: blur(8px);
}

.sbb-preview-card-v320__cover-copy {
  position: absolute;
  z-index: 2;
  right: .9rem;
  bottom: .9rem;
  left: .9rem;
  display: grid;
  gap: .18rem;
  color: #fffaf3;
}

.sbb-preview-card-v320__cover-copy small {
  font-size: .57rem;
  font-weight: 800;
  letter-spacing: .07em;
}

.sbb-preview-card-v320__cover-copy strong {
  font-family: var(--sbb-font-display);
  font-size: clamp(1rem, 1.45vw, 1.25rem);
  line-height: 1.08;
}

.sbb-preview-card-v320__content {
  display: flex;
  height: 100%;
  padding: 1rem;
  flex-direction: column;
}

.sbb-preview-card-v320__content > p {
  margin: 0 0 .35rem;
  color: var(--sbb-commerce-blue-strong);
  font-size: .62rem;
  font-weight: 850;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.sbb-preview-card-v320__content h3 {
  margin: 0 0 .7rem;
  color: var(--sbb-commerce-cocoa-deep);
  font-size: 1.1rem;
  line-height: 1.16;
}

.sbb-preview-card-v320__content dl {
  display: grid;
  gap: .38rem;
  margin: 0 0 .85rem;
}

.sbb-preview-card-v320__content dl > div {
  display: grid;
  grid-template-columns: 56px minmax(0, 1fr);
  gap: .45rem;
  padding-bottom: .38rem;
  border-bottom: 1px solid rgba(98, 72, 55, .09);
}

.sbb-preview-card-v320__content :where(dt, dd) {
  margin: 0;
  font-size: .66rem;
}

.sbb-preview-card-v320__content dt {
  color: var(--sbb-muted);
  font-weight: 750;
}

.sbb-preview-card-v320__content dd {
  overflow-wrap: anywhere;
  color: var(--sbb-ink);
  font-weight: 800;
}

.sbb-preview-card-v320__notice {
  display: block;
  margin-top: auto;
  padding: .62rem .68rem;
  border-radius: 12px;
  background: var(--sbb-commerce-sage);
  color: var(--sbb-commerce-cocoa);
  font-size: .65rem;
  font-weight: 800;
  line-height: 1.35;
  text-align: center;
}

/* Product detail */
.single-product .sbb-pdp-ebook-layout {
  overflow: clip;
  background:
    radial-gradient(circle at 5% 25%, rgba(244, 221, 208, .3), transparent 25rem),
    var(--sbb-canvas);
}

.single-product main.sbb-shop-page {
  padding-top: calc(var(--sbb-header-height) + clamp(1.5rem, 4vw, 3rem));
  padding-bottom: clamp(3rem, 6vw, 5rem);
}

.single-product .sbb-product-page--digital {
  position: relative;
}

.single-product .sbb-product-page--digital > .woocommerce-notices-wrapper:not(:empty) {
  width: min(calc(100% - (var(--sbb-gutter) * 2)), var(--sbb-container));
  margin-inline: auto;
  padding-top: calc(var(--sbb-header-height) + 1rem);
}

.single-product .sbb-product-page--digital > .woocommerce-notices-wrapper:not(:empty) + .sbb-pdp-ebook-layout .sbb-pdp-ebook-hero {
  padding-top: clamp(2rem, 4vw, 4rem);
}

.sbb-protected-product-v320 {
  width: min(calc(100% - (var(--sbb-gutter) * 2)), var(--sbb-container));
  margin-inline: auto;
  padding-top: calc(var(--sbb-header-height) + 1.5rem);
}

.single-product .sbb-product-page--digital > .woocommerce-notices-wrapper:not(:empty) + .sbb-protected-product-v320 {
  padding-top: 1rem;
}

.sbb-protected-product-v320 {
  min-height: 60vh;
  padding-bottom: 4rem;
}

.single-product .sbb-pdp-ebook-hero {
  padding: calc(var(--sbb-header-height) + clamp(2.75rem, 6vw, 5.5rem)) var(--sbb-gutter) clamp(3.5rem, 7vw, 6rem);
  background:
    radial-gradient(circle at 88% 8%, rgba(255, 255, 255, .82), transparent 24rem),
    linear-gradient(132deg, var(--sbb-commerce-peach), var(--sbb-commerce-cream) 48%, var(--sbb-commerce-blue));
}

.single-product .sbb-pdp-ebook-hero__inner,
.single-product .sbb-pdp-ebook-purchase__inner,
.single-product :where(.sbb-pdp-ebook-benefits, .sbb-pdp-book-intro-v330, .sbb-pdp-preview-v320, .sbb-pdp-audience-v320, .sbb-pdp-ebook-detail, .sbb-pdp-policy-v320, .sbb-pdp-editorial-index-v330__inner),
.sbb-pdp-related-v320 {
  width: min(calc(100% - (var(--sbb-gutter) * 2)), var(--sbb-container));
  margin-inline: auto;
}

.single-product .sbb-pdp-ebook-hero__inner {
  grid-template-columns: minmax(300px, .82fr) minmax(0, 1.18fr);
  gap: clamp(2.5rem, 7vw, 6rem);
}

.single-product .sbb-pdp-ebook-hero__cover {
  width: min(100%, 420px);
  overflow: hidden;
  aspect-ratio: 4 / 5;
  border: 7px solid rgba(255, 253, 248, .82);
  border-radius: 30px;
  background: var(--sbb-commerce-cream);
  box-shadow: 0 34px 70px rgba(69, 48, 34, .2);
  transform: rotate(-.8deg);
}

.single-product .sbb-pdp-ebook-hero__cover > :where(img, .sbb-cover-v320) {
  width: 100%;
  height: 100%;
  margin: 0;
  aspect-ratio: 4 / 5;
  border-radius: 23px;
  object-fit: cover;
}

.single-product .sbb-pdp-ebook-hero__cover .sbb-cover-v320__copy {
  min-height: 37%;
  padding: clamp(1.2rem, 3vw, 2rem);
}

.single-product .sbb-pdp-ebook-hero__cover .sbb-cover-v320__copy strong {
  font-size: clamp(1.45rem, 2.4vw, 2.1rem);
}

.single-product .sbb-pdp-ebook-hero__badges span {
  min-height: 32px;
  padding: .45rem .72rem;
  border-color: var(--sbb-commerce-line);
  background: rgba(255, 253, 248, .78);
  color: var(--sbb-commerce-cocoa);
  text-transform: none;
}

.single-product .sbb-pdp-ebook-hero__copy h1 {
  max-width: 760px;
  color: var(--sbb-commerce-cocoa-deep);
  font-size: clamp(2.75rem, 5.4vw, 5.4rem);
  font-weight: 700;
  line-height: 1.02;
  letter-spacing: -.055em;
  text-wrap: balance;
}

.single-product .sbb-pdp-ebook-hero__copy > p {
  max-width: 680px;
  color: var(--sbb-ink-soft);
  line-height: 1.7;
}

.single-product .sbb-pdp-ebook-hero__meta {
  max-width: 680px;
  color: var(--sbb-commerce-cocoa);
}

.sbb-pdp-hero-assurances-v320 {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  margin: 1.15rem 0 0;
  padding: 0;
  list-style: none;
}

.sbb-pdp-hero-assurances-v320 li {
  display: inline-flex;
  min-height: 32px;
  padding: .42rem .72rem;
  align-items: center;
  border: 1px solid rgba(83, 107, 123, .16);
  border-radius: 999px;
  background: rgba(229, 237, 241, .72);
  color: var(--sbb-commerce-blue-strong);
  font-size: .7rem;
  font-weight: 800;
}

.single-product .sbb-pdp-editorial-index-v330 {
  border-block: 1px solid var(--sbb-commerce-line);
  background: rgba(255, 253, 248, .94);
  box-shadow: 0 10px 28px rgba(72, 48, 34, .05);
}

.single-product .sbb-pdp-editorial-index-v330__inner {
  display: grid;
  min-height: 74px;
  grid-template-columns: minmax(160px, 1fr) repeat(4, max-content);
  align-items: stretch;
  gap: 0;
}

.single-product .sbb-pdp-editorial-index-v330__inner > span {
  display: inline-flex;
  padding-right: 1rem;
  align-items: center;
  color: var(--sbb-commerce-cocoa);
  font-family: var(--sbb-font-display);
  font-size: 1rem;
  font-weight: 750;
}

.single-product .sbb-pdp-editorial-index-v330 a {
  display: inline-flex;
  min-width: 0;
  padding: .75rem 1rem;
  align-items: center;
  gap: .45rem;
  border-left: 1px solid rgba(98, 72, 55, .1);
  color: var(--sbb-ink-soft);
  font-size: .7rem;
  font-weight: 800;
  line-height: 1.25;
  text-decoration: none;
}

.single-product .sbb-pdp-editorial-index-v330 a:hover {
  background: var(--sbb-commerce-cream);
  color: var(--sbb-commerce-cocoa-deep);
}

.single-product .sbb-pdp-editorial-index-v330 a small {
  color: var(--sbb-commerce-sage-strong);
  font-size: .58rem;
  font-weight: 900;
  letter-spacing: .04em;
}

.single-product .sbb-pdp-ebook-purchase {
  padding: clamp(3.5rem, 7vw, 6rem) var(--sbb-gutter);
}

.single-product .sbb-pdp-ebook-purchase__inner {
  grid-template-columns: minmax(0, 1fr) minmax(360px, .7fr);
  gap: clamp(2rem, 5vw, 4.5rem);
}

.single-product .sbb-pdp-ebook-story-card,
.single-product .sbb-pdp-ebook-buy-card {
  border-color: var(--sbb-commerce-line);
  border-radius: 28px;
}

.single-product .sbb-pdp-ebook-story-card {
  background:
    linear-gradient(145deg, rgba(255, 255, 255, .88), rgba(255, 248, 237, .76)),
    var(--sbb-commerce-paper);
  box-shadow: var(--sbb-commerce-shadow-soft);
}

.single-product .sbb-pdp-ebook-story-card h2 {
  color: var(--sbb-commerce-cocoa-deep);
  font-size: clamp(2rem, 3.8vw, 3.4rem);
  line-height: 1.1;
}

.single-product .sbb-pdp-facts {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.single-product .sbb-pdp-facts div {
  min-height: 86px;
  border-color: var(--sbb-commerce-line);
  border-radius: 16px;
  background: rgba(255, 253, 248, .82);
}

.single-product .sbb-pdp-ebook-mini-points span {
  border: 1px solid rgba(127, 145, 122, .18);
  background: var(--sbb-commerce-sage);
  box-shadow: none;
}

.single-product .sbb-pdp-ebook-buy-card {
  top: calc(var(--sbb-header-height) + 18px);
  background: rgba(255, 253, 248, .98);
  box-shadow: var(--sbb-commerce-shadow);
}

.single-product .sbb-pdp-ebook-buy-card__top > span {
  color: var(--sbb-commerce-cocoa);
  text-transform: none;
}

.single-product .sbb-pdp-share {
  min-width: 84px;
  min-height: 44px;
  border-color: var(--sbb-commerce-line);
  background: var(--sbb-commerce-cream);
}

.single-product .sbb-pdp-ebook-price {
  color: var(--sbb-commerce-cocoa-deep);
}

.single-product .sbb-pdp-ebook-format {
  border-color: var(--sbb-commerce-line);
  border-radius: 15px;
  background: var(--sbb-commerce-cream);
}

.single-product .sbb-pdp-purchase-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .65rem;
}

.single-product .sbb-pdp-ebook-actions .sbb-pdp-purchase-form :where(button.button, .button),
.single-product .sbb-pdp-ebook-actions > .sbb-pdp-preview {
  min-height: 50px;
  margin: 0;
  border-radius: 999px;
}

.single-product .sbb-pdp-ebook-actions .single_add_to_cart_button {
  border-color: var(--sbb-commerce-cocoa);
  background: transparent;
  color: var(--sbb-commerce-cocoa);
}

.single-product .sbb-pdp-ebook-actions .sbb-pdp-direct-buy {
  border-color: var(--sbb-commerce-cocoa);
  background: var(--sbb-commerce-cocoa);
  color: #fff;
}

.single-product .sbb-pdp-ebook-actions > .sbb-pdp-preview {
  grid-column: 1 / -1;
  border-color: var(--sbb-commerce-blue-strong);
  background: var(--sbb-commerce-blue);
  color: var(--sbb-commerce-blue-strong);
}

.single-product .sbb-pdp-ebook-actions .single_add_to_cart_button:hover,
.single-product .sbb-pdp-ebook-actions .sbb-pdp-direct-buy:hover {
  border-color: var(--sbb-commerce-cocoa-deep);
  background: var(--sbb-commerce-cocoa-deep);
  color: #fff;
}

.single-product .sbb-pdp-ebook-includes {
  border-color: var(--sbb-commerce-line);
}

.single-product .sbb-pdp-ebook-includes div {
  grid-template-columns: 96px minmax(0, 1fr);
}

.single-product .sbb-pdp-ebook-benefits {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .9rem;
  padding: clamp(2.5rem, 5vw, 4.5rem) 0;
  border-color: var(--sbb-commerce-line);
}

.single-product .sbb-pdp-ebook-benefits > div {
  padding: 1.25rem 1rem;
  border: 1px solid var(--sbb-commerce-line);
  border-radius: 20px;
  background: var(--sbb-commerce-paper);
}

.single-product .sbb-pdp-ebook-benefits > div > span {
  width: 54px;
  height: 54px;
}

.single-product .sbb-pdp-book-intro-v330 {
  padding-block: clamp(2rem, 5vw, 4.5rem) clamp(3.5rem, 7vw, 6rem);
}

.sbb-pdp-book-intro-v330__stage {
  display: grid;
  grid-template-columns: minmax(220px, .56fr) minmax(0, 1.44fr);
  gap: clamp(1.5rem, 4vw, 3.5rem);
  padding: clamp(1.4rem, 4vw, 3.25rem);
  overflow: hidden;
  border: 1px solid rgba(73, 53, 41, .28);
  border-radius: 34px;
  background:
    radial-gradient(circle at 88% 4%, rgba(255, 255, 255, .12), transparent 22rem),
    linear-gradient(145deg, #493529, #6b4e3b);
  box-shadow: 0 32px 72px rgba(56, 37, 27, .16);
}

.sbb-pdp-book-intro-v330__cover {
  width: min(100%, 290px);
  margin: 0 auto;
  align-self: center;
  color: #fffaf3;
  transform: rotate(-1.5deg);
}

.sbb-pdp-book-intro-v330__cover > div {
  position: relative;
  overflow: hidden;
  aspect-ratio: 4 / 5;
  border: 5px solid rgba(255, 253, 248, .82);
  border-radius: 22px 13px 13px 22px;
  background: var(--sbb-commerce-cream);
  box-shadow:
    -9px 12px 0 rgba(39, 26, 20, .2),
    0 24px 48px rgba(31, 20, 15, .28);
}

.sbb-pdp-book-intro-v330__cover > div::after {
  position: absolute;
  inset: 0 auto 0 0;
  width: 12px;
  background: linear-gradient(90deg, rgba(47, 32, 24, .24), transparent);
  content: "";
  pointer-events: none;
}

.sbb-pdp-book-intro-v330__cover > div > :where(img, .sbb-cover-v320, .sbb-product-default-image) {
  width: 100%;
  height: 100%;
  margin: 0;
  aspect-ratio: 4 / 5;
  border-radius: 16px 8px 8px 16px;
  object-fit: cover;
}

.sbb-pdp-book-intro-v330__cover .sbb-cover-v320__copy {
  min-height: 42%;
  padding: 1.25rem;
}

.sbb-pdp-book-intro-v330__cover figcaption {
  display: grid;
  gap: .18rem;
  padding: 1rem .35rem 0;
}

.sbb-pdp-book-intro-v330__cover figcaption span {
  color: #e8cdb5;
  font-size: .6rem;
  font-weight: 850;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.sbb-pdp-book-intro-v330__cover figcaption strong {
  overflow: hidden;
  color: #fffaf3;
  font-family: var(--sbb-font-display);
  font-size: 1rem;
  line-height: 1.22;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.sbb-pdp-book-intro-v330__jacket {
  align-self: center;
  color: rgba(255, 250, 243, .8);
}

.sbb-pdp-book-intro-v330__jacket .sbb-section-label {
  color: #e8cdb5;
}

.sbb-pdp-book-intro-v330__jacket h2 {
  max-width: 780px;
  margin: .35rem 0 1rem;
  color: #fffaf3;
  font-size: clamp(2.2rem, 4.5vw, 4.3rem);
  line-height: 1.02;
  letter-spacing: -.045em;
  text-wrap: balance;
}

.sbb-pdp-book-intro-v330__jacket > p:not(.sbb-section-label) {
  max-width: 720px;
  margin: 0;
  color: rgba(255, 250, 243, .76);
  font-size: .9rem;
  line-height: 1.75;
}

.sbb-pdp-book-intro-v330__jacket blockquote {
  max-width: 760px;
  margin: 1.35rem 0;
  padding: 1.1rem 1.2rem;
  border: 1px solid rgba(255, 255, 255, .14);
  border-left: 3px solid #e8cdb5;
  border-radius: 0 16px 16px 0;
  background: rgba(255, 255, 255, .07);
}

.sbb-pdp-book-intro-v330__jacket blockquote p {
  margin: 0;
  color: #fffaf3;
  font-family: var(--sbb-font-display);
  font-size: clamp(1.05rem, 1.8vw, 1.3rem);
  line-height: 1.5;
}

.sbb-pdp-book-intro-v330__jacket blockquote cite {
  display: block;
  margin-top: .65rem;
  color: #e8cdb5;
  font-size: .62rem;
  font-style: normal;
  font-weight: 800;
}

.sbb-pdp-book-intro-v330__jacket dl {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .65rem;
  margin: 0;
}

.sbb-pdp-book-intro-v330__jacket dl > div {
  min-width: 0;
  padding: .75rem;
  border-top: 1px solid rgba(255, 255, 255, .18);
}

.sbb-pdp-book-intro-v330__jacket :where(dt, dd) {
  margin: 0;
}

.sbb-pdp-book-intro-v330__jacket dt {
  color: #e8cdb5;
  font-size: .58rem;
  font-weight: 850;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.sbb-pdp-book-intro-v330__jacket dd {
  margin-top: .25rem;
  overflow-wrap: anywhere;
  color: #fffaf3;
  font-size: .72rem;
  font-weight: 800;
}

.sbb-pdp-book-intro-v330__pages {
  position: relative;
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 2px;
  padding: .7rem;
  border-radius: 26px;
  background: rgba(35, 23, 17, .22);
  box-shadow: 0 22px 46px rgba(31, 20, 15, .22);
}

.sbb-pdp-book-intro-v330__pages::after {
  position: absolute;
  z-index: 2;
  top: .7rem;
  bottom: .7rem;
  left: 50%;
  width: 16px;
  background: linear-gradient(90deg, transparent, rgba(73, 53, 41, .14), transparent);
  content: "";
  pointer-events: none;
  transform: translateX(-50%);
}

.sbb-pdp-book-page-v330 {
  position: relative;
  display: flex;
  min-width: 0;
  min-height: 410px;
  padding: clamp(1.35rem, 3vw, 2.6rem);
  overflow: hidden;
  border: 1px solid rgba(98, 72, 55, .14);
  border-radius: 20px 4px 4px 20px;
  background:
    linear-gradient(rgba(98, 72, 55, .035) 1px, transparent 1px) 0 2.6rem / 100% 2rem,
    var(--sbb-commerce-paper);
  flex-direction: column;
  color: var(--sbb-ink-soft);
}

.sbb-pdp-book-page-v330--note {
  border-radius: 4px 20px 20px 4px;
  background:
    radial-gradient(circle at 92% 8%, rgba(244, 221, 208, .72), transparent 10rem),
    linear-gradient(rgba(98, 72, 55, .035) 1px, transparent 1px) 0 2.6rem / 100% 2rem,
    #fff9ef;
}

.sbb-pdp-book-page-v330 > span {
  color: var(--sbb-commerce-sage-strong);
  font-size: .6rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.sbb-pdp-book-page-v330 h3 {
  max-width: 520px;
  margin: .9rem 0;
  color: var(--sbb-commerce-cocoa-deep);
  font-family: var(--sbb-font-display);
  font-size: clamp(1.7rem, 3vw, 2.65rem);
  line-height: 1.08;
  letter-spacing: -.025em;
}

.sbb-pdp-book-page-v330 > p {
  max-width: 560px;
  margin: 0;
  font-size: .82rem;
  line-height: 1.7;
}

.sbb-pdp-book-page-v330 ul {
  display: grid;
  gap: .45rem;
  margin: 1.25rem 0;
  padding: 0;
  list-style: none;
}

.sbb-pdp-book-page-v330 li {
  position: relative;
  padding-left: 1.2rem;
  color: var(--sbb-commerce-cocoa);
  font-size: .72rem;
  font-weight: 750;
}

.sbb-pdp-book-page-v330 li::before {
  position: absolute;
  top: .45em;
  left: 0;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--sbb-commerce-sage-strong);
  content: "";
}

.sbb-pdp-book-page-v330--note > div {
  margin-top: 1.25rem;
  padding: 1rem;
  border: 1px solid rgba(98, 72, 55, .14);
  border-radius: 14px;
  background: rgba(255, 253, 248, .78);
}

.sbb-pdp-book-page-v330--note > div strong {
  color: var(--sbb-commerce-cocoa-deep);
  font-size: .72rem;
}

.sbb-pdp-book-page-v330--note > div p {
  margin: .35rem 0 0;
  color: var(--sbb-muted);
  font-size: .72rem;
  line-height: 1.55;
}

.sbb-pdp-book-page-v330 > small {
  margin-top: auto;
  padding-top: 1.25rem;
  color: var(--sbb-muted);
  font-size: .58rem;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.sbb-pdp-book-intro-v330__truth {
  max-width: 850px;
  margin: 1rem auto 0;
  color: var(--sbb-muted);
  font-size: .67rem;
  line-height: 1.55;
  text-align: center;
}

.single-product .sbb-pdp-preview-v320 {
  display: grid;
  grid-template-columns: minmax(300px, .86fr) minmax(0, 1.14fr);
  align-items: center;
  gap: clamp(2rem, 6vw, 5rem);
  padding-block: clamp(3.5rem, 7vw, 6rem);
}

.sbb-pdp-preview-v320__media {
  margin: 0;
  overflow: hidden;
  aspect-ratio: 4 / 3;
  border: 6px solid rgba(255, 253, 248, .92);
  border-radius: 28px;
  background: var(--sbb-commerce-blue);
  box-shadow: var(--sbb-commerce-shadow);
}

#sbb-pdp-buy-card {
  scroll-margin-top: calc(var(--sbb-header-height) + 1.25rem);
}

#sbb-pdp-inside-v330,
#sbb-product-story,
#sbb-pdp-policy-title {
  scroll-margin-top: calc(var(--sbb-header-height) + 1.25rem);
}

.sbb-pdp-preview-v320__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.sbb-pdp-preview-v320__copy h2,
.sbb-pdp-audience-v320 > header h2,
.sbb-pdp-policy-v320 > header h2,
.sbb-pdp-related-v320 > header h2 {
  color: var(--sbb-commerce-cocoa-deep);
  font-size: clamp(2rem, 3.9vw, 3.7rem);
  line-height: 1.08;
  text-wrap: balance;
}

.sbb-pdp-preview-v320__copy > p:not(.sbb-section-label),
.sbb-pdp-audience-v320 > header > p:last-child,
.sbb-pdp-related-v320 > header > p:last-child {
  color: var(--sbb-muted);
}

.sbb-pdp-preview-v320__list {
  display: grid;
  gap: .55rem;
  margin: 1.35rem 0;
  padding: 0;
  list-style: none;
}

.sbb-pdp-preview-v320__list li {
  display: grid;
  grid-template-columns: minmax(128px, .38fr) minmax(0, 1fr);
  gap: .75rem;
  padding: .8rem .9rem;
  border: 1px solid var(--sbb-commerce-line);
  border-radius: 14px;
  background: var(--sbb-commerce-paper);
}

.sbb-pdp-preview-v320__list strong {
  color: var(--sbb-commerce-cocoa);
  font-size: .8rem;
}

.sbb-pdp-preview-v320__list span {
  color: var(--sbb-muted);
  font-size: .78rem;
}

.sbb-pdp-preview-v320__button {
  display: inline-flex;
  min-height: 48px;
  padding: .75rem 1.15rem;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: var(--sbb-commerce-blue-strong);
  color: #fff;
  font-size: .8rem;
  font-weight: 850;
  text-decoration: none;
}

.single-product .sbb-pdp-audience-v320 {
  padding-block: clamp(3.5rem, 7vw, 6rem);
  border-block: 1px solid var(--sbb-commerce-line);
}

.sbb-pdp-audience-v320 > header,
.sbb-pdp-policy-v320 > header,
.sbb-pdp-related-v320 > header {
  max-width: 820px;
  margin: 0 auto clamp(2rem, 4vw, 3rem);
  text-align: center;
}

.sbb-pdp-audience-v320__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .85rem;
}

.sbb-pdp-audience-v320__grid article {
  min-width: 0;
  min-height: 215px;
  padding: 1.25rem;
  border: 1px solid var(--sbb-commerce-line);
  border-radius: 20px;
  background:
    linear-gradient(145deg, rgba(255, 253, 248, .96), rgba(229, 237, 241, .5)),
    var(--sbb-commerce-paper);
}

.sbb-pdp-audience-v320__grid article > span {
  display: grid;
  width: 38px;
  height: 38px;
  margin-bottom: .9rem;
  place-items: center;
  border-radius: 50%;
  background: var(--sbb-commerce-blue);
  color: var(--sbb-commerce-blue-strong);
  font-size: .7rem;
  font-weight: 850;
}

.sbb-pdp-audience-v320__grid strong {
  display: block;
  color: var(--sbb-commerce-cocoa-deep);
}

.sbb-pdp-audience-v320__grid p {
  margin: .45rem 0 0;
  color: var(--sbb-muted);
  font-size: .8rem;
  line-height: 1.55;
}

.single-product .sbb-pdp-ebook-detail {
  padding-block: clamp(3.5rem, 7vw, 6rem);
}

.single-product .sbb-pdp-ebook-detail__head {
  margin-bottom: clamp(1.8rem, 4vw, 3rem);
}

.single-product .sbb-pdp-curriculum {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.single-product .sbb-pdp-curriculum article {
  min-height: 210px;
  border-color: var(--sbb-commerce-line);
  border-radius: 20px;
  background: var(--sbb-commerce-paper);
  box-shadow: var(--sbb-commerce-shadow-soft);
}

.single-product .sbb-pdp-curriculum article > span {
  color: var(--sbb-commerce-sage-strong);
}

.single-product .sbb-pdp-access-steps {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.single-product .sbb-pdp-access-steps li {
  grid-template-columns: 38px minmax(0, 1fr);
  border-color: var(--sbb-commerce-line);
  border-radius: 20px;
  background: var(--sbb-commerce-cream);
}

.single-product .sbb-pdp-access-steps li > span {
  width: 38px;
  height: 38px;
  background: var(--sbb-commerce-cocoa);
}

.single-product .sbb-pdp-safety-note {
  border-left-color: var(--sbb-commerce-sage-strong);
  border-radius: 18px;
  background: var(--sbb-commerce-sage);
}

.single-product .sbb-pdp-policy-v320 {
  padding-block: clamp(3.5rem, 7vw, 6rem);
  border-top: 1px solid var(--sbb-commerce-line);
}

.sbb-pdp-policy-v320__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}

.sbb-pdp-policy-v320__grid article {
  min-width: 0;
  padding: 1.35rem;
  border: 1px solid var(--sbb-commerce-line);
  border-radius: 22px;
  background: var(--sbb-commerce-paper);
  box-shadow: var(--sbb-commerce-shadow-soft);
}

.sbb-pdp-policy-v320__grid img {
  width: 58px;
  height: 58px;
  margin-bottom: .9rem;
}

.sbb-pdp-policy-v320__grid h3 {
  color: var(--sbb-commerce-cocoa-deep);
  font-size: 1.28rem;
}

.sbb-pdp-policy-v320__grid p {
  color: var(--sbb-muted);
  font-size: .82rem;
}

.sbb-pdp-policy-v320__grid a {
  color: var(--sbb-commerce-blue-strong);
  font-size: .78rem;
  font-weight: 850;
}

.sbb-pdp-related-v320 {
  padding-block: clamp(3.5rem, 7vw, 6rem);
}

.sbb-pdp-related-v320 .related.products {
  width: 100%;
  padding: 0;
}

.sbb-pdp-related-v320 .related.products > h2 {
  display: none;
}

.sbb-pdp-sticky-purchase-v320 {
  display: none;
}

/* Cart and checkout shared hero */
.sbb-commerce-block-shell {
  display: grid;
  width: min(calc(100% - (var(--sbb-gutter) * 2)), var(--sbb-container));
  min-width: 0;
  margin-inline: auto;
}

.sbb-commerce-block-shell > :where(
  .wp-block-woocommerce-cart,
  .wp-block-woocommerce-checkout,
  .wc-block-cart,
  .wc-block-checkout
) {
  width: 100%;
  max-width: none;
  margin-inline: 0;
}

.sbb-commerce-hero-v320 {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(300px, .88fr);
  align-items: center;
  gap: clamp(2rem, 5vw, 4rem);
  margin-bottom: clamp(2rem, 5vw, 4rem);
  padding: clamp(1.5rem, 4vw, 3rem);
  border: 1px solid var(--sbb-commerce-line);
  border-radius: 30px;
  background:
    radial-gradient(circle at 90% 10%, rgba(255, 255, 255, .8), transparent 18rem),
    linear-gradient(130deg, var(--sbb-commerce-peach), var(--sbb-commerce-cream) 55%, var(--sbb-commerce-sage));
  box-shadow: var(--sbb-commerce-shadow-soft);
}

.sbb-commerce-hero-v320__copy h1 {
  margin-bottom: .7rem;
  color: var(--sbb-commerce-cocoa-deep);
  font-size: clamp(2.3rem, 4.8vw, 4.35rem);
  line-height: 1.04;
  letter-spacing: -.05em;
  text-wrap: balance;
}

.sbb-commerce-hero-v320__copy > p:not(.sbb-section-label) {
  max-width: 680px;
  color: var(--sbb-muted);
}

.sbb-commerce-hero-v320__media {
  margin: 0;
  overflow: hidden;
  aspect-ratio: 4 / 3;
  border: 5px solid rgba(255, 253, 248, .86);
  border-radius: 24px;
  background: var(--sbb-commerce-blue);
  box-shadow: var(--sbb-commerce-shadow);
}

.sbb-commerce-hero-v320__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.sbb-commerce-hero-v320__trust {
  display: grid;
  gap: .65rem;
}

.sbb-commerce-hero-v320__trust > div {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr);
  align-items: center;
  gap: .75rem;
  padding: .72rem .8rem;
  border: 1px solid rgba(98, 72, 55, .12);
  border-radius: 16px;
  background: rgba(255, 253, 248, .72);
}

.sbb-commerce-hero-v320__trust img {
  width: 52px;
  height: 52px;
}

.sbb-commerce-hero-v320__trust span,
.sbb-commerce-hero-v320__trust strong {
  display: block;
}

.sbb-commerce-hero-v320__trust strong {
  color: var(--sbb-commerce-cocoa-deep);
}

.sbb-commerce-hero-v320__trust span {
  color: var(--sbb-muted);
  font-size: .76rem;
}

.sbb-commerce-progress-v320 {
  margin-top: 1.35rem;
}

.sbb-commerce-progress-v320 ol {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .55rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.sbb-commerce-progress-v320 li {
  position: relative;
  display: grid;
  min-width: 0;
  min-height: 54px;
  padding: .55rem .65rem;
  grid-template-columns: 32px minmax(0, 1fr);
  align-items: center;
  gap: .5rem;
  border: 1px solid var(--sbb-commerce-line);
  border-radius: 14px;
  background: rgba(255, 253, 248, .68);
}

.sbb-commerce-progress-v320 li > span {
  display: grid;
  width: 32px;
  height: 32px;
  place-items: center;
  border-radius: 50%;
  background: var(--sbb-commerce-blue);
  color: var(--sbb-commerce-blue-strong);
  font-size: .72rem;
  font-weight: 850;
}

.sbb-commerce-progress-v320 li strong {
  min-width: 0;
  color: var(--sbb-muted);
  font-size: .68rem;
  line-height: 1.25;
}

.sbb-commerce-progress-v320 li.is-current {
  border-color: var(--sbb-commerce-cocoa);
  background: #fff;
}

.sbb-commerce-progress-v320 li.is-current > span {
  background: var(--sbb-commerce-cocoa);
  color: #fff;
}

.sbb-commerce-progress-v320 li.is-current strong {
  color: var(--sbb-commerce-cocoa-deep);
}

.sbb-commerce-progress-v320 li.is-complete > span {
  background: var(--sbb-commerce-sage-strong);
  color: #fff;
}

/* Classic cart */
body.woocommerce-cart .woocommerce form.woocommerce-cart-form {
  margin-bottom: 1rem;
}

body.woocommerce-cart .woocommerce table.shop_table.cart {
  overflow: hidden;
  border: 1px solid var(--sbb-commerce-line);
  border-collapse: separate;
  border-spacing: 0;
  border-radius: 24px;
  background: var(--sbb-commerce-paper);
  box-shadow: var(--sbb-commerce-shadow-soft);
}

body.woocommerce-cart .woocommerce table.shop_table.cart thead th {
  padding: .9rem 1rem;
  border: 0;
  background: var(--sbb-commerce-cream);
  color: var(--sbb-muted);
  font-size: .68rem;
  font-weight: 850;
  letter-spacing: .04em;
  text-transform: none;
}

body.woocommerce-cart .woocommerce table.shop_table.cart tbody td {
  padding: 1rem;
  border-top: 1px solid var(--sbb-commerce-line);
}

body.woocommerce-cart .woocommerce table.shop_table.cart .product-thumbnail {
  width: 102px;
}

body.woocommerce-cart .woocommerce table.shop_table.cart .product-thumbnail > a,
body.woocommerce-cart .woocommerce table.shop_table.cart .sbb-cover-v320--cart {
  display: block;
  width: 76px;
  height: 95px;
  overflow: hidden;
  aspect-ratio: 4 / 5;
  border-radius: 12px;
  background: var(--sbb-commerce-cream);
}

body.woocommerce-cart .woocommerce table.shop_table.cart .product-thumbnail img,
body.woocommerce-cart .woocommerce table.shop_table.cart .sbb-cover-v320--cart img {
  width: 100%;
  height: 100%;
  margin: 0;
  object-fit: cover;
}

body.woocommerce-cart .woocommerce .sbb-cover-v320--cart .sbb-cover-v320__copy {
  display: none;
}

body.woocommerce-cart .woocommerce table.shop_table.cart .product-name > a {
  color: var(--sbb-commerce-cocoa-deep);
  font-family: var(--sbb-font-display);
  font-size: 1.08rem;
  font-weight: 700;
}

body.woocommerce-cart .woocommerce table.shop_table.cart .product-name :where(dl.variation, .wc-item-meta) {
  margin: .45rem 0 0;
  color: var(--sbb-muted);
  font-size: .72rem;
}

body.woocommerce-cart .woocommerce table.shop_table.cart .product-name dl.variation dt,
body.woocommerce-cart .woocommerce table.shop_table.cart .product-name dl.variation dd {
  margin-bottom: .2rem;
}

body.woocommerce-cart .woocommerce table.shop_table.cart .product-remove a.remove {
  width: 38px;
  height: 38px;
  border-color: var(--sbb-commerce-line);
  color: var(--sbb-error);
}

body.woocommerce-cart .woocommerce table.shop_table.cart .quantity .qty {
  width: 68px;
  min-height: 44px;
  border: 1px solid var(--sbb-commerce-line);
  border-radius: 12px;
  background: #fff;
}

body.woocommerce-cart .woocommerce table.shop_table.cart td.actions {
  padding: 1rem;
  background: var(--sbb-commerce-cream);
}

body.woocommerce-cart .woocommerce table.shop_table.cart td.actions .coupon {
  display: flex;
  max-width: 560px;
  gap: .55rem;
}

body.woocommerce-cart .woocommerce table.shop_table.cart td.actions .coupon .input-text {
  width: min(240px, 100%);
  min-height: 46px;
  padding: .65rem .8rem;
  border: 1px solid var(--sbb-commerce-line-strong);
  border-radius: 999px;
  background: #fff;
}

body.woocommerce-cart .woocommerce table.shop_table.cart td.actions :where(button.button, input.button) {
  margin: 0;
  border-color: var(--sbb-commerce-cocoa);
  background: var(--sbb-commerce-cocoa);
  color: #fff;
}

.sbb-cart-support-note {
  margin: 1rem 0 2rem;
  padding: 1rem 1.1rem;
  border: 1px solid rgba(127, 145, 122, .22);
  border-radius: 18px;
  background: var(--sbb-commerce-sage);
}

.sbb-cart-support-note strong {
  color: var(--sbb-commerce-cocoa-deep);
}

body.woocommerce-cart .woocommerce .cart-collaterals {
  grid-template-columns: minmax(0, 1fr) minmax(330px, .58fr);
  gap: clamp(1.5rem, 4vw, 3rem);
}

body.woocommerce-cart .woocommerce .cart-collaterals .cart_totals {
  width: auto;
  padding: 1.4rem;
  border: 1px solid var(--sbb-commerce-line);
  border-radius: 24px;
  background: var(--sbb-commerce-paper);
  box-shadow: var(--sbb-commerce-shadow);
}

body.woocommerce-cart .woocommerce .cart-collaterals .cart_totals h2 {
  margin-bottom: .8rem;
  color: var(--sbb-commerce-cocoa-deep);
  font-size: 1.8rem;
}

body.woocommerce-cart .woocommerce .cart-collaterals .cart_totals table {
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

body.woocommerce-cart .woocommerce .cart-collaterals .cart_totals :where(th, td) {
  padding: .75rem 0;
  border-color: var(--sbb-commerce-line);
}

body.woocommerce-cart .woocommerce .cart-collaterals .order-total {
  color: var(--sbb-commerce-cocoa-deep);
  font-size: 1.08rem;
}

body.woocommerce-cart .woocommerce .wc-proceed-to-checkout .sbb-checkout-forward {
  width: 100%;
  min-height: 54px;
  margin: 0;
  border-color: var(--sbb-commerce-cocoa);
  background: var(--sbb-commerce-cocoa);
  color: #fff;
  font-size: .88rem;
}

.sbb-cart-assurance-v320 {
  margin-top: clamp(2.5rem, 5vw, 4rem);
  padding: clamp(1.3rem, 4vw, 2.4rem);
  border: 1px solid var(--sbb-commerce-line);
  border-radius: 28px;
  background: var(--sbb-commerce-cream);
}

.sbb-cart-assurance-v320__head {
  max-width: 720px;
  margin-bottom: 1.25rem;
}

.sbb-cart-assurance-v320__head h2 {
  color: var(--sbb-commerce-cocoa-deep);
  font-size: clamp(1.8rem, 3.5vw, 3rem);
}

.sbb-cart-assurance-v320__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .75rem;
}

.sbb-cart-assurance-v320__grid article {
  min-width: 0;
  padding: 1rem;
  border: 1px solid rgba(98, 72, 55, .11);
  border-radius: 18px;
  background: rgba(255, 253, 248, .86);
}

.sbb-cart-assurance-v320__grid img {
  width: 48px;
  height: 48px;
  margin-bottom: .7rem;
}

.sbb-cart-assurance-v320__grid strong {
  display: block;
  color: var(--sbb-commerce-cocoa-deep);
  font-size: .88rem;
}

.sbb-cart-assurance-v320__grid p {
  margin: .3rem 0 0;
  color: var(--sbb-muted);
  font-size: .75rem;
  line-height: 1.5;
}

.sbb-empty-commerce-v320 {
  display: grid;
  grid-template-columns: minmax(280px, .78fr) minmax(0, 1.22fr);
  align-items: center;
  gap: clamp(1.5rem, 5vw, 4rem);
  margin-top: 1.25rem;
  padding: clamp(1.4rem, 4vw, 2.6rem);
  border: 1px solid var(--sbb-commerce-line);
  border-radius: 28px;
  background: var(--sbb-commerce-paper);
  box-shadow: var(--sbb-commerce-shadow-soft);
}

.sbb-empty-commerce-v320__media {
  overflow: hidden;
  aspect-ratio: 4 / 3;
  border-radius: 22px;
  background: var(--sbb-commerce-blue);
}

.sbb-empty-commerce-v320__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.sbb-empty-commerce-v320__copy h2 {
  color: var(--sbb-commerce-cocoa-deep);
  font-size: clamp(2rem, 4vw, 3.5rem);
  line-height: 1.08;
}

.sbb-empty-commerce-v320__copy > p:not(.sbb-section-label) {
  color: var(--sbb-muted);
}

.sbb-empty-commerce-v320__copy ul {
  display: grid;
  gap: .4rem;
  margin: 1rem 0 1.3rem;
  padding-left: 1.15rem;
  color: var(--sbb-ink-soft);
}

.sbb-empty-commerce-v320__button {
  min-height: 48px;
  padding-inline: 1.2rem;
  border-color: var(--sbb-commerce-cocoa);
  background: var(--sbb-commerce-cocoa);
  color: #fff;
}

body.woocommerce-cart .woocommerce > p.cart-empty {
  margin-bottom: 1rem;
}

/* Classic checkout */
body.woocommerce-checkout .woocommerce form.checkout {
  grid-template-columns: minmax(0, 1.06fr) minmax(350px, .94fr);
  gap: clamp(1.5rem, 4vw, 3.5rem);
}

body.woocommerce-checkout .woocommerce :where(.sbb-checkout-mini-card, .sbb-checkout-assurance-card) {
  border-color: var(--sbb-commerce-line);
  border-radius: 18px;
  background: var(--sbb-commerce-paper);
  box-shadow: var(--sbb-commerce-shadow-soft);
}

body.woocommerce-checkout .woocommerce .sbb-checkout-mini-card > span {
  color: var(--sbb-commerce-blue-strong);
  text-transform: none;
}

body.woocommerce-checkout .woocommerce #customer_details {
  gap: 1rem;
}

body.woocommerce-checkout .woocommerce #customer_details > :where(.col-1, .col-2) {
  padding: 1.25rem;
  border: 1px solid var(--sbb-commerce-line);
  border-radius: 22px;
  background: var(--sbb-commerce-paper);
}

body.woocommerce-checkout .woocommerce #customer_details h3,
body.woocommerce-checkout .woocommerce #order_review_heading {
  color: var(--sbb-commerce-cocoa-deep);
}

body.woocommerce-checkout .woocommerce form .form-row {
  margin-bottom: .85rem;
}

body.woocommerce-checkout .woocommerce form .form-row label {
  margin-bottom: .25rem;
  color: var(--sbb-ink-soft);
  font-size: .76rem;
  font-weight: 800;
}

body.woocommerce-checkout .woocommerce form .form-row :where(input.input-text, textarea, select),
body.woocommerce-checkout
  .woocommerce
  .select2-container--default
  .select2-selection--single {
  min-height: 48px;
  padding: .65rem .8rem;
  border: 1px solid var(--sbb-commerce-line-strong);
  border-radius: 14px;
  background: #fff;
  color: var(--sbb-ink);
}

body.woocommerce-checkout .woocommerce form .form-row textarea {
  min-height: 116px;
  resize: vertical;
}

body.woocommerce-checkout
  .woocommerce
  .select2-container--default
  .select2-selection--single
  .select2-selection__rendered {
  padding: .05rem 0;
  color: var(--sbb-ink);
  line-height: 1.9;
}

body.woocommerce-checkout .woocommerce #order_review {
  padding: 1.25rem;
  border: 1px solid var(--sbb-commerce-line);
  border-radius: 24px;
  background: var(--sbb-commerce-cream);
  box-shadow: var(--sbb-commerce-shadow);
}

body.woocommerce-checkout .woocommerce #order_review table {
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

body.woocommerce-checkout .woocommerce #order_review table :where(th, td) {
  padding: .75rem .2rem;
  border-color: var(--sbb-commerce-line);
}

body.woocommerce-checkout .woocommerce #payment {
  border-radius: 18px;
  background: transparent;
}

body.woocommerce-checkout .woocommerce #payment ul.payment_methods {
  padding: 1rem 0;
}

body.woocommerce-checkout .woocommerce #payment div.payment_box {
  border-radius: 14px;
  background: var(--sbb-commerce-paper);
}

body.woocommerce-checkout .woocommerce #payment div.payment_box::before {
  border-bottom-color: var(--sbb-commerce-paper);
}

body.woocommerce-checkout .woocommerce #place_order {
  width: 100%;
  min-height: 56px;
  border-color: var(--sbb-commerce-cocoa);
  background: var(--sbb-commerce-cocoa);
  color: #fff;
  font-size: .9rem;
}

.sbb-checkout-submit-assurance-v320 {
  display: grid;
  margin-top: .85rem;
  padding: .8rem;
  grid-template-columns: 48px minmax(0, 1fr);
  align-items: center;
  gap: .7rem;
  border: 1px solid rgba(127, 145, 122, .22);
  border-radius: 16px;
  background: var(--sbb-commerce-sage);
}

.sbb-checkout-submit-assurance-v320 img {
  width: 48px;
  height: 48px;
}

.sbb-checkout-submit-assurance-v320 :where(strong, span) {
  display: block;
}

.sbb-checkout-submit-assurance-v320 strong {
  color: var(--sbb-commerce-cocoa-deep);
  font-size: .8rem;
}

.sbb-checkout-submit-assurance-v320 span {
  color: var(--sbb-muted);
  font-size: .69rem;
  line-height: 1.45;
}

.sbb-checkout-block-notice {
  border-color: rgba(127, 145, 122, .24);
  border-radius: 18px;
  background: var(--sbb-commerce-sage);
}

.sbb-checkout-support-v320,
.sbb-order-access-v320 {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, .82fr);
  align-items: start;
  gap: clamp(1.5rem, 4vw, 3rem);
  margin-top: clamp(2.5rem, 5vw, 4rem);
  padding: clamp(1.4rem, 4vw, 2.5rem);
  border: 1px solid var(--sbb-commerce-line);
  border-radius: 28px;
  background:
    linear-gradient(135deg, var(--sbb-commerce-cream), rgba(229, 237, 241, .72)),
    var(--sbb-commerce-paper);
}

.sbb-checkout-support-v320 h2,
.sbb-order-access-v320 h2 {
  color: var(--sbb-commerce-cocoa-deep);
  font-size: clamp(1.9rem, 3.5vw, 3rem);
}

.sbb-checkout-support-v320 p,
.sbb-order-access-v320 p {
  color: var(--sbb-muted);
}

.sbb-checkout-support-v320 ul,
.sbb-order-access-v320 > ul {
  display: grid;
  gap: .55rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.sbb-checkout-support-v320 li,
.sbb-order-access-v320 > ul li {
  padding: .75rem .85rem;
  border: 1px solid var(--sbb-commerce-line);
  border-radius: 14px;
  background: rgba(255, 253, 248, .84);
}

.sbb-checkout-support-v320 li :where(strong, span) {
  display: block;
}

.sbb-checkout-support-v320 li span {
  color: var(--sbb-muted);
  font-size: .74rem;
}

.sbb-checkout-support-v320 > a {
  grid-column: 2;
  justify-self: start;
  color: var(--sbb-commerce-blue-strong);
  font-weight: 850;
}

/* WooCommerce Cart and Checkout blocks */
body:is(.woocommerce-cart, .woocommerce-checkout)
  :where(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout, .wc-block-cart, .wc-block-checkout) {
  color: var(--sbb-ink);
}

body:is(.woocommerce-cart, .woocommerce-checkout) .wc-block-components-sidebar-layout {
  gap: clamp(1rem, 3vw, 2rem);
}

body:is(.woocommerce-cart, .woocommerce-checkout)
  .wc-block-components-sidebar-layout
  :where(.wc-block-components-main, .wc-block-components-sidebar) {
  min-width: 0;
  overflow: visible;
  padding: clamp(1rem, 2.5vw, 1.5rem);
  border: 1px solid var(--sbb-commerce-line);
  border-radius: 24px;
  background: var(--sbb-commerce-paper);
  box-shadow: var(--sbb-commerce-shadow-soft);
}

body:is(.woocommerce-cart, .woocommerce-checkout)
  .wc-block-components-sidebar-layout
  .wc-block-components-sidebar {
  align-self: start;
  background: var(--sbb-commerce-cream);
  box-shadow: var(--sbb-commerce-shadow);
}

body.woocommerce-cart .wc-block-cart-items,
body.woocommerce-checkout .wc-block-components-order-summary {
  border-color: var(--sbb-commerce-line);
}

body.woocommerce-cart .wc-block-cart-items__row {
  border-color: var(--sbb-commerce-line);
}

body.woocommerce-cart .wc-block-cart-item__image img,
body.woocommerce-checkout .wc-block-components-order-summary-item__image img {
  overflow: hidden;
  aspect-ratio: 4 / 5;
  border-radius: 12px;
  object-fit: cover;
  background: var(--sbb-commerce-cream);
}

body:is(.woocommerce-cart, .woocommerce-checkout) .wc-block-components-product-name {
  color: var(--sbb-commerce-cocoa-deep);
  font-family: var(--sbb-font-display);
  font-weight: 700;
  line-height: 1.25;
}

body:is(.woocommerce-cart, .woocommerce-checkout)
  :where(.wc-block-components-totals-wrapper, .wc-block-components-order-summary) {
  border-color: var(--sbb-commerce-line);
}

body:is(.woocommerce-cart, .woocommerce-checkout)
  :where(.wc-block-components-text-input input, .wc-block-components-combobox-control input) {
  min-height: 48px;
  border-color: var(--sbb-commerce-line-strong);
  border-radius: 14px;
  background: #fff;
}

body:is(.woocommerce-cart, .woocommerce-checkout)
  .wc-block-components-quantity-selector {
  min-height: 44px;
  border-color: var(--sbb-commerce-line);
  border-radius: 999px;
  background: #fff;
}

body:is(.woocommerce-cart, .woocommerce-checkout)
  .wc-block-components-button:not(.is-link) {
  min-height: 52px;
  border: 1px solid var(--sbb-commerce-cocoa);
  border-radius: 999px;
  background: var(--sbb-commerce-cocoa);
  color: #fff;
  font-weight: 850;
}

body:is(.woocommerce-cart, .woocommerce-checkout)
  .wc-block-components-button:not(.is-link):hover {
  border-color: var(--sbb-commerce-cocoa-deep);
  background: var(--sbb-commerce-cocoa-deep);
  color: #fff;
  transform: translateY(-1px);
}

/* Thank-you and order access */
body.woocommerce-order-received .woocommerce .woocommerce-order {
  display: grid;
  gap: 1.25rem;
}

body.woocommerce-order-received .woocommerce .woocommerce-thankyou-order-received {
  padding: 1.1rem 1.25rem;
  border: 1px solid rgba(127, 145, 122, .25);
  border-radius: 18px;
  background: var(--sbb-commerce-sage);
  color: var(--sbb-commerce-cocoa-deep);
  font-family: var(--sbb-font-display);
  font-size: clamp(1.25rem, 2.5vw, 1.8rem);
  font-weight: 700;
}

body.woocommerce-order-received .woocommerce ul.order_details {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .65rem;
}

body.woocommerce-order-received .woocommerce ul.order_details li {
  min-width: 0;
  padding: .9rem;
  border: 1px solid var(--sbb-commerce-line);
  border-radius: 16px;
  background: var(--sbb-commerce-paper);
}

body.woocommerce-order-received .woocommerce :where(.woocommerce-order-details, .woocommerce-customer-details) {
  padding: 1.25rem;
  border: 1px solid var(--sbb-commerce-line);
  border-radius: 22px;
  background: var(--sbb-commerce-paper);
}

body.woocommerce-order-received .woocommerce :where(.woocommerce-order-details, .woocommerce-customer-details) h2 {
  color: var(--sbb-commerce-cocoa-deep);
}

.sbb-order-access-v320 .sbb-commerce-progress-v320 {
  margin-top: 0;
}

/* 4 columns to 3 */
@media (max-width: 1180px) {
  .woocommerce ul.products,
  .woocommerce-page ul.products {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .single-product .sbb-pdp-ebook-hero__inner {
    grid-template-columns: minmax(280px, .76fr) minmax(0, 1.24fr);
    gap: clamp(2rem, 5vw, 4rem);
  }

  .single-product .sbb-pdp-access-steps {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .sbb-cart-assurance-v320__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .sbb-catalog-previews-v320__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

/* 3 columns to 2 and two-column checkout to one */
@media (max-width: 920px) {
  .woocommerce ul.products,
  .woocommerce-page ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .sbb-catalog-previews-v320__head {
    grid-template-columns: 1fr;
    align-items: start;
  }

  .sbb-catalog-previews-v320__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .single-product .sbb-pdp-editorial-index-v330__inner {
    display: flex;
    min-height: 66px;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scrollbar-width: thin;
  }

  .single-product .sbb-pdp-editorial-index-v330__inner > span,
  .single-product .sbb-pdp-editorial-index-v330 a {
    flex: 0 0 auto;
  }

  .single-product .sbb-pdp-ebook-purchase__inner,
  body.woocommerce-checkout .woocommerce form.checkout {
    grid-template-columns: 1fr;
  }

  .single-product .sbb-pdp-ebook-buy-card {
    position: static;
  }

  body.woocommerce-checkout .woocommerce
    :where(
      .sbb-checkout-mini-card--details,
      #customer_details,
      .sbb-checkout-assurance-card,
      .sbb-checkout-mini-card--order,
      #order_review_heading,
      #order_review
    ) {
    grid-column: 1;
    grid-row: auto;
  }

  .sbb-commerce-hero-v320,
  .sbb-empty-commerce-v320,
  .sbb-checkout-support-v320,
  .sbb-order-access-v320 {
    grid-template-columns: 1fr;
  }

  .sbb-commerce-hero-v320__media {
    max-height: 390px;
  }

  .sbb-checkout-support-v320 > a {
    grid-column: 1;
  }

  .single-product .sbb-pdp-ebook-benefits,
  .sbb-pdp-audience-v320__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body:is(.woocommerce-cart, .woocommerce-checkout)
    .wc-block-components-sidebar-layout {
    display: grid;
    grid-template-columns: 1fr;
  }

  body:is(.woocommerce-cart, .woocommerce-checkout)
    .wc-block-components-sidebar-layout
    :where(.wc-block-components-main, .wc-block-components-sidebar) {
    width: 100%;
    max-width: none;
  }
}

/* Mobile app-style cards and purchase shortcut */
@media (max-width: 768px) {
  body:is(.woocommerce, .woocommerce-page, .woocommerce-cart, .woocommerce-checkout, .single-product) {
    --sbb-commerce-radius: 22px;
  }

  body:is(.woocommerce, .woocommerce-page, .woocommerce-cart, .woocommerce-checkout, .single-product)
    :where(
      .button,
      button.button,
      input.button,
      .wc-block-components-button,
      input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
      select
    ) {
    min-height: 44px;
  }

  .woocommerce ul.products,
  .woocommerce-page ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .8rem;
  }

  .woocommerce ul.products li.product.sbb-product-card-v320 .sbb-product-card-v320__body {
    padding: .85rem;
  }

  .sbb-product-card-v320__kicker span:nth-child(n + 2) {
    display: none;
  }

  .sbb-product-card-v320__excerpt {
    min-height: calc(1.48em * 2);
    -webkit-line-clamp: 2;
  }

  .sbb-product-card-v320__facts {
    gap: .32rem;
  }

  .sbb-product-card-v320__facts > div {
    padding: .45rem;
  }

  .sbb-product-card-v320__actions {
    grid-template-columns: 1fr;
  }

  .single-product .sbb-pdp-ebook-hero {
    padding: calc(var(--sbb-header-height) + 1.75rem) var(--sbb-gutter) 3rem;
  }

  .single-product .sbb-pdp-ebook-hero__inner,
  .single-product .sbb-pdp-preview-v320 {
    grid-template-columns: 1fr;
  }

  .single-product .sbb-pdp-editorial-index-v330__inner > span {
    padding-inline: .25rem 1rem;
  }

  .single-product .sbb-pdp-book-intro-v330 {
    padding-block: 2.5rem 3rem;
  }

  .sbb-pdp-book-intro-v330__stage {
    grid-template-columns: 1fr;
    gap: 1.5rem;
    padding: 1.25rem;
    border-radius: 26px;
  }

  .sbb-pdp-book-intro-v330__cover {
    width: min(74vw, 290px);
    transform: none;
  }

  .sbb-pdp-book-intro-v330__jacket h2 {
    font-size: clamp(2rem, 9vw, 3.5rem);
  }

  .sbb-pdp-book-intro-v330__jacket dl {
    grid-template-columns: 1fr;
    gap: .2rem;
  }

  .sbb-pdp-book-intro-v330__pages {
    grid-template-columns: 1fr;
    gap: .75rem;
    padding: 0;
    background: transparent;
    box-shadow: none;
  }

  .sbb-pdp-book-intro-v330__pages::after {
    display: none;
  }

  .sbb-pdp-book-page-v330,
  .sbb-pdp-book-page-v330--note {
    min-height: 0;
    border-radius: 18px;
  }

  .single-product .sbb-pdp-ebook-hero__media {
    order: 1;
  }

  .single-product .sbb-pdp-ebook-hero__copy {
    order: 2;
  }

  .single-product .sbb-pdp-ebook-hero__cover {
    width: min(82vw, 340px);
    border-width: 5px;
    border-radius: 26px;
    transform: none;
  }

  .single-product .sbb-pdp-ebook-hero__copy h1 {
    font-size: clamp(2.35rem, 11vw, 4rem);
  }

  .single-product .sbb-pdp-ebook-purchase,
  .single-product :where(.sbb-pdp-preview-v320, .sbb-pdp-audience-v320, .sbb-pdp-ebook-detail, .sbb-pdp-policy-v320),
  .sbb-pdp-related-v320 {
    padding-block: 3rem;
  }

  .single-product .sbb-pdp-ebook-benefits,
  .sbb-pdp-audience-v320__grid,
  .single-product .sbb-pdp-curriculum,
  .single-product .sbb-pdp-access-steps,
  .sbb-pdp-policy-v320__grid {
    grid-template-columns: 1fr;
  }

  .single-product .sbb-pdp-ebook-benefits {
    gap: .65rem;
  }

  .single-product .sbb-pdp-ebook-benefits > div {
    display: grid;
    grid-template-columns: 54px minmax(0, 1fr);
    align-items: center;
    gap: .75rem;
    text-align: left;
  }

  .single-product .sbb-pdp-ebook-benefits > div > span {
    grid-row: 1 / span 2;
    margin: 0;
  }

  .single-product .sbb-pdp-ebook-benefits > div :where(strong, p) {
    grid-column: 2;
  }

  .single-product .sbb-pdp-ebook-benefits > div strong {
    align-self: end;
    margin: 0;
  }

  .single-product .sbb-pdp-ebook-benefits > div p {
    align-self: start;
  }

  .sbb-pdp-preview-v320__list li {
    grid-template-columns: 1fr;
    gap: .2rem;
  }

  .sbb-pdp-preview-v320__media {
    aspect-ratio: 4 / 5;
  }

  .single-product .sbb-pdp-curriculum article,
  .sbb-pdp-audience-v320__grid article {
    min-height: 0;
  }

  .sbb-pdp-sticky-purchase-v320 {
    position: fixed;
    z-index: 72;
    right: max(.65rem, env(safe-area-inset-right));
    bottom: calc(var(--sbb-mobile-app-nav-height, 72px) + max(.5rem, env(safe-area-inset-bottom)));
    left: max(.65rem, env(safe-area-inset-left));
    display: grid;
    min-height: 66px;
    padding: .55rem .6rem .55rem .85rem;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: .7rem;
    border: 1px solid rgba(98, 72, 55, .22);
    border-radius: 20px;
    background: rgba(255, 253, 248, .96);
    box-shadow: 0 18px 45px rgba(55, 37, 27, .2);
    backdrop-filter: blur(16px);
  }

  .sbb-pdp-sticky-purchase-v320 > span {
    display: grid;
    min-width: 0;
  }

  .sbb-pdp-sticky-purchase-v320 small {
    overflow: hidden;
    color: var(--sbb-muted);
    font-size: .6rem;
    font-weight: 750;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .sbb-pdp-sticky-purchase-v320 strong {
    color: var(--sbb-commerce-cocoa-deep);
    font-size: .96rem;
    line-height: 1.2;
  }

  .sbb-pdp-sticky-purchase-v320 > a {
    display: inline-flex;
    min-height: 46px;
    padding: .65rem .9rem;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: var(--sbb-commerce-cocoa);
    color: #fff;
    font-size: .72rem;
    font-weight: 850;
    line-height: 1.15;
    text-align: center;
    text-decoration: none;
  }

  body.single-product.sbb-has-mobile-purchase-v320 {
    padding-bottom: calc(150px + env(safe-area-inset-bottom));
  }

  body.single-product.sbb-has-mobile-purchase-v320 .sbb-floating-chat-toggle {
    bottom: calc(var(--sbb-mobile-app-nav-height, 72px) + env(safe-area-inset-bottom, 0px) + 92px);
  }

  .sbb-commerce-hero-v320 {
    gap: 1.25rem;
    padding: 1.15rem;
    border-radius: 24px;
  }

  .sbb-commerce-hero-v320__copy h1 {
    font-size: clamp(2.15rem, 10vw, 3.35rem);
  }

  .sbb-commerce-progress-v320 ol {
    gap: .4rem;
  }

  .sbb-commerce-progress-v320 li {
    min-height: 50px;
    padding: .45rem;
    grid-template-columns: 28px minmax(0, 1fr);
  }

  .sbb-commerce-progress-v320 li > span {
    width: 28px;
    height: 28px;
  }

  body.woocommerce-cart .woocommerce table.shop_table_responsive.cart {
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }

  body.woocommerce-cart .woocommerce table.shop_table_responsive.cart thead {
    display: none;
  }

  body.woocommerce-cart .woocommerce table.shop_table_responsive.cart tbody {
    display: grid;
    gap: .8rem;
  }

  body.woocommerce-cart .woocommerce table.shop_table_responsive.cart tr.cart_item {
    display: grid;
    padding: .9rem;
    grid-template-columns: 38px 78px minmax(0, 1fr);
    grid-template-rows: auto auto auto auto;
    gap: .35rem .7rem;
    border: 1px solid var(--sbb-commerce-line);
    border-radius: 22px;
    background: var(--sbb-commerce-paper);
    box-shadow: var(--sbb-commerce-shadow-soft);
  }

  body.woocommerce-cart .woocommerce table.shop_table_responsive.cart tr.cart_item > td {
    width: auto;
    padding: 0;
    border: 0;
    background: transparent;
    text-align: left;
  }

  body.woocommerce-cart .woocommerce table.shop_table_responsive.cart tr.cart_item > td::before {
    color: var(--sbb-muted);
    font-size: .65rem;
    font-weight: 750;
  }

  body.woocommerce-cart .woocommerce table.shop_table_responsive.cart .product-remove {
    grid-column: 1;
    grid-row: 1;
  }

  body.woocommerce-cart .woocommerce table.shop_table_responsive.cart .product-thumbnail {
    display: block;
    grid-column: 2;
    grid-row: 1 / span 4;
  }

  body.woocommerce-cart .woocommerce table.shop_table_responsive.cart .product-thumbnail > a,
  body.woocommerce-cart .woocommerce table.shop_table_responsive.cart .sbb-cover-v320--cart {
    width: 78px;
    height: 98px;
  }

  body.woocommerce-cart .woocommerce table.shop_table_responsive.cart .product-name {
    grid-column: 3;
    grid-row: 1;
  }

  body.woocommerce-cart .woocommerce table.shop_table_responsive.cart .product-price {
    grid-column: 3;
    grid-row: 2;
  }

  body.woocommerce-cart .woocommerce table.shop_table_responsive.cart .product-quantity {
    grid-column: 3;
    grid-row: 3;
  }

  body.woocommerce-cart .woocommerce table.shop_table_responsive.cart .product-subtotal {
    grid-column: 3;
    grid-row: 4;
  }

  body.woocommerce-cart .woocommerce table.shop_table_responsive.cart tr:last-child td.actions {
    display: grid;
    gap: .65rem;
    margin-top: .8rem;
    padding: .9rem;
    border: 1px solid var(--sbb-commerce-line);
    border-radius: 22px;
    background: var(--sbb-commerce-cream);
  }

  body.woocommerce-cart .woocommerce table.shop_table.cart td.actions .coupon {
    width: 100%;
    max-width: none;
  }

  body.woocommerce-cart .woocommerce table.shop_table.cart td.actions .coupon .input-text {
    width: 100%;
  }

  body.woocommerce-cart .woocommerce .cart-collaterals {
    grid-template-columns: 1fr;
  }

  body.woocommerce-cart .woocommerce .cart-collaterals .cart_totals {
    grid-column: 1;
    border-radius: 22px;
  }

  .sbb-cart-assurance-v320__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.woocommerce-checkout .woocommerce #customer_details > :where(.col-1, .col-2),
  body.woocommerce-checkout .woocommerce #order_review,
  body:is(.woocommerce-cart, .woocommerce-checkout)
    .wc-block-components-sidebar-layout
    :where(.wc-block-components-main, .wc-block-components-sidebar) {
    padding: 1rem;
    border-radius: 20px;
  }

  body.woocommerce-checkout .woocommerce :where(.form-row-first, .form-row-last) {
    width: 100%;
    float: none;
  }

  body.woocommerce-order-received .woocommerce ul.order_details {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .sbb-checkout-block-notice {
    align-items: flex-start;
    flex-direction: column;
  }
}

/* Single-column compact phone layout */
@media (max-width: 480px) {
  .woocommerce ul.products,
  .woocommerce-page ul.products {
    grid-template-columns: 1fr;
    gap: .9rem;
    margin-inline: -.35rem;
  }

  .woocommerce ul.products li.product.sbb-product-card-v320 {
    border-radius: 22px;
  }

  .sbb-catalog-previews-v320 {
    padding: 1rem;
    border-radius: 22px;
  }

  .sbb-catalog-previews-v320__grid {
    grid-template-columns: 1fr;
  }

  .sbb-catalog-previews-v330__legend {
    align-items: flex-start;
    flex-direction: column;
  }

  .sbb-catalog-previews-v330__legend strong {
    text-align: left;
  }

  .single-product .sbb-pdp-editorial-index-v330 a {
    padding-inline: .75rem;
  }

  .sbb-pdp-book-intro-v330__stage {
    padding: .8rem;
    border-radius: 22px;
  }

  .sbb-pdp-book-intro-v330__jacket {
    padding: .45rem;
  }

  .sbb-pdp-book-intro-v330__jacket blockquote {
    padding: 1rem;
  }

  .sbb-pdp-book-page-v330 {
    padding: 1.2rem;
  }

  .sbb-pdp-book-intro-v330__truth {
    padding-inline: .4rem;
    text-align: left;
  }

  .woocommerce ul.products li.product.sbb-product-card-v320 .sbb-product-card-v320__body {
    padding: 1rem;
  }

  .sbb-product-card-v320__kicker span:nth-child(n + 2) {
    display: inline-flex;
  }

  .sbb-product-card-v320__excerpt {
    min-height: auto;
    -webkit-line-clamp: 3;
  }

  .sbb-product-card-v320__actions {
    grid-template-columns: 1fr;
  }

  .single-product .sbb-pdp-ebook-hero__badges,
  .sbb-pdp-hero-assurances-v320 {
    gap: .38rem;
  }

  .single-product .sbb-pdp-ebook-hero__badges span,
  .sbb-pdp-hero-assurances-v320 li {
    font-size: .63rem;
  }

  .single-product .sbb-pdp-facts,
  .single-product .sbb-pdp-purchase-form {
    grid-template-columns: 1fr;
  }

  .single-product .sbb-pdp-ebook-includes div {
    grid-template-columns: 1fr;
    gap: .15rem;
  }

  .sbb-pdp-sticky-purchase-v320 {
    right: max(.45rem, env(safe-area-inset-right));
    bottom: calc(var(--sbb-mobile-app-nav-height, 72px) + max(.4rem, env(safe-area-inset-bottom)));
    left: max(.45rem, env(safe-area-inset-left));
    min-height: 64px;
    border-radius: 18px;
  }

  .sbb-pdp-sticky-purchase-v320 > a {
    max-width: 138px;
    min-height: 44px;
    padding-inline: .75rem;
  }

  .sbb-commerce-hero-v320,
  .sbb-empty-commerce-v320,
  .sbb-cart-assurance-v320,
  .sbb-checkout-support-v320,
  .sbb-order-access-v320 {
    padding: 1rem;
    border-radius: 22px;
  }

  .sbb-commerce-hero-v320__media,
  .sbb-empty-commerce-v320__media {
    border-radius: 18px;
  }

  .sbb-commerce-progress-v320 ol {
    grid-template-columns: 1fr;
  }

  .sbb-commerce-progress-v320 li {
    min-height: 46px;
  }

  .sbb-cart-assurance-v320__grid {
    grid-template-columns: 1fr;
  }

  body.woocommerce-cart .woocommerce table.shop_table.cart td.actions .coupon {
    flex-direction: column;
  }

  body.woocommerce-cart .woocommerce table.shop_table.cart td.actions .coupon :where(.input-text, .button) {
    width: 100%;
  }

  body.woocommerce-order-received .woocommerce ul.order_details {
    grid-template-columns: 1fr;
  }

  .sbb-checkout-submit-assurance-v320 {
    grid-template-columns: 42px minmax(0, 1fr);
  }

  .sbb-checkout-submit-assurance-v320 img {
    width: 42px;
    height: 42px;
  }

  body:is(.woocommerce-cart, .woocommerce-checkout)
    .wc-block-components-sidebar-layout
    :where(.wc-block-components-main, .wc-block-components-sidebar) {
    padding: .85rem;
    border-radius: 18px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .woocommerce ul.products li.product.sbb-product-card-v320,
  body:is(.woocommerce-cart, .woocommerce-checkout)
    .wc-block-components-button:not(.is-link) {
    transition: none;
  }

  .woocommerce ul.products li.product.sbb-product-card-v320:hover,
  body:is(.woocommerce-cart, .woocommerce-checkout)
    .wc-block-components-button:not(.is-link):hover {
    transform: none;
  }
}
