/* ---------- Bolster — Yoga props & practice 75 (store) ----------
   THE ONE MOVE: a single narrow measure. Every contained block — both four-up
   captioned rows, the split, the catalogue and the close — is capped at 860px
   inside the 1080px shell, so the whole page reads as one chalk column with
   wide margins either side. The banner keeps the shared full-bleed treatment
   and, because nothing else on the page comes near an edge, that one band is
   the only interruption in the layout. Colour stays in the photographs. */
body.t-bolster {
  background: #fbfaf7;
  color: #1f201c;
  --radius: 2px;
  --header-bg: #fbfaf7;
  --surface: #ffffff;
  --surface-2: #f0ece3;
  --line: #e3ded2;
  --line-strong: #cdc5b5;
  --heading: #1f201c;
  --text: #1f201c;
  --muted: #6c6d64;
}
body.t-bolster .sf-head, body.t-bolster .sf-foot, body.t-bolster .sf-footer { background: #fbfaf7; border-color: #e3ded2; }
/* a solid sticky bar riding over the slider, never a tinted pane fading in */
body.t-bolster .sf-header { background: #fbfaf7; backdrop-filter: none; -webkit-backdrop-filter: none; }
body.t-bolster .sf-navlink { text-transform: lowercase; font-weight: 500; letter-spacing: 0.03em; }
body.t-bolster a { color: #1f201c; }
body.t-bolster a:hover { color: #5f6d5e; }

/* the opener: full viewport, three slides, all type centred on the photograph */
body.t-bolster .sc-hero { min-height: 100vh; padding: 100px 24px; }
body.t-bolster .sc-hero h1 { font-weight: 400; font-size: clamp(34px, 5.6vw, 62px); letter-spacing: -0.015em; }
body.t-bolster .sc-hero p { font-size: 16.5px; letter-spacing: 0.01em; }

/* THE COLUMN — one measure for everything that is not the band */
body.t-bolster .sc-strip, body.t-bolster .sc-products, body.t-bolster .sc-about-split { max-width: 860px; padding: 84px 20px; }
body.t-bolster .sc-h2 { font-weight: 400; font-size: clamp(19px, 2.5vw, 27px); letter-spacing: 0.005em; margin-bottom: 28px; }

/* the two four-up captioned rows that bracket the catalogue */
body.t-bolster .sc-strip-row { grid-template-columns: repeat(4, 1fr); gap: 22px; }
body.t-bolster .sc-strip-img { aspect-ratio: 4 / 5; border-color: #e3ded2; }
body.t-bolster .sc-strip-label { margin-top: 12px; font-weight: 500; font-size: 13px; line-height: 1.5; color: #4d4e46; }

/* the page's ONE interruption, butted straight onto the row above it */
body.t-bolster .sc-banner { margin-top: 0; margin-bottom: 0; min-height: 46vh; display: flex; align-items: center; justify-content: center; }

/* the one split, then six flat-lays in two rows of three on bare paper */
body.t-bolster .sc-about-split { grid-template-columns: 1fr 1fr; gap: 46px; }
body.t-bolster .product-grid { grid-template-columns: repeat(3, 1fr); gap: 38px 26px; padding-bottom: 0; }
body.t-bolster .product-card, body.t-bolster .product-card:hover { background: transparent; border-color: transparent; box-shadow: none; transform: none; }
body.t-bolster .product-card .ph { background: #f0ece3; }
@media (max-width: 860px) {
  body.t-bolster .sc-strip-row, body.t-bolster .product-grid { grid-template-columns: repeat(2, 1fr); }
}

/* the page ends held in the middle, with air on both sides */
body.t-bolster .sc-contact { max-width: 520px; padding: 80px 20px 96px; }
body.t-bolster .sc-contact-form .btn { align-self: center; }
body.t-bolster .btn.brand { background: #1f201c; color: #fbfaf7; box-shadow: none; text-transform: lowercase; letter-spacing: 0.08em; font-size: 13.5px; padding: 13px 30px; }
body.t-bolster .btn.brand:hover { background: #5f6d5e; }

/* NIGHT — the same room after the last class of the day: the chalk drops to
   charcoal, the oatmeal band becomes the lighter of two greys, and the sage
   lifts, because #5f6d5e disappears entirely against a near-black wall. */
html[data-theme="dark"] body.t-bolster {
  background: #161815;
  color: #c8cabf;
  --header-bg: #161815;
  --surface: #1d201c;
  --surface-2: #222521;
  --line: #2e322c;
  --line-strong: #3e433c;
  --heading: #f1efe6;
  --text: #c8cabf;
  --muted: #8a8d82;
}
html[data-theme="dark"] body.t-bolster .sf-header, html[data-theme="dark"] body.t-bolster .sf-head,
html[data-theme="dark"] body.t-bolster .sf-foot, html[data-theme="dark"] body.t-bolster .sf-footer { background: #161815; border-color: #2e322c; }
html[data-theme="dark"] body.t-bolster a { color: #e6e4da; }
html[data-theme="dark"] body.t-bolster a:hover { color: #9db09a; }
html[data-theme="dark"] body.t-bolster .sc-strip-label { color: #a8ab9f; }
html[data-theme="dark"] body.t-bolster .sc-strip-img { border-color: #2e322c; }
html[data-theme="dark"] body.t-bolster .product-card .ph { background: #222521; }
html[data-theme="dark"] body.t-bolster .sc-field input, html[data-theme="dark"] body.t-bolster .sc-field textarea { background: #1d201c; border-color: #2e322c; color: #f1efe6; }
html[data-theme="dark"] body.t-bolster .btn.brand { background: #9db09a; color: #161815; }
html[data-theme="dark"] body.t-bolster .btn.brand:hover { background: #b2c3af; }
