@import url("https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Newsreader:ital,opsz,wght@1,6..72,500&display=swap");

.l4d-home-page {
  --he-query-ink: #17352f;
  --he-query-green: #315f57;
  --he-query-green-dark: #244b44;
  --he-query-lime: #8aa35f;
  --he-query-orange: #dc8b43;
  --he-query-sage: #eff3e9;
  --he-query-paper: #fbfaf6;
  --he-query-line: rgba(23, 53, 47, .13);
  --he-query-muted: #687b75;
  width: 100%;
  overflow: hidden;
  background: var(--he-query-paper);
  color: var(--he-query-ink);
  font-family: "DM Sans", Arial, sans-serif;
}

.l4d-home-page *,
.l4d-home-page *::before,
.l4d-home-page *::after { box-sizing: border-box; }
.l4d-home-page :where(h1, h2, p) { margin-top: 0; }
.l4d-home-page :where(a) { color: inherit; text-decoration: none; }
.l4d-home-page :where(button, input, select) { font: inherit; }
.l4d-home-page :where(button, input, select) { color-scheme: light; }
.l4d-home-page button { -webkit-appearance: none; appearance: none; }
.l4d-home-page svg { display: block; }
.he-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.he-query-hero {
  position: relative;
  min-height: 590px;
  padding: clamp(72px, 8vw, 120px) clamp(24px, 7vw, 110px);
  isolation: isolate;
  overflow: hidden;
  background-color: #f2eee5;
  background-image: url("assets/wellness-search-hero-1600.webp");
  background-position: center;
  background-size: cover;
}

@media (max-width:600px) {
  .he-query-hero { background-image:url("assets/wellness-search-hero-768.webp"); }
}

.he-query-hero-overlay {
  position: absolute;
  z-index: -1;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(251, 250, 246, .56), rgba(251, 250, 246, .78) 34%, rgba(251, 250, 246, .78) 66%, rgba(251, 250, 246, .5)),
    linear-gradient(rgba(255,255,255,.08), rgba(255,255,255,.08));
}

.he-query-hero-inner { width: min(1380px, 100%); margin: 0 auto; text-align: center; }
.he-query-kicker {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin-bottom: 22px;
  color: var(--he-query-lime);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .15em;
  text-transform: uppercase;
}
.he-query-kicker > span { width: 28px; height: 1px; background: currentColor; }
.he-query-hero h1 {
  max-width: 1120px;
  margin: 0 auto;
  font-size: clamp(45px, 5.5vw, 83px);
  font-weight: 600;
  letter-spacing: -.06em;
  line-height: 1.02;
}
.he-query-hero h1 em {
  color: var(--he-query-orange);
  font-family: "Newsreader", Georgia, serif;
  font-weight: 500;
}
.he-query-intro {
  max-width: 640px;
  margin: 25px auto 36px;
  color: var(--he-query-muted);
  font-size: 14px;
  line-height: 1.7;
}
.he-shop-search { width: min(1200px, 100%); margin: 0 auto; }
.he-search-control {
  display: flex;
  align-items: center;
  min-height: 68px;
  padding: 7px 8px 7px 24px;
  border: 1px solid rgba(255,255,255,.8);
  border-radius: 999px;
  background: rgba(255,255,255,.9);
  box-shadow: 0 18px 45px rgba(32, 54, 45, .1);
  backdrop-filter: blur(12px);
}
.he-search-icon { flex: 0 0 auto; margin-right: 13px; color: var(--he-query-green); }
.he-search-icon svg { width: 20px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-width: 1.6; }
.he-search-control input {
  flex: 1;
  min-width: 0;
  height: 50px;
  padding: 0;
  border: 0;
  outline: 0;
  background: transparent;
  color: var(--he-query-ink);
  font-size: 13px;
}
.he-search-control input::placeholder { color: #7d8985; opacity: 1; }
.he-search-control button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 25px;
  flex: 0 0 auto;
  min-width: 196px;
  min-height: 52px;
  padding: 0 22px;
  border: 0;
  border-radius: 999px;
  background: var(--he-query-green);
  color: #fff;
  cursor: pointer;
  font-size: 11px;
  font-weight: 700;
  transition: background .2s ease, transform .2s ease;
}
.he-search-control button:hover { background: var(--he-query-green-dark); transform: translateY(-1px); }
.he-search-control button span { font-size: 15px; }
.l4d-home-page .he-search-control > button[type="submit"],
.l4d-home-page .he-search-control > button[type="submit"]:link,
.l4d-home-page .he-search-control > button[type="submit"]:visited {
  border-color:var(--he-query-green) !important;
  background:var(--he-query-green) !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
}
.l4d-home-page .he-search-control > button[type="submit"]:hover,
.l4d-home-page .he-search-control > button[type="submit"]:focus,
.l4d-home-page .he-search-control > button[type="submit"]:focus-visible,
.l4d-home-page .he-search-control > button[type="submit"]:active {
  border-color:var(--he-query-green-dark) !important;
  background:var(--he-query-green-dark) !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
}
.l4d-home-page .he-search-control > button[type="submit"] span {
  color:inherit !important;
  -webkit-text-fill-color:inherit !important;
}
.he-filter-controls { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-top: 14px; }
.he-filter-controls label { position: relative; }
.he-filter-controls select {
  width: 100%;
  min-height: 50px;
  padding: 0 48px 0 19px;
  border: 1px solid rgba(255,255,255,.82);
  border-radius: 999px;
  outline: 0;
  appearance: none;
  background: rgba(255,255,255,.88);
  color: var(--he-query-ink);
  cursor: pointer;
  font-size: 11px;
  font-weight: 600;
  box-shadow: 0 12px 34px rgba(32, 54, 45, .07);
  backdrop-filter: blur(10px);
}
.l4d-home-page :where(.he-search-control input,.he-search-control button,.he-filter-controls select,.he-view-more,.he-read-more,.he-add-to-cart,.he-remove-from-basket,.he-faq-list summary):focus { outline:none !important; }
.l4d-home-page :where(.he-search-control input,.he-search-control button,.he-filter-controls select,.he-view-more,.he-read-more,.he-add-to-cart,.he-remove-from-basket,.he-faq-list summary):focus-visible { outline:2px solid var(--he-query-lime) !important; outline-offset:3px; box-shadow:none !important; }
.l4d-home-page .he-filter-controls select:focus { border-color:var(--he-query-green); box-shadow:0 0 0 2px rgba(49,95,87,.14); }
.he-filter-controls label > svg {
  position: absolute;
  top: 50%;
  right: 18px;
  width: 17px;
  fill: none;
  stroke: var(--he-query-green);
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.5;
  pointer-events: none;
  transform: translateY(-50%);
}
.he-search-preview-status {
  width: fit-content;
  margin: 14px auto 0;
  padding: 8px 13px;
  border-radius: 999px;
  background: rgba(255,255,255,.85);
  color: var(--he-query-green);
  font-size: 10px;
  font-weight: 600;
}

.he-new-products {
  padding: clamp(72px, 8vw, 120px) clamp(24px, 5vw, 78px);
  background: var(--he-query-paper);
}
.l4d-home-page .he-combo-products[hidden] { display:none !important; }
.he-new-products-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 35px;
  width: min(1420px, 100%);
  margin: 0 auto 40px;
}
.he-new-products-heading .he-query-kicker {
  justify-content: flex-start;
  margin-bottom: 13px;
}
.he-new-products-heading h2,
.he-faq-heading h2 {
  margin-bottom: 9px;
  font-size: clamp(38px, 4.2vw, 61px);
  font-weight: 600;
  letter-spacing: -.058em;
  line-height: 1.04;
}
.he-new-products-heading > div > p:last-child,
.he-faq-heading > p:last-child {
  margin-bottom: 0;
  color: var(--he-query-muted);
  font-size: 12px;
}
.he-view-more {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  flex: 0 0 auto;
  min-width: 150px;
  min-height: 48px;
  padding: 0 18px;
  border: 1px solid var(--he-query-line);
  border-radius: 999px;
  font-size: 10px;
  font-weight: 700;
  transition: background .2s ease, color .2s ease, transform .2s ease;
}
.he-view-more:hover {
  background: var(--he-query-green);
  color: #fff;
  transform: translateY(-2px);
}
.he-view-more span { font-size: 15px; }
.he-new-products-rail {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 14px;
  width: min(1420px, 100%);
  margin: 0 auto;
}
.he-new-product-card { min-width: 0; }
.he-new-product-image {
  position: relative;
  display: grid;
  place-items: center;
  aspect-ratio: .92;
  overflow: hidden;
  border-radius: 20px;
}
.he-new-product-image > img {
  width: 100%;
  height: 100%;
  padding: 18px;
  object-fit: contain;
  transition: transform .35s ease;
}
.he-product-image-frame {
  display: grid;
  place-items: center;
  width: 100%;
  height: 100%;
  overflow: hidden;
  border: .0625rem solid rgba(23, 53, 47, .14);
  border-radius: 1rem;
  background: rgba(255, 255, 255, .78);
  box-shadow: 0 .375rem 1.25rem rgba(23, 53, 47, .06);
}
.he-product-image-frame > img {
  display: block;
  width: 100%;
  height: 100%;
  padding: 1.5rem;
  object-fit: contain;
}
.he-product-image-frame.is-missing-image::after {
  content: "Image coming soon";
  color: var(--he-query-muted);
  font-size: .8125rem;
  font-weight: 600;
}
.he-new-product-card:hover .he-new-product-image > img { transform: scale(1.035); }
.he-product-tone-sage { background: #dfe9df; }
.he-product-tone-sand { background: #e9dfca; }
.he-product-tone-lilac { background: #e2e0e9; }
.he-product-tone-peach { background: #edddd6; }
.he-product-tone-blue { background: #dce8e7; }
.he-new-label {
  position: absolute;
  z-index: 3;
  top: 14px;
  left: 14px;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(255,255,255,.78);
  color: var(--he-query-green);
  font-size: 7px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  backdrop-filter: blur(6px);
}
.he-product-pack {
  position: relative;
  display: block;
  filter: drop-shadow(0 22px 19px rgba(37, 64, 54, .16));
  transition: transform .35s ease;
}
.he-new-product-card:hover .he-product-pack { transform: translateY(-5px) rotate(1deg); }
.he-pack-bottle {
  width: 37%;
  height: 55%;
  border-radius: 10px 10px 19px 19px;
  background: #79513a;
}
.he-pack-bottle > i {
  position: absolute;
  top: -14%;
  left: 16%;
  width: 68%;
  height: 17%;
  border-radius: 5px 5px 2px 2px;
  background: #282d27;
}
.he-product-pack > b {
  position: absolute;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: #f8f1e4;
  color: var(--he-query-green-dark);
  font-style: normal;
  text-align: center;
}
.he-pack-bottle > b { inset: 25% 7% 8%; }
.he-product-pack small {
  margin-bottom: 10px;
  font-size: 4px;
  letter-spacing: .15em;
}
.he-product-pack strong {
  font-family: "Newsreader", Georgia, serif;
  font-size: clamp(11px, 1vw, 15px);
  font-weight: 500;
  line-height: .95;
}
.he-product-pack em {
  margin-top: 12px;
  font-size: 4px;
  font-style: normal;
  letter-spacing: .08em;
}
.he-pack-dropper {
  width: 33%;
  height: 45%;
  border-radius: 9px 9px 17px 17px;
  background: #684936;
}
.he-pack-dropper > i {
  position: absolute;
  top: -42%;
  left: 20%;
  width: 60%;
  height: 45%;
  border-radius: 7px 7px 3px 3px;
  background: #292d27;
}
.he-pack-dropper > b { inset: 20% 7% 8%; }
.he-pack-dark { background: #4e3f34; }
.he-pack-dark > b { background: #e4d9c7; }
.he-pack-pouch {
  width: 46%;
  height: 58%;
  clip-path: polygon(7% 0, 93% 0, 100% 100%, 0 100%);
  background: #78907a;
}
.he-pack-pouch > b {
  inset: 17% 10% 9%;
  background: var(--he-query-green-dark);
  color: #fff;
}
.he-pack-box {
  width: 40%;
  height: 54%;
  background: #f6f1e4;
  box-shadow: inset 0 0 0 1px rgba(23,53,47,.08);
}
.he-pack-box > b {
  inset: 9%;
  border: 1px solid var(--he-query-green);
  background: transparent;
}
.he-new-product-content { padding: 16px 3px 0; }
.he-new-product-content > p {
  margin-bottom: 5px;
  color: var(--he-query-muted);
  font-size: 7px;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.l4d-home-page .he-new-product-content > .he-product-stock-status {
  display:inline-flex;
  align-items:center;
  align-self:flex-start;
  width:max-content;
  max-width:100%;
  min-height:1.75rem;
  margin:.25rem 0 .75rem;
  padding:.3rem .65rem;
  border:1px solid rgba(49,95,87,.14);
  border-radius:999px;
  background:rgba(49,95,87,.06);
  color:var(--he-query-muted);
  font-size:.7rem;
  font-weight:700;
  letter-spacing:0;
  line-height:1.2;
  text-transform:none;
}
.l4d-home-page .he-new-product-content > .he-product-stock-status.is-orderable { border-color:rgba(138,90,43,.14); background:rgba(138,90,43,.06); color:#7a624b; }
.he-new-product-content h3 {
  min-height: 43px;
  margin: 0 0 13px;
  font-family: "Newsreader", Georgia, serif;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.15;
}
.he-new-product-content > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: 11px;
  border-top: 1px solid var(--he-query-line);
}
.he-new-product-content > div strong { font-size: 8px; }
.he-new-product-content > div a {
  display: grid;
  place-items: center;
  width: 27px;
  height: 27px;
  border: 1px solid var(--he-query-line);
  border-radius: 50%;
  font-size: 10px;
}
.he-new-product-content > div a:hover { background: var(--he-query-green); color: #fff; }
.he-rail-hint { display: none; }

.he-feelings {
  padding: clamp(70px, 7.5vw, 115px) clamp(24px, 5vw, 78px) clamp(78px, 8vw, 125px);
  background: var(--he-query-sage);
}
.he-feelings-heading { text-align: center; }
.he-feelings-heading .he-query-kicker { margin-bottom: 14px; }
.he-feelings-heading h2 {
  margin-bottom: 9px;
  font-size: clamp(35px, 4.1vw, 58px);
  font-weight: 600;
  letter-spacing: -.055em;
  line-height: 1.05;
}
.he-feelings-heading > p:last-child { margin-bottom: 0; color: var(--he-query-muted); font-size: 12px; }
.he-feeling-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  width: min(1420px, 100%);
  margin: 44px auto 0;
}
.he-feeling-card {
  position: relative;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 16px;
  min-height: 130px;
  padding: 22px;
  border: 1px solid rgba(255,255,255,.9);
  border-radius: 22px;
  background: rgba(255,255,255,.82);
  box-shadow: 0 10px 30px rgba(32, 54, 45, .035);
  transition: transform .2s ease, border-color .2s ease, background .2s ease, box-shadow .2s ease;
}
.he-feeling-card:hover {
  border-color: rgba(49,95,87,.3);
  background: #fff;
  box-shadow: 0 18px 38px rgba(32, 54, 45, .08);
  transform: translateY(-3px);
}
.he-feeling-icon {
  display: grid;
  place-items: center;
  width: 57px;
  height: 57px;
  border-radius: 50%;
  background: #f1f4f1;
  color: var(--he-query-green);
}
.he-feeling-icon svg {
  width: 27px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.6;
}
.he-feeling-card > span:nth-child(2) { display: flex; flex-direction: column; min-width: 0; }
.he-feeling-card small {
  margin-bottom: 4px;
  color: var(--he-query-muted);
  font-size: 8px;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.he-feeling-card strong { font-size: 14px; }
.he-feeling-card > b {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border: 1px solid var(--he-query-line);
  border-radius: 50%;
  font-size: 11px;
  transition: background .2s ease, color .2s ease;
}
.he-feeling-card:hover > b { background: var(--he-query-green); color: #fff; }

.he-faq {
  display: grid;
  grid-template-columns: minmax(260px, .72fr) minmax(0, 1.28fr);
  gap: clamp(55px, 9vw, 145px);
  padding: clamp(78px, 9vw, 135px) clamp(24px, 7vw, 110px);
  background: var(--he-query-paper);
}
.he-faq-heading { align-self: start; }
.he-faq-heading .he-query-kicker { justify-content: flex-start; margin-bottom: 14px; }
.he-faq-list { border-top: 1px solid var(--he-query-line); }
.he-faq-list details { border-bottom: 1px solid var(--he-query-line); }
.he-faq-list summary {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 20px;
  min-height: 76px;
  padding: 18px 0;
  cursor: pointer;
  list-style: none;
  font-size: 13px;
  font-weight: 600;
}
.he-faq-list summary::-webkit-details-marker { display: none; }
.he-faq-list summary i {
  position: relative;
  width: 31px;
  height: 31px;
  border: 1px solid var(--he-query-line);
  border-radius: 50%;
}
.he-faq-list summary i::before,
.he-faq-list summary i::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 10px;
  height: 1px;
  background: var(--he-query-green);
  transform: translate(-50%, -50%);
  transition: transform .2s ease;
}
.he-faq-list summary i::after { transform: translate(-50%, -50%) rotate(90deg); }
.he-faq-list details[open] summary i { background: var(--he-query-green); }
.he-faq-list details[open] summary i::before,
.he-faq-list details[open] summary i::after { background: #fff; }
.he-faq-list details[open] summary i::after { transform: translate(-50%, -50%) rotate(0); }
.he-faq-list details > div { padding: 0 55px 24px 0; }
.he-faq-list details p {
  max-width: 680px;
  margin: 0;
  color: var(--he-query-muted);
  font-size: 11px;
  line-height: 1.75;
}

@media (max-width: 900px) {
  .he-query-hero { min-height: 0; padding: 80px 24px; }
  .he-query-hero-overlay { background: rgba(251,250,246,.77); }
  .he-filter-controls { grid-template-columns: 1fr 1fr; }
  .he-filter-controls label:last-child { grid-column: 1 / -1; }
  .he-new-products-rail { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .he-new-product-card:nth-child(n+4) { display: none; }
  .he-feeling-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .he-faq { grid-template-columns: 1fr; gap: 45px; }
}

@media (max-width: 600px) {
  .he-query-hero { padding: 65px 18px; background-position: 42% center; }
  .he-query-kicker { gap: 8px; font-size: 8px; letter-spacing: .11em; }
  .he-query-kicker > span { width: 18px; }
  .he-query-hero h1 { font-size: clamp(40px, 12vw, 55px); }
  .he-query-hero h1 br { display: none; }
  .he-query-intro { margin: 21px auto 28px; font-size: 12px; }
  .he-search-control {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 0;
    min-height: 0;
    padding: 8px;
    border-radius: 24px;
  }
  .he-search-icon { margin-left: 10px; }
  .he-search-control input { height: 50px; padding-right: 8px; font-size: 11px; }
  .he-search-control button { grid-column: 1 / -1; width: 100%; min-width: 0; min-height: 48px; }
  .he-filter-controls { grid-template-columns: 1fr; gap: 8px; margin-top: 10px; }
  .he-filter-controls label:last-child { grid-column: auto; }
  .he-filter-controls select { min-height: 47px; }
  .he-new-products { padding: 65px 18px 72px; }
  .he-new-products-heading { align-items: flex-start; margin-bottom: 30px; }
  .he-new-products-heading h2,
  .he-faq-heading h2 { font-size: 38px; }
  .he-new-products-heading > div > p:last-child { max-width: 290px; }
  .he-view-more { min-width: 48px; min-height: 48px; padding: 0; }
  .he-view-more:not(:hover) { color: transparent; }
  .he-view-more span { position: absolute; color: var(--he-query-green); }
  .he-new-products-rail {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(230px, 76vw);
    grid-template-columns: none;
    gap: 13px;
    width: auto;
    margin-right: -18px;
    padding-right: 18px;
    overflow-x: auto;
    scroll-padding-left: 0;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }
  .he-new-products-rail::-webkit-scrollbar { display: none; }
  .he-new-product-card,
  .he-new-product-card:nth-child(n+4) { display: block; scroll-snap-align: start; }
  .he-new-product-image { aspect-ratio: 1; }
  .he-new-product-content h3 { min-height: 0; }
  .he-rail-hint {
    display: flex;
    align-items: center;
    gap: 9px;
    margin-top: 24px;
    color: var(--he-query-muted);
    font-size: 8px;
    font-weight: 600;
    letter-spacing: .08em;
    text-transform: uppercase;
  }
  .he-rail-hint span { width: 30px; height: 1px; background: var(--he-query-green); }
  .he-feelings { padding: 65px 18px 75px; }
  .he-feelings-heading h2 { font-size: 38px; }
  .he-feeling-grid { grid-template-columns: 1fr; gap: 10px; margin-top: 32px; }
  .he-feeling-card { min-height: 105px; padding: 17px; border-radius: 18px; }
  .he-feeling-icon { width: 50px; height: 50px; }
  .he-faq { gap: 35px; padding: 68px 18px 78px; }
  .he-faq-list summary { min-height: 70px; font-size: 12px; }
  .he-faq-list details > div { padding-right: 20px; }
}

@media (prefers-reduced-motion: reduce) {
  .l4d-home-page *,
  .l4d-home-page *::before,
  .l4d-home-page *::after { transition-duration: .01ms !important; }
}

/* Packaged cards are intentionally preview-only. The live widget reveals cards
   only after the plugin has received current WooCommerce data. */
.l4d-home-page.l4d-page-widgets-live .he-new-products-rail:not(.is-live-ready) .he-new-product-card {
  display: none;
}

.he-live-products-message {
  margin: 28px 0 0;
  color: var(--he-query-muted);
  font-size: 14px;
  text-align: center;
}

/* Accessible type scale and fluid, edge-to-edge content layout. */
.he-query-hero-inner,
.he-shop-search,
.he-new-products-heading,
.he-new-products-rail,
.he-feeling-grid {
  width: 100%;
  max-width: none;
}

.he-query-hero h1 { max-width: none; font-size: clamp(3rem, 5.5vw, 5.25rem); }
.he-query-kicker { font-size: .75rem; }
.he-query-intro { max-width: none; font-size: 1rem; }
.he-search-control input { font-size: 1rem; }
.he-search-control button { font-size: .9375rem; }
.he-filter-controls select { font-size: .9375rem; }
.he-search-preview-status { font-size: .875rem; }
.he-new-products-heading h2,
.he-faq-heading h2 { font-size: clamp(2.75rem, 4.2vw, 3.875rem); }
.he-new-products-heading > div > p:last-child,
.he-faq-heading > p:last-child,
.he-feelings-heading > p:last-child { font-size: 1rem; line-height: 1.6; }
.he-view-more { font-size: .9375rem; }

.he-new-product-card {
  display: grid;
  grid-template-rows: auto 1fr;
}
.he-new-product-content {
  display: flex;
  flex-direction: column;
  min-height: 10.75rem;
  padding: 1.125rem .1875rem 0;
}
.he-new-product-content > p {
  min-height: 1.125rem;
  margin-bottom: .375rem;
  font-size: .75rem;
  letter-spacing: .1em;
}
.he-new-product-content h3 {
  min-height: 3.4rem;
  margin-bottom: 1rem;
  font-size: 1.25rem;
  line-height: 1.28;
}
.he-new-product-content > .he-product-action {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  min-height: 3.5rem;
  margin-top: auto;
  padding-top: .75rem;
  border-top: 1px solid var(--he-query-line);
}
.he-new-product-content > .he-product-action strong { font-size: 1.125rem; line-height: 1.2; }
.he-product-controls {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: .5rem;
  min-width: 0;
}
.he-new-product-content > .he-product-action .he-add-to-cart {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.625rem;
  padding: .5rem .875rem;
  border: 1px solid var(--he-query-green);
  border-radius: 999px;
  background: var(--he-query-green);
  color: #fff !important;
  font-size: .875rem;
  font-weight: 700;
  line-height: 1;
  text-align: center;
  cursor: pointer;
  white-space: nowrap;
  width: auto !important;
  height: auto !important;
  min-width: 7.75rem;
  transition: background .2s ease, color .2s ease, transform .2s ease;
}
.he-new-product-content > .he-product-action .he-add-to-cart:hover { background: var(--he-query-green-dark); color: #fff; transform: translateY(-1px); }
.he-new-product-content > .he-product-action .he-add-to-cart.is-unavailable {
  border-color: rgba(23, 53, 47, .18);
  background: #eceeea;
  color: #62706a !important;
  cursor: not-allowed;
}
.he-new-product-content > .he-product-action .he-add-to-cart.is-adding,
.he-new-product-content > .he-product-action .he-add-to-cart.is-added {
  pointer-events: none;
}
.he-new-product-content > .he-product-action .he-add-to-cart.is-adding { opacity: .72; }
.he-new-product-content > .he-product-action .he-add-to-cart.is-added { background: #547d57; border-color: #547d57; }
.he-remove-from-basket {
  display: inline-grid;
  place-items: center;
  flex: 0 0 auto;
  width: 2.625rem;
  height: 2.625rem;
  padding: 0;
  border: .0625rem solid var(--he-query-green);
  border-radius: 50%;
  background: transparent;
  color: var(--he-query-green);
  cursor: pointer;
  transition: background .2s ease, color .2s ease, opacity .2s ease;
}
.he-remove-from-basket svg { width: 1.125rem; fill: none; stroke: currentColor; stroke-linecap: round; stroke-width: 2; }
.he-remove-from-basket:hover:not(:disabled) { background: var(--he-query-green); color: #fff; }
.he-remove-from-basket:disabled { border-color: rgba(23, 53, 47, .16); color: #a6b0ac; cursor: not-allowed; }
.he-remove-from-basket.is-removing { opacity: .55; }
.he-read-more {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.625rem;
  padding: .5rem .75rem;
  border: .0625rem solid var(--he-query-green);
  border-radius: 999px;
  color: var(--he-query-green) !important;
  font-size: .8125rem;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
  transition: background .2s ease, color .2s ease;
}
.he-read-more:hover { background: var(--he-query-green); color: #fff !important; }

/* Keep the card actions insulated from theme/Elementor button rules. */
.l4d-home-page .he-new-product-content > .he-product-action {
  gap: .75rem !important;
}
.l4d-home-page .he-new-product-content > .he-product-action .he-product-controls {
  display: inline-flex !important;
  flex: 0 0 auto !important;
  align-items: center !important;
  gap: .5rem !important;
}
.l4d-home-page .he-new-product-content > .he-product-action .he-remove-from-basket {
  display: inline-grid !important;
  place-items: center !important;
  width: 2.625rem !important;
  min-width: 2.625rem !important;
  max-width: 2.625rem !important;
  height: 2.625rem !important;
  min-height: 2.625rem !important;
  padding: 0 !important;
  border: .0625rem solid var(--he-query-green) !important;
  border-radius: 50% !important;
  background: #fff !important;
  color: var(--he-query-green) !important;
  line-height: 1 !important;
}
.l4d-home-page .he-new-product-content > .he-product-action .he-remove-from-basket svg {
  display: block !important;
  width: 1.125rem !important;
  height: 1.125rem !important;
}
.l4d-home-page .he-new-product-content > .he-product-action .he-remove-from-basket:hover:not(:disabled) {
  border-color: #b6403d !important;
  background: #b6403d !important;
  color: #fff !important;
}
.l4d-home-page .he-new-product-content > .he-product-action .he-remove-from-basket:disabled {
  background: #f5f6f3 !important;
  border-color: rgba(23, 53, 47, .14) !important;
  color: #a6b0ac !important;
}
.l4d-home-page .he-new-product-content > .he-product-action .he-add-to-cart {
  width: auto !important;
  min-width: 7.875rem !important;
  height: 2.625rem !important;
  min-height: 2.625rem !important;
  padding: 0 1rem !important;
  border-radius: 999px !important;
  background: var(--he-query-green) !important;
  color: #fff !important;
  font-size: .8125rem !important;
  font-weight: 700 !important;
  line-height: 1 !important;
}
.l4d-home-page .he-new-product-content > .he-product-action .he-add-to-cart.is-unavailable {
  min-width: 6.375rem !important;
  background: #eef0ed !important;
  color: #64726d !important;
}
.l4d-home-page .he-new-product-content > .he-product-action .he-read-more {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  min-width: 5.875rem !important;
  height: 2.625rem !important;
  min-height: 2.625rem !important;
  padding: 0 .875rem !important;
  border: .0625rem solid var(--he-query-green) !important;
  border-radius: 999px !important;
  background: #fff !important;
  color: var(--he-query-green) !important;
  font-size: .8125rem !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  text-decoration: none !important;
}
.l4d-home-page .he-new-product-content > .he-product-action .he-read-more:hover {
  background: var(--he-query-green) !important;
  color: #fff !important;
}

/* Product rail: progressively reduce columns, then switch to touch scrolling. */
.l4d-home-page .he-new-product-card { overflow: hidden; }
.l4d-home-page .he-new-product-content,
.l4d-home-page .he-new-product-content h3,
.l4d-home-page .he-product-action,
.l4d-home-page .he-product-controls { min-width: 0; }
.l4d-home-page .he-new-product-content h3 a {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

@media (min-width: 1200px) and (max-width: 1439px) {
  .l4d-home-page .he-new-products-rail { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .l4d-home-page .he-new-product-card:nth-child(n+5) { display: none; }
}

@media (min-width: 1000px) and (max-width: 1199px) {
  .l4d-home-page .he-new-products-rail { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .l4d-home-page .he-new-product-card:nth-child(n+4) { display: none; }
}

@media (max-width: 999px) {
  .l4d-home-page .he-new-products-rail {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: clamp(17rem, 44vw, 22rem);
    grid-template-columns: none;
    gap: 1rem;
    width: calc(100% + clamp(1.25rem, 4vw, 2.5rem));
    margin-right: calc(clamp(1.25rem, 4vw, 2.5rem) * -1);
    padding-right: clamp(1.25rem, 4vw, 2.5rem);
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scroll-padding-inline: 0;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }
  .l4d-home-page .he-new-products-rail::-webkit-scrollbar { display: none; }
  .l4d-home-page .he-new-product-card,
  .l4d-home-page .he-new-product-card:nth-child(n+4),
  .l4d-home-page .he-new-product-card:nth-child(n+5) {
    display: grid;
    scroll-snap-align: start;
  }
  .l4d-home-page .he-rail-hint { display: flex; }
}

@media (max-width: 600px) {
  .l4d-home-page .he-new-products-rail {
    grid-auto-columns: minmax(16.5rem, 80vw);
    gap: .875rem;
  }
  .l4d-home-page .he-new-product-content { min-height: 10.5rem; }
}

/* Match the Shop's equal-width desktop card sizing; mobile keeps its carousel. */
@media (min-width: 1000px) {
  .l4d-home-page .he-new-products-rail {
    grid-template-columns: repeat(auto-fit, minmax(13.25rem, 16rem));
    justify-content: space-between;
  }
  .l4d-home-page .he-new-product-card { max-width: 16rem; }
}

/* Card footer sizing: never allow prices or actions to escape their card. */
.l4d-home-page .he-new-product-content > .he-product-action strong {
  overflow: hidden;
  min-width: 0;
  text-overflow: ellipsis;
  white-space: nowrap;
}

@media (min-width: 1200px) and (max-width: 1439px) {
  .l4d-home-page .he-new-product-content > .he-product-action .he-product-controls { gap: .375rem !important; }
  .l4d-home-page .he-new-product-content > .he-product-action .he-add-to-cart { min-width: 7.125rem !important; padding-inline: .75rem !important; font-size: .75rem !important; }
  .l4d-home-page .he-new-product-content > .he-product-action .he-add-to-cart.is-unavailable { min-width: 5.875rem !important; }
  .l4d-home-page .he-new-product-content > .he-product-action .he-read-more { min-width: 5.25rem !important; padding-inline: .625rem !important; font-size: .75rem !important; }
}

@media (min-width: 1440px) and (max-width: 1700px) {
  .l4d-home-page .he-new-product-content { min-height: 12.25rem; }
  .l4d-home-page .he-new-product-content > .he-product-action {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    justify-items: start !important;
    gap: .5rem !important;
    min-height: 5.5rem !important;
  }
  .l4d-home-page .he-new-product-content > .he-product-action strong { font-size: 1rem !important; }
  .l4d-home-page .he-new-product-content > .he-product-action .he-product-controls { justify-content: flex-start !important; gap: .375rem !important; }
  .l4d-home-page .he-new-product-content > .he-product-action .he-add-to-cart { min-width: 6.875rem !important; padding-inline: .75rem !important; font-size: .75rem !important; }
  .l4d-home-page .he-new-product-content > .he-product-action .he-add-to-cart.is-unavailable { min-width: 5.75rem !important; }
  .l4d-home-page .he-new-product-content > .he-product-action .he-read-more { min-width: 5rem !important; padding-inline: .625rem !important; font-size: .75rem !important; }
  .l4d-home-page .he-new-product-content > .he-product-action .he-remove-from-basket { width: 2.5rem !important; min-width: 2.5rem !important; max-width: 2.5rem !important; height: 2.5rem !important; min-height: 2.5rem !important; }
}

/* Consistent card footer: price row, then a contained two-column action row. */
.l4d-home-page .he-new-product-content {
  min-height: 13rem;
}
.l4d-home-page .he-new-product-content > .he-product-action {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  justify-items: stretch !important;
  gap: .625rem !important;
  min-height: 6.25rem !important;
}
.l4d-home-page .he-new-product-content > .he-product-action strong {
  width: 100%;
  font-size: clamp(1.125rem, 1.25vw, 1.375rem) !important;
  font-weight: 700 !important;
  letter-spacing: -.02em;
  color: var(--he-query-ink);
}
.l4d-home-page .he-new-product-content > .he-product-action .he-product-controls {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  align-items: center !important;
  width: 100% !important;
  gap: .5rem !important;
}
.l4d-home-page .he-new-product-content > .he-product-action .he-product-controls > :only-child {
  grid-column: 1 / -1;
}
.l4d-home-page .he-new-product-content > .he-product-action .he-add-to-cart,
.l4d-home-page .he-new-product-content > .he-product-action .he-read-more {
  width: 100% !important;
  min-width: 0 !important;
  padding-inline: .625rem !important;
  font-size: clamp(.6875rem, .85vw, .8125rem) !important;
}
.l4d-home-page .he-new-product-content > .he-product-action .he-remove-from-basket {
  justify-self: stretch !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  height: 2.625rem !important;
  min-height: 2.625rem !important;
  border-radius: 999px !important;
}
.l4d-home-page .he-new-product-content > .he-product-action .he-product-controls.is-in-cart {
  grid-template-columns: minmax(0, 4fr) minmax(2.625rem, 1fr) !important;
}
.l4d-home-page .he-new-product-content > .he-product-action .he-product-controls:not(.is-in-cart) .he-add-to-cart[data-product-id] {
  grid-column: 1 / -1 !important;
}
.l4d-home-page .he-new-product-content > .he-product-action .he-product-controls.is-in-cart .he-add-to-cart {
  grid-column: 1 !important;
}
.l4d-home-page .he-new-product-content > .he-product-action .he-product-controls.is-in-cart .he-remove-from-basket {
  grid-column: 2 !important;
}
.l4d-home-page .he-new-product-content > .he-product-action .he-remove-from-basket[hidden] {
  display: none !important;
}

/* Product quantity stepper: price and live basket quantity share one row. */
.l4d-home-page .he-product-price-row {
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:.75rem;
  width:100%;
  min-width:0;
}
.l4d-home-page .he-product-price-row strong {
  overflow:hidden;
  min-width:0;
  color:var(--he-query-ink);
  font-size:clamp(1.125rem,1.25vw,1.375rem) !important;
  font-weight:700 !important;
  letter-spacing:-.02em;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.l4d-home-page .he-product-cart-quantity {
  flex:0 0 auto;
  color:#69807c;
  font-size:.72rem;
  font-weight:700;
  white-space:nowrap;
}
.l4d-home-page .he-product-cart-quantity[hidden] { display:none !important; }
.l4d-home-page .he-new-product-content > .he-product-action .he-product-controls[data-he-product-controls],
.l4d-home-page .he-new-product-content > .he-product-action .he-product-controls[data-he-product-controls].is-in-cart {
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 2.625rem 2.625rem !important;
  gap:.5rem !important;
}
.l4d-home-page .he-new-product-content > .he-product-action .he-product-controls[data-he-product-controls]:not(.is-in-cart) { grid-template-columns:minmax(0,1fr) !important; }
.l4d-home-page .he-product-controls[data-he-product-controls].is-updating { opacity:.65; }
.l4d-home-page .he-product-controls[data-he-product-controls] .he-add-to-cart { grid-column:1 !important; grid-row:1 !important; pointer-events:auto; }
.l4d-home-page .he-product-controls[data-he-product-controls] .he-remove-from-basket { grid-column:2 !important; grid-row:1 !important; }
.l4d-home-page .he-product-controls[data-he-product-controls] .he-increase-basket { grid-column:3 !important; grid-row:1 !important; }
.l4d-home-page .he-product-controls[data-he-product-controls] :where(.he-remove-from-basket,.he-increase-basket)[hidden] { display:none !important; }
.l4d-home-page .he-new-product-content > .he-product-action .he-increase-basket {
  display:inline-grid !important;
  place-items:center !important;
  width:2.625rem !important;
  min-width:2.625rem !important;
  height:2.625rem !important;
  min-height:2.625rem !important;
  margin:0 !important;
  padding:0 !important;
  border:1px solid rgba(23,53,47,.2) !important;
  border-radius:50% !important;
  background:#fff !important;
  color:var(--he-query-green) !important;
  box-shadow:none !important;
  cursor:pointer;
}
.l4d-home-page .he-new-product-content > .he-product-action .he-increase-basket svg { width:1.125rem; height:1.125rem; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; }
.l4d-home-page .he-new-product-content > .he-product-action .he-increase-basket:hover:not(:disabled) { border-color:var(--he-query-green) !important; background:var(--he-query-green) !important; color:#fff !important; }
.l4d-home-page :where(.he-increase-basket):focus-visible { outline:2px solid var(--he-query-lime) !important; outline-offset:3px; }

@media (max-width:600px) {
  .l4d-home-page .he-product-cart-quantity { font-size:.625rem; }
  .l4d-home-page .he-new-product-content > .he-product-action .he-product-controls[data-he-product-controls],
  .l4d-home-page .he-new-product-content > .he-product-action .he-product-controls[data-he-product-controls].is-in-cart { grid-template-columns:minmax(0,1fr) 2.5rem 2.5rem !important; gap:.375rem !important; }
  .l4d-home-page .he-new-product-content > .he-product-action .he-product-controls[data-he-product-controls]:not(.is-in-cart) { grid-template-columns:minmax(0,1fr) !important; }
  .l4d-home-page .he-new-product-content > .he-product-action .he-increase-basket { width:2.5rem !important; min-width:2.5rem !important; height:2.5rem !important; min-height:2.5rem !important; }
}

/* Keep Home purchase controls identical to the Shop card controls. */
.l4d-home-page .he-product-action {
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:.6rem !important;
  min-height:0 !important;
}
.l4d-home-page .he-product-action .he-shop-price-row {
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:.75rem;
  width:100%;
  min-width:0;
}
.l4d-home-page .he-product-action .he-shop-price {
  overflow:hidden;
  min-width:0;
  color:var(--he-query-ink);
  font-size:1.125rem !important;
  font-weight:700 !important;
  letter-spacing:-.02em;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.l4d-home-page .he-product-action .he-shop-cart-quantity {
  flex:0 0 auto;
  color:var(--he-query-muted);
  font-size:.72rem;
  font-weight:700;
  white-space:nowrap;
}
.l4d-home-page .he-product-action .he-shop-cart-quantity[hidden] { display:none !important; }
.l4d-home-page .he-product-action .he-shop-actions[data-he-product-controls],
.l4d-home-page .he-product-action .he-shop-actions[data-he-product-controls].is-in-cart {
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 2.55rem 2.55rem !important;
  gap:.45rem !important;
  width:100% !important;
}
.l4d-home-page .he-product-action .he-shop-actions[data-he-product-controls]:not(.is-in-cart) {
  grid-template-columns:minmax(0,1fr) !important;
}
.l4d-home-page .he-product-action .he-shop-button {
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  min-width:0 !important;
  min-height:2.55rem !important;
  height:auto !important;
  margin:0 !important;
  padding:.45rem .65rem !important;
  border:1px solid var(--he-query-green) !important;
  border-radius:999px !important;
  background:var(--he-query-green) !important;
  color:#fff !important;
  box-shadow:none !important;
  font-size:.75rem !important;
  font-weight:700 !important;
  line-height:1 !important;
  text-align:center;
  text-decoration:none !important;
  white-space:nowrap;
}
.l4d-home-page .he-product-action .he-shop-button:hover:not(:disabled):not(.is-secondary) {
  border-color:var(--he-query-green-dark) !important;
  background:var(--he-query-green-dark) !important;
  color:#fff !important;
}
.l4d-home-page .he-product-action .he-shop-button.is-secondary {
  border-color:var(--he-query-green) !important;
  background:#fff !important;
  color:var(--he-query-green) !important;
}
.l4d-home-page .he-product-action .he-shop-quantity-button {
  width:2.55rem !important;
  min-width:2.55rem !important;
  max-width:2.55rem !important;
  padding:0 !important;
  border-color:rgba(23,53,47,.2) !important;
  background:#fff !important;
  color:var(--he-query-green) !important;
}
.l4d-home-page .he-product-action .he-shop-quantity-button svg {
  width:1.05rem;
  height:1.05rem;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
}
.l4d-home-page .he-product-action .he-shop-quantity-button:hover:not(:disabled) {
  border-color:var(--he-query-green) !important;
  background:var(--he-query-green) !important;
  color:#fff !important;
}
.l4d-home-page .he-product-action .he-shop-remove:hover:not(:disabled) {
  border-color:#b6403d !important;
  background:#b6403d !important;
}
.l4d-home-page .he-product-action .he-shop-quantity-button[hidden] { display:none !important; }
.l4d-home-page .he-product-action .he-shop-actions.is-updating { opacity:.65; }

@media (max-width:600px) {
  .l4d-home-page .he-product-action .he-shop-cart-quantity { font-size:.625rem; }
  .l4d-home-page .he-product-action .he-shop-actions[data-he-product-controls],
  .l4d-home-page .he-product-action .he-shop-actions[data-he-product-controls].is-in-cart {
    grid-template-columns:minmax(0,1fr) 2.35rem 2.35rem !important;
    gap:.3rem !important;
  }
  .l4d-home-page .he-product-action .he-shop-actions[data-he-product-controls]:not(.is-in-cart) {
    grid-template-columns:minmax(0,1fr) !important;
  }
  .l4d-home-page .he-product-action .he-shop-quantity-button {
    width:2.35rem !important;
    min-width:2.35rem !important;
    max-width:2.35rem !important;
  }
}

/* Keep the hero visually focused on wide desktop screens. */
@media (min-width: 1000px) {
  .l4d-home-page .he-query-hero-inner {
    max-width: 80rem;
  }
  .l4d-home-page .he-query-hero h1 {
    max-width: 62rem;
  }
  .l4d-home-page .he-query-intro {
    max-width: 44rem;
  }
  .l4d-home-page .he-shop-search {
    max-width: 70rem;
  }
}

@media (max-width: 600px) {
  .l4d-home-page .he-new-products-heading {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: start;
    gap: .75rem;
  }
  .l4d-home-page .he-new-products-heading > div { min-width: 0; }
  .l4d-home-page .he-view-more {
    display: inline-flex !important;
    align-self: start;
    justify-content: center;
    gap: .5rem;
    min-width: 7.5rem;
    min-height: 2.75rem;
    padding: 0 .875rem;
    color: var(--he-query-green) !important;
    font-size: .8125rem;
    white-space: nowrap;
  }
  .l4d-home-page .he-view-more:not(:hover) { color: var(--he-query-green) !important; }
  .l4d-home-page .he-view-more span {
    position: static;
    color: inherit;
    font-size: 1rem;
  }
}
.he-feelings-heading h2 { font-size: clamp(2.5rem, 4.1vw, 3.625rem); }
.he-feeling-card small { font-size: .75rem; }
.he-feeling-card strong { font-size: 1.125rem; }
.he-faq-list summary { font-size: 1.0625rem; }
.he-faq-list details p { font-size: 1rem; }
.he-live-products-message { font-size: 1rem; }
.he-search-control .he-filter-toggle { display: none; }

@media (max-width: 980px) {
  .he-query-hero { padding-inline: clamp(1.25rem, 4vw, 2.5rem); }
  .he-search-control {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: .5rem;
    min-height: 4.5rem;
    padding: .5rem .625rem .5rem 1.125rem;
  }
  .he-search-icon { margin-right: .125rem; }
  .he-search-control input { height: 3.25rem; }
  .he-search-control .he-filter-toggle {
    display: inline-flex;
    grid-column: 3;
    grid-row: 1;
    width: auto;
    min-width: 0;
    align-items: center;
    justify-content: center;
    gap: .375rem;
    min-height: 3.25rem;
    padding: 0 .875rem;
    border: 1px solid var(--he-query-line);
    border-radius: 999px;
    background: #f4f6f1;
    color: var(--he-query-green);
    cursor: pointer;
    font-size: .875rem;
    font-weight: 700;
  }
  .he-search-control .he-filter-toggle svg { width: 1.125rem; fill: none; stroke: currentColor; stroke-linecap: round; stroke-width: 1.8; }
  .he-search-control > button[type="submit"] {
    grid-column: 1 / -1;
    width: 100%;
    min-width: 0;
    min-height: 3.25rem;
  }
  .he-filter-controls { display: none; margin-top: 1rem; }
  .he-filter-controls.is-open { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
  .he-filter-controls.is-open label:last-child { grid-column: 1 / -1; }
  .he-filter-controls select { min-height: 3.375rem; }
  .he-new-products,
  .he-feelings,
  .he-faq { padding-inline: clamp(1.25rem, 4vw, 2.5rem); }
}

@media (max-width: 600px) {
  .he-query-hero { padding-block: 3.75rem 4.25rem; }
  .he-query-kicker { gap: .5rem; font-size: .625rem; }
  .he-query-hero h1 { font-size: clamp(2.625rem, 12vw, 3.5rem); line-height: 1.08; }
  .he-query-intro { margin: 1.5rem auto 2rem; font-size: 1rem; line-height: 1.65; }
  .he-search-control { grid-template-columns: auto minmax(0, 1fr) auto; gap: .25rem; padding-left: .875rem; }
  .he-search-control input { font-size: .875rem; }
  .he-search-control .he-filter-toggle { min-width: 3.25rem; padding: 0 .75rem; }
  .he-search-control .he-filter-toggle span { display: none; }
  .he-filter-controls.is-open { grid-template-columns: 1fr; gap: .75rem; }
  .he-filter-controls.is-open label:last-child { grid-column: auto; }
  .he-new-products-heading h2,
  .he-faq-heading h2,
  .he-feelings-heading h2 { font-size: 2.5rem; }
  .he-new-products-heading > div > p:last-child { max-width: none; }
  .he-new-product-content { min-height: 10.25rem; }
  .he-new-product-content h3 { font-size: 1.25rem; }
  .he-new-product-content > .he-product-action strong { font-size: 1.125rem; }
  .he-new-product-content > .he-product-action .he-add-to-cart { font-size: .875rem; }
  .he-feeling-card { padding: 1.25rem; }
  .he-feeling-card strong { font-size: 1.0625rem; }
  .he-faq-list summary { min-height: 5rem; font-size: 1rem; }
  .he-faq-list details p { font-size: .9375rem; }
}

.he-home-mobile-search-trigger,.he-home-mobile-search-head,.he-home-mobile-search-submit { display:none; }
@media (max-width:600px) {
  body.he-home-mobile-search-open { overflow:hidden; }
  .l4d-home-page .he-home-mobile-search-trigger { display:inline-flex; align-items:center; justify-content:center; gap:.55rem; width:100%; min-height:3.5rem; margin:0; padding:.65rem 1rem; border:1px solid var(--he-query-green) !important; border-radius:999px !important; background:var(--he-query-green) !important; color:#fff !important; box-shadow:0 .8rem 2rem rgba(23,53,47,.16) !important; font-size:.9rem; font-weight:800; cursor:pointer; }
  .l4d-home-page .he-home-mobile-search-trigger svg { width:1.05rem; height:1.05rem; fill:none; stroke:currentColor; stroke-linecap:round; stroke-width:1.8; }
  .l4d-home-page .he-shop-search { display:none !important; }
  .l4d-home-page.is-mobile-search-open .he-shop-search { position:fixed !important; z-index:2147483647 !important; inset:0 !important; display:flex !important; flex-direction:column; align-items:center; justify-content:center; width:100vw !important; height:100dvh !important; max-width:none !important; margin:0 !important; padding:1rem !important; overflow:auto; background:rgba(13,33,29,.62) !important; backdrop-filter:blur(3px); }
  .l4d-home-page.is-mobile-search-open .he-home-mobile-search-head { display:flex; align-items:center; justify-content:space-between; width:min(100%,32rem); padding:.9rem 1rem .65rem; border:1px solid rgba(255,255,255,.7); border-bottom:0; border-radius:1.15rem 1.15rem 0 0; background:var(--he-query-paper); color:var(--he-query-ink); box-shadow:0 1.5rem 3.5rem rgba(0,0,0,.24); }
  .l4d-home-page.is-mobile-search-open .he-home-mobile-search-head strong { font-size:1rem; }
  .l4d-home-page.is-mobile-search-open .he-home-mobile-search-head button { display:grid; place-items:center; width:2.35rem; min-width:2.35rem; height:2.35rem; min-height:2.35rem; margin:0; padding:0; border:1px solid var(--he-query-line) !important; border-radius:50% !important; background:#fff !important; color:var(--he-query-green) !important; box-shadow:none !important; font-size:1.4rem; line-height:1; }
  .l4d-home-page.is-mobile-search-open .he-search-control { grid-template-columns:auto minmax(0,1fr) !important; width:min(100%,32rem); min-height:4rem; margin:0; padding:.4rem .9rem; border:1px solid rgba(255,255,255,.7); border-block-color:var(--he-query-line); border-radius:0; background:var(--he-query-paper); box-shadow:none; }
  .l4d-home-page.is-mobile-search-open .he-search-control input { height:3rem; font-size:1rem; }
  .l4d-home-page.is-mobile-search-open .he-search-control .he-filter-toggle,
  .l4d-home-page.is-mobile-search-open .he-search-control > button[type="submit"] { display:none !important; }
  .l4d-home-page.is-mobile-search-open .he-filter-controls,
  .l4d-home-page.is-mobile-search-open .he-filter-controls.is-open { display:grid !important; grid-template-columns:1fr !important; gap:.7rem; width:min(100%,32rem); max-height:45dvh; margin:0; padding:.85rem 1rem; overflow:auto; border-inline:1px solid rgba(255,255,255,.7); background:var(--he-query-paper); }
  .l4d-home-page.is-mobile-search-open .he-filter-controls label { grid-column:auto !important; }
  .l4d-home-page.is-mobile-search-open .he-home-mobile-search-submit { display:flex; align-items:center; justify-content:center; gap:.45rem; width:min(100%,32rem); min-height:3.25rem; margin:0; padding:.6rem 1rem; border:1px solid var(--he-query-green) !important; border-radius:0 0 1.15rem 1.15rem !important; background:var(--he-query-green) !important; color:#fff !important; box-shadow:0 1.5rem 3.5rem rgba(0,0,0,.24) !important; font-size:.9rem; font-weight:800; }
  .l4d-home-page.is-mobile-search-open .he-search-preview-status { width:min(100%,32rem); margin:.7rem 0 0; }
}

/* Shared responsive guardrails: contain unpredictable CMS content. */
.l4d-home-page { min-width:0; max-width:100%; overflow-wrap:anywhere; }
.l4d-home-page :where(img,video,canvas,iframe) { max-width:100%; }
.l4d-home-page :where(input,select,textarea) { max-width:100%; }

/* Final Shop-parity guard: keep mobile purchase controls at catalogue sizing. */
.l4d-home-page .he-combo-products .he-new-product-card:nth-child(n) { display:grid; }
.l4d-home-page .he-combo-products .he-new-products-rail { justify-content:start; }
@media (max-width:600px) {
  .l4d-home-page .he-product-action .he-shop-button { min-height:2.35rem !important; padding:.4rem .3rem !important; font-size:.6875rem !important; }
  .l4d-home-page .he-product-action .he-shop-quantity-button { padding:0 !important; }
}

/* November 2026 specials and combos: isolated banner styles. */
.l4d-home-page .he-november-promo-wrap { margin:20px clamp(18px,2.8vw,44px) 24px; }
.l4d-home-page .he-november-promo { position:relative; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; min-height:370px; padding:48px 58px; overflow:hidden; border-radius:28px; background:#153d30 url("assets/november-specials-botanical.png") center center / cover no-repeat; color:#fff; font-family:"DM Sans",Arial,sans-serif; }
.l4d-home-page .he-november-promo-copy { position:relative; z-index:1; max-width:74%; }
.l4d-home-page .he-november-promo-kicker { margin:0 0 12px; color:#d3e48b; font-size:1.125rem; font-weight:700; line-height:1.4; letter-spacing:0; }
.l4d-home-page .he-november-promo h2 { margin:0 0 18px; color:#fff; font-family:"DM Sans",Arial,sans-serif; font-size:clamp(2.25rem,4vw,3.75rem); font-weight:700; letter-spacing:-.045em; line-height:1.12; text-wrap:balance; }
.l4d-home-page .he-november-promo h2 em { color:#ef9b51; font-family:"Newsreader",Georgia,serif; font-size:1.08em; font-style:italic; font-weight:500; white-space:nowrap; }
.l4d-home-page .he-november-promo-description { margin:0; color:#fff; font-size:1.2rem; line-height:1.5; }
.l4d-home-page .he-november-promo-actions { position:relative; z-index:1; display:flex; gap:16px; flex-wrap:wrap; margin-top:28px; }
.l4d-home-page a.he-november-promo-link { display:inline-flex; align-items:center; justify-content:center; min-height:60px; padding:14px 30px; border:2px solid #fff; border-radius:999px; background:#fff; color:#123c32; font-size:1rem; font-weight:700; line-height:1.3; text-align:center; text-decoration:none; transition:background-color .15s,color .15s; }
.l4d-home-page a.he-november-promo-link--outline { background:transparent; color:#fff; }
.l4d-home-page a.he-november-promo-link:hover,.l4d-home-page a.he-november-promo-link:active { background:#e7efda; border-color:#e7efda; color:#123c32; }
.l4d-home-page a.he-november-promo-link:focus-visible { outline:3px solid #f5bc70; outline-offset:5px; }
@media(max-width:1000px) { .l4d-home-page .he-november-promo { padding:36px; min-height:330px; } .l4d-home-page .he-november-promo-copy { max-width:75%; } .l4d-home-page .he-november-promo h2 { font-size:2.55rem; } }
@media(max-width:600px) { .l4d-home-page .he-november-promo-wrap { margin:16px 16px 20px; } .l4d-home-page .he-november-promo { min-height:0; padding:28px 22px; border-radius:22px; background-image:none; background-color:#153d30; } .l4d-home-page .he-november-promo-copy { max-width:100%; } .l4d-home-page .he-november-promo-kicker { font-size:.85rem; } .l4d-home-page .he-november-promo h2 { font-size:2.05rem; } .l4d-home-page .he-november-promo-description { font-size:1rem; } .l4d-home-page .he-november-promo-actions { width:100%; gap:10px; margin-top:22px; } .l4d-home-page a.he-november-promo-link { flex:1 1 130px; min-height:48px; padding:12px 14px; font-size:.875rem; } }

@media(max-width:600px) { .l4d-home-page .he-november-promo h2 em { display:block; } }

@media(min-width:1001px) { .l4d-home-page .he-november-promo { min-height:400px; } .l4d-home-page .he-november-promo-kicker { font-size:1.375rem; } .l4d-home-page .he-november-promo h2 { font-size:clamp(3rem,4.9vw,4.5rem); } .l4d-home-page .he-november-promo-description { font-size:1.5rem; } .l4d-home-page a.he-november-promo-link { min-height:68px; padding:16px 36px; font-size:1.25rem; } }

@media (max-width:600px) {
  .l4d-home-page.is-mobile-search-open .he-query-hero { z-index: 2; overflow: visible; }
}

/* Let the mobile search expand the hero instead of covering the page. */
@media (max-width:600px) {
  body.he-home-mobile-search-open { overflow: auto; }
  .l4d-home-page.is-mobile-search-open .he-home-mobile-search-trigger { display: none; }
  .l4d-home-page.is-mobile-search-open .he-shop-search {
    position: static !important;
    width: 100% !important;
    height: auto !important;
    padding: 0 !important;
    background: transparent !important;
    backdrop-filter: none;
    overflow: visible;
  }
  .l4d-home-page.is-mobile-search-open .he-filter-controls,
  .l4d-home-page.is-mobile-search-open .he-filter-controls.is-open { max-height: none; overflow: visible; }
}
