/*
 * BIOM Shop H1-C.
 * Artistic authority: 02_SHOP__H1-C__research-storefront-final.png.
 * This file owns only Shop/product-taxonomy presentation. Woo data and
 * interactions remain server-rendered by the existing commerce layer.
 */

.biom-shop-h1c {
  --shop-canvas: #eeece6;
  --shop-panel: rgba(248, 246, 241, 0.88);
  --shop-panel-solid: #f5f2ec;
  --shop-ink: #0b292b;
  --shop-muted: #5f7370;
  --shop-teal: #073f42;
  --shop-teal-deep: #032d31;
  --shop-mint: #a9c9bd;
  --shop-line: rgba(75, 96, 88, 0.2);
  --shop-line-light: rgba(255, 255, 255, 0.76);
  --shop-shadow: 0 24px 66px rgba(36, 51, 44, 0.11);
  --shop-shadow-soft: 0 14px 36px rgba(36, 51, 44, 0.075);
  --shop-radius: 22px;
  color: var(--shop-ink);
  background:
    radial-gradient(circle at 82% 6%, rgba(195, 211, 195, 0.42), transparent 29%),
    radial-gradient(circle at 8% 35%, rgba(255, 255, 255, 0.9), transparent 34%),
    linear-gradient(180deg, #f2efe9 0%, var(--shop-canvas) 100%);
  font-family: var(--biom-font-ui, "Lato BIOM", "Segoe UI", sans-serif);
}

.biom-shop-h1c *,
.biom-shop-h1c *::before,
.biom-shop-h1c *::after {
  box-sizing: border-box;
}

.biom-shop-h1c h1,
.biom-shop-h1c h2,
.biom-shop-h1c h3,
.biom-shop-h1c h4,
.biom-shop-h1c p,
.biom-shop-h1c blockquote {
  font-family: var(--biom-font-ui, "Lato BIOM", "Segoe UI", sans-serif);
}

.biom-shop-h1c .site-header {
  position: relative;
  z-index: 30;
  height: 79px;
  background: rgba(247, 245, 241, 0.94);
  border: 0;
  box-shadow: 0 1px 0 rgba(79, 91, 82, 0.12), 0 16px 38px rgba(35, 48, 41, 0.055);
  -webkit-backdrop-filter: blur(18px) saturate(1.05);
  backdrop-filter: blur(18px) saturate(1.05);
}

.biom-shop-h1c .site-header::after {
  content: "";
  position: absolute;
  inset: auto 3.2% 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(65, 78, 67, 0.22) 18%, rgba(65, 78, 67, 0.22) 82%, transparent);
}

.biom-shop-h1c .site-header .container {
  width: calc(100% - 48px);
  max-width: none;
}

.biom-shop-h1c .site-header__inner {
  grid-template-columns: 148px minmax(0, 1fr) 148px;
  gap: 20px;
}

.biom-shop-h1c .site-header .brand__name {
  color: var(--shop-ink);
  font-size: 25px;
  font-weight: 610;
  line-height: 1;
  letter-spacing: -0.045em;
}

.biom-shop-h1c .site-header .brand__tagline {
  display: none;
}

.biom-shop-h1c .site-nav {
  gap: clamp(14px, 1.6vw, 25px);
}

.biom-shop-h1c .site-nav > a,
.biom-shop-h1c .site-nav__shop > button {
  min-height: 40px;
  padding: 8px 0;
  color: rgba(11, 39, 41, 0.88);
  font-size: clamp(12px, 0.94vw, 14px);
  font-weight: 520;
  letter-spacing: -0.012em;
}

.biom-shop-h1c .site-header__utilities {
  gap: 2px;
}

.biom-shop-h1c .site-header .icon-button {
  width: 42px;
  height: 42px;
  color: rgba(11, 39, 41, 0.8);
  border-radius: 999px;
}

.biom-shop-h1c .biom-shop-h1-c {
  position: relative;
  overflow: clip;
  padding-bottom: clamp(70px, 7vw, 112px);
  background:
    radial-gradient(ellipse at 90% 24%, rgba(211, 221, 205, 0.42), transparent 27%),
    radial-gradient(ellipse at 10% 62%, rgba(255, 255, 255, 0.76), transparent 33%),
    linear-gradient(180deg, rgba(241, 238, 233, 0.96), rgba(236, 233, 227, 0.98));
}

.biom-shop-h1c .biom-shop-h1-c::before,
.biom-shop-h1c .biom-shop-h1-c::after {
  content: "";
  position: absolute;
  z-index: 0;
  width: 42vw;
  height: 42vw;
  pointer-events: none;
  border-radius: 50%;
  filter: blur(48px);
}

.biom-shop-h1c .biom-shop-h1-c::before {
  top: 21%;
  left: -24vw;
  background: rgba(255, 255, 255, 0.72);
}

.biom-shop-h1c .biom-shop-h1-c::after {
  right: -24vw;
  bottom: 12%;
  background: rgba(183, 204, 188, 0.24);
}

.biom-shop-h1c .biom-shop-h1-c > * {
  position: relative;
  z-index: 1;
}

.biom-shop-h1c .biom-shop-h1-c .container,
.biom-shop-h1c .biom-shop-h1-c .biom-container {
  width: min(calc(100% - 64px), 1360px);
  max-width: 1360px;
  margin-inline: auto;
}

.shop-h1-eyebrow {
  margin: 0 0 13px;
  color: #4f827c;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

/* Hero */
.biom-shop-h1c .shop-h1-hero {
  position: relative;
  min-height: 535px;
  overflow: hidden;
  isolation: isolate;
  background: #cad0c4;
}

.biom-shop-h1c .shop-h1-hero__media,
.biom-shop-h1c .shop-h1-hero__media img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
}

.biom-shop-h1c .shop-h1-hero__media {
  z-index: -4;
  margin: 0;
}

.biom-shop-h1c .shop-h1-hero__media img {
  object-fit: cover;
  object-position: 52% 50%;
  filter: saturate(0.84) brightness(1.04) contrast(0.93);
  transform: scale(1.01);
}

.biom-shop-h1c .shop-h1-hero::before {
  content: "";
  position: absolute;
  z-index: -3;
  inset: 0;
  background:
    radial-gradient(circle at 75% 52%, transparent 0 22%, rgba(17, 40, 31, 0.04) 56%, rgba(7, 28, 25, 0.14) 100%),
    linear-gradient(90deg, rgba(245, 243, 238, 0.99) 0%, rgba(244, 242, 237, 0.96) 19%, rgba(240, 239, 232, 0.82) 32%, rgba(235, 236, 226, 0.43) 46%, rgba(231, 234, 222, 0.08) 63%, rgba(9, 27, 22, 0.05) 100%);
}

.biom-shop-h1c .shop-h1-hero::after {
  content: "";
  position: absolute;
  z-index: -2;
  inset: auto 0 0;
  height: 142px;
  background: linear-gradient(180deg, transparent 0%, rgba(238, 236, 229, 0.35) 56%, rgba(239, 236, 231, 0.98) 100%);
}

.biom-shop-h1c .shop-h1-hero__glow {
  position: absolute;
  z-index: -1;
  pointer-events: none;
  mix-blend-mode: screen;
}

.biom-shop-h1c .shop-h1-hero__glow--left {
  top: -20%;
  left: -10%;
  width: 52%;
  height: 145%;
  background: radial-gradient(ellipse, rgba(255, 255, 252, 0.46), transparent 68%);
  filter: blur(22px);
}

.biom-shop-h1c .shop-h1-hero__glow--bottom {
  right: 0;
  bottom: -30px;
  width: 68%;
  height: 115px;
  background: radial-gradient(ellipse, rgba(255, 254, 240, 0.34), transparent 70%);
  filter: blur(18px);
}

.biom-shop-h1c .shop-h1-hero__inner {
  min-height: 535px;
  display: flex;
  align-items: center;
}

.biom-shop-h1c .shop-h1-hero__copy {
  width: min(40%, 560px);
  padding: 36px 0 76px;
}

.biom-shop-h1c .shop-h1-hero h1 {
  max-width: 9.7em;
  margin: 0;
  color: var(--shop-ink);
  font-size: clamp(46px, 5vw, 76px);
  font-weight: 610;
  line-height: 0.98;
  letter-spacing: -0.057em;
}

.biom-shop-h1c .shop-h1-hero__lead {
  max-width: 520px;
  margin: 24px 0 0;
  color: rgba(18, 48, 49, 0.92);
  font-size: clamp(17px, 1.35vw, 21px);
  line-height: 1.48;
}

.biom-shop-h1c .shop-h1-hero__context {
  max-width: 480px;
  margin: 17px 0 0;
  color: rgba(48, 75, 72, 0.76);
  font-size: 14px;
  line-height: 1.55;
}

/* Floating search */
.biom-shop-h1c .shop-h1-search-wrap {
  z-index: 4;
  margin-top: -54px;
  padding: 15px 18px 14px;
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.89), rgba(241, 239, 232, 0.88));
  border: 1px solid var(--shop-line-light);
  border-radius: 20px;
  box-shadow: 0 26px 66px rgba(31, 50, 42, 0.13), inset 0 0 0 1px rgba(75, 96, 88, 0.12);
  -webkit-backdrop-filter: blur(18px) saturate(1.08);
  backdrop-filter: blur(18px) saturate(1.08);
}

.biom-shop-h1c .shop-h1-search {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 160px;
  gap: 12px;
}

.biom-shop-h1c .shop-h1-search label {
  min-width: 0;
  min-height: 56px;
  display: grid;
  grid-template-columns: 26px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  padding: 0 18px;
  color: #647d79;
  background: rgba(252, 252, 249, 0.82);
  border: 1px solid rgba(89, 111, 103, 0.25);
  border-radius: 13px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.84);
}

.biom-shop-h1c .shop-h1-search input {
  width: 100%;
  min-width: 0;
  height: 54px;
  margin: 0;
  padding: 0;
  color: var(--shop-ink);
  background: transparent;
  border: 0;
  outline: 0;
  box-shadow: none;
  font: 500 15px/1.2 var(--biom-font-ui, "Lato BIOM", "Segoe UI", sans-serif);
}

.biom-shop-h1c .shop-h1-search input::placeholder {
  color: rgba(74, 96, 91, 0.58);
}

.biom-shop-h1c .shop-h1-search button {
  min-height: 56px;
  padding: 12px 24px;
  color: #fff;
  background: linear-gradient(145deg, #0a5557, var(--shop-teal-deep));
  border: 1px solid rgba(3, 45, 49, 0.75);
  border-radius: 13px;
  box-shadow: 0 12px 26px rgba(5, 58, 61, 0.2);
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
}

.biom-shop-h1c .shop-h1-search button:hover {
  background: #096064;
  transform: translateY(-1px);
}

.biom-shop-h1c .shop-h1-search__routes {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px 18px;
  padding: 11px 8px 0;
  color: #7a8c87;
  font-size: 12px;
}

.biom-shop-h1c .shop-h1-search__routes a {
  color: #405c59;
  font-weight: 600;
}

.biom-shop-h1c .shop-h1-search__routes a:hover {
  color: var(--shop-teal);
}

/* Direction navigator */
.biom-shop-h1c .shop-h1-directions {
  display: grid;
  grid-template-columns: minmax(230px, 0.32fr) minmax(0, 0.68fr);
  grid-template-rows: auto minmax(0, 1fr);
  gap: 0 28px;
  margin-top: clamp(28px, 4vw, 54px);
  padding: clamp(24px, 3vw, 42px);
  overflow: hidden;
  background:
    radial-gradient(circle at 85% 20%, rgba(199, 217, 202, 0.28), transparent 34%),
    linear-gradient(140deg, rgba(251, 249, 245, 0.93), rgba(238, 237, 230, 0.88));
  border: 1px solid var(--shop-line-light);
  border-radius: var(--shop-radius);
  box-shadow: var(--shop-shadow), inset 0 0 0 1px var(--shop-line);
}

.biom-shop-h1c .shop-h1-directions__intro {
  grid-column: 1;
  grid-row: 1;
  padding: 2px 4px 24px;
}

.biom-shop-h1c .shop-h1-directions__intro h2,
.biom-shop-h1c .shop-h1-catalog__header h2,
.biom-shop-h1c .shop-h1-review h2,
.biom-shop-h1c .shop-h1-method h2,
.biom-shop-h1c .shop-h1-routes h2 {
  margin: 0;
  color: var(--shop-ink);
  font-size: clamp(30px, 3vw, 46px);
  font-weight: 610;
  line-height: 1.03;
  letter-spacing: -0.047em;
}

.biom-shop-h1c .shop-h1-directions__intro > p:last-child {
  margin: 16px 0 0;
  color: var(--shop-muted);
  font-size: 14px;
  line-height: 1.55;
}

.biom-shop-h1c .shop-h1-directions__nav {
  grid-column: 1;
  grid-row: 2;
  display: grid;
  align-content: start;
}

.biom-shop-h1c .shop-h1-directions__nav a {
  min-height: 53px;
  display: grid;
  grid-template-columns: 31px minmax(0, 1fr) auto 20px;
  align-items: center;
  gap: 10px;
  padding: 8px 5px;
  color: var(--shop-ink);
  border-top: 1px solid rgba(73, 96, 87, 0.16);
  font-size: 14px;
  text-decoration: none;
  transition: padding 160ms ease, color 160ms ease;
}

.biom-shop-h1c .shop-h1-directions__nav a:last-child {
  border-bottom: 1px solid rgba(73, 96, 87, 0.16);
}

.biom-shop-h1c .shop-h1-directions__nav a:hover,
.biom-shop-h1c .shop-h1-directions__nav a[aria-current="page"] {
  padding-left: 11px;
  color: #087076;
  background: linear-gradient(90deg, rgba(188, 215, 201, 0.19), transparent);
}

.biom-shop-h1c .shop-h1-directions__number {
  color: #6d8781;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.08em;
}

.biom-shop-h1c .shop-h1-directions__label {
  font-weight: 650;
}

.biom-shop-h1c .shop-h1-directions__nav small {
  color: #8b9a96;
  font-size: 10px;
}

.biom-shop-h1c .shop-h1-feature {
  position: relative;
  grid-column: 2;
  grid-row: 1 / span 2;
  min-height: 520px;
  overflow: hidden;
  color: #fff;
  background: #a8b9ae;
  border: 1px solid rgba(255, 255, 255, 0.75);
  border-radius: 18px;
  box-shadow: 0 22px 54px rgba(30, 49, 40, 0.18);
  isolation: isolate;
}

.biom-shop-h1c .shop-h1-feature > img {
  position: absolute;
  z-index: -3;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: 50% 50%;
  transition: transform 500ms ease;
}

.biom-shop-h1c .shop-h1-feature:hover > img {
  transform: scale(1.025);
}

.biom-shop-h1c .shop-h1-feature__veil {
  position: absolute;
  z-index: -2;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(0, 34, 36, 0.06) 22%, rgba(0, 38, 41, 0.18) 54%, rgba(0, 34, 36, 0.92) 100%),
    linear-gradient(90deg, rgba(2, 43, 45, 0.36), transparent 65%);
}

.biom-shop-h1c .shop-h1-feature__copy {
  position: absolute;
  inset: auto 0 0;
  display: grid;
  gap: 9px;
  padding: clamp(24px, 4vw, 52px);
}

.biom-shop-h1c .shop-h1-feature__copy small {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}

.biom-shop-h1c .shop-h1-feature__copy strong {
  font-size: clamp(30px, 3.4vw, 52px);
  font-weight: 610;
  line-height: 1;
  letter-spacing: -0.045em;
}

.biom-shop-h1c .shop-h1-feature__copy > span {
  max-width: 590px;
  color: rgba(255, 255, 255, 0.84);
  font-size: 15px;
  line-height: 1.5;
}

.biom-shop-h1c .shop-h1-feature__copy b {
  width: max-content;
  margin-top: 6px;
  padding-bottom: 7px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.46);
  font-size: 13px;
  font-weight: 700;
}

.biom-shop-h1c .shop-h1-feature__copy i {
  margin-left: 8px;
  font-style: normal;
}

/* Catalog */
.biom-shop-h1c .shop-h1-catalog {
  margin-top: clamp(28px, 4vw, 58px);
}

.biom-shop-h1c .shop-h1-catalog > .container {
  padding: clamp(24px, 3.2vw, 44px);
  background:
    radial-gradient(circle at 100% 0%, rgba(205, 221, 208, 0.2), transparent 32%),
    linear-gradient(150deg, rgba(250, 248, 244, 0.93), rgba(239, 237, 231, 0.9));
  border: 1px solid var(--shop-line-light);
  border-radius: var(--shop-radius);
  box-shadow: var(--shop-shadow-soft), inset 0 0 0 1px var(--shop-line);
}

.biom-shop-h1c .shop-h1-catalog__header {
  display: grid;
  grid-template-columns: minmax(0, 0.62fr) minmax(280px, 0.38fr);
  align-items: end;
  gap: 40px;
  margin-bottom: 28px;
}

.biom-shop-h1c .shop-h1-catalog__header > p {
  max-width: 520px;
  margin: 0 0 4px;
  color: var(--shop-muted);
  font-size: 14px;
  line-height: 1.55;
}

.biom-shop-h1c .catalog-shell {
  display: grid;
  grid-template-columns: 238px minmax(0, 1fr);
  align-items: start;
  gap: 28px;
}

.biom-shop-h1c .filter-panel {
  position: sticky;
  top: 20px;
  overflow: hidden;
  background: rgba(252, 251, 247, 0.72);
  border: 1px solid rgba(75, 96, 88, 0.18);
  border-radius: 16px;
  box-shadow: 0 14px 32px rgba(39, 54, 47, 0.06);
}

.biom-shop-h1c .filter-panel__head {
  min-height: 58px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 18px;
  border-bottom: 1px solid rgba(75, 96, 88, 0.16);
}

.biom-shop-h1c .filter-panel__head h3 {
  margin: 0;
  color: var(--shop-ink);
  font-size: 16px;
  font-weight: 700;
}

.biom-shop-h1c .filter-panel__close {
  display: none;
}

.biom-shop-h1c .filter-group {
  margin: 0;
  padding: 15px 18px 17px;
  border: 0;
  border-bottom: 1px solid rgba(75, 96, 88, 0.13);
}

.biom-shop-h1c .filter-group legend {
  width: 100%;
  margin: 0 0 10px;
  padding: 0;
  color: var(--shop-ink);
  font-size: 12px;
  font-weight: 700;
}

.biom-shop-h1c .filter-group label {
  min-width: 0;
  display: grid;
  grid-template-columns: 17px minmax(0, 1fr) auto;
  align-items: center;
  gap: 9px;
  margin-top: 9px;
  color: #506965;
  font-size: 12px;
  cursor: pointer;
}

.biom-shop-h1c .filter-group input[type="checkbox"],
.biom-shop-h1c .filter-group input[type="radio"] {
  width: 16px;
  height: 16px;
  margin: 0;
  accent-color: var(--shop-teal);
}

.biom-shop-h1c .filter-group small {
  color: #8a9b97;
  font-size: 10px;
}

.biom-shop-h1c .filter-price {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.biom-shop-h1c .filter-price label {
  display: grid;
  grid-template-columns: 1fr;
  gap: 5px;
}

.biom-shop-h1c .filter-price input {
  width: 100%;
  min-height: 40px;
  padding: 7px 9px;
  background: rgba(255, 255, 255, 0.76);
  border: 1px solid var(--shop-line);
  border-radius: 9px;
}

.biom-shop-h1c .filter-actions {
  display: grid;
  gap: 8px;
  padding: 16px 18px 18px;
}

.biom-shop-h1c .filter-actions .button-primary {
  min-height: 42px;
  padding: 9px 14px;
  color: #fff;
  background: var(--shop-teal);
  border: 1px solid var(--shop-teal);
  border-radius: 9px;
  font-weight: 700;
}

.biom-shop-h1c .filter-actions a {
  min-height: 38px;
  display: grid;
  place-items: center;
  color: var(--shop-teal);
  font-size: 12px;
  font-weight: 700;
}

.biom-shop-h1c .catalog-results {
  min-width: 0;
}

.biom-shop-h1c .catalog-toolbar {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: 20px;
  margin-bottom: 20px;
  padding-bottom: 16px;
  border-bottom: 1px solid rgba(75, 96, 88, 0.15);
}

.biom-shop-h1c .catalog-toolbar__summary,
.biom-shop-h1c .catalog-toolbar__tools {
  display: flex;
  align-items: center;
  gap: 12px;
}

.biom-shop-h1c .catalog-toolbar__summary {
  min-width: 0;
  flex-wrap: wrap;
}

.biom-shop-h1c .result-count,
.biom-shop-h1c .result-count p {
  margin: 0;
  color: #5b716d;
  font-size: 12px;
  font-weight: 600;
}

.biom-shop-h1c .active-filters {
  min-width: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.biom-shop-h1c .active-filters a {
  min-height: 30px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 5px 10px;
  color: var(--shop-teal);
  background: rgba(191, 217, 204, 0.3);
  border: 1px solid rgba(71, 112, 103, 0.12);
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
}

.biom-shop-h1c .catalog-toolbar__tools {
  flex: 0 0 auto;
}

.biom-shop-h1c .filter-open {
  display: none;
  align-items: center;
  gap: 7px;
  min-height: 42px;
  padding: 8px 12px;
  color: var(--shop-teal);
  background: rgba(255, 255, 255, 0.72);
  border: 1px solid var(--shop-line);
  border-radius: 10px;
  font-size: 12px;
  font-weight: 700;
}

.biom-shop-h1c .sort-control {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #6c7d79;
  font-size: 11px;
}

.biom-shop-h1c .woocommerce-ordering {
  margin: 0;
}

.biom-shop-h1c .woocommerce-ordering select {
  min-height: 42px;
  margin: 0;
  padding: 8px 32px 8px 11px;
  color: var(--shop-ink);
  background-color: rgba(255, 255, 255, 0.75);
  border: 1px solid var(--shop-line);
  border-radius: 10px;
  font: 600 11px/1.2 var(--biom-font-ui, "Lato BIOM", "Segoe UI", sans-serif);
}

.biom-shop-h1c .catalog-results ul.products {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
  gap: 18px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.biom-shop-h1c .catalog-results ul.products::before,
.biom-shop-h1c .catalog-results ul.products::after {
  display: none;
}

.biom-shop-h1c .catalog-results ul.products > li.product {
  width: auto;
  min-width: 0;
  float: none;
  margin: 0;
  padding: 0;
  background: transparent;
}

.biom-shop-h1c .sp-product-card {
  height: 100%;
  overflow: hidden;
  background:
    radial-gradient(circle at 100% 0%, rgba(201, 220, 205, 0.22), transparent 30%),
    linear-gradient(150deg, rgba(255, 255, 255, 0.87), rgba(243, 241, 234, 0.91));
  border: 1px solid rgba(255, 255, 255, 0.82);
  border-radius: 16px;
  box-shadow: 0 14px 34px rgba(34, 53, 45, 0.08), inset 0 0 0 1px rgba(75, 96, 88, 0.11);
  transition: transform 180ms ease, box-shadow 180ms ease;
}

.biom-shop-h1c .sp-product-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 20px 46px rgba(34, 53, 45, 0.13), inset 0 0 0 1px rgba(75, 96, 88, 0.13);
}

.biom-shop-h1c .sp-product-card__media {
  position: relative;
  display: block;
  aspect-ratio: 1 / 0.92;
  margin: 8px 8px 0;
  overflow: hidden;
  background: #e6ebe4;
  border-radius: 12px;
}

.biom-shop-h1c .sp-product-card__media img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  transition: transform 420ms ease;
}

.biom-shop-h1c .sp-product-card:hover .sp-product-card__media img {
  transform: scale(1.025);
}

.biom-shop-h1c .sp-product-card__body {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  gap: 10px;
  min-height: 238px;
  padding: 15px 16px 17px;
}

.biom-shop-h1c .sp-product-card__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 5px 9px;
  color: #58827b;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

.biom-shop-h1c .sp-product-card__meta a,
.biom-shop-h1c .sp-product-card__meta span {
  color: inherit;
}

.biom-shop-h1c .sp-product-card__title {
  margin: 0;
  color: var(--shop-ink);
  font-size: clamp(15px, 1.18vw, 18px);
  font-weight: 650;
  line-height: 1.19;
  letter-spacing: -0.027em;
}

.biom-shop-h1c .sp-product-card__title a {
  color: inherit;
}

.biom-shop-h1c .sp-product-card__description {
  display: block;
  overflow: visible;
  margin: 0;
  color: #657a76;
  font-size: 11px;
  line-height: 1.45;
}

.biom-shop-h1c .sp-product-card__buy {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 10px;
  margin-top: auto;
}

.biom-shop-h1c .sp-product-card__price,
.biom-shop-h1c .sp-product-card__price .price,
.biom-shop-h1c .sp-product-card__price .amount {
  color: var(--shop-ink);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.25;
}

.biom-shop-h1c .biom-catalog-card__stock {
  display: block;
  margin-top: 4px;
  color: #4e8274;
  font-size: 9px;
  font-weight: 650;
}

.biom-shop-h1c .sp-product-card__buy .button,
.biom-shop-h1c .sp-product-card__buy .added_to_cart {
  min-width: 42px;
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 9px 12px;
  color: #fff;
  background: var(--shop-teal);
  border: 1px solid var(--shop-teal);
  border-radius: 10px;
  box-shadow: 0 9px 20px rgba(3, 57, 60, 0.14);
  font-size: 11px;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
}

.biom-shop-h1c .sp-product-card__buy .button:hover,
.biom-shop-h1c .sp-product-card__buy .added_to_cart:hover {
  background: #096266;
  border-color: #096266;
}

.biom-shop-h1c .woocommerce-pagination {
  margin-top: 36px;
}

.biom-shop-h1c .woocommerce-pagination ul.page-numbers {
  display: flex;
  justify-content: center;
  gap: 7px;
  margin: 0;
  padding: 0;
  border: 0;
  list-style: none;
}

.biom-shop-h1c .woocommerce-pagination ul.page-numbers li {
  margin: 0;
  border: 0;
}

.biom-shop-h1c .woocommerce-pagination .page-numbers a,
.biom-shop-h1c .woocommerce-pagination .page-numbers span {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  margin: 0;
  padding: 0;
  color: var(--shop-ink);
  background: rgba(255, 255, 255, 0.76);
  border: 1px solid var(--shop-line);
  border-radius: 10px;
  font-size: 12px;
  font-weight: 700;
}

.biom-shop-h1c .woocommerce-pagination .page-numbers .current {
  color: #fff;
  background: var(--shop-teal);
  border-color: var(--shop-teal);
}

/* Review */
.biom-shop-h1c .shop-h1-review {
  display: grid;
  grid-template-columns: minmax(0, 0.47fr) minmax(0, 0.53fr);
  min-height: 360px;
  margin-top: clamp(28px, 4vw, 58px);
  overflow: hidden;
  background:
    radial-gradient(circle at 85% 18%, rgba(186, 214, 199, 0.29), transparent 34%),
    linear-gradient(145deg, rgba(251, 249, 245, 0.95), rgba(235, 235, 227, 0.9));
  border: 1px solid var(--shop-line-light);
  border-radius: var(--shop-radius);
  box-shadow: var(--shop-shadow), inset 0 0 0 1px var(--shop-line);
}

.biom-shop-h1c .shop-h1-review--catalog {
  min-height: 300px;
  margin: 0 0 clamp(28px, 3vw, 40px);
}

.biom-shop-h1c .shop-h1-review--catalog .shop-h1-review__media img {
  min-height: 286px;
}

.biom-shop-h1c .shop-h1-review__media {
  display: grid;
  grid-template-columns: 1fr 0.78fr;
  gap: 4px;
  min-width: 0;
  padding: 7px 0 7px 7px;
}

.biom-shop-h1c .shop-h1-review__media img {
  width: 100%;
  height: 100%;
  min-height: 346px;
  max-width: none;
  object-fit: cover;
}

.biom-shop-h1c .shop-h1-review__media img:first-child {
  border-radius: 16px 0 0 16px;
}

.biom-shop-h1c .shop-h1-review__media img:last-child {
  border-radius: 0 4px 4px 0;
}

.biom-shop-h1c .shop-h1-review__copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(30px, 5vw, 72px);
}

.biom-shop-h1c .shop-h1-review blockquote {
  margin: 26px 0 16px;
  color: var(--shop-ink);
  font-size: clamp(19px, 2vw, 29px);
  font-weight: 520;
  line-height: 1.35;
  letter-spacing: -0.025em;
}

.biom-shop-h1c .shop-h1-review__copy > p:not(.shop-h1-eyebrow) {
  margin: 0;
  color: var(--shop-muted);
  font-size: 12px;
  line-height: 1.5;
}

.biom-shop-h1c .shop-h1-review__copy > a {
  width: max-content;
  margin-top: 26px;
  padding-bottom: 7px;
  color: var(--shop-teal);
  border-bottom: 1px solid rgba(3, 63, 66, 0.32);
  font-size: 13px;
  font-weight: 700;
}

/* Method strip */
.biom-shop-h1c .shop-h1-method {
  margin-top: clamp(28px, 4vw, 58px);
  padding: clamp(44px, 5.5vw, 76px) 0;
  color: #f5f5ee;
  background:
    radial-gradient(circle at 16% 0%, rgba(48, 116, 105, 0.47), transparent 35%),
    radial-gradient(circle at 88% 100%, rgba(19, 91, 91, 0.38), transparent 31%),
    linear-gradient(135deg, #073b3f, #022b30 62%, #062e34);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.13), inset 0 -1px 0 rgba(255, 255, 255, 0.08);
}

.biom-shop-h1c .shop-h1-method__grid {
  display: grid;
  grid-template-columns: minmax(260px, 0.32fr) minmax(0, 0.68fr);
  gap: clamp(36px, 5vw, 72px);
}

.biom-shop-h1c .shop-h1-method .shop-h1-eyebrow {
  color: #a6d4c9;
}

.biom-shop-h1c .shop-h1-method h2 {
  color: #fff;
  font-size: clamp(30px, 3.1vw, 47px);
}

.biom-shop-h1c .shop-h1-method__intro > p:not(.shop-h1-eyebrow) {
  margin: 22px 0 0;
  color: rgba(235, 244, 238, 0.73);
  font-size: 14px;
  line-height: 1.65;
}

.biom-shop-h1c .shop-h1-method__intro > div {
  display: flex;
  flex-wrap: wrap;
  gap: 14px 22px;
  margin-top: 26px;
}

.biom-shop-h1c .shop-h1-method__intro a {
  color: #dff5ec;
  font-size: 12px;
  font-weight: 700;
}

.biom-shop-h1c .shop-h1-method__steps {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 0;
  padding: 0;
  list-style: none;
}

.biom-shop-h1c .shop-h1-method__steps li {
  min-width: 0;
  padding: 8px clamp(18px, 2.4vw, 34px);
  border-left: 1px solid rgba(224, 241, 234, 0.16);
}

.biom-shop-h1c .shop-h1-method__steps li:last-child {
  border-right: 1px solid rgba(224, 241, 234, 0.16);
}

.biom-shop-h1c .shop-h1-method__steps li > span {
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  margin-bottom: 28px;
  color: #a8ddd0;
  border: 1px solid rgba(177, 224, 211, 0.38);
  border-radius: 50%;
}

.biom-shop-h1c .shop-h1-method__steps small {
  display: block;
  margin-bottom: 9px;
  color: #78aea5;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.12em;
}

.biom-shop-h1c .shop-h1-method__steps strong {
  display: block;
  color: #fff;
  font-size: 14px;
  font-weight: 650;
  line-height: 1.25;
}

.biom-shop-h1c .shop-h1-method__steps p {
  margin: 10px 0 0;
  color: rgba(229, 240, 235, 0.64);
  font-size: 11px;
  line-height: 1.5;
}

/* Useful routes */
.biom-shop-h1c .shop-h1-routes {
  margin-top: clamp(34px, 5vw, 70px);
}

.biom-shop-h1c .shop-h1-routes > header {
  margin-bottom: 24px;
}

.biom-shop-h1c .shop-h1-routes__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.biom-shop-h1c .shop-h1-routes__grid > a {
  position: relative;
  min-height: 320px;
  overflow: hidden;
  color: #fff;
  background: #47615a;
  border: 1px solid rgba(255, 255, 255, 0.78);
  border-radius: 17px;
  box-shadow: 0 18px 42px rgba(34, 51, 44, 0.14);
  isolation: isolate;
}

.biom-shop-h1c .shop-h1-routes__grid > a::after {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  background: linear-gradient(180deg, rgba(2, 38, 39, 0.06) 25%, rgba(2, 40, 41, 0.86) 100%);
}

.biom-shop-h1c .shop-h1-routes__grid img {
  position: absolute;
  z-index: -2;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  transition: transform 500ms ease;
}

.biom-shop-h1c .shop-h1-routes__grid > a:hover img {
  transform: scale(1.03);
}

.biom-shop-h1c .shop-h1-routes__grid > a:nth-child(2) img {
  object-position: 68% 50%;
}

.biom-shop-h1c .shop-h1-routes__grid > a:nth-child(3) img {
  object-position: 35% 50%;
}

.biom-shop-h1c .shop-h1-routes__grid > a > span {
  position: absolute;
  inset: auto 0 0;
  display: grid;
  gap: 8px;
  padding: 26px;
}

.biom-shop-h1c .shop-h1-routes__grid small {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.biom-shop-h1c .shop-h1-routes__grid strong {
  font-size: clamp(23px, 2.2vw, 32px);
  font-weight: 610;
  line-height: 1.05;
  letter-spacing: -0.04em;
}

.biom-shop-h1c .shop-h1-routes__grid b {
  width: max-content;
  margin-top: 6px;
  padding-bottom: 7px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.38);
  font-size: 12px;
  font-weight: 700;
}

/* Notices */
.biom-shop-h1c .woocommerce-notices-wrapper:empty,
.biom-shop-h1c .woocommerce-message:empty,
.biom-shop-h1c .woocommerce-info:empty,
.biom-shop-h1c .woocommerce-error:empty {
  display: none;
}

.biom-shop-h1c .woocommerce-message,
.biom-shop-h1c .woocommerce-info,
.biom-shop-h1c .woocommerce-error {
  margin: 0 0 24px;
  padding: 14px 18px;
  background: rgba(255, 255, 255, 0.86);
  border: 1px solid var(--shop-line);
  border-left: 3px solid var(--shop-teal);
  border-radius: 10px;
  list-style: none;
}

@media (min-width: 1680px) {
  .biom-shop-h1c .shop-h1-hero {
    min-height: 570px;
  }

  .biom-shop-h1c .shop-h1-hero__inner {
    min-height: 570px;
  }

  .biom-shop-h1c .shop-h1-hero__copy {
    width: min(37%, 570px);
  }
}

@media (max-width: 1180px) {
  .biom-shop-h1c .biom-shop-h1-c .container,
  .biom-shop-h1c .biom-shop-h1-c .biom-container {
    width: min(calc(100% - 44px), 1120px);
  }

  .biom-shop-h1c .shop-h1-hero__copy {
    width: min(44%, 520px);
  }

  .biom-shop-h1c .shop-h1-directions {
    grid-template-columns: 1fr;
    grid-template-rows: auto auto auto;
    gap: 22px;
  }

  .biom-shop-h1c .shop-h1-directions__intro,
  .biom-shop-h1c .shop-h1-directions__nav,
  .biom-shop-h1c .shop-h1-feature {
    grid-column: 1;
  }

  .biom-shop-h1c .shop-h1-directions__intro {
    grid-row: 1;
    max-width: 760px;
    padding-bottom: 0;
  }

  .biom-shop-h1c .shop-h1-directions__nav {
    grid-row: 2;
    display: flex;
    gap: 8px;
    padding-bottom: 2px;
    overflow-x: auto;
    scrollbar-width: none;
    -ms-overflow-style: none;
    cursor: grab;
  }

  .biom-shop-h1c .shop-h1-directions__nav.is-drag-scroll-ready {
    /* JS owns only horizontal movement; retain page scroll and pinch zoom. */
    touch-action: pan-y pinch-zoom;
  }

  .biom-shop-h1c .shop-h1-directions__nav.is-dragging,
  .biom-shop-h1c .shop-h1-directions__nav.is-dragging a {
    cursor: grabbing;
    user-select: none;
  }

  .biom-shop-h1c .shop-h1-directions__nav::-webkit-scrollbar {
    display: none;
  }

  .biom-shop-h1c .shop-h1-directions__nav a {
    min-width: max-content;
    min-height: 42px;
    grid-template-columns: 24px auto auto;
    padding: 8px 13px;
    background: rgba(255, 255, 255, 0.58);
    border: 1px solid var(--shop-line);
    border-radius: 999px;
  }

  .biom-shop-h1c .shop-h1-directions__nav a:last-child {
    border-bottom: 1px solid var(--shop-line);
  }

  .biom-shop-h1c .shop-h1-directions__nav a > span:last-child {
    display: none;
  }

  .biom-shop-h1c .shop-h1-feature {
    grid-row: 3;
    min-height: 440px;
  }

  .biom-shop-h1c .catalog-shell {
    grid-template-columns: minmax(0, 1fr);
  }

  .biom-shop-h1c .filter-panel {
    position: fixed;
    z-index: 1002;
    top: 0;
    right: 0;
    bottom: 0;
    width: min(390px, 92vw);
    max-height: none;
    overflow-y: auto;
    border-radius: 18px 0 0 18px;
    box-shadow: -24px 0 70px rgba(20, 34, 29, 0.28);
    transform: translateX(105%);
    transition: transform 220ms ease;
  }

  .biom-shop-h1c .filter-panel.is-open {
    transform: translateX(0);
  }

  .biom-shop-h1c .filter-panel__close {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    padding: 0;
    color: var(--shop-ink);
    background: transparent;
    border: 0;
  }

  .biom-shop-h1c .filter-backdrop {
    position: fixed;
    z-index: 1001;
    inset: 0;
    width: 100%;
    height: 100%;
    padding: 0;
    background: rgba(4, 24, 23, 0.42);
    border: 0;
    -webkit-backdrop-filter: blur(3px);
    backdrop-filter: blur(3px);
  }

  .biom-shop-h1c .filter-backdrop[hidden] {
    display: none;
  }

  .biom-shop-h1c .filter-open {
    display: inline-flex;
  }

  .biom-shop-h1c .catalog-results ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .biom-shop-h1c .shop-h1-method__grid {
    grid-template-columns: 1fr;
  }

  .biom-shop-h1c .shop-h1-method__intro {
    max-width: 780px;
  }

  .biom-shop-h1c .shop-h1-method__steps {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0;
  }

  .biom-shop-h1c .shop-h1-method__steps li {
    padding-block: 24px;
    border-top: 1px solid rgba(224, 241, 234, 0.16);
  }

  .biom-shop-h1c .shop-h1-method__steps li > span {
    margin-bottom: 18px;
  }
}

/* The existing commerce drawer activates at 960px; retain the sidebar above it. */
@media (min-width: 961px) and (max-width: 1180px) {
  .biom-shop-h1c .catalog-shell {
    grid-template-columns: 220px minmax(0, 1fr);
    gap: 24px;
  }

  .biom-shop-h1c .filter-panel {
    position: sticky;
    z-index: auto;
    top: 20px;
    right: auto;
    bottom: auto;
    width: auto;
    overflow: hidden;
    visibility: visible;
    border-width: 1px;
    border-radius: 16px;
    box-shadow: 0 14px 32px rgba(39, 54, 47, 0.06);
    transform: none;
  }

  .biom-shop-h1c .filter-panel__close,
  .biom-shop-h1c .filter-open {
    display: none;
  }
}

@media (max-width: 960px) {
  .biom-shop-h1c .filter-panel {
    background: #fcfbf7;
  }
}

@media (max-width: 900px) {
  .biom-shop-h1c .site-header .container {
    width: calc(100% - 32px);
  }

  .biom-shop-h1c .shop-h1-hero {
    min-height: 510px;
  }

  .biom-shop-h1c .shop-h1-hero__inner {
    min-height: 510px;
  }

  .biom-shop-h1c .shop-h1-hero__copy {
    width: 48%;
  }

  .biom-shop-h1c .shop-h1-catalog__header {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .biom-shop-h1c .shop-h1-review {
    grid-template-columns: 1fr;
  }

  .biom-shop-h1c .shop-h1-review__media {
    min-height: 310px;
    padding: 7px 7px 0;
  }

  .biom-shop-h1c .shop-h1-review__media img {
    min-height: 310px;
  }

  .biom-shop-h1c .shop-h1-review__media img:first-child {
    border-radius: 16px 0 0 4px;
  }

  .biom-shop-h1c .shop-h1-review__media img:last-child {
    border-radius: 0 16px 4px 0;
  }

  .biom-shop-h1c .shop-h1-review__copy {
    padding: 34px;
  }

  .biom-shop-h1c .shop-h1-routes__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .biom-shop-h1c .shop-h1-routes__grid > a:last-child {
    grid-column: 1 / -1;
  }
}

@media (max-width: 760px) {
  .biom-shop-h1c .site-header {
    height: 68px;
  }

  .biom-shop-h1c .site-header .container {
    width: calc(100% - 24px);
  }

  .biom-shop-h1c .biom-shop-h1-c .container,
  .biom-shop-h1c .biom-shop-h1-c .biom-container {
    width: min(calc(100% - 24px), 720px);
  }

  .shop-h1-eyebrow {
    margin-bottom: 10px;
    font-size: 10px;
    letter-spacing: 0.13em;
  }

  .biom-shop-h1c .shop-h1-hero {
    min-height: 690px;
    display: grid;
    align-items: start;
    background: #f1eee8;
  }

  .biom-shop-h1c .shop-h1-hero__media,
  .biom-shop-h1c .shop-h1-hero__media img {
    top: auto;
    bottom: 0;
    height: 405px;
  }

  .biom-shop-h1c .shop-h1-hero__media img {
    object-position: 50% 72%;
    filter: saturate(0.8) brightness(1.05) contrast(0.91);
  }

  .biom-shop-h1c .shop-h1-hero::before {
    background:
      linear-gradient(180deg, rgba(244, 242, 237, 1) 0 32%, rgba(242, 240, 234, 0.97) 38%, rgba(240, 238, 232, 0.56) 54%, rgba(4, 30, 29, 0.05) 78%, rgba(4, 27, 26, 0.12) 100%);
  }

  .biom-shop-h1c .shop-h1-hero::after {
    height: 92px;
  }

  .biom-shop-h1c .shop-h1-hero__inner {
    min-height: 0;
    display: block;
  }

  .biom-shop-h1c .shop-h1-hero__copy {
    width: 100%;
    padding: 38px 0 0;
  }

  .biom-shop-h1c .shop-h1-hero h1 {
    max-width: none;
    font-size: clamp(40px, 12vw, 58px);
    line-height: 0.98;
  }

  .biom-shop-h1c .shop-h1-hero__lead {
    max-width: 600px;
    margin-top: 17px;
    font-size: 17px;
    line-height: 1.42;
  }

  .biom-shop-h1c .shop-h1-hero__context {
    display: none;
  }

  .biom-shop-h1c .shop-h1-search-wrap {
    margin-top: -42px;
    padding: 11px;
    border-radius: 17px;
  }

  .biom-shop-h1c .shop-h1-search {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .biom-shop-h1c .shop-h1-search label,
  .biom-shop-h1c .shop-h1-search input {
    min-height: 52px;
    height: 52px;
  }

  .biom-shop-h1c .shop-h1-search button {
    min-height: 50px;
  }

  .biom-shop-h1c .shop-h1-search__routes {
    flex-wrap: nowrap;
    gap: 13px;
    padding: 10px 3px 2px;
    overflow-x: auto;
    white-space: nowrap;
    scrollbar-width: none;
    -ms-overflow-style: none;
  }

  .biom-shop-h1c .shop-h1-search__routes::-webkit-scrollbar {
    display: none;
  }

  .biom-shop-h1c .shop-h1-search__routes span {
    display: none;
  }

  .biom-shop-h1c .shop-h1-directions,
  .biom-shop-h1c .shop-h1-catalog > .container {
    padding: 22px 15px;
    border-radius: 18px;
  }

  .biom-shop-h1c .shop-h1-directions__intro h2,
  .biom-shop-h1c .shop-h1-catalog__header h2,
  .biom-shop-h1c .shop-h1-review h2,
  .biom-shop-h1c .shop-h1-method h2,
  .biom-shop-h1c .shop-h1-routes h2 {
    font-size: clamp(30px, 9vw, 40px);
  }

  .biom-shop-h1c .shop-h1-directions__intro > p:last-child,
  .biom-shop-h1c .shop-h1-catalog__header > p {
    font-size: 15px;
  }

  .biom-shop-h1c .shop-h1-feature {
    min-height: 420px;
  }

  .biom-shop-h1c .shop-h1-feature__copy {
    padding: 24px 21px;
  }

  .biom-shop-h1c .shop-h1-feature__copy strong {
    font-size: 34px;
  }

  .biom-shop-h1c .shop-h1-feature__copy > span {
    font-size: 15px;
  }

  .biom-shop-h1c .catalog-toolbar {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .biom-shop-h1c .catalog-toolbar__tools {
    justify-content: space-between;
  }

  .biom-shop-h1c .sort-control > span {
    display: none;
  }

  .biom-shop-h1c .catalog-results ul.products {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .biom-shop-h1c .sp-product-card {
    display: flex;
    flex-direction: column;
    min-height: 0;
  }

  .biom-shop-h1c .sp-product-card__media {
    height: auto;
    min-height: 0;
    flex-shrink: 0;
    margin: 8px 8px 0;
    aspect-ratio: 1 / 0.92;
  }

  .biom-shop-h1c .sp-product-card__body {
    min-height: 0;
    padding: 15px 14px;
  }

  .biom-shop-h1c .sp-product-card__title {
    font-size: 16px;
  }

  .biom-shop-h1c .sp-product-card__description {
    font-size: 11px;
  }

  .biom-shop-h1c .sp-product-card__buy {
    grid-template-columns: 1fr;
    align-items: stretch;
  }

  .biom-shop-h1c .sp-product-card__buy .button,
  .biom-shop-h1c .sp-product-card__buy .added_to_cart {
    min-height: 40px;
    width: 100%;
  }

  .biom-shop-h1c .shop-h1-review {
    border-radius: 18px;
  }

  .biom-shop-h1c .shop-h1-review__media {
    min-height: 250px;
  }

  .biom-shop-h1c .shop-h1-review__media img {
    min-height: 250px;
  }

  .biom-shop-h1c .shop-h1-review__copy {
    padding: 28px 21px 31px;
  }

  .biom-shop-h1c .shop-h1-review blockquote {
    margin-top: 20px;
    font-size: 20px;
  }

  .biom-shop-h1c .shop-h1-method {
    padding: 46px 0;
  }

  .biom-shop-h1c .shop-h1-method__grid {
    gap: 28px;
  }

  .biom-shop-h1c .shop-h1-method__intro > p:not(.shop-h1-eyebrow) {
    font-size: 15px;
  }

  .biom-shop-h1c .shop-h1-method__steps {
    grid-template-columns: 1fr;
  }

  .biom-shop-h1c .shop-h1-method__steps li,
  .biom-shop-h1c .shop-h1-method__steps li:last-child {
    display: grid;
    grid-template-columns: 46px 34px minmax(0, 1fr);
    align-items: center;
    gap: 12px;
    padding: 18px 0;
    border-right: 0;
    border-left: 0;
  }

  .biom-shop-h1c .shop-h1-method__steps li > span,
  .biom-shop-h1c .shop-h1-method__steps small {
    margin: 0;
  }

  .biom-shop-h1c .shop-h1-method__steps strong {
    font-size: 15px;
  }

  .biom-shop-h1c .shop-h1-method__steps p {
    grid-column: 3;
    margin-top: -4px;
    font-size: 12px;
  }

  .biom-shop-h1c .shop-h1-routes__grid {
    grid-template-columns: 1fr;
  }

  .biom-shop-h1c .shop-h1-routes__grid > a,
  .biom-shop-h1c .shop-h1-routes__grid > a:last-child {
    grid-column: auto;
    min-height: 290px;
  }
}

@media (max-width: 440px) {
  .biom-shop-h1c .shop-h1-hero {
    min-height: 670px;
  }

  .biom-shop-h1c .shop-h1-hero__media,
  .biom-shop-h1c .shop-h1-hero__media img {
    height: 390px;
  }

  .biom-shop-h1c .sp-product-card__body {
    gap: 8px;
    padding: 13px 12px;
  }

  .biom-shop-h1c .sp-product-card__title {
    font-size: 15px;
  }

  .biom-shop-h1c .shop-h1-review__media {
    grid-template-columns: 1fr 0.72fr;
  }
}

@media (prefers-reduced-motion: reduce) {
  .biom-shop-h1c .shop-h1-feature > img,
  .biom-shop-h1c .sp-product-card,
  .biom-shop-h1c .sp-product-card__media img,
  .biom-shop-h1c .shop-h1-routes__grid img,
  .biom-shop-h1c .filter-panel {
    transition: none;
  }
}

/* Audit consolidation 2026-08-20: one typographic and interaction contract for Shop. */
.biom-shop-h1c .shop-h1-hero h1 {
  font-size: var(--biom-type-hero);
  font-weight: 600;
  line-height: 1.02;
  letter-spacing: -0.02em;
}

.biom-shop-h1c :is(
  .shop-h1-directions__intro h2,
  .shop-h1-catalog__header h2,
  .shop-h1-review h2,
  .shop-h1-method h2,
  .shop-h1-routes h2
) {
  font-size: var(--biom-type-section-h2);
  font-weight: 600;
  line-height: 1.12;
  letter-spacing: -0.015em;
}

.biom-shop-h1c :is(
  .shop-h1-hero__lead,
  .shop-h1-hero__context,
  .shop-h1-directions__intro > p:last-child,
  .shop-h1-feature__copy > span,
  .shop-h1-catalog__header > p,
  .sp-product-card__description,
  .shop-h1-review__copy > p:not(.shop-h1-eyebrow),
  .shop-h1-method__intro > p:not(.shop-h1-eyebrow),
  .shop-h1-method__steps p
) {
  font-size: var(--biom-type-body);
  line-height: 1.6;
}

.biom-shop-h1c :where(
  .shop-h1-hero__lead,
  .shop-h1-hero__context,
  .shop-h1-directions__intro > p:last-child,
  .shop-h1-feature__copy > span,
  .shop-h1-catalog__header > p,
  .shop-h1-review__copy > p:not(.shop-h1-eyebrow),
  .shop-h1-method__intro > p:not(.shop-h1-eyebrow)
) {
  max-inline-size: var(--biom-prose-measure);
}

.biom-shop-h1c .sp-product-card__title {
  font-size: max(17px, 1.05rem);
}

.biom-shop-h1c :is(.sp-product-card__price, .sp-product-card__price .price, .sp-product-card__price .amount) {
  font-size: 17px;
}

.biom-shop-h1c :is(
  .shop-h1-search button,
  .shop-h1-search__routes a,
  .shop-h1-directions__nav a,
  .filter-panel__close,
  .filter-actions .button-primary,
  .filter-open,
  .active-filters a,
  .sort-control select,
  .sp-product-card__buy .button,
  .sp-product-card__buy .added_to_cart,
  .woocommerce-pagination .page-numbers a,
  .woocommerce-pagination .page-numbers span,
  .shop-h1-review__copy > a,
  .shop-h1-method__intro a
) {
  min-inline-size: 44px;
  min-block-size: 44px;
}

/*
 * Responsive route pills must keep their content width. The generic touch-target
 * rule above uses the logical min-inline-size property and otherwise overrides
 * the earlier max-content width at <= 1180px, allowing flex items to collapse.
 */
@media (max-width: 1180px) {
  .biom-shop-h1c .shop-h1-directions__nav a {
    flex: 0 0 auto;
    min-inline-size: max-content;
  }
}

.biom-shop-h1c :is(
  .shop-h1-search__routes a,
  .active-filters a,
  .shop-h1-review__copy > a,
  .shop-h1-method__intro a
) {
  display: inline-flex;
  align-items: center;
}

@media (max-width: 767px) {
  .biom-shop-h1c .shop-h1-search__routes {
    padding-inline-end: 34px;
    scroll-padding-inline: 3px 34px;
  }

  .biom-shop-h1c .shop-h1-search__routes a {
    flex: 0 0 auto;
  }

  .biom-shop-h1c :where(.shop-h1-search__routes, .shop-h1-directions__nav) {
    padding-inline-end: 34px;
    -webkit-mask-image: linear-gradient(90deg, #000 0, #000 calc(100% - 34px), transparent 100%);
    mask-image: linear-gradient(90deg, #000 0, #000 calc(100% - 34px), transparent 100%);
  }

  .biom-shop-h1c :is(.sp-product-card__price, .sp-product-card__price .price, .sp-product-card__price .amount) {
    font-size: 16px;
  }

  /* Catalogue copy needs its own mobile rhythm, separate from page prose. */
  body.biom-shop-h1c .sp-product-card .sp-product-card__description {
    font-size: 13.5px;
    line-height: 1.4;
  }

  .woocommerce.biom-shop-h1c ul.products li.product .sp-product-card__title {
    margin: 0;
    padding: 0;
    font-size: 15px;
    line-height: 1.22;
  }

  .biom-shop-h1c .sp-product-card__body {
    padding: 10px;
    gap: 6px;
  }

  .biom-shop-h1c .sp-product-card__meta {
    line-height: 1.3;
    gap: 4px 7px;
  }

  .biom-shop-h1c .sp-product-card__buy {
    gap: 6px;
    padding-top: 4px;
  }

  .woocommerce.biom-shop-h1c ul.products li.product .sp-product-card__buy :is(.button, .added_to_cart) {
    margin: 0;
    font-size: 12px;
    line-height: 1.2;
    min-height: 44px;
  }
}

@media (max-width: 760px) {
  .biom-shop-h1c .biom-shop-h1-c .shop-h1-catalog > .biom-container {
    width: calc(100% - 16px);
    margin-inline: auto;
    padding: 16px 10px;
  }

  .biom-shop-h1c .catalog-results ul.products {
    gap: 10px;
  }

  body.biom-shop-h1c {
    min-width: 0;
  }

  .biom-shop-h1c .catalog-toolbar {
    grid-template-columns: minmax(0, 1fr);
  }

  .biom-shop-h1c .catalog-toolbar__tools {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 8px;
  }

  .biom-shop-h1c .sort-control,
  .biom-shop-h1c .sort-control .woocommerce-ordering,
  .biom-shop-h1c .sort-control select {
    min-width: 0;
    width: 100%;
  }

  .biom-shop-h1c .sort-control {
    grid-column: auto;
  }
}

/* Preserve the full product photograph within the shared mobile media slot. */
@media (max-width: 760px) {
  .woocommerce.biom-shop-h1c .sp-product-card.biom-catalog-card--ordinary .sp-product-card__media img {
    object-fit: contain;
    transform: none;
  }

  .biom-shop-h1c .biom-catalog-card--ordinary .biom-catalog-card__stock .stock {
    position: static;
    display: inline-block;
    margin: 0;
    padding: 0;
    border: 0;
    background: none;
    box-shadow: none;
    font-size: 11px;
    line-height: 1.3;
  }
}

/* Publication refinement: keep selected catalogue routes compact. */
.biom-shop-h1c .biom-shop-focused .shop-h1-hero { min-height: 260px; }
.biom-shop-h1c .biom-shop-focused .shop-h1-hero__inner { min-height: 260px; padding-top: 42px; padding-bottom: 42px; }
.biom-shop-h1c .biom-shop-focused .shop-h1-hero__media { opacity: .23; }
.biom-shop-h1c .biom-shop-focused .shop-h1-hero__copy { width: min(100%, 850px); max-width: 850px; padding: 0 0 34px; }
.biom-shop-h1c .biom-shop-focused .shop-h1-hero h1 { max-width: none; font-size: clamp(34px, 4vw, 54px); line-height: 1.08; }
.biom-shop-h1c .biom-shop-focused .shop-h1-hero__lead { max-width: 760px; margin-top: 18px; }
.biom-shop-h1c .biom-shop-focused .shop-h1-hero__context { display: none; }
.biom-shop-h1c .shop-h1-hero__series { display: inline-block; margin: 14px 0 0; padding: 6px 12px; border: 1px solid #b9d0c7; border-radius: 8px; background: rgba(255,255,255,.62); color: #074d49; font-size: 14px; font-weight: 700; }
.biom-shop-h1c .filter-series__options { max-height: 320px; overflow-y: auto; padding-right: 4px; scrollbar-width: thin; }
.biom-shop-h1c .biom-shop-devices .shop-h1-hero { background: linear-gradient(115deg, #e0e9df, #f8f5ed); }
.biom-shop-h1c .biom-shop-devices .shop-h1-hero__copy { max-width: 850px; }
.biom-shop-h1c .biom-shop-devices .shop-h1-hero__copy .button-primary { display: inline-flex; margin-top: 18px; padding: 12px 20px; border-radius: 10px; background: #073f42; color: #fff; text-decoration: none; }
.biom-shop-h1c .filter-group__hint { font-size: 12px; line-height: 1.4; margin: 0 0 12px; color: #5f7370; }
.biom-shop-h1c .biom-catalog-card__volume { display: block; font-size: 14px; font-weight: 400; color: #5f7370; margin-bottom: 4px; }
.biom-shop-h1c .biom-device-comparison { padding-top: 30px; padding-bottom: 64px; scroll-margin-top: 110px; }
.biom-shop-h1c .biom-device-comparison h2 { font-size: clamp(28px, 3.4vw, 46px); line-height: 1.15; margin: 10px 0 18px; }
.biom-shop-h1c .biom-device-comparison__intro { max-width: 780px; margin-bottom: 28px; }
.biom-shop-h1c .biom-device-comparison table { table-layout: fixed; width: 100%; border-collapse: collapse; background: rgba(255,255,255,.45); }
.biom-shop-h1c .biom-device-comparison th,
.biom-shop-h1c .biom-device-comparison td { padding: 18px; text-align: left; vertical-align: top; border-bottom: 1px solid #cdd9d1; line-height: 1.5; overflow-wrap: anywhere; }
.biom-shop-h1c .biom-device-comparison th:first-child,
.biom-shop-h1c .biom-device-comparison td:first-child { width: 24%; }
.biom-shop-h1c .biom-device-comparison thead { background: #dfe9e0; }
.biom-shop-h1c .biom-device-comparison a { color: #074d49; text-underline-offset: 4px; }
.biom-shop-h1c .biom-device-comparison__contact { margin-top: 22px; }
@media (max-width: 760px) {
  .biom-shop-h1c .biom-shop-focused .shop-h1-hero,
  .biom-shop-h1c .biom-shop-focused .shop-h1-hero__inner { min-height: 0; }
  .biom-shop-h1c .biom-shop-focused .shop-h1-hero__inner { padding-top: 28px; padding-bottom: 28px; }
  .biom-shop-h1c .biom-shop-focused .shop-h1-hero__context { display: none; }
  .biom-shop-h1c .biom-shop-focused .shop-h1-hero__copy { width: 100%; max-width: none; }
  .biom-shop-h1c .biom-device-comparison th,
  .biom-shop-h1c .biom-device-comparison td { padding: 12px 8px; font-size: 13px; line-height: 1.45; }
  .biom-shop-h1c .biom-device-comparison th:first-child,
  .biom-shop-h1c .biom-device-comparison td:first-child { width: 25%; }
  .biom-shop-h1c .biom-device-comparison tr { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .biom-shop-h1c .biom-device-comparison th,
  .biom-shop-h1c .biom-device-comparison td { width: auto; font-size: 15px; }
  .biom-shop-h1c .biom-device-comparison tbody th,
  .biom-shop-h1c .biom-device-comparison tbody th:first-child { grid-column: 1 / -1; width: auto; padding-bottom: 4px; border-bottom: 0; color: #5f7370; font-size: 13px; }
  .biom-shop-h1c .biom-device-comparison thead td { display: none; }
  .biom-shop-h1c .biom-device-comparison thead th { width: auto; }
}

/* Keep the fixed filter drawer above the catalogue search stacking context. */
@media (max-width: 1100px) {
  body.biom-shop-h1c.biom-filter-drawer-open .shop-h1-catalog { z-index: 1100; }
}
