/*
 * PFAHL Store System V4
 * Helle, produktzentrierte Camping-Shop-Richtung nach freigegebener Referenz.
 */

@font-face {
  font-family: "Manrope";
  src: url("../fonts/manrope-latin-variable.woff2") format("woff2");
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
}

/* 0.10.12: scoped category archives and the complete homepage category rail. */
.home-category-belt[data-category-carousel] {
  position: relative;
  width: min(1120px, calc(100% - 40px));
  padding: 30px clamp(20px, 3vw, 38px) 22px;
  overflow: visible;
  isolation: isolate;
  background-color: #6fae79;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='120' viewBox='0 0 240 120'%3E%3Cg fill='none' stroke='%23ffffff' stroke-opacity='.105' stroke-width='1.2'%3E%3Cpath d='M-14 28c28-22 54-18 77-2s48 17 74 0 54-17 79 1 45 18 65 4'/%3E%3Cpath d='M-18 43c30-22 56-18 79-2s48 17 74 0 54-17 79 1 45 18 65 4'/%3E%3Cpath d='M-22 58c32-22 58-18 81-2s48 17 74 0 54-17 79 1 45 18 65 4'/%3E%3Cpath d='M-26 73c34-22 60-18 83-2s48 17 74 0 54-17 79 1 45 18 65 4'/%3E%3C/g%3E%3C/svg%3E");
  border: 1px solid rgba(24, 78, 45, .1);
  border-radius: 34px 34px 24px 24px;
  box-shadow: 0 22px 50px rgba(20, 73, 42, .12);
}

.home-category-belt__down {
  position: absolute;
  z-index: 3;
  top: -18px;
  left: 50%;
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  padding: 0;
  transform: translateX(-50%);
  color: #2f7f4c;
  background: #fff;
  border: 1px solid rgba(16, 31, 76, .1);
  border-radius: 50%;
  box-shadow: 0 8px 22px rgba(16, 31, 76, .12);
  cursor: pointer;
}

.home-category-belt__down:hover,
.home-category-belt__down:focus-visible {
  color: #fff;
  background: #10204d;
  outline: none;
}

.home-category-belt[data-category-carousel] .home-category-belt__head {
  margin-bottom: 16px;
  color: #10204d;
}

.home-category-belt[data-category-carousel] .home-category-belt__head > span {
  font-size: .9rem;
  letter-spacing: .025em;
}

.home-category-belt[data-category-carousel] .home-category-belt__head .pc-arrow-link {
  color: #10204d;
}

.home-category-belt[data-category-carousel] .home-category-belt__head .pc-arrow-link > i {
  color: #fff;
  background: #10204d;
}

.home-category-belt__viewport {
  width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  overscroll-behavior-inline: contain;
  -webkit-overflow-scrolling: touch;
  scroll-behavior: smooth;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  touch-action: pan-x pan-y;
}

.home-category-belt__viewport::-webkit-scrollbar { display: none; }

.home-category-belt__track {
  display: flex;
  gap: 14px;
  width: 100%;
}

.home-category-card {
  flex: 0 0 calc(20% - 11.2px);
  display: grid;
  grid-template-rows: 104px auto;
  align-items: center;
  min-width: 0;
  padding: 10px 10px 14px;
  color: #10204d;
  text-align: center;
  text-decoration: none;
  background: #fff;
  border: 1px solid rgba(16, 31, 76, .07);
  border-radius: 19px;
  box-shadow: 0 12px 28px rgba(16, 31, 76, .11);
  scroll-snap-align: start;
  transition: transform .22s ease, box-shadow .22s ease;
}

.home-category-card:hover,
.home-category-card:focus-visible {
  color: #2f7f4c;
  transform: translateY(-4px);
  box-shadow: 0 17px 35px rgba(16, 31, 76, .16);
  outline: none;
}

.home-category-card img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  background: #f6f8f3;
  border-radius: 13px;
}

.home-category-card span {
  display: block;
  padding-top: 10px;
  overflow: hidden;
  font-size: .78rem;
  font-weight: 800;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.home-category-belt__controls {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  margin-top: 17px;
}

.home-category-belt__controls button {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  padding: 0;
  color: #10204d;
  background: #fff;
  border: 0;
  border-radius: 50%;
  box-shadow: 0 7px 18px rgba(16, 31, 76, .12);
  cursor: pointer;
}

.home-category-belt__controls button:hover,
.home-category-belt__controls button:focus-visible {
  color: #fff;
  background: #10204d;
  outline: none;
}

.home-category-belt__controls button:disabled {
  opacity: .42;
  cursor: default;
}

.home-category-belt__progress {
  width: 72px;
  height: 2px;
  overflow: hidden;
  background: rgba(255, 255, 255, .42);
  border-radius: 99px;
}

.home-category-belt__progress i {
  display: block;
  width: 100%;
  height: 100%;
  background: #fff;
  border-radius: inherit;
  transform: scaleX(.16);
  transform-origin: left center;
  transition: transform .2s ease;
}

.tax-product_cat .pc-category-description {
  width: 100%;
  max-width: none;
  margin: clamp(42px, 6vw, 78px) 0 0;
  padding: clamp(22px, 3vw, 34px);
  background: #f1f8f2;
  border: 1px solid rgba(47, 127, 76, .13);
  border-radius: 24px;
}

.tax-product_cat .pc-category-description__content > :first-child { margin-top: 0; }
.tax-product_cat .pc-category-description__content > :last-child { margin-bottom: 0; }

@media (min-width: 1101px) {
  .home-category-belt[data-category-carousel] { min-width: 1000px; }
}

@media (max-width: 1100px) {
  .home-category-belt[data-category-carousel] { min-width: 0; }
  .home-category-card { flex-basis: calc(33.333% - 9.334px); }
}

@media (max-width: 680px) {
  .home-category-belt[data-category-carousel] {
    width: calc(100% - 28px);
    padding: 27px 16px 18px;
    border-radius: 28px 28px 20px 20px;
  }
  .home-category-belt__track { gap: 10px; }
  .home-category-card {
    flex-basis: calc(50% - 5px);
    grid-template-rows: 86px auto;
  }
  .home-category-belt[data-category-carousel] .home-category-belt__head .pc-arrow-link { display: none; }
  .tax-product_cat .pc-category-description {
    margin-top: 36px;
    padding: 20px 18px;
    border-radius: 20px;
  }
}

:root {
  --pf-ink: #11183d;
  --pf-green: #6fae79;
  --pf-green-text: #347447;
  --pf-green-dark: #347447;
  --pf-green-deep: #11183d;
  --pf-green-surface: #e4f4e8;
  --pf-mint: #eaf7ec;
  --pf-mint-2: #dff2e2;
  --pf-cream: #f7f8fb;
  --pf-yellow: #f2b532;
  --pf-yellow-soft: #fff0c9;
  --pf-line: #e3e7e5;
  --pf-muted: #5d6576;
  --pf-white: #fff;
  --pf-shadow: 0 18px 54px rgba(17, 24, 61, .11);
  --pf-shadow-soft: 0 9px 28px rgba(17, 24, 61, .075);
  --pf-radius: 24px;
  --pf-content-max: 1464px;
  --pf-site: min(var(--pf-content-max), calc(100% - 40px));
  --pc-shell: var(--pf-site);
  --ink: var(--pf-ink);
  --pine: var(--pf-green);
  --pine-deep: var(--pf-green-deep);
  --moss: var(--pf-muted);
  --paper: var(--pf-cream);
  --sand: var(--pf-yellow);
  --sand-light: var(--pf-yellow-soft);
  --clay: var(--pf-green-dark);
  --line: var(--pf-line);
  --shadow: var(--pf-shadow-soft);
  --site: var(--pf-site);
  --serif: "Manrope", "Segoe UI", Arial, sans-serif;
}

html { scroll-behavior: smooth; }
body,
body.home-v4,
body.store-page {
  margin: 0;
  padding: 0;
  color: var(--pf-ink);
  background: var(--pf-white);
  font-family: "Manrope", "Segoe UI", Arial, sans-serif;
  font-size: var(--pc-global-font-size, 1rem);
  line-height: 1.6;
}

body.pc-store-v4 { overflow-x: clip; background: var(--pf-white); }
body.pc-store-v4 :where(h1, h2, h3, h4, h5, h6, button, input, select, textarea) {
  font-family: "Manrope", "Segoe UI", Arial, sans-serif;
}

a { color: inherit; }
button,
input,
select { font: inherit; }

.pc-registration-guard-field {
  position: fixed !important;
  left: -10000px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
}

.store-canvas,
.store-page main { width: 100%; max-width: none; margin: 0; overflow: clip; }
.site-width { width: var(--pf-site); }
.skip-link:focus { top: 12px; border-radius: 999px; background: var(--pf-green-deep); }

/* Header + large PFAHL lockup */
.home-header,
.store-header {
  position: sticky;
  z-index: 1000;
  top: 0;
  width: 100%;
  padding: 0;
  color: var(--pf-ink);
  background: rgba(255,255,255,.96);
  border: 0;
  border-bottom: 1px solid rgba(36,92,54,.08);
  backdrop-filter: blur(16px);
}
.home-nav {
  width: var(--pf-site);
  min-height: 82px;
  margin: 0 auto;
  padding: 0;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 34px;
}
.brand { display: inline-flex; align-items: center; min-width: 0; }
.brand__picture { display: block; width: 100px; flex: 0 0 100px; line-height: 0; }
.brand__logo { display: block; width: 100%; max-width: 100px; height: auto; }
.home-nav .brand__logo { width: 100px; flex: 0 0 100px; }
.home-nav__links { justify-self: center; display: flex; align-items: center; gap: clamp(18px, 2.4vw, 34px); }
.home-nav__links a {
  position: relative;
  padding: 29px 0 26px;
  color: #365042;
  font-size: .78rem;
  font-weight: 760;
  letter-spacing: -.01em;
}
.home-nav__links a::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 18px;
  left: 0;
  height: 2px;
  background: var(--pf-green);
  transform: scaleX(0);
  transition: transform .2s ease;
}
.home-nav__links a:hover::after,
.home-nav__links a.is-current::after { transform: scaleX(1); }
.pc-nav-item__top { display: flex; align-items: center; }
.pc-mega-toggle {
  width: 24px;
  height: 32px;
  margin-left: 2px;
  padding: 0;
  display: grid;
  place-items: center;
  border: 0;
  color: var(--pf-muted);
  background: transparent;
  box-shadow: none;
  font-size: .6rem;
  transition: color .2s ease, transform .2s ease;
}
.pc-mega-toggle:hover,
.pc-mega-toggle:focus-visible { color: var(--pf-green-dark); background: transparent; transform: none; }
.pc-nav-item--mega.is-open .pc-mega-toggle > i { transform: rotate(180deg); }
.pc-mega-toggle > i { transition: transform .2s ease; }
.pc-mega-menu {
  position: absolute;
  z-index: 80;
  top: 100%;
  right: 0;
  left: 0;
  padding: 14px 0 24px;
  border-top: 1px solid rgba(36,92,54,.07);
  background: rgba(255,255,255,.985);
  box-shadow: 0 28px 60px rgba(23,51,34,.14);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(-10px);
  transition: opacity .2s ease, visibility .2s ease, transform .2s ease;
}
.pc-nav-item--mega.is-open .pc-mega-menu {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
}
.pc-nav-item--mega:has(.pc-mega-toggle[aria-expanded="true"]) .pc-mega-menu {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
}
.pc-mega-menu__inner {
  width: var(--pf-site);
  margin: 0 auto;
  padding: 18px;
  display: grid;
  grid-template-columns: minmax(240px,.9fr) minmax(430px,1.75fr) minmax(180px,.62fr);
  gap: 28px;
  border: 1px solid var(--pf-line);
  border-radius: 26px;
  background: var(--pf-white);
  box-shadow: var(--pf-shadow-soft);
}
.home-nav__links .pc-mega-menu a { padding: 0; }
.home-nav__links .pc-mega-menu a::after { display: none; }
.pc-mega-menu__feature {
  position: relative;
  min-height: 255px;
  padding: 24px !important;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  border-radius: 20px;
  color: #fff !important;
  background: var(--pf-green-deep);
}
.pc-mega-menu__feature::before {
  content: "";
  position: absolute;
  right: -55px;
  bottom: -70px;
  width: 240px;
  height: 190px;
  border-radius: 50%;
  background: rgba(232,247,235,.13);
}
.pc-mega-menu__feature > :not(img) { position: relative; z-index: 2; }
.pc-mega-menu__feature img {
  position: absolute;
  z-index: 1;
  right: -22px;
  bottom: -12px;
  width: 72%;
  height: 58%;
  object-fit: cover;
  object-position: center;
  border-radius: 18px 0 18px 0;
  mix-blend-mode: screen;
}
.pc-mega-menu__eyebrow,
.pc-mega-menu__heading > span,
.pc-mega-menu__quick > span {
  color: var(--pf-green-dark);
  font-size: .63rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.pc-mega-menu__feature .pc-mega-menu__eyebrow { color: rgba(255,255,255,.72); }
.pc-mega-menu__feature strong { margin-top: 7px; color: #fff; font-size: 1.5rem; line-height: 1.05; }
.pc-mega-menu__feature > span:not(.pc-mega-menu__eyebrow) { max-width: 18ch; margin-top: 9px; color: rgba(255,255,255,.78); font-size: .75rem; line-height: 1.5; }
.pc-mega-menu__feature b { margin-top: auto; color: #fff; font-size: .7rem; }
.pc-mega-menu__feature b i { margin-left: 5px; }
.pc-mega-menu__shop { min-width: 0; padding: 5px 0; }
.pc-mega-menu__heading { margin-bottom: 14px; display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.pc-mega-menu__heading > a { color: var(--pf-green-dark); font-size: .68rem; font-weight: 800; }
.pc-mega-menu__categories { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 12px; }
.pc-mega-menu__category {
  min-width: 0;
  min-height: 58px;
  padding: 8px !important;
  display: grid;
  grid-template-columns: 40px minmax(0,1fr);
  align-items: center;
  gap: 10px;
  border-radius: 13px;
  transition: color .18s ease, background .18s ease, transform .18s ease;
}
.pc-mega-menu__category:hover,
.pc-mega-menu__category:focus-visible { color: var(--pf-green-deep); background: var(--pf-mint); transform: translateX(3px); }
.pc-mega-menu__category > i {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  color: var(--pf-green-dark);
  background: var(--pf-mint);
  font-size: .95rem;
}
.pc-mega-menu__category span { min-width: 0; }
.pc-mega-menu__category strong,
.pc-mega-menu__category small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pc-mega-menu__category strong { color: var(--pf-ink); font-size: .76rem; }
.pc-mega-menu__category small { margin-top: 2px; color: var(--pf-muted); font-size: .62rem; }
.pc-mega-menu__quick {
  padding: 6px 0 4px 22px;
  display: flex;
  flex-direction: column;
  gap: 5px;
  border-left: 1px solid var(--pf-line);
}
.pc-mega-menu__quick > span { margin-bottom: 8px; }
.pc-mega-menu__quick a {
  padding: 10px 9px !important;
  display: flex;
  align-items: center;
  gap: 10px;
  border-radius: 11px;
  color: var(--pf-ink);
  font-size: .72rem;
  font-weight: 780;
}
.pc-mega-menu__quick a:hover { color: var(--pf-green-deep); background: var(--pf-mint); }
.pc-mega-menu__quick a i { width: 17px; color: var(--pf-green-dark); text-align: center; }
.pc-nav-backdrop { display: none; }
body.pc-menu-open { overflow: hidden; }
.home-nav__actions { display: flex; align-items: center; gap: 10px; }
.pc-nav-mobile-shortcuts { display: none; }
.home-icon-button,
.home-cart {
  min-width: 39px;
  min-height: 39px;
  border-radius: 999px;
  border: 1px solid var(--pf-line);
  background: var(--pf-white);
  color: var(--pf-green-deep);
}
.home-icon-button { display: grid; place-items: center; }
.home-account { text-decoration: none; }
.home-cart { padding: 0 7px 0 15px; display: inline-flex; align-items: center; gap: 9px; font-size: .72rem; font-weight: 800; }
.home-cart b { width: 25px; height: 25px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: var(--pf-green-dark); }
.home-cart .pc-cart-count {
  position: static;
  inset: auto;
  min-width: 25px;
  height: 25px;
  padding: 0;
}
.menu-toggle { display: none; }

/* Compact, accessible product search in the WordPress header. */
.pc-header .pc-search {
  position: relative;
  display: block;
  width: 39px;
  z-index: 45;
  transition: width .22s ease;
}
.pc-header .pc-search:focus-within,
.pc-header .pc-search.is-open { width: min(310px, 32vw); }
.pc-header .pc-search__form {
  position: relative;
  display: flex;
  min-height: 39px;
  align-items: center;
  overflow: hidden;
  border: 1px solid var(--pf-line);
  border-radius: 999px;
  background: var(--pf-white);
}
.pc-header .pc-search__input {
  width: 0;
  min-width: 0;
  min-height: 37px;
  padding: 0;
  border: 0;
  outline: 0;
  color: var(--pf-ink);
  background: transparent;
  font-size: .78rem;
  opacity: 0;
  transition: width .22s ease, padding .22s ease, opacity .16s ease;
}
.pc-header .pc-search:focus-within .pc-search__input,
.pc-header .pc-search.is-open .pc-search__input {
  width: 100%;
  padding: 0 6px 0 15px;
  opacity: 1;
}
.pc-header .pc-search__submit {
  width: 37px;
  min-width: 37px;
  min-height: 37px;
  padding: 0;
  display: grid;
  flex: 0 0 37px;
  place-items: center;
  border: 0;
  border-radius: 50%;
  color: var(--pf-green-deep);
  background: transparent;
  box-shadow: none;
  line-height: 0;
}
.pc-header .pc-search__submit svg { display: block; width: 19px; height: 19px; }
.pc-header .pc-search__submit:hover { color: var(--pf-green-dark); background: var(--pf-mint); transform: none; }
.pc-header .pc-live-results {
  right: 0;
  left: auto;
  width: min(390px, calc(100vw - 28px));
  margin-top: 10px;
  border: 1px solid var(--pf-line);
  border-radius: 18px;
  background: var(--pf-white);
  box-shadow: var(--pf-shadow);
}

/* Homepage hero */
.home-hero {
  position: relative;
  min-height: 0;
  padding: 64px 0 0;
  display: block;
  color: var(--pf-ink);
  background: var(--pf-cream);
  overflow: visible;
}
.home-hero::before,
.home-hero::after {
  content: "";
  position: absolute;
  z-index: 0;
  border: 1px dashed rgba(111,174,121,.28);
  border-radius: 50%;
  pointer-events: none;
}
.home-hero::before { width: 370px; height: 150px; left: -160px; top: 125px; transform: rotate(-8deg); }
.home-hero::after { width: 300px; height: 130px; right: -130px; top: 225px; transform: rotate(11deg); }
.home-hero__copy {
  position: relative;
  z-index: 2;
  width: var(--pf-site);
  margin: 0 auto;
  text-align: center;
}
.home-hero__copy > p:first-child {
  margin: 0 0 10px;
  color: var(--pf-green-dark);
  font-size: .73rem;
  font-weight: 800;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.home-hero__claim {
  margin: 0;
  color: var(--pf-ink);
  font-size: clamp(2.7rem, 4.6vw, 4.1rem);
  font-weight: 800;
  letter-spacing: -.065em;
  line-height: .96;
  white-space: nowrap;
}
.home-hero__claim span { color: var(--pf-green-text); }
.home-primary,
.button,
.add-to-cart,
.mobile-buybar button {
  min-height: 46px;
  padding: 0 20px;
  border: 1px solid var(--pf-green-deep);
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 11px;
  color: #fff;
  background: var(--pf-green-deep);
  font-size: .75rem;
  font-weight: 800;
  letter-spacing: .01em;
  text-transform: none;
  box-shadow: none;
}
.home-primary { margin-top: 22px; }
.home-primary:hover,
.button:hover,
.add-to-cart:hover { color: #fff; background: var(--pf-green-dark); border-color: var(--pf-green-dark); transform: translateY(-2px); }
.home-primary span { width: 25px; height: 25px; display: grid; place-items: center; border-radius: 50%; color: var(--pf-green-deep); background: #fff; }
.home-hero__visual {
  position: relative;
  z-index: 1;
  width: min(1280px, 100%);
  height: auto;
  margin: -18px auto 0;
}
.home-hero__visual > picture,
.home-hero__visual > picture > img,
.home-hero__visual > img {
	display: block;
  width: 100%;
  height: auto;
  min-height: 0;
  max-height: 590px;
  object-fit: contain;
  object-position: center;
  filter: none;
}
.home-proof {
  position: absolute;
  top: 38%;
  padding: 0;
  color: var(--pf-green-dark);
  background: transparent;
  border: 0;
  box-shadow: none;
}
.home-proof--left { left: 6%; }
.home-proof--right { right: 5%; text-align: right; }
.home-proof b { display: block; color: var(--pf-green-dark); font-size: 1.7rem; font-weight: 800; line-height: 1; }
.home-proof span { display: block; margin-top: 5px; color: var(--pf-muted); font-size: .7rem; font-weight: 700; }

/* Organic green category bridge */
.home-category-belt {
  position: relative;
  inset: auto;
  transform: none;
  z-index: 5;
  width: min(930px, calc(100% - 40px));
  margin: -62px auto 0;
  padding: 34px 38px 30px;
  color: var(--pf-ink);
  background: var(--pf-green);
  border-radius: 70px 70px 28px 28px / 34px 34px 28px 28px;
  box-shadow: var(--pf-shadow);
}
.home-category-belt__head { margin-bottom: 18px; display: flex; align-items: center; justify-content: space-between; color: var(--pf-green-deep); }
.home-category-belt__head span { font-size: .82rem; font-weight: 800; }
.home-category-belt__head a { color: var(--pf-green-deep); font-size: .68rem; font-weight: 800; }
.home-category-belt__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 15px; }
.home-category-belt__grid a {
  min-height: 142px;
  padding: 10px 10px 14px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  border-radius: 19px;
  color: var(--pf-ink);
  background: #fff;
  box-shadow: 0 7px 20px rgba(27,72,43,.09);
  transition: transform .2s ease, box-shadow .2s ease;
}
.home-category-belt__grid a:hover { transform: translateY(-5px); box-shadow: 0 14px 32px rgba(27,72,43,.15); }
.home-category-belt__grid img { width: 100%; height: 92px; object-fit: cover; border-radius: 13px; }
.home-category-belt__grid span { font-size: .72rem; font-weight: 800; }

/* Intro */
.home-intro { width: min(760px, calc(100% - 40px)); margin: 0 auto; padding: 88px 0 72px; text-align: center; }
.home-intro > p { margin: 0 0 10px; color: var(--pf-green-dark); font-size: .72rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.home-intro h1 { margin: 0; color: var(--pf-ink); font-size: clamp(2rem, 4vw, 3.8rem); font-weight: 800; letter-spacing: -.055em; line-height: 1.03; }
.home-intro h1 span { color: var(--pf-green-text); }
.home-intro > span { display: block; max-width: 650px; margin: 21px auto 0; color: var(--pf-muted); font-size: .98rem; }

/* Product section shaped like the reference */
.home-products {
  width: var(--pf-site);
  margin: 0 auto 96px;
  padding: 52px;
  background: var(--pf-mint);
  border-radius: 34px;
}
.home-section-head { margin: 0 0 27px; display: flex; align-items: end; justify-content: space-between; gap: 24px; }
.home-section-head p { margin: 0 0 4px; color: var(--pf-green-dark); font-size: .69rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.home-section-head h2 { margin: 0; color: var(--pf-ink); font-size: clamp(1.8rem, 3vw, 3rem); font-weight: 800; letter-spacing: -.05em; line-height: 1; }
.home-section-head > a { color: var(--pf-green-dark); font-size: .72rem; font-weight: 800; }
.home-products__layout { display: grid; grid-template-columns: minmax(190px, .78fr) 3.22fr; gap: 18px; }
.home-promo-card {
  min-height: 330px;
  padding: 30px;
  border-radius: 22px;
  color: #fff;
  background: var(--pf-green-dark);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.home-promo-card p { margin: 0 0 auto; font-size: .68rem; font-weight: 800; text-transform: uppercase; letter-spacing: .12em; }
.home-promo-card h3 { margin: 0 0 12px; color: #fff; font-size: clamp(1.5rem, 2.3vw, 2.25rem); font-weight: 800; letter-spacing: -.05em; line-height: 1.02; }
.home-promo-card span { color: rgba(255,255,255,.84); font-size: .8rem; }
.home-promo-card a { margin-top: 19px; color: #fff; font-size: .7rem; font-weight: 800; }
.home-product-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 17px; }
.home-product-card,
.product-card {
  overflow: hidden;
  border: 1px solid rgba(36,92,54,.08);
  border-radius: 20px;
  background: #fff;
  box-shadow: var(--pf-shadow-soft);
  transition: transform .2s ease, box-shadow .2s ease;
}
.home-product-card:hover,
.product-card:hover { transform: translateY(-5px); box-shadow: var(--pf-shadow); }
.home-product-card > a,
.product-card__media { position: relative; display: block; padding: 15px; background: #fff; }
.home-product-card img,
.product-card__media img { width: 100%; aspect-ratio: 1; object-fit: contain; border-radius: 14px; background: #f8fbf8; }
.home-product-card > a > span,
.product-card .label { position: absolute; z-index: 2; top: 13px; left: 13px; padding: 5px 9px; border: 0; border-radius: 999px; color: #fff; background: var(--pf-green-dark); font-size: .57rem; font-weight: 800; }
.home-product-card > div,
.product-card__body { padding: 5px 18px 18px; }
.home-product-card p,
.product-card__body > p { margin: 0 0 5px; color: var(--pf-green-dark); font-size: .62rem; font-weight: 800; }
.home-product-card h3,
.product-card h3 { min-height: 2.8em; margin: 0; font-size: .86rem; font-weight: 800; line-height: 1.4; letter-spacing: -.02em; }
.home-product-card footer,
.product-card__body > div { margin-top: 13px; display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.home-product-card strong,
.product-card strong { font-size: .77rem; }
.home-product-card button,
.product-card__body button { width: 30px; height: 30px; display: grid; place-items: center; border: 0; border-radius: 50%; color: #fff; background: var(--pf-green-dark); font-size: .75rem; }

/* Real WooCommerce cards rendered by the homepage shortcode. */
.pc-home-products__grid { min-width: 0; }
.pc-home-products__grid .woocommerce { height: 100%; }
.pc-home-products__grid .woocommerce ul.products {
  height: 100%;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 17px;
}
.pc-home-products__grid .woocommerce ul.products li.product {
  border: 1px solid rgba(36,92,54,.08);
  border-radius: 20px;
  box-shadow: var(--pf-shadow-soft);
}
.pc-home-products__grid .woocommerce ul.products li.product a img {
  aspect-ratio: 1;
  margin: 0 0 8px;
  padding: 14px;
  object-fit: contain;
  background: #f8fbf8;
}
.pc-home-products__grid .woocommerce ul.products li.product .woocommerce-loop-product__title {
  min-height: 3em;
  margin: 0 15px 8px;
  font-size: .86rem;
  line-height: 1.4;
}
.pc-home-products__grid .pc-product-card__category,
.pc-home-products__grid .woocommerce ul.products li.product .price { margin-inline: 15px; }
.pc-home-products__grid .woocommerce ul.products li.product .button,
.pc-home-products__grid .woocommerce ul.products li.product .added_to_cart {
  width: calc(100% - 30px);
  min-height: 40px;
  margin-inline: 15px;
  padding: 0 12px;
  font-size: .69rem;
}

/* Featured yellow backpack */
.home-feature {
  width: var(--pf-site);
  min-height: 480px;
  margin: 0 auto 96px;
  padding: 34px 42px 34px 58px;
  display: grid;
  grid-template-columns: .86fr 1.14fr;
  align-items: center;
  gap: 24px;
  border: 1px solid var(--pf-line);
  border-radius: 34px;
  color: var(--pf-ink);
  background: #fff;
  overflow: hidden;
}
.home-feature__copy > p:first-child { margin: 0 0 11px; color: var(--pf-green-dark); font-size: .72rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.home-feature__copy h2 { margin: 0; color: var(--pf-ink); font-size: clamp(2.2rem, 4vw, 4.2rem); font-weight: 800; letter-spacing: -.065em; line-height: .98; }
.home-feature__copy h2 span { color: var(--pf-green-text); }
.home-feature__copy > p:not(:first-child) { max-width: 460px; margin: 20px 0 0; color: var(--pf-muted); font-size: .94rem; }
.home-feature .home-primary--dark { color: #fff; background: var(--pf-green-deep); border-color: var(--pf-green-deep); }
.home-feature__image { position: relative; min-height: 410px; display: grid; place-items: center; }
.home-feature__image img { width: 100%; height: 100%; max-height: 440px; object-fit: contain; border-radius: 0; }

/* Category selection */
.home-selection { width: var(--pf-site); margin: 0 auto 96px; }
.home-selection__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.home-selection__grid > a { min-height: 320px; padding: 16px; overflow: hidden; border: 1px solid var(--pf-line); border-radius: 24px; background: #fff; }
.home-selection__grid img { width: 100%; height: 230px; object-fit: cover; border-radius: 18px; transition: transform .35s ease; }
.home-selection__grid a:hover img { transform: scale(1.025); }
.home-selection__grid span { padding: 15px 5px 3px; display: flex; align-items: center; justify-content: space-between; }
.home-selection__grid b { font-size: .9rem; }
.home-selection__grid small { color: var(--pf-muted); font-size: .66rem; }

/* Storytelling remains central, styled like an editorial product panel */
.home-story {
  width: var(--pf-site);
  margin: 0 auto 96px;
  padding: 30px;
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  align-items: center;
  gap: 50px;
  border-radius: 34px;
  color: var(--pf-ink);
  background: var(--pf-mint);
}
.home-story__image { position: relative; }
.home-story__image img { width: 100%; min-height: 460px; object-fit: cover; border-radius: 25px; }
.home-story__image small,
.ai-disclosure { position: absolute; right: 10px; bottom: 10px; max-width: calc(100% - 20px); padding: 5px 8px; border-radius: 999px; color: rgba(23,51,34,.66); background: rgba(255,255,255,.74); font-size: .54rem; backdrop-filter: blur(10px); }
.home-story__copy { padding-right: 30px; }
.home-story__copy > p:first-child { margin: 0 0 11px; color: var(--pf-green-dark); font-size: .72rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.home-story__copy h2 { margin: 0; color: var(--pf-ink); font-size: clamp(2.2rem, 4vw, 4rem); font-weight: 800; letter-spacing: -.06em; line-height: 1; }
.home-story__copy h2 span { color: var(--pf-green-text); }
.home-story__copy p:not(:first-child) { color: var(--pf-muted); }
.home-story blockquote { margin: 25px 0; padding-left: 18px; border-left: 3px solid var(--pf-yellow); color: var(--pf-green-deep); font-size: 1rem; font-weight: 720; }
.home-story__copy a { color: var(--pf-green-dark); font-size: .76rem; font-weight: 800; }

/* Journal */
.home-journal { width: var(--pf-site); margin: 0 auto; padding: 0 0 96px; }
.home-section-head--center { justify-content: center; text-align: center; }
.home-journal__grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 18px; }
.home-journal-card { border: 1px solid var(--pf-line); border-radius: 22px; overflow: hidden; background: #fff; }
.home-journal-card--feature { grid-row: span 2; }
.home-journal-card a { display: grid; grid-template-columns: 118px 1fr; height: 100%; }
.home-journal-card--feature a { display: block; }
.home-journal-card img { width: 118px; height: 100%; min-height: 150px; object-fit: cover; }
.home-journal-card--feature img { width: 100%; height: 300px; }
.home-journal-card div { padding: 20px; }
.home-journal-card p { margin: 0 0 8px; color: var(--pf-green-dark); font-size: .61rem; font-weight: 800; text-transform: uppercase; }
.home-journal-card h3 { margin: 0 0 14px; font-size: .9rem; line-height: 1.35; }
.home-journal-card--feature h3 { font-size: 1.4rem; }
.home-journal-card span { color: var(--pf-green-dark); font-size: .69rem; font-weight: 800; }
.home-journal__more { margin-top: 25px; display: table; margin-inline: auto; color: var(--pf-green-dark); font-size: .75rem; font-weight: 800; }

/* Service + footer */
.home-service {
  width: var(--pf-site);
  margin: 0 auto 70px;
  padding: 32px 42px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 30px;
  border-radius: 22px;
  color: #fff;
  background: var(--pf-green-dark);
}
.home-service p { color: rgba(255,255,255,.84); }
.home-service > div:first-child p { margin: 0; font-size: .68rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.home-service h2 { margin: 8px 0 0; color: #fff; font-size: 1.6rem; }
.home-service a { color: #fff; font-weight: 800; }
.home-footer,
.store-footer {
  width: 100%;
  margin: 0;
  padding: 58px max(20px, calc((100% - var(--pf-content-max)) / 2)) 24px;
  display: grid;
  grid-template-columns: 1.7fr repeat(3, 1fr);
  gap: 38px;
  color: var(--pf-ink);
  background: var(--pf-mint);
}
.home-footer .brand__logo { width: 100px; }
.home-footer__brand p { max-width: 300px; color: var(--pf-muted); font-size: .8rem; }
.home-footer h2 { margin: 8px 0 14px; color: var(--pf-green-dark); font-size: .7rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.home-footer > div:not(:first-child) a { margin: 7px 0; display: block; color: var(--pf-muted); font-size: .73rem; }
.home-footer__bottom { grid-column: 1 / -1; margin: 16px 0 0; padding-top: 19px; display: flex; justify-content: space-between; border-top: 1px solid rgba(36,92,54,.12); color: var(--pf-muted); font-size: .65rem; }

/* Store and category pages: same language */
.store-page { background: var(--pf-white); }
.store-page .home-header { background: #fff; }
.shop-intro,
.category-hero {
  width: var(--pf-site);
  margin: 34px auto 0;
  padding: 56px;
  border-radius: 34px;
  color: var(--pf-ink);
  background: var(--pf-mint);
  overflow: hidden;
}
.shop-intro__grid { width: 100%; display: grid; grid-template-columns: 1.2fr .8fr; align-items: end; gap: 40px; }
.shop-intro h1,
.category-hero h1 {
  margin: 0;
  color: var(--pf-ink);
  font-family: "Manrope", "Segoe UI", Arial, sans-serif;
  font-size: clamp(2.7rem, 5vw, 5rem);
  font-weight: 800;
  letter-spacing: -.065em;
  line-height: .95;
}
.shop-intro h1 em,
.category-hero h1 span { color: var(--pf-green-text); font-family: inherit; font-style: normal; font-weight: inherit; }
.shop-intro p,
.category-hero p { color: var(--pf-muted); }
.overline,
.overline--light { color: var(--pf-green-dark); font-size: .68rem; }
.button--sand,
.button--ink { color: #fff; background: var(--pf-green-deep); border-color: var(--pf-green-deep); }
.shop-categories { background: transparent; }
.shop-categories__track { padding: 38px 0; gap: 15px; }
.shop-categories a {
  border: 1px solid var(--pf-line);
  border-radius: 19px;
  background: #fff;
  box-shadow: var(--pf-shadow-soft);
}
.shop-categories img { border-radius: 14px; }
.catalog-section { padding: 48px 0 86px; background: #fff; }
.catalog-head { margin-bottom: 30px; }
.catalog-head h2 { color: var(--pf-ink); font-size: clamp(2rem, 3vw, 3rem); font-weight: 800; letter-spacing: -.05em; }
.breadcrumb,
.catalog-head span { color: var(--pf-muted); }
.catalog-head__actions button,
.catalog-head__actions select { border-radius: 999px; border-color: var(--pf-line); background: #fff; }
.filter-trigger { color: #fff; background: var(--pf-green-dark); }
.catalog-layout { grid-template-columns: 220px 1fr; gap: 34px; }
.filters { border-radius: 21px; border: 1px solid var(--pf-line); background: var(--pf-cream); }
.filter-block { border-color: var(--pf-line); }
.filter-block h3 { color: var(--pf-green-dark); }
.active-filters button { border-radius: 999px; color: var(--pf-green-dark); background: var(--pf-mint); }
.product-grid--catalog { grid-template-columns: repeat(3, 1fr); gap: 18px; }
.catalog-more > div span { background: var(--pf-green); }
.category-hero { display: grid; grid-template-columns: .8fr 1.2fr; align-items: center; min-height: 470px; }
.category-hero__copy { padding: 10px 10px 10px 0; }
.category-hero__copy > a { color: var(--pf-green-dark); font-weight: 800; }
.category-hero__image { height: 430px; }
.category-hero__image img { width: 100%; height: 100%; object-fit: contain; }
.category-story { width: var(--pf-site); margin: 0 auto 80px; border-radius: 30px; overflow: hidden; background: var(--pf-mint); }

/* Product detail */
.product-breadcrumb { padding: 24px 0; color: var(--pf-muted); font-size: .72rem; }
.product-detail { background: #fff; }
.product-detail__grid { gap: 52px; }
.product-gallery__main { border: 1px solid var(--pf-line); border-radius: 26px; background: var(--pf-cream); overflow: hidden; }
.product-gallery__main img { object-fit: contain; }
.product-gallery__secondary button { border-radius: 16px; border-color: var(--pf-line); background: #fff; overflow: hidden; }
.product-gallery__secondary button.is-active { border-color: var(--pf-green); }
.product-buybox { padding: 34px; border: 1px solid var(--pf-line); border-radius: 26px; background: var(--pf-mint); }
.product-buybox h1 { color: var(--pf-ink); font-family: "Manrope", "Segoe UI", Arial, sans-serif; font-size: clamp(2rem, 3vw, 3.4rem); font-weight: 800; letter-spacing: -.055em; line-height: 1; }
.product-kicker { color: var(--pf-green-dark); }
.product-price { color: var(--pf-green-deep); }
.rating-row span,
.reviews__stars { color: var(--pf-yellow); }
.product-benefits i { color: #fff; background: var(--pf-green-dark); }
.variant-picker label { border-radius: 14px; border-color: var(--pf-line); background: #fff; }
.variant-picker label:has(input:checked) { border-color: var(--pf-green); box-shadow: 0 0 0 2px rgba(111,174,121,.12); }
.availability span { background: var(--pf-green); }
.product-proof { color: var(--pf-ink); background: var(--pf-green-dark); }
.product-proof h2,
.product-proof p,
.product-proof blockquote,
.product-proof .overline { color: #fff; }
.product-proof__media { border-radius: 26px; overflow: hidden; }
.section--paper { background: var(--pf-mint); }
.section--white { background: #fff; }
.reviews { color: var(--pf-ink); background: var(--pf-mint); }

/* WordPress/WooCommerce archive, detail and content shells use the same system. */
.pc-shop-main {
  padding: 34px 0 clamp(70px, 8vw, 110px);
  background: var(--pf-white);
}
.pc-shop-main > .pc-shell { width: var(--pf-site); }
.pc-shop-main .woocommerce-products-header {
  margin: 0 0 28px;
  padding: clamp(32px, 5vw, 58px);
  overflow: hidden;
  border-radius: 34px;
  background: var(--pf-mint);
}
.pc-shop-main .woocommerce-products-header__title,
.pc-shop-main .product_title {
  color: var(--pf-ink);
  font-size: clamp(2.5rem, 5vw, 5rem);
  font-weight: 800;
  letter-spacing: -.065em;
  line-height: .98;
}
.pc-shop-main .term-description { max-width: 760px; color: var(--pf-muted); }
.pc-shop-main .woocommerce-ordering select {
  border-color: var(--pf-line);
  color: var(--pf-ink);
  background: var(--pf-white);
}
.pc-shop-main .woocommerce ul.products li.product {
  border-color: var(--pf-line);
  border-radius: 20px;
  box-shadow: var(--pf-shadow-soft);
}
.pc-shop-main .woocommerce ul.products li.product a img {
  padding: 14px;
  object-fit: contain;
  background: #f8fbf8;
}
.pc-shop-main .woocommerce div.product div.images img { object-fit: contain; background: var(--pf-cream); }
.pc-shop-main .woocommerce div.product div.summary {
  padding: clamp(22px, 3vw, 36px);
  border: 1px solid var(--pf-line);
  border-radius: 26px;
  background: var(--pf-mint);
}
.pc-shop-main .woocommerce div.product .product_title { font-size: clamp(2rem, 3.6vw, 3.8rem); }
.pc-shop-main .woocommerce-tabs,
.pc-shop-main .related,
.pc-shop-main .up-sells { clear: both; }

/* WooCommerce UI consistency
 * WooCommerce renders its archive and single-product markup directly inside
 * the theme shell. These selectors deliberately target that real structure so
 * plugin button, swatch and gallery defaults cannot reintroduce purple/grey UI.
 */
body.pc-store-v4.woocommerce .pc-shop-main > .pc-shell > .page-title {
  max-width: none;
  margin: 0 0 24px;
  padding: clamp(28px, 4vw, 52px);
  border: 1px solid rgba(111, 174, 121, .16);
  border-radius: clamp(22px, 3vw, 34px);
  color: var(--pf-ink);
  background: var(--pf-mint);
  font-size: clamp(2.5rem, 5vw, 4.5rem);
  font-weight: 800;
  letter-spacing: -.06em;
  line-height: .98;
}

body.pc-store-v4.woocommerce .pc-shop-main ul.products li.product {
  border-color: var(--pf-line);
  border-radius: 20px;
  background: var(--pf-white);
  box-shadow: var(--pf-shadow-soft);
}

body.pc-store-v4.woocommerce .pc-shop-main ul.products li.product > .woocommerce-LoopProduct-link {
  display: flex;
  min-width: 0;
  flex: 1;
  flex-direction: column;
  color: var(--pf-ink);
  text-decoration: none;
}

body.pc-store-v4.woocommerce .pc-shop-main ul.products li.product a img {
  padding: 12px;
  object-fit: contain;
  background: #f8fbf8;
  transition: transform 220ms cubic-bezier(.2, .7, .2, 1);
}

body.pc-store-v4.woocommerce .pc-shop-main ul.products li.product:hover a img {
  transform: scale(1.018);
}

body.pc-store-v4.woocommerce .pc-shop-main ul.products li.product .pc-product-card__category,
body.pc-store-v4.woocommerce .pc-shop-main ul.products li.product .woocommerce-loop-product__title,
body.pc-store-v4.woocommerce .pc-shop-main ul.products li.product .price {
  font-weight: 800;
}

body.pc-store-v4.woocommerce .pc-shop-main ul.products li.product .wc-gzd-additional-info-loop {
  min-height: 2.6em;
  margin: 0 16px 13px;
  color: var(--pf-muted);
  font-size: .76rem;
  line-height: 1.35;
}

body.pc-store-v4.woocommerce .pc-shop-main ul.products li.product .button,
body.pc-store-v4.woocommerce .pc-shop-main ul.products li.product .added_to_cart,
body.pc-store-v4.woocommerce .pc-shop-main div.product form.cart .single_add_to_cart_button,
body.pc-store-v4.woocommerce .pc-shop-main div.product form.cart button.button.alt {
  min-height: 46px;
  border: 1px solid var(--pf-green-deep) !important;
  border-radius: 999px !important;
  color: var(--pf-white) !important;
  background: var(--pf-green-deep) !important;
  box-shadow: none !important;
  font-size: .82rem;
  font-weight: 800;
  letter-spacing: .015em;
  line-height: 1;
  transition: color 180ms ease, background 180ms ease, border-color 180ms ease, transform 180ms ease;
}

body.pc-store-v4.woocommerce .pc-shop-main ul.products li.product .button:hover,
body.pc-store-v4.woocommerce .pc-shop-main ul.products li.product .added_to_cart:hover,
body.pc-store-v4.woocommerce .pc-shop-main div.product form.cart .single_add_to_cart_button:hover:not(:disabled):not(.disabled) {
  border-color: var(--pf-green-dark) !important;
  color: var(--pf-white) !important;
  background: var(--pf-green-dark) !important;
  transform: translateY(-2px);
}

body.pc-store-v4.woocommerce .pc-shop-main div.product form.cart .single_add_to_cart_button:disabled,
body.pc-store-v4.woocommerce .pc-shop-main div.product form.cart .single_add_to_cart_button.disabled {
  border-color: #b9d8bf !important;
  color: var(--pf-green-deep) !important;
  background: #d8f0dc !important;
  opacity: 1;
  cursor: not-allowed;
}

body.pc-store-v4.single-product .pc-shop-main div.product div.images img {
  object-fit: contain;
  background: var(--pf-cream);
}

body.pc-store-v4.single-product .pc-shop-main div.product div.summary {
  padding: clamp(22px, 3vw, 36px);
  border: 1px solid var(--pf-line);
  border-radius: 26px;
  background: var(--pf-mint);
}

body.pc-store-v4.single-product .pc-shop-main div.product .product_title {
  color: var(--pf-ink);
  font-size: clamp(2rem, 3.2vw, 3.25rem);
  font-weight: 800;
  letter-spacing: -.055em;
  line-height: 1.02;
}

body.pc-store-v4.single-product .pc-shop-main div.product p.price,
body.pc-store-v4.single-product .pc-shop-main div.product span.price {
  color: var(--pf-green-dark);
  font-weight: 800;
}

body.pc-store-v4.single-product .pc-shop-main .woocommerce-product-details__short-description {
  color: #53675a;
}

body.pc-store-v4.single-product .pc-shop-main .quantity .qty {
  border-color: var(--pf-line);
  color: var(--pf-ink);
  background: var(--pf-white);
  font-weight: 700;
  box-sizing: border-box;
  height: 48px;
  min-height: 48px;
  padding-block: 0;
  padding-inline: 10px;
  text-align: center;
  text-indent: 0;
  line-height: 46px;
  font-variant-numeric: tabular-nums;
  appearance: textfield;
  -moz-appearance: textfield;
}

body.pc-store-v4.single-product .pc-shop-main .quantity .qty::-webkit-inner-spin-button,
body.pc-store-v4.single-product .pc-shop-main .quantity .qty::-webkit-outer-spin-button {
  margin: 0;
  appearance: none;
  -webkit-appearance: none;
}

body.pc-store-v4.single-product .pc-shop-main .variable-items-wrapper .variable-item:not(.radio-variable-item) {
  min-height: 46px;
  margin: 0 6px 6px 0;
  padding: 8px 12px;
  border: 1px solid var(--pf-line) !important;
  border-radius: 12px !important;
  color: var(--pf-ink);
  background: var(--pf-white) !important;
  box-shadow: none !important;
  font-size: .88rem;
  font-weight: 700;
}

body.pc-store-v4.single-product .pc-shop-main .variable-items-wrapper .variable-item:not(.radio-variable-item).selected,
body.pc-store-v4.single-product .pc-shop-main .variable-items-wrapper .variable-item:not(.radio-variable-item)[aria-checked="true"] {
  border-color: var(--pf-green-dark) !important;
  background: var(--pf-mint-2) !important;
  box-shadow: 0 0 0 2px rgba(111, 174, 121, .18) !important;
}

body.pc-store-v4.single-product .pc-shop-main .woocommerce-product-gallery .flex-control-thumbs {
  display: grid;
  grid-template-columns: none;
  grid-auto-flow: column;
  grid-auto-columns: 4.5rem;
  gap: 8px;
  margin-top: 10px;
  padding: 2px 0 5px;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scrollbar-width: none;
}

body.pc-store-v4.single-product .pc-shop-main .woocommerce-product-gallery .flex-control-thumbs::-webkit-scrollbar {
  display: none;
}

body.pc-store-v4.single-product .pc-shop-main .woocommerce-product-gallery .flex-control-thumbs li {
  width: 100% !important;
  float: none !important;
  scroll-snap-align: start;
}

body.pc-store-v4.single-product .pc-shop-main .woocommerce-product-gallery .flex-control-thumbs img {
  width: 100% !important;
  aspect-ratio: 1;
  object-fit: cover;
  border: 2px solid transparent;
  border-radius: 12px;
  background: var(--pf-cream);
  opacity: .72;
}

body.pc-store-v4.single-product .pc-shop-main .woocommerce-product-gallery .flex-control-thumbs img.flex-active {
  border-color: var(--pf-green-dark);
  box-shadow: 0 0 0 2px rgba(111, 174, 121, .18);
  opacity: 1;
}

body.pc-store-v4.single-product .pc-shop-main .woocommerce-tabs ul.tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 0;
  overflow: visible;
}

body.pc-store-v4.single-product .pc-shop-main .woocommerce-tabs ul.tabs::before {
  display: none;
}

body.pc-store-v4.single-product .pc-shop-main .woocommerce-tabs ul.tabs li {
  margin: 0;
  border: 1px solid var(--pf-line);
  border-radius: 999px;
  color: var(--pf-ink);
  background: var(--pf-white);
}

body.pc-store-v4.single-product .pc-shop-main .woocommerce-tabs ul.tabs li a {
  padding: 10px 16px;
  color: inherit;
  font-size: .84rem;
  font-weight: 800;
}

body.pc-store-v4.single-product .pc-shop-main .woocommerce-tabs ul.tabs li.active {
  border-color: var(--pf-green-deep);
  color: var(--pf-white);
  background: var(--pf-green-deep);
}

body.pc-store-v4.single-product .pc-shop-main .woocommerce-tabs .panel {
  max-width: none;
  margin-bottom: 34px;
  padding: clamp(20px, 3vw, 34px);
  border: 1px solid var(--pf-line);
  border-radius: 20px;
  color: var(--pf-ink);
  background: var(--pf-white);
}

body.pc-store-v4.single-product .pc-shop-main .woocommerce-tabs .panel > :last-child {
  margin-bottom: 0;
}

body.pc-store-v4.single-product .pc-shop-main .related.products > h2,
body.pc-store-v4.single-product .pc-shop-main .up-sells.products > h2 {
  color: var(--pf-ink);
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 800;
  letter-spacing: -.05em;
  line-height: 1.02;
}
.pc-content,
.pc-page-header .pc-shell { font-family: "Manrope", "Segoe UI", Arial, sans-serif; }
.pc-page-header {
  margin: 20px 0 42px;
  padding: clamp(34px,5vw,68px) clamp(24px,4vw,48px);
  overflow: hidden;
  border-radius: 42px 42px 24px 24px / 24px 24px 24px 24px;
  background-color: var(--pf-green-surface);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='160' viewBox='0 0 260 160'%3E%3Cg fill='none' stroke='%236fae79' stroke-opacity='.16' stroke-width='1.2'%3E%3Cpath d='M-20 42C30 7 64 82 115 44s86 17 165-21'/%3E%3Cpath d='M-24 58C34 20 63 99 121 59s94 20 167-17'/%3E%3Cpath d='M-17 77C38 39 74 114 130 77s92 17 156-11'/%3E%3C/g%3E%3C/svg%3E");
}
.pc-page-header h1 { max-width: 26ch; margin-bottom: 0; font-size: clamp(2.5rem,5vw,4.75rem); line-height: 1; }
.pc-page-header .pc-eyebrow { margin-bottom: 10px; }
.pc-footer.home-footer {
  color: var(--pf-ink);
  background: var(--pf-mint);
}
.pc-footer.home-footer h2 { color: var(--pf-green-dark); }
.pc-footer.home-footer a { color: var(--pf-muted); text-decoration: none; }
.pc-footer.home-footer a:hover { color: var(--pf-green-dark); }

/* Drawers */
.search-drawer__panel,
.filter-drawer__panel { border-radius: 26px 0 0 26px; background: #fff; }
.search-field { border-radius: 999px; border-color: var(--pf-line); background: var(--pf-cream); }
.search-suggestions a { border-radius: 999px; color: var(--pf-green-dark); background: var(--pf-mint); }
.search-hit { border-radius: 18px; border-color: var(--pf-line); }

/* Keep the LCP image stable; motion begins only after a deliberate pointer interaction. */
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .home-hero__visual img { transition: transform 420ms cubic-bezier(.2,.7,.2,1); }
  .home-hero__visual:hover img { transform: translateY(-4px); }
}

@media (max-width: 1500px) {
  .home-proof { display: none; }
}

@media (max-width: 1080px) {
  .home-nav { gap: 20px; }
  .home-nav__links { gap: 18px; }
  .home-products { padding: 38px; }
  .home-products__layout { grid-template-columns: 1fr; }
  .home-promo-card { min-height: 220px; }
  .home-promo-card p { margin-bottom: 45px; }
  .product-grid--catalog { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 1000px) {
  .home-nav { min-height: 74px; grid-template-columns: 1fr auto; }
  .home-nav__links {
    position: fixed;
    z-index: 90;
    top: 74px;
    right: 0;
    bottom: 0;
    left: auto;
    width: min(420px, calc(100% - 24px));
    height: calc(100dvh - 74px);
    box-sizing: border-box;
    padding: 16px 18px 90px;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-self: auto;
    gap: 0;
    border: 0;
    border-left: 1px solid var(--pf-line);
    border-radius: 24px 0 0 0;
    background: var(--pf-white);
    box-shadow: -18px 24px 55px rgba(23,51,34,.18);
    clip-path: inset(0 0 0 100%);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: none;
    transition: clip-path .28s ease, opacity .22s ease, visibility .22s ease;
  }
  .home-nav__links.is-open {
    clip-path: inset(0);
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }
  .home-nav__links > a,
  .pc-nav-item__top > a {
    width: 100%;
    padding: 15px 4px;
    border-bottom: 1px solid var(--pf-line);
    font-size: .9rem;
  }
  .home-nav__links.is-open a::after { display: none; }
  .pc-nav-item--mega { width: 100%; }
  .pc-nav-item__top { display: grid; grid-template-columns: 1fr 44px; align-items: center; border-bottom: 1px solid var(--pf-line); }
  .pc-nav-item__top > a { border-bottom: 0; }
  .pc-mega-toggle { width: 44px; height: 44px; margin: 0; border-radius: 50%; background: var(--pf-mint); }
  .pc-mega-menu {
    position: static;
    padding: 0;
    display: none;
    border: 0;
    background: transparent;
    box-shadow: none;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: none;
    transition: none;
  }
  .pc-nav-item--mega.is-open .pc-mega-menu { display: block; }
  .pc-mega-menu__inner {
    width: 100%;
    padding: 14px 0 18px;
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px;
    border: 0;
    border-radius: 0;
    box-shadow: none;
  }
  .home-nav__links .pc-mega-menu__feature { min-height: 165px; padding: 20px !important; display: flex; }
  .pc-mega-menu__feature img { width: 48%; height: 76%; }
  .pc-mega-menu__feature > span:not(.pc-mega-menu__eyebrow) { max-width: 20ch; }
  .pc-mega-menu__heading { margin-bottom: 9px; }
  .pc-mega-menu__categories { grid-template-columns: 1fr 1fr; gap: 6px; }
  .pc-mega-menu__category { min-height: 54px; padding: 6px !important; grid-template-columns: 36px minmax(0,1fr); gap: 8px; border: 1px solid var(--pf-line); }
  .pc-mega-menu__category > i { width: 36px; height: 36px; }
  .pc-mega-menu__category small { display: none; }
  .pc-mega-menu__quick { padding: 12px 0 0; display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--pf-line); border-left: 0; }
  .pc-mega-menu__quick > span { grid-column: 1 / -1; margin: 0; }
  .pc-mega-menu__quick a { border: 1px solid var(--pf-line); }
  .pc-nav-backdrop {
    position: fixed;
    z-index: 70;
    inset: 74px 0 0;
    width: 100%;
    height: auto;
    padding: 0;
    display: block;
    border: 0;
    border-radius: 0;
    background: rgba(16,35,24,.46);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .22s ease, visibility .22s ease;
  }
  body.pc-menu-open .pc-nav-backdrop { opacity: 1; visibility: visible; pointer-events: auto; }
  .home-nav .brand__logo { width: 100px; flex-basis: 100px; }
  .menu-toggle { width: 39px; height: 39px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 5px; border: 1px solid var(--pf-line); border-radius: 50%; background: #fff; }
  .menu-toggle span { width: 15px; height: 1px; background: var(--pf-ink); transition: transform .2s ease; }
  .menu-toggle[aria-expanded="true"] span:first-child { transform: translateY(3px) rotate(45deg); }
  .menu-toggle[aria-expanded="true"] span:last-child { transform: translateY(-3px) rotate(-45deg); }
  .home-mobile-nav { position: absolute; inset: 74px 0 auto; padding: 18px 20px 24px; color: var(--pf-ink); background: #fff; box-shadow: var(--pf-shadow); }
  .home-hero { padding-top: 48px; }
  .home-hero__claim { font-size: clamp(2.6rem, 8vw, 4.5rem); }
  .home-hero__visual { margin-top: 8px; }
  .home-category-belt { margin-top: -30px; }
  .home-products { margin-bottom: 70px; }
  .home-product-grid { grid-template-columns: repeat(2, 1fr); }
  .home-product-card:last-child { grid-column: 1 / -1; }
  .pc-home-products__grid .woocommerce ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .home-feature { grid-template-columns: 1fr; padding: 40px; }
  .home-feature__image { min-height: 330px; }
  .home-selection__grid { grid-template-columns: 1fr 1fr; }
  .home-selection__grid > a:last-child { grid-column: 1 / -1; }
  .home-story { grid-template-columns: 1fr; gap: 30px; }
  .home-story__copy { padding: 0 10px 20px; }
  .home-journal__grid { grid-template-columns: 1fr 1fr; }
  .home-journal-card--feature { grid-column: 1 / -1; grid-row: auto; }
  .home-footer { grid-template-columns: 1.4fr 1fr 1fr; }
  .home-footer > div:nth-child(4) { grid-column: 2; }
  .shop-intro__grid,
  .category-hero { grid-template-columns: 1fr; }
  .category-hero__image { height: 340px; }
  .catalog-layout { grid-template-columns: 1fr; }
  .filters { display: none; }
}

@media (max-width: 680px) {
  :root { --pf-site: calc(100% - 28px); }
  .home-nav { min-height: 68px; gap: 12px; }
  .home-nav .brand__logo { width: 100px; flex-basis: 100px; }
  .home-cart { min-width: 38px; padding: 0; justify-content: center; }
  .home-cart span { display: none; }
  .home-icon-button,
  .home-cart,
  .menu-toggle { width: 36px; min-width: 36px; height: 36px; min-height: 36px; }
  .home-nav__actions { gap: 6px; }
  .pc-header .pc-search { width: 36px; }
  .pc-header .pc-search:focus-within {
    position: absolute;
    right: 14px;
    left: 14px;
    width: auto;
  }
  .home-mobile-nav { inset-block-start: 68px; }
  .home-nav__links { top: 68px; width: min(390px, calc(100% - 12px)); height: calc(100dvh - 68px); padding-inline: 14px; }
  .pc-nav-backdrop { inset-block-start: 68px; }
  .home-nav__links .pc-mega-menu__feature { min-height: 150px; }
  .pc-mega-menu__feature strong { font-size: 1.3rem; }
  .home-hero { padding-top: 38px; }
  .home-hero__copy > p:first-child { margin-bottom: 7px; font-size: .61rem; }
  .home-hero__claim { font-size: clamp(2rem, 10vw, 3.15rem); white-space: normal; }
  .home-primary { margin-top: 17px; }
  .home-hero__visual { width: 100%; margin-left: 0; }
  .home-hero__visual > picture > img,
  .home-hero__visual > img { min-height: 280px; object-fit: cover; object-position: center; }
  .home-category-belt { width: calc(100% - 28px); margin-top: -28px; padding: 27px 18px 20px; border-radius: 36px 36px 24px 24px; }
  .home-category-belt__grid { grid-template-columns: repeat(2, 1fr); gap: 10px; }
  .home-category-belt__grid a { min-height: 130px; }
  .home-intro { padding: 62px 0 52px; }
  .home-intro h1 { font-size: 2.15rem; }
  .home-products { width: calc(100% - 28px); padding: 24px 14px; border-radius: 25px; }
  .home-section-head { align-items: flex-start; }
  .home-section-head > a { display: none; }
  .home-products__layout { gap: 13px; }
  .home-promo-card { min-height: 220px; padding: 24px; }
  .home-product-grid { grid-template-columns: 1fr 1fr; gap: 10px; }
  .pc-home-products__grid .woocommerce ul.products { grid-template-columns: 1fr 1fr; gap: 10px; }
  .pc-home-products__grid .woocommerce ul.products li.product:last-child { grid-column: 1 / -1; }
  .home-product-card:last-child { grid-column: 1 / -1; }
  .home-product-card > div { padding: 5px 12px 14px; }
  .home-product-card h3 { font-size: .76rem; }
  .home-feature { width: calc(100% - 28px); min-height: 0; padding: 32px 24px 20px; border-radius: 25px; }
  .home-feature__copy h2 { font-size: 2.45rem; }
  .home-feature__image { min-height: 280px; }
  .home-selection__grid { grid-template-columns: 1fr; }
  .home-selection__grid > a:last-child { grid-column: auto; }
  .home-selection__grid > a { min-height: 270px; }
  .home-selection__grid img { height: 195px; }
  .home-story { width: calc(100% - 28px); padding: 14px; border-radius: 25px; }
  .home-story__image img { min-height: 320px; }
  .home-story__copy h2 { font-size: 2.5rem; }
  .home-journal__grid { grid-template-columns: 1fr; }
  .home-journal-card--feature { grid-column: auto; }
  .home-journal-card a { grid-template-columns: 105px 1fr; }
  .home-journal-card--feature a { display: block; }
  .home-service { width: calc(100% - 28px); padding: 28px 24px; grid-template-columns: 1fr; }
  .home-footer { grid-template-columns: 1fr 1fr; padding-top: 44px; gap: 26px 20px; }
  .home-footer__brand { grid-column: 1 / -1; }
  .home-footer > div:nth-child(4) { grid-column: auto; }
  .home-footer__bottom { display: grid; gap: 4px; }
  .shop-intro,
  .category-hero { width: calc(100% - 28px); margin-top: 18px; padding: 30px 22px; border-radius: 25px; }
  .shop-intro h1,
  .category-hero h1 { font-size: 2.7rem; }
  .shop-intro__grid { gap: 25px; }
  .pc-shop-main { padding-top: 18px; }
  .pc-shop-main .woocommerce-products-header { padding: 30px 22px; border-radius: 25px; }
  .pc-shop-main .woocommerce-products-header__title { font-size: 2.7rem; }
  body.pc-store-v4.woocommerce .pc-shop-main > .pc-shell > .page-title {
    margin-bottom: 18px;
    padding: 25px 22px;
    border-radius: 24px;
    font-size: clamp(2.25rem, 11vw, 2.7rem);
  }
  body.pc-store-v4.woocommerce .pc-shop-main ul.products li.product .wc-gzd-additional-info-loop {
    min-height: 3.15em;
    margin: 0 12px 11px;
    font-size: .74rem;
  }
  body.pc-store-v4.woocommerce .pc-shop-main ul.products li.product .button,
  body.pc-store-v4.woocommerce .pc-shop-main ul.products li.product .added_to_cart {
    min-height: 44px;
    font-size: .8rem;
  }
  body.pc-store-v4.single-product .pc-shop-main div.product div.summary {
    padding: 22px 18px;
    border-radius: 22px;
  }
  body.pc-store-v4.single-product .pc-shop-main div.product .product_title {
    font-size: clamp(1.9rem, 8.3vw, 2.2rem);
  }
  body.pc-store-v4.single-product .pc-shop-main .woocommerce-product-gallery .flex-control-thumbs {
    grid-auto-columns: 3.75rem;
  }
  body.pc-store-v4.single-product .pc-shop-main .woocommerce-tabs ul.tabs {
    gap: 7px;
  }
  body.pc-store-v4.single-product .pc-shop-main .woocommerce-tabs ul.tabs li a {
    padding: 9px 12px;
    font-size: .78rem;
  }
  body.pc-store-v4.single-product .pc-shop-main .woocommerce-tabs .panel {
    margin-bottom: 28px;
    padding: 20px 18px;
    border-radius: 18px;
  }
  .shop-categories__track { overflow-x: auto; scroll-snap-type: x mandatory; }
  .shop-categories a { min-width: 155px; scroll-snap-align: start; }
  .catalog-section { padding-top: 28px; }
  .catalog-head { align-items: flex-start; gap: 18px; }
  .catalog-head__actions { width: 100%; justify-content: space-between; }
  .product-grid--catalog { grid-template-columns: 1fr 1fr; gap: 10px; }
  .product-card__body { padding-inline: 12px; }
  .category-hero__image { height: 270px; }
  .product-detail__grid { gap: 22px; }
  .product-buybox { padding: 24px 18px; border-radius: 22px; }
  .product-buybox h1 { font-size: 2.15rem; }
  .product-proof { border-radius: 0; }
}

/* Native per-page controls: safe component variables instead of free CSS. */
body.pc-layout-narrow .pc-main > .pc-shell { width: min(960px, calc(100% - 40px)); }
body.pc-layout-medium .pc-main > .pc-shell { width: min(1200px, calc(100% - 40px)); }
body.pc-layout-wide .pc-main > .pc-shell { width: min(1464px, calc(100% - 40px)); }
body.pc-header-mint .pc-page-header { background: var(--pc-object-surface, var(--pf-mint)); }
body.pc-header-white .pc-page-header { background: var(--pc-object-surface, var(--pf-white)); }
body.pc-header-paper .pc-page-header { background: var(--pc-object-surface, var(--pf-cream)); }
body.pc-header-dark .pc-page-header { color: var(--pf-white); background: var(--pc-object-surface, var(--pf-ink)); }
body.pc-header-dark .pc-page-header :where(h1, p) { color: inherit; }
body.pc-content-style-plain .pc-content { padding-inline: 0; border: 0; background: transparent; box-shadow: none; }
body.pc-content-style-card .pc-content,
body.pc-content-style-mint-card .pc-content { padding: clamp(24px, 4vw, 56px); border: 1px solid var(--pf-line); border-radius: var(--pc-object-radius, var(--pf-radius)); box-shadow: var(--pf-shadow-soft); }
body.pc-content-style-card .pc-content { background: var(--pc-object-surface, var(--pf-white)); }
body.pc-content-style-mint-card .pc-content { background: var(--pc-object-surface, var(--pf-mint)); }
.pc-main .pc-page-header { border-radius: var(--pc-object-radius, var(--pf-radius)); }
.pc-main .pc-page-header h1 { font-size: var(--pc-object-h1, clamp(2.5rem,5vw,4.75rem)); }
.pc-main .pc-page-header__intro { max-width: 68ch; margin: 18px 0 0; color: var(--pf-muted); font-size: 1.05rem; line-height: 1.7; }
.pc-main,
.pc-pdp-v2 { --pf-green-dark: var(--pc-object-accent); --pf-green-text: var(--pc-object-accent); --pc-brand-dark: var(--pc-object-accent); }
.pc-main { color: var(--pc-object-text, var(--pf-ink)); }
.pc-main { background: var(--pc-object-page-bg, transparent); font-size: var(--pc-object-body, var(--pc-global-font-size, inherit)); line-height: var(--pc-object-line-height-percent, var(--pc-global-line-height, inherit)); }
.pc-main > .pc-shell { padding-top: var(--pc-object-space-top, 0); padding-bottom: var(--pc-object-space-bottom, 0); }
.pc-main .pc-content { padding-inline: var(--pc-object-content-padding, 0); }
.pc-main :where(.pc-content, .pc-pdp-content) h2 { font-size: clamp(1.75rem, 3.2vw, var(--pc-global-h2, 2.5rem)); }
.pc-main :where(.pc-content, .pc-pdp-content) h3 { font-size: clamp(1.25rem, 2vw, var(--pc-global-h3, 1.625rem)); }
.pc-main :where(.pc-button, .button, button, input[type="submit"]) { border-radius: var(--pc-object-button-radius, var(--pc-button-radius, inherit)); }
.pc-pdp-v2 { color: var(--pc-object-text, var(--pf-ink)); }
.pc-pdp-v2 :where(.pc-pdp-layout,.pc-pdp-content) { border-radius: var(--pc-object-radius, var(--pf-radius)); }
.pc-pdp-v2 .product_title { font-size: var(--pc-object-h1, clamp(2rem, 3.25vw, 3.45rem)); }

@media (max-width: 680px) {
  body.pc-layout-narrow .pc-main > .pc-shell,
  body.pc-layout-medium .pc-main > .pc-shell,
  body.pc-layout-wide .pc-main > .pc-shell { width: calc(100% - 20px); }
  .pc-main .pc-page-header h1,
  .pc-pdp-v2 .product_title { font-size: clamp(2rem, 10vw, var(--pc-object-h1, 3rem)); }
}

@media (max-width: 410px) {
  .home-nav__actions { gap: 4px; }
  .home-hero__claim { font-size: 2.15rem; }
  .home-category-belt__head a { display: none; }
  .home-product-grid,
  .product-grid--catalog { grid-template-columns: 1fr; }
  .pc-home-products__grid .woocommerce ul.products { grid-template-columns: 1fr; }
  .pc-home-products__grid .woocommerce ul.products li.product:last-child { grid-column: auto; }
  .home-product-card:last-child { grid-column: auto; }
}

/*
 * PFAHL Store System 0.4 — reference-faithful component layer.
 * The same tokens and interaction patterns drive home, archives and products.
 */
body.pc-store-v4 {
  color: var(--pf-ink);
  background: var(--pf-cream);
  font-size: 1rem;
  line-height: 1.6;
  font-weight: 500;
}
body.pc-store-v4 :where(a) {
  text-decoration: none !important;
  text-decoration-line: none !important;
}
body.pc-store-v4 :where(h1, h2, h3, h4, h5, h6) {
  color: var(--pf-ink);
  font-weight: 800;
  letter-spacing: -.045em;
  text-wrap: balance;
}

body.pc-store-v4.single-product :where(#reviews h2, .related.products > h2) {
  margin-bottom: 24px;
  font-size: clamp(1.85rem,2.7vw,2.8rem);
  letter-spacing: -.045em;
  line-height: 1.06;
}

body.pc-store-v4.single-product #reviews #comments > h2,
body.pc-store-v4.single-product #reviews .woocommerce-Reviews-title {
	margin-bottom: 18px;
	font-size: clamp(1.25rem, 1.8vw, 1.65rem);
	line-height: 1.2;
	letter-spacing: -.025em;
	text-wrap: pretty;
}

body.pc-store-v4.single-product #reviews .commentlist img.avatar,
body.pc-store-v4.single-product #reviews .commentlist .avatar { display: none !important; }
body.pc-store-v4.single-product #reviews .commentlist .comment-text { margin-left: 0 !important; }

body.pc-store-v4.single-product #review_form .comment-form-rating {
  width: fit-content;
  margin: 16px 0 20px;
  padding: 12px 16px;
  border: 1px solid rgba(17,24,61,.065);
  border-radius: 18px;
  background: var(--pf-mint);
}

body.pc-store-v4.single-product #review_form .comment-form-rating label {
  display: block;
  margin-bottom: 6px;
  color: var(--pf-ink);
  font-weight: 800;
}

body.pc-store-v4.single-product #review_form .comment-form-rating .stars {
  margin: 0;
  color: var(--pf-yellow);
  font-size: 1.25rem;
  line-height: 1;
}

body.pc-store-v4.single-product #review_form .comment-form-rating .stars a,
body.pc-store-v4.single-product #review_form .comment-form-rating .stars a::before {
  color: var(--pf-yellow) !important;
  text-decoration: none !important;
}

body.pc-store-v4.single-product #review_form textarea {
  border: 1px solid rgba(17,24,61,.12);
  border-radius: 18px;
  background: var(--pf-white);
  box-shadow: inset 0 1px 0 rgba(17,24,61,.025);
}
body.pc-store-v4 :where(a, button, input, select, textarea):focus-visible {
  outline: 3px solid var(--pf-ink);
  outline-offset: 3px;
}
.pc-arrow-link {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: var(--pf-ink);
  font-size: .75rem;
  font-weight: 800;
}
.pc-arrow-link > i {
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: var(--pf-white);
  background: var(--pf-green-dark);
  font-size: .65rem;
  transition: transform .2s ease, background .2s ease;
}
.pc-arrow-link:hover > i { background: var(--pf-ink); transform: translateX(2px); }

/* Floating navigation pill. */
.home-header,
.store-header {
  padding: 12px 0 6px;
  background: rgba(247,248,251,.84);
  border: 0;
  backdrop-filter: blur(18px);
}
.home-nav {
  width: var(--pf-site);
  min-height: 60px;
  padding: 5px 10px 5px 13px;
  gap: 28px;
  border: 1px solid rgba(17,24,61,.06);
  border-radius: 999px;
  background: rgba(255,255,255,.97);
  box-shadow: 0 7px 28px rgba(17,24,61,.08);
}
.home-nav .brand__logo { width: 100px; flex-basis: 100px; }
.home-nav__links { gap: clamp(15px, 2vw, 28px); }
.home-nav__links a {
  padding: 11px 12px;
  color: var(--pf-ink);
  font-size: .72rem;
  font-weight: 700;
}
.home-nav__links a::after { display: none; }
.home-nav__links a:hover,
.home-nav__links a.is-current { color: var(--pf-ink); background: var(--pf-mint); border-radius: 999px; }
.home-nav__links > a,
.pc-nav-item__top > a {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  font-size: .8125rem;
}
.pc-mega-toggle { width: 44px; height: 44px; margin-left: 0; }
.home-cart {
  min-height: 38px;
  padding: 0 14px;
  border: 0;
  color: var(--pf-white);
  background: var(--pf-green-dark);
}
.home-cart:hover { color: var(--pf-white); background: var(--pf-green-dark); }
.pc-header .pc-search,
.home-icon-button,
.menu-toggle { border-color: transparent; background: var(--pf-cream); }
.pc-mega-menu { top: calc(100% - 4px); padding-top: 12px; border: 0; background: transparent; box-shadow: none; }
.pc-mega-menu__inner { border-color: rgba(17,24,61,.08); box-shadow: 0 24px 64px rgba(17,24,61,.15); }
.pc-mega-menu__feature { background: var(--pf-ink); }
.pc-mega-menu__feature::after {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(90deg,rgba(17,24,61,.96) 0%,rgba(17,24,61,.82) 56%,rgba(17,24,61,.28) 100%);
}
.pc-mega-menu__feature img { mix-blend-mode: normal; opacity: .62; }
.pc-mega-menu__eyebrow,
.pc-mega-menu__heading > span,
.pc-mega-menu__quick > span,
.pc-mega-menu__heading > a { font-size: .75rem; }

/* Hero composition and truthful floating proof pills. */
.home-hero {
  padding-top: 82px;
  background: var(--pf-cream);
}
.home-hero__copy > p:first-child {
  margin-bottom: 8px;
  color: var(--pf-green-dark);
  font-size: .75rem;
  letter-spacing: .11em;
}
.home-hero__claim {
  font-size: clamp(2.45rem, 4vw, 3.55rem);
  line-height: 1;
}
.home-primary,
.button,
.add-to-cart,
.mobile-buybar button {
  border-color: var(--pf-ink);
  color: var(--pf-white);
  background: var(--pf-ink);
}
.home-primary:hover,
.button:hover,
.add-to-cart:hover { border-color: var(--pf-green-dark); background: var(--pf-green-dark); }
.home-primary span { color: var(--pf-ink); }
.home-hero__visual { max-width: 1060px; margin-top: -12px; }
.home-hero__visual > picture > img,
.home-hero__visual > img { max-height: 510px; }
.home-proof {
  top: 42%;
  min-width: 144px;
  padding: 10px 15px;
  border: 1px solid rgba(17,24,61,.06);
  border-radius: 999px;
  color: var(--pf-ink);
  background: rgba(255,255,255,.95);
  box-shadow: 0 10px 28px rgba(17,24,61,.09);
  text-align: left;
}
.home-proof--left { left: 2%; }
.home-proof--right { right: 2%; text-align: left; }
.home-proof b {
  display: flex;
  align-items: center;
  gap: 7px;
  color: var(--pf-green-dark);
  font-size: 1rem;
  line-height: 1.1;
}
.home-proof b i { font-size: .65rem; }
.home-proof span { margin-top: 3px; color: var(--pf-ink); font-size: .75rem; }
.home-hero__down {
  position: relative;
  z-index: 7;
  width: 30px;
  height: 30px;
  margin: 18px auto -15px;
  display: grid;
  place-items: center;
  border: 4px solid var(--pf-cream);
  border-radius: 50%;
  color: var(--pf-green-dark);
  background: var(--pf-white);
  box-shadow: var(--pf-shadow-soft);
  font-size: .58rem;
}

/* Organic topographic category bridge. */
.home-category-belt {
  width: min(870px, calc(100% - 40px));
  margin-top: -48px;
  padding: 30px 34px 25px;
  border-radius: 64px 64px 28px 28px / 31px 31px 28px 28px;
  background-color: var(--pf-green-surface);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='160' viewBox='0 0 260 160'%3E%3Cg fill='none' stroke='%23ffffff' stroke-opacity='.12' stroke-width='1.2'%3E%3Cpath d='M-20 42C30 7 64 82 115 44s86 17 165-21'/%3E%3Cpath d='M-24 58C34 20 63 99 121 59s94 20 167-17'/%3E%3Cpath d='M-17 77C38 39 74 114 130 77s92 17 156-11'/%3E%3Cpath d='M-9 99c54-35 93 30 143-1s87 14 141-7'/%3E%3Cpath d='M5 122c47-28 86 20 136-6s77 11 124-2'/%3E%3C/g%3E%3C/svg%3E");
  box-shadow: 0 18px 42px rgba(52,116,71,.17);
}
.home-category-belt__head { color: var(--pf-ink); }
.home-category-belt__head span { font-size: .78rem; }
.home-category-belt__head .pc-arrow-link { color: var(--pf-ink); }
.home-category-belt__head .pc-arrow-link > i { color: var(--pf-white); background: var(--pf-ink); }
.home-category-belt__grid { gap: 13px; }
.home-category-belt__grid a {
  min-height: 132px;
  border: 1px solid rgba(17,24,61,.035);
  box-shadow: 0 10px 24px rgba(17,24,61,.08);
}
.home-category-belt__grid img { height: 82px; object-fit: contain; background: var(--pf-cream); }
.home-category-belt__grid span { color: var(--pf-ink); font-size: .75rem; }

.home-intro { padding: 68px 0 58px; }
.home-intro > p { color: var(--pf-green-dark); font-size: .75rem; }
.home-intro h1 { font-size: clamp(1.8rem, 3.1vw, 3rem); line-height: 1.05; }
.home-intro > span { max-width: 580px; margin-top: 16px; font-size: .82rem; }

/* Reference-style product carousel and product cards. */
.home-products {
  position: relative;
  margin-bottom: 78px;
  padding: 42px;
  border-radius: 68px 68px 34px 34px / 34px 34px 34px 34px;
}
.home-section-head { margin-bottom: 22px; align-items: center; }
.home-section-head p { color: var(--pf-green-dark); font-size: .75rem; }
.home-section-head h2 { font-size: clamp(1.45rem, 2.2vw, 2.25rem); }
.pc-section-actions { display: flex; align-items: center; gap: 13px; }
.pc-carousel-controls { display: inline-flex; align-items: center; gap: 5px; }
.pc-carousel-controls button {
  width: 31px;
  height: 31px;
  min-height: 31px;
  padding: 0;
  display: grid;
  place-items: center;
  border: 1px solid var(--pf-line);
  border-radius: 50%;
  color: var(--pf-ink);
  background: var(--pf-white);
  box-shadow: none;
  font-size: .65rem;
}
.pc-carousel-controls button:hover:not(:disabled) { color: var(--pf-white); background: var(--pf-ink); transform: none; }
.pc-carousel-controls button:disabled { opacity: .35; cursor: default; }
.home-products__layout { grid-template-columns: minmax(172px,.68fr) minmax(0,3.32fr); gap: 15px; }
.home-promo-card {
  min-height: 304px;
  padding: 25px;
  border-radius: 22px;
  color: var(--pf-ink);
  background: var(--pf-green-surface);
}
.home-promo-card::after {
  content: "";
  width: 88px;
  height: 88px;
  margin: 18px auto 0;
  border: 1px dashed rgba(255,255,255,.55);
  border-radius: 50%;
}
.home-promo-card p { color: var(--pf-ink); font-size: .75rem; }
.home-promo-card h3 { color: var(--pf-ink); font-size: clamp(1.25rem,1.7vw,1.7rem); }
.home-promo-card > span { color: var(--pf-ink); font-size: .75rem; }
.home-promo-card .pc-arrow-link { margin-top: 15px; color: var(--pf-ink); font-size: .75rem; }
.home-promo-card .pc-arrow-link > i { color: var(--pf-white); background: var(--pf-ink); }
.pc-home-products__grid { overflow: hidden; }
.pc-home-products__grid .woocommerce ul.products {
  width: 100%;
  height: auto;
  margin: 0 !important;
  padding: 0 1px 6px !important;
  display: flex !important;
  gap: 13px;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scroll-behavior: smooth;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
}
.pc-home-products__grid .woocommerce ul.products::-webkit-scrollbar { display: none; }
.pc-home-products__grid .woocommerce ul.products li.product {
  flex: 0 0 calc((100% - 39px) / 4);
  min-width: 0;
  margin: 0 !important;
  scroll-snap-align: start;
}
.pc-carousel-progress {
  width: min(185px,45%);
  height: 2px;
  margin: 19px auto 0;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(17,24,61,.12);
}
.pc-carousel-progress span {
  width: 100%;
  height: 100%;
  display: block;
  background: var(--pf-ink);
  transform: scaleX(.14);
  transform-origin: left;
  transition: transform .15s ease;
}

/* Unified WooCommerce card anatomy. */
body.pc-store-v4 .woocommerce ul.products li.product,
body.pc-store-v4 .woocommerce-page ul.products li.product {
  overflow: hidden;
  border: 1px solid rgba(17,24,61,.06);
  border-radius: 20px;
  background: var(--pf-white);
  box-shadow: 0 8px 24px rgba(17,24,61,.055);
  transition: transform .2s ease, box-shadow .2s ease;
}
body.pc-store-v4 .woocommerce ul.products li.product:hover {
  transform: translateY(-4px);
  box-shadow: 0 15px 36px rgba(17,24,61,.10);
}
body.pc-store-v4 .woocommerce ul.products li.product > .woocommerce-LoopProduct-link {
  display: block;
  color: var(--pf-ink);
}
body.pc-store-v4 .woocommerce ul.products li.product a img {
  width: calc(100% - 20px);
  aspect-ratio: 1;
  margin: 10px 10px 8px;
  padding: 8px;
  border-radius: 15px;
  object-fit: contain;
  background: var(--pf-cream);
}
body.pc-store-v4 .woocommerce ul.products li.product .pc-product-card__category {
  margin: 0 13px 4px;
  display: block;
  color: var(--pf-green-dark);
  font-size: .75rem;
  font-weight: 800;
  letter-spacing: .02em;
}
body.pc-store-v4 .woocommerce ul.products li.product .woocommerce-loop-product__title {
  min-height: 3.1em;
  margin: 0 13px 6px;
  padding: 0;
  color: var(--pf-ink);
  font-size: .82rem;
  font-weight: 750;
  letter-spacing: -.02em;
  line-height: 1.45;
}
body.pc-store-v4 ul.products li.product .star-rating {
  position: relative;
  width: 5.65em;
  height: 1.2em;
  margin: 0 13px 7px;
  overflow: hidden;
  color: #946200;
  font-family: star;
  font-size: .75rem;
  line-height: 1.2;
  letter-spacing: .12em;
}
body.pc-store-v4 ul.products li.product .star-rating::before {
  color: #ead9ad;
  opacity: 1;
}
body.pc-store-v4 ul.products li.product .star-rating span::before {
  color: var(--pf-yellow);
}
.pc-card-rating {
  min-height: .9rem;
  margin: 0 13px 7px;
  display: flex;
  align-items: center;
  color: var(--pf-yellow);
  font-size: .75rem;
  line-height: 1;
}
.pc-card-rating__stars {
  display: inline-flex;
  gap: .2em;
}
body.pc-store-v4 .woocommerce span.onsale {
  top: 17px;
  right: auto;
  left: 17px;
  min-width: 0;
  min-height: 0;
  padding: 5px 8px;
  border: 0;
  border-radius: 999px;
  color: var(--pf-ink);
  background: var(--pf-green);
  font-size: .75rem;
  font-weight: 800;
  line-height: 1;
}
.pc-product-card__footer {
  min-height: 49px;
  margin: 0 13px 12px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 7px;
}
body.pc-store-v4 ul.products li.product .delivery-time-info {
  display: none !important;
}
body.pc-store-v4 ul.products li.product .pc-product-card__footer .price {
  margin: 0;
  color: var(--pf-green-dark);
  font-size: .8125rem;
  font-weight: 800;
  line-height: 1.25;
}
body.pc-store-v4 ul.products li.product .pc-product-card__footer .button {
  width: 46px;
  min-width: 46px;
  height: 46px;
  min-height: 46px;
  margin: 0;
  padding: 0;
  display: grid;
  place-items: center;
  border: 0;
  border-radius: 50%;
  color: var(--pf-white);
  background: var(--pf-ink);
  box-shadow: none;
	font-size: 0;
}
body.pc-store-v4 ul.products li.product .pc-product-card__footer .button::before {
	content: "\f061";
	display: block;
	font-family: "Font Awesome 7 Free";
	font-size: .78rem;
	font-weight: 900;
	line-height: 1;
}
body.pc-store-v4 ul.products li.product .pc-product-card__footer .button:hover { background: var(--pf-green-dark); transform: none; }
body.pc-store-v4 .woocommerce ul.products li.product .added_to_cart {
  flex: 1 0 100%;
  color: var(--pf-green-dark);
  font-size: .75rem;
  font-weight: 800;
}

/* Feature, categories and truthful discovery pills. */
.home-feature {
  position: relative;
  min-height: 410px;
  margin-bottom: 78px;
  padding: 34px 52px;
  border-color: rgba(17,24,61,.07);
  border-radius: 30px;
  background: var(--pf-white);
}
.home-feature::before {
  content: "";
  position: absolute;
  right: 3%;
  bottom: 9%;
  width: 42%;
  aspect-ratio: 1.9;
  border: 1px dashed rgba(111,174,121,.35);
  border-radius: 50%;
  transform: rotate(-6deg);
}
.home-feature__copy,
.home-feature__image { position: relative; z-index: 1; }
.home-feature__copy h2 { font-size: clamp(2rem,3.5vw,3.35rem); }
.home-feature .home-primary--dark { border-color: var(--pf-ink); background: var(--pf-ink); }
.home-feature__image { min-height: 340px; }
.home-selection { margin-bottom: 0; padding-bottom: 68px; }
.home-selection__grid { gap: 14px; }
.home-selection__grid > a {
  min-height: 270px;
  padding: 12px;
  border-color: rgba(17,24,61,.065);
  border-radius: 20px;
  box-shadow: 0 8px 24px rgba(17,24,61,.045);
}
.home-selection__grid img { height: 190px; object-fit: contain; background: var(--pf-cream); }
.home-selection__grid span { padding: 13px 5px 2px; }
.home-selection__grid small { font-size: .75rem; }
.home-brand-band {
  width: 100%;
  margin: 0 0 78px;
  padding: 34px max(20px,calc((100% - var(--pf-content-max)) / 2));
  background-color: var(--pf-mint);
  background-image: linear-gradient(90deg,rgba(255,255,255,.28),transparent 40%,rgba(255,255,255,.3));
  text-align: center;
}
.home-brand-band h2 { margin: 0 0 18px; font-size: .85rem; letter-spacing: -.02em; }
.home-brand-band > div { display: flex; flex-wrap: wrap; justify-content: center; gap: 9px; }
.home-brand-band a {
  min-width: 98px;
  padding: 10px 15px;
  border: 1px solid rgba(17,24,61,.055);
  border-radius: 12px;
  color: var(--pf-ink);
  background: var(--pf-white);
  box-shadow: 0 5px 16px rgba(17,24,61,.045);
  font-size: .75rem;
  font-weight: 800;
}
.home-brand-band a:hover { color: var(--pf-white); background: var(--pf-ink); }

/* Story and central life-hack composition. */
.home-story {
  margin-bottom: 78px;
  padding: 24px;
  gap: 42px;
  border-radius: 30px;
  background: var(--pf-mint);
}
.home-story__image img { min-height: 400px; border-radius: 23px; }
.home-story__copy h2 { font-size: clamp(2rem,3.3vw,3.25rem); }
.home-story blockquote { color: var(--pf-ink); }
.home-journal { padding-bottom: 78px; }
.home-journal__grid {
  display: grid;
  grid-template-columns: minmax(0,.86fr) minmax(260px,1.22fr) minmax(0,.86fr);
  grid-template-rows: repeat(2,minmax(122px,auto));
  gap: 12px 16px;
  align-items: stretch;
}
.home-journal-card { border-color: rgba(17,24,61,.07); border-radius: 18px; box-shadow: none; }
.home-journal-card--feature { grid-column: 2; grid-row: 1 / 3; }
.home-journal-card:nth-child(2) { grid-column: 1; grid-row: 1; }
.home-journal-card:nth-child(3) { grid-column: 1; grid-row: 2; }
.home-journal-card:nth-child(4) { grid-column: 3; grid-row: 1; }
.home-journal-card:nth-child(5) { grid-column: 3; grid-row: 2; }
.home-journal-card a { grid-template-columns: 82px 1fr; }
.home-journal-card img { width: 82px; min-height: 122px; }
.home-journal-card--feature a { display: flex; height: 100%; flex-direction: column; }
.home-journal-card--feature img { width: 100%; height: 245px; flex: 1; }
.home-journal-card div { position: relative; min-width: 0; padding: 14px 42px 14px 14px; }
.home-journal-card--feature div { min-height: 98px; padding: 16px 48px 16px 18px; }
.home-journal-card p { margin-bottom: 5px; font-size: .75rem; }
.home-journal-card h3 { margin: 0; font-size: .8125rem; line-height: 1.35; }
.home-journal-card--feature h3 { font-size: 1.08rem; }
.pc-card-arrow {
  position: absolute;
  right: 12px;
  top: 50%;
  width: 27px;
  height: 27px;
  display: grid;
  place-items: center;
  border: 1px solid var(--pf-line);
  border-radius: 50%;
  color: var(--pf-green-dark);
  background: var(--pf-white);
  transform: translateY(-50%);
  font-size: .6rem;
}
.home-journal-card:hover .pc-card-arrow { color: var(--pf-white); background: var(--pf-green-dark); }
.home-service {
  width: min(760px,calc(100% - 40px));
  margin-bottom: -18px;
  padding: 13px 14px 13px 25px;
  grid-template-columns: 1.1fr 1fr;
  align-items: center;
  border: 5px solid var(--pf-cream);
  border-radius: 999px;
  color: var(--pf-ink);
  background: var(--pf-green-surface);
}
.home-service h2 { margin-top: 3px; color: var(--pf-ink); font-size: 1rem; }
.home-service p { margin: 0; color: var(--pf-ink); font-size: .75rem; }
.home-service > div:last-child { display: flex; align-items: center; justify-content: flex-end; gap: 14px; }
.home-service .pc-arrow-link { color: var(--pf-ink); white-space: nowrap; }
.home-service .pc-arrow-link > i { color: var(--pf-white); background: var(--pf-ink); }

/* Archive and category pages inherit the same shapes and controls. */
.pc-shop-main { padding-top: 20px; background: var(--pf-cream); }
.pc-shop-main > .pc-shell { width: var(--pf-site); }
.pc-shop-main .woocommerce-products-header,
body.pc-store-v4.woocommerce .pc-shop-main > .pc-shell > .page-title {
  position: relative;
  overflow: hidden;
  padding: 36px 42px;
  border: 0;
  border-radius: 52px 52px 26px 26px / 26px 26px 26px 26px;
  color: var(--pf-ink);
  background-color: var(--pf-mint);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='160' viewBox='0 0 260 160'%3E%3Cg fill='none' stroke='%236fae79' stroke-opacity='.16' stroke-width='1.2'%3E%3Cpath d='M-20 42C30 7 64 82 115 44s86 17 165-21'/%3E%3Cpath d='M-24 58C34 20 63 99 121 59s94 20 167-17'/%3E%3Cpath d='M-17 77C38 39 74 114 130 77s92 17 156-11'/%3E%3C/g%3E%3C/svg%3E");
}
.pc-shop-main .woocommerce-products-header__title,
body.pc-store-v4.woocommerce .pc-shop-main > .pc-shell > .page-title {
  font-size: clamp(2.15rem,4.3vw,3.8rem);
  line-height: 1;
}
.pc-category-chips {
  margin: 18px 0 24px;
  padding: 6px 2px;
  display: flex;
  gap: 8px;
  overflow-x: auto;
  scroll-snap-type: x proximity;
  scrollbar-width: none;
}
.pc-category-chips::-webkit-scrollbar { display: none; }
.pc-category-chips a {
  flex: 0 0 auto;
  padding: 9px 10px 9px 14px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 1px solid var(--pf-line);
  border-radius: 999px;
  color: var(--pf-ink);
  background: var(--pf-white);
  font-size: .75rem;
  font-weight: 750;
  scroll-snap-align: start;
}
.pc-category-chips a span {
  min-width: 23px;
  height: 23px;
  padding: 0 6px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  color: var(--pf-ink);
  background: var(--pf-green);
  font-size: .75rem;
}
.pc-category-chips a:hover { color: var(--pf-white); background: var(--pf-ink); }
.pc-category-chips a.is-current {
  color: var(--pf-white);
  background: var(--pf-ink);
  border-color: var(--pf-ink);
}
.pc-category-chips a.is-current span { color: var(--pf-ink); background: var(--pf-green); }
.pc-category-description {
  width: 100%;
  max-width: none;
  margin: 12px 0 0;
  padding: clamp(16px,2vw,24px) clamp(18px,3vw,32px);
  box-sizing: border-box;
  color: var(--pf-muted);
  font-size: .9375rem;
  line-height: 1.75;
}
.pc-category-description :where(h2,h3,h4) { color: var(--pf-ink); }
.pc-category-description > :last-child { margin-bottom: 0; }
.pc-shop-main .woocommerce-result-count { color: var(--pf-muted); font-size: .72rem; }
.pc-shop-main .woocommerce-ordering select {
  min-height: 42px;
  padding: 0 38px 0 15px;
  border-color: var(--pf-line);
  border-radius: 999px;
  color: var(--pf-ink);
  background-color: var(--pf-white);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='m1 1 5 5 5-5' fill='none' stroke='%2311183d' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 15px center;
  appearance: none;
  font-size: .72rem;
}

/* Product detail page: gallery, mint buy box, chips and tabs from one system. */
body.pc-store-v4.single-product .pc-shop-main div.product { padding-top: 4px; }
body.pc-store-v4.single-product .pc-shop-main div.product div.images img {
  border-radius: 22px;
  background: var(--pf-white);
}
body.pc-store-v4.single-product .pc-shop-main .woocommerce-product-gallery {
  min-height: clamp(310px,42vw,610px);
  border-radius: 24px;
  background: linear-gradient(110deg,var(--pf-white) 8%,var(--pf-mint) 18%,var(--pf-white) 33%);
  background-size: 220% 100%;
}
body.pc-store-v4.single-product .pc-shop-main div.product div.summary {
  padding: clamp(24px,3vw,38px);
  border: 0;
  border-radius: 28px;
  background-color: var(--pf-mint);
  background-image: linear-gradient(145deg,rgba(255,255,255,.42),transparent 48%);
}
body.pc-store-v4.single-product .pc-shop-main div.product .product_title {
  font-size: clamp(2rem,3.5vw,3.45rem);
  line-height: 1.03;
}
body.pc-store-v4.single-product .pc-shop-main div.product p.price,
body.pc-store-v4.single-product .pc-shop-main div.product span.price { color: var(--pf-green-dark); }
body.pc-store-v4.single-product .pc-shop-main div.product .summary > .pc-small-business-notice,
body.pc-store-v4.single-product .pc-shop-main div.product .summary > .delivery-time-data {
  margin: -4px 0 10px;
  color: #53675a;
  font-size: .8125rem;
  font-weight: 600;
  line-height: 1.45;
}
body.pc-store-v4.single-product .pc-shop-main .woocommerce-product-rating {
  min-height: 44px;
  display: flex;
  align-items: center;
  gap: 10px;
}
body.pc-store-v4.single-product .pc-shop-main .woocommerce-product-rating .star-rating {
  color: var(--pf-yellow);
  font-family: star;
}
body.pc-store-v4.single-product .pc-shop-main .woocommerce-product-rating .star-rating::before {
  color: #ead9ad;
}
body.pc-store-v4.single-product .pc-shop-main .woocommerce-product-rating .star-rating span::before {
  color: var(--pf-yellow);
}
body.pc-store-v4.single-product .pc-shop-main .woocommerce-review-link {
  color: var(--pf-green-dark);
  font-size: .8125rem;
  font-weight: 750;
}
.pc-no-rating {
  margin: 0 0 13px;
  min-height: 44px;
  padding: 8px 11px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  border: 1px solid rgba(17,24,61,.08);
  border-radius: 999px;
  color: var(--pf-green-dark);
  background: rgba(255,255,255,.65);
  font-size: .8125rem;
  font-weight: 750;
}
.pc-review-stars {
  display: inline-flex;
  gap: .18em;
  color: #946200;
}
.pc-no-rating:focus-visible,
body.pc-store-v4.single-product .pc-shop-main .woocommerce-review-link:focus-visible {
  outline: 3px solid var(--pf-ink);
  outline-offset: 3px;
}
#tab-reviews,
#reviews,
#review_form_wrapper { scroll-margin-top: 110px; }
.pc-product-benefits {
  margin: 15px 0 5px;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  list-style: none;
}
.pc-product-benefits li {
  padding: 8px 11px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  border: 1px solid rgba(17,24,61,.07);
  border-radius: 999px;
  color: var(--pf-ink);
  background: rgba(255,255,255,.7);
  font-size: .75rem;
  font-weight: 750;
}
.pc-product-benefits i { color: var(--pf-green-dark); }
body.pc-store-v4.single-product .pc-shop-main div.product form.cart .single_add_to_cart_button,
body.pc-store-v4.single-product .pc-shop-main div.product form.cart button.button.alt {
  border-color: var(--pf-ink);
  background: var(--pf-ink);
}
body.pc-store-v4.single-product .pc-shop-main .woocommerce-product-gallery .flex-control-thumbs img.flex-active {
  border-color: var(--pf-green);
  box-shadow: 0 0 0 2px rgba(111,174,121,.18);
}
body.pc-store-v4.single-product .pc-shop-main .woocommerce-product-gallery .flex-control-thumbs img { object-fit: contain; }
body.pc-store-v4.single-product .pc-shop-main .woocommerce-tabs ul.tabs li.active {
  border-color: var(--pf-ink);
  background: var(--pf-ink);
}
body.pc-store-v4.single-product .pc-shop-main .woocommerce-tabs .panel {
  border-color: rgba(17,24,61,.065);
  box-shadow: 0 10px 32px rgba(17,24,61,.045);
}
body.pc-store-v4.single-product .pc-shop-main .related.products,
body.pc-store-v4.single-product .pc-shop-main .up-sells.products {
  margin-top: 46px;
  padding: clamp(24px,4vw,42px);
  border-radius: 30px;
  background: var(--pf-mint);
}

/* Footer continuation. */
.home-footer,
.store-footer { padding-top: 58px; color: var(--pf-ink); background: var(--pf-mint); }
.home-footer h2 { color: var(--pf-green-dark); font-size: .75rem; }
.home-footer__brand p,
.home-footer > div:not(:first-child) a,
.home-footer__bottom { font-size: .75rem; }
.home-footer > div:not(:first-child) a { color: var(--pf-muted); }
.home-footer > div:not(:first-child) a:hover { color: var(--pf-ink); }

@media (max-width: 1080px) {
  .pc-home-products__grid .woocommerce ul.products li.product { flex-basis: calc((100% - 26px) / 3); }
  .home-journal__grid { grid-template-columns: minmax(0,.8fr) minmax(260px,1.2fr) minmax(0,.8fr); }
}

@media (max-width: 1000px) {
  .home-header { padding: 8px 0 4px; }
  .home-nav { min-height: 62px; padding: 5px 8px 5px 10px; }
  .home-nav__links { top: 74px; }
  .pc-nav-backdrop { inset-block-start: 74px; }
  .home-nav__links > a,
  .pc-nav-item__top > a { padding: 15px 4px; }
  .home-hero { padding-top: 36px; }
  .home-products__layout { grid-template-columns: minmax(0,1fr); gap: 16px; }
  .home-promo-card { position: relative; min-height: 210px; padding: 28px 190px 28px 28px; overflow: hidden; }
  .home-promo-card p { margin-bottom: 34px; }
  .home-promo-card::after { position: absolute; right: 48px; bottom: 34px; width: 108px; height: 108px; margin: 0; }
  .pc-home-products__grid .woocommerce ul.products li.product { flex-basis: calc((100% - 13px) / 2); }
  .pc-carousel-controls button,
  .home-icon-button,
  .menu-toggle,
  .pc-header .pc-search { width: 44px; min-width: 44px; height: 44px; min-height: 44px; }
  body.pc-store-v4 ul.products li.product .pc-product-card__footer .button {
    width: 46px;
    min-width: 46px;
    height: 46px;
    min-height: 46px;
  }
  .home-journal__grid { grid-template-columns: 1fr 1fr; grid-template-rows: auto; }
  .home-journal-card--feature { grid-column: 1 / -1; grid-row: auto; }
  .home-journal-card:nth-child(n+2) { grid-column: auto; grid-row: auto; }
  .home-journal-card--feature img { height: 280px; }
}

@media (max-width: 680px) {
  .home-header { padding-top: 6px; }
  .home-nav { min-height: 58px; border-radius: 20px; }
  .home-nav .brand__logo { width: 100px; flex-basis: 100px; }
  .home-nav__links { top: 68px; }
  .pc-nav-backdrop { inset-block-start: 68px; }
  .home-hero { padding-top: 28px; }
  .home-hero__claim { font-size: clamp(2rem,9.5vw,2.85rem); }
  .home-hero__visual { width: 100%; margin: 0; }
  .home-hero__visual > picture > img,
  .home-hero__visual > img { min-height: 230px; }
  .home-category-belt { margin-top: -22px; padding: 25px 16px 18px; }
  .home-category-belt__head { margin-bottom: 13px; }
  .home-category-belt__grid a { min-height: 120px; }
  .home-category-belt__grid img { height: 72px; }
  .home-intro { padding: 56px 0 44px; }
  .home-products { padding: 25px 14px 23px; border-radius: 34px 34px 25px 25px; }
  .home-section-head { align-items: flex-start; }
  .pc-section-actions > .pc-arrow-link { display: none; }
  .pc-carousel-controls { display: flex; }
  .pc-carousel-controls button { width: 44px; height: 44px; min-height: 44px; }
  .home-products__layout { grid-template-columns: minmax(0,1fr); gap: 16px; }
  .home-promo-card { position: relative; min-height: 188px; padding: 22px 116px 22px 22px; overflow: hidden; border-radius: 20px; }
  .home-promo-card p { margin-bottom: 24px; }
  .home-promo-card::after { position: absolute; right: 24px; bottom: 24px; width: 68px; height: 68px; margin: 0; }
  .home-promo-card h3 { font-size: 1.15rem; }
  .home-promo-card > span { font-size: .75rem; }
  .home-promo-card .pc-arrow-link { gap: 5px; font-size: .75rem; }
  .home-promo-card .pc-arrow-link > i { width: 23px; height: 23px; }
  .pc-home-products__grid .woocommerce ul.products li.product { flex-basis: min(78vw,240px); }
  body.pc-store-v4 .woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: .8125rem; }
  .home-feature { padding: 28px 22px 16px; }
  .home-feature::before { width: 82%; }
  .home-selection { padding-bottom: 52px; }
  .home-selection__grid > a { min-height: 250px; }
  .home-brand-band { margin-bottom: 60px; padding-block: 28px; }
  .home-brand-band > div { flex-wrap: nowrap; justify-content: flex-start; overflow-x: auto; scroll-snap-type: x proximity; scrollbar-width: none; }
  .home-brand-band a { flex: 0 0 auto; scroll-snap-align: start; }
  .home-story { gap: 24px; }
  .home-story__image img { min-height: 300px; }
  .home-journal__grid { grid-template-columns: 1fr; }
  .home-journal-card--feature,
  .home-journal-card:nth-child(n+2) { grid-column: auto; grid-row: auto; }
  .home-journal-card--feature img { height: 235px; }
  .home-service {
    width: calc(100% - 28px);
    margin-bottom: -15px;
    padding: 20px;
    grid-template-columns: 1fr;
    border-radius: 24px;
  }
  .home-service > div:last-child { align-items: flex-start; flex-direction: column; }
  .pc-shop-main .woocommerce-products-header,
  body.pc-store-v4.woocommerce .pc-shop-main > .pc-shell > .page-title { padding: 28px 22px; border-radius: 28px 28px 22px 22px; }
  .pc-category-chips { margin-top: 14px; }
  body.pc-store-v4 ul.products li.product .pc-product-card__footer .price { font-size: .8125rem; }
  body.pc-store-v4 ul.products li.product .pc-product-card__footer .button {
    width: 46px;
    min-width: 46px;
    height: 46px;
    min-height: 46px;
  }
  body.pc-store-v4.single-product .pc-shop-main .related.products,
  body.pc-store-v4.single-product .pc-shop-main .up-sells.products { padding: 20px 12px; border-radius: 24px; }
  body.pc-store-v4.single-product .pc-shop-main .woocommerce-tabs ul.tabs {
    flex-wrap: nowrap;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scrollbar-width: none;
  }
  body.pc-store-v4.single-product .pc-shop-main .woocommerce-tabs ul.tabs::-webkit-scrollbar { display: none; }
  body.pc-store-v4.single-product .pc-shop-main .woocommerce-tabs ul.tabs li { flex: 0 0 auto; }
}

@media (max-width: 410px) {
  .home-promo-card { min-height: 176px; padding: 19px 96px 19px 19px; }
  .home-promo-card::after { right: 18px; bottom: 20px; width: 58px; height: 58px; }
  .pc-home-products__grid .woocommerce ul.products li.product { flex-basis: min(80vw,232px); }
  .home-category-belt__grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 340px) {
  body.pc-store-v4 .woocommerce ul.products,
  body.pc-store-v4 .woocommerce-page ul.products { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: no-preference) {
  body.pc-store-v4.single-product .pc-shop-main .woocommerce-product-gallery[style*="opacity: 0"] {
    animation: pf-gallery-skeleton 1.15s linear infinite;
  }
  @keyframes pf-gallery-skeleton { to { background-position-x: -220%; } }
}

@media (prefers-reduced-motion: reduce) {
  .pc-home-products__grid .woocommerce ul.products { scroll-behavior: auto; }
}

/* Store polish 0.4.8: resilient card actions and one typographic hierarchy. */
body.pc-store-v4 :where(.pc-page-header h1, .woocommerce-products-header__title),
body.pc-store-v4.woocommerce .pc-shop-main > .pc-shell > .page-title {
  font-size: clamp(2rem,3.35vw,3.25rem);
  letter-spacing: -.05em;
  line-height: 1.04;
}

.pc-category-chips a span,
.pc-category-chips a.is-current span {
  color: var(--pf-white);
  background: var(--pf-green-dark);
}

body.pc-store-v4 ul.products li.product .pc-product-card__footer .price,
body.pc-store-v4 ul.products li.product .pc-product-card__footer .price :where(.amount,bdi) {
  color: var(--pf-green-dark) !important;
}

.pc-product-card__footer .price {
  min-width: 0;
  flex: 1 1 auto;
}

body.pc-store-v4 ul.products li.product .pc-product-card__footer .button {
  flex: 0 0 46px;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 46px;
  min-width: 46px;
  height: 46px;
  min-height: 46px;
	aspect-ratio: 1 / 1;
	box-sizing: border-box;
	border-radius: 50% !important;
	padding: 0 !important;
	overflow: hidden;
	color: transparent;
	font-size: 0 !important;
	line-height: 0;
}

body.pc-store-v4 ul.products li.product .pc-product-card__footer .button::before {
	content: "\f061";
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1em;
	height: 1em;
	color: var(--pf-white);
	font-family: "Font Awesome 7 Free";
	font-size: .8125rem;
	font-weight: 900;
	line-height: 1;
}

body.pc-store-v4 ul.products li.product .pc-product-card__footer .button > i {
	display: none;
  color: currentColor;
  font-size: .8125rem;
  line-height: 1;
}

body.pc-store-v4 .home-promo-card .pc-arrow-link {
  gap: 10px;
}

body.pc-store-v4 .home-promo-card .pc-arrow-link > i {
  display: inline-flex;
  flex: 0 0 44px;
  align-items: center;
  justify-content: center;
  width: 44px;
  min-width: 44px;
  height: 44px;
  min-height: 44px;
  padding: 0;
  border-radius: 50%;
  font-size: .8125rem;
  line-height: 1;
}

/* Cart and checkout 0.5.0: builder-free, staged WooCommerce purchase flow. */
body.pc-store-v4.woocommerce-cart .pc-content,
body.pc-store-v4.woocommerce-checkout .pc-content {
  width: 100%;
  max-width: none;
  margin-inline: 0;
}

body.pc-store-v4.woocommerce-cart .pc-page-header,
body.pc-store-v4.woocommerce-checkout .pc-page-header {
  margin-bottom: 26px;
}

body.pc-store-v4.woocommerce-cart .pc-content > .woocommerce,
body.pc-store-v4.woocommerce-checkout .pc-content > .woocommerce {
  width: 100%;
}

.pc-commerce-steps {
  width: 100%;
  margin: 0 0 28px;
  color: var(--pf-ink);
}

.pc-commerce-steps ol {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  margin: 0;
  padding: 0;
  list-style: none;
}

.pc-commerce-steps--cart ol { grid-template-columns: repeat(3, minmax(0, 1fr)); }

.pc-commerce-steps li {
  position: relative;
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  color: var(--pf-muted);
}

.pc-commerce-steps li:not(:last-child)::after {
  position: absolute;
  z-index: 0;
  top: 17px;
  right: 12px;
  left: 48px;
  height: 1px;
  background: var(--pf-line);
  content: "";
}

.pc-commerce-steps li > span,
.pc-commerce-steps button > span {
  position: relative;
  z-index: 1;
  display: inline-flex;
  flex: 0 0 36px;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  padding: 0;
  border: 1px solid var(--pf-line);
  border-radius: 50%;
  color: var(--pf-ink);
  background: var(--pf-white);
  font-size: .75rem;
  font-weight: 800;
}

.pc-commerce-steps strong {
  position: relative;
  z-index: 1;
  padding: 2px 7px;
  background: var(--pf-white);
  font-size: .75rem;
  white-space: nowrap;
}

.pc-commerce-steps button {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 44px;
  padding: 0;
  border: 0;
  color: inherit;
  background: transparent;
  text-align: left;
}

.pc-commerce-steps button:disabled { cursor: default; opacity: 1; }
.pc-commerce-steps .is-current { color: var(--pf-ink); }
.pc-commerce-steps .is-current > span,
.pc-commerce-steps .is-current button > span {
  color: var(--pf-white);
  border-color: var(--pf-ink);
  background: var(--pf-ink);
}

.pc-commerce-steps .is-complete > span,
.pc-commerce-steps .is-complete button > span {
  color: var(--pf-white);
  border-color: var(--pf-green-dark);
  background: var(--pf-green-dark);
}

/* Cart */
body.pc-store-v4.woocommerce-cart .pc-content > .woocommerce {
  display: grid;
  grid-template-columns: minmax(0, 1.7fr) minmax(300px, .85fr);
  gap: 24px 36px;
  align-items: start;
}

body.pc-store-v4.woocommerce-cart .woocommerce-notices-wrapper,
body.pc-store-v4.woocommerce-cart .woocommerce-info,
body.pc-store-v4.woocommerce-cart .pc-commerce-steps {
  grid-column: 1 / -1;
}

body.pc-store-v4.woocommerce-cart .woocommerce-cart-form {
  grid-column: 1;
  min-width: 0;
}

body.pc-store-v4.woocommerce-cart .cart-collaterals {
  grid-column: 2;
  width: 100%;
}

body.pc-store-v4.woocommerce-cart .cart-collaterals .cart_totals {
  width: 100%;
  padding: 24px;
  border: 1px solid var(--pf-line);
  border-radius: 22px;
  background: var(--pf-white);
  box-shadow: 0 16px 42px rgba(6, 22, 48, .06);
}

body.pc-store-v4.woocommerce-cart .cart-collaterals .cart_totals h2 {
  margin: 0 0 18px;
  font-size: 1.25rem;
}

body.pc-store-v4.woocommerce-cart table.shop_table.cart {
  overflow: visible;
  border: 0;
  background: transparent;
}

body.pc-store-v4.woocommerce-cart table.shop_table.cart thead { display: none; }
body.pc-store-v4.woocommerce-cart table.shop_table.cart tbody { display: grid; gap: 14px; }

body.pc-store-v4.woocommerce-cart table.shop_table.cart tr.cart_item {
  display: grid;
  grid-template-columns: 34px 92px minmax(170px, 1fr) auto auto auto;
  gap: 14px;
  align-items: center;
  padding: 16px;
  border: 1px solid var(--pf-line);
  border-radius: 20px;
  background: var(--pf-white);
  box-shadow: 0 12px 32px rgba(6, 22, 48, .045);
}

body.pc-store-v4.woocommerce-cart table.shop_table.cart tr.cart_item td {
  padding: 0;
  border: 0;
}

body.pc-store-v4.woocommerce-cart table.shop_table.cart .product-thumbnail img {
  width: 92px;
  height: 92px;
  border-radius: 14px;
  object-fit: contain;
  background: var(--pf-cream);
}

body.pc-store-v4.woocommerce-cart table.shop_table.cart .product-name a {
  color: var(--pf-ink);
  font-weight: 800;
  text-decoration: none;
}

body.pc-store-v4.woocommerce-cart table.shop_table.cart .product-name > p { display: none; }

body.pc-store-v4.woocommerce-cart table.shop_table.cart .product-remove a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  color: var(--pf-muted) !important;
  background: var(--pf-cream);
  text-decoration: none;
}

body.pc-store-v4.woocommerce-cart table.shop_table.cart .product-remove a:hover {
  color: var(--pf-white) !important;
  background: #a43838;
}

body.pc-store-v4.woocommerce-cart table.shop_table.cart .product-price,
body.pc-store-v4.woocommerce-cart table.shop_table.cart .product-subtotal {
  color: var(--pf-green-dark);
  font-size: .875rem;
  font-weight: 800;
  white-space: nowrap;
}

body.pc-store-v4.woocommerce-cart table.shop_table.cart .actions {
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: flex-end;
  padding: 8px 0 0;
  border: 0;
}

body.pc-store-v4.woocommerce-cart table.shop_table.cart .actions .coupon {
  display: flex;
  flex: 1 1 320px;
  gap: 8px;
}

body.pc-store-v4.woocommerce-cart table.shop_table.cart .actions .coupon .input-text {
  width: min(100%, 260px);
  min-height: 46px;
  border: 1px solid var(--pf-line);
  border-radius: 999px;
}

body.pc-store-v4.woocommerce-cart table.shop_table.cart .actions button,
body.pc-store-v4.woocommerce-cart .checkout-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 48px;
  padding: 0 22px;
  border: 0;
  border-radius: 999px;
  color: var(--pf-white);
  background: var(--pf-green-dark);
  font-size: .8125rem;
  font-weight: 800;
  text-decoration: none;
}

body.pc-store-v4.woocommerce-cart .checkout-button { width: 100%; margin: 18px 0 0; }

.pc-cart-assurance {
  display: grid;
  gap: 0;
  margin-top: 14px;
  padding: 8px 18px;
  border: 1px solid var(--pf-line);
  border-radius: 18px;
  background: var(--pf-white);
}

.pc-cart-assurance p {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  margin: 0;
  padding: 14px 0;
  color: var(--pf-muted);
  font-size: .75rem;
}

.pc-cart-assurance p + p { border-top: 1px solid var(--pf-line); }
.pc-cart-assurance i { margin-top: 2px; color: var(--pf-green-dark); }
.pc-cart-assurance strong { color: var(--pf-ink); }

/* Checkout */
body.pc-store-v4.woocommerce-checkout form.checkout {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(320px, .85fr);
  grid-template-rows: auto auto auto;
  gap: 18px 34px;
  align-items: start;
}

body.pc-store-v4.woocommerce-checkout form.checkout .pc-checkout-stage-intro {
  grid-column: 1;
  grid-row: 1;
  margin: 0;
  padding: 24px 26px 0;
  border: 1px solid var(--pf-line);
  border-bottom: 0;
  border-radius: 22px 22px 0 0;
  background: var(--pf-white);
}

.pc-checkout-stage-intro .pc-eyebrow { margin-bottom: 8px; }
.pc-checkout-stage-intro h2 { margin: 0 0 8px; font-size: clamp(1.5rem, 2.4vw, 2.15rem); }
.pc-checkout-stage-intro > p:last-child { margin: 0; color: var(--pf-muted); font-size: .875rem; }

.pc-checkout-account-choice {
  display: grid;
  gap: 11px;
  margin-top: 20px;
}

.pc-checkout-account-choice > p {
  margin: 0;
  color: var(--pf-ink);
  font-size: .875rem;
  font-weight: 800;
}

.pc-checkout-account-choice > div {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.pc-checkout-account-choice button {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 76px;
  padding: 13px 15px;
  border: 1px solid var(--pf-line);
  border-radius: 15px;
  color: var(--pf-ink);
  background: var(--pf-white);
  text-align: left;
}

.pc-checkout-account-choice button > i {
  display: inline-grid;
  flex: 0 0 34px;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  color: var(--pf-green-dark);
  background: var(--pf-mint);
}

.pc-checkout-account-choice button > span { display: grid; gap: 2px; }
.pc-checkout-account-choice button strong { font-size: .8125rem; }
.pc-checkout-account-choice button small { color: var(--pf-muted); font-size: .6875rem; }
.pc-checkout-account-choice button.is-selected { border-color: var(--pf-green); background: var(--pf-mint); }
.pc-checkout-account-choice__error { display: none; color: #a52622; font-size: .75rem; font-weight: 700; }
.pc-checkout-account-choice.is-invalid .pc-checkout-account-choice__error { display: block; }
body.pc-store-v4.woocommerce-checkout .pc-native-account-toggle { display: none !important; }
body.pc-store-v4.woocommerce-checkout:not([data-pc-checkout-step-current="1"]) .pc-checkout-account-choice { display: none; }

body.pc-store-v4.woocommerce-checkout form.checkout #customer_details {
  grid-column: 1;
  grid-row: 2;
  display: grid;
  grid-template-columns: 1fr;
  width: 100%;
  padding: 16px 26px 24px;
  border: 1px solid var(--pf-line);
  border-top: 0;
  border-radius: 0 0 22px 22px;
  background: var(--pf-white);
}

body.pc-store-v4.woocommerce-checkout #customer_details .col-1,
body.pc-store-v4.woocommerce-checkout #customer_details .col-2 {
  float: none;
  width: 100%;
}

body.pc-store-v4.woocommerce-checkout #customer_details h3 {
  margin: 0 0 14px;
  font-size: 1rem;
}

body.pc-store-v4.woocommerce-checkout form.checkout #order_review_heading {
  grid-column: 2;
  grid-row: 1;
  margin: 0;
  padding: 22px 24px 0;
  border: 1px solid var(--pf-line);
  border-bottom: 0;
  border-radius: 22px 22px 0 0;
  background: var(--pf-white);
  font-size: 1.125rem;
}

body.pc-store-v4.woocommerce-checkout form.checkout #order_review {
  grid-column: 2;
  grid-row: 2 / span 2;
  margin: 0;
  padding: 12px 22px 22px;
  border: 1px solid var(--pf-line);
  border-top: 0;
  border-radius: 0 0 22px 22px;
  background: var(--pf-white);
  box-shadow: 0 16px 42px rgba(6, 22, 48, .06);
}

body.pc-store-v4.woocommerce-checkout #order_review table.shop_table {
  margin: 0 0 16px;
  border: 0;
  border-radius: 0;
}

body.pc-store-v4.woocommerce-checkout #order_review table.shop_table th,
body.pc-store-v4.woocommerce-checkout #order_review table.shop_table td {
  padding: 12px 4px;
  font-size: .8125rem;
}

body.pc-store-v4.woocommerce-checkout #payment {
  border-radius: 16px;
  background: var(--pf-mint);
}

body.pc-store-v4.woocommerce-checkout #payment ul.payment_methods,
body.pc-store-v4.woocommerce-checkout #payment div.form-row { padding: 16px; }

body.pc-store-v4.woocommerce-checkout #place_order {
  width: 100%;
  min-height: 50px;
  border-radius: 999px;
  color: var(--pf-white);
  background: var(--pf-green-dark);
  font-weight: 800;
}

.pc-checkout-actions {
  grid-column: 1;
  grid-row: 3;
  display: flex;
  gap: 12px;
  justify-content: space-between;
  padding-top: 28px;
}

.pc-checkout-actions button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 48px;
  padding: 0 22px;
  border: 1px solid var(--pf-line);
  border-radius: 999px;
  color: var(--pf-ink);
  background: var(--pf-white);
  font-size: .8125rem;
  font-weight: 800;
}

.pc-checkout-actions button[hidden] {
  display: none !important;
}

.pc-checkout-actions .pc-checkout-next {
  min-width: min(100%, 230px);
  margin-left: auto;
  color: var(--pf-white);
  border-color: var(--pf-green-dark);
  background: var(--pf-green-dark);
}

body.pc-store-v4.woocommerce-checkout .form-row[data-pc-checkout-group] { transition: opacity .2s ease; }
body.pc-store-v4.woocommerce-checkout[data-pc-checkout-step-current="1"] .form-row[data-pc-checkout-group="2"],
body.pc-store-v4.woocommerce-checkout[data-pc-checkout-step-current="2"] .form-row[data-pc-checkout-group="1"] { display: none !important; }

body.pc-store-v4.woocommerce-checkout[data-pc-checkout-step-current="1"] .woocommerce-shipping-fields,
body.pc-store-v4.woocommerce-checkout[data-pc-checkout-step-current="1"] .woocommerce-additional-fields { display: none; }

body.pc-store-v4.woocommerce-checkout[data-pc-checkout-step-current="3"] #customer_details,
body.pc-store-v4.woocommerce-checkout[data-pc-checkout-step-current="4"] #customer_details,
body.pc-store-v4.woocommerce-checkout[data-pc-checkout-step-current="5"] #customer_details { display: none !important; }

body.pc-store-v4.woocommerce-checkout[data-pc-checkout-step-current="3"] form.checkout .pc-checkout-stage-intro,
body.pc-store-v4.woocommerce-checkout[data-pc-checkout-step-current="4"] form.checkout .pc-checkout-stage-intro,
body.pc-store-v4.woocommerce-checkout[data-pc-checkout-step-current="5"] form.checkout .pc-checkout-stage-intro {
  padding-bottom: 24px;
  border-bottom: 1px solid var(--pf-line);
  border-radius: 22px;
}

body.pc-store-v4.woocommerce-checkout[data-pc-checkout-step-current="1"] #payment,
body.pc-store-v4.woocommerce-checkout[data-pc-checkout-step-current="2"] #payment,
body.pc-store-v4.woocommerce-checkout[data-pc-checkout-step-current="3"] #payment { display: none; }

body.pc-store-v4.woocommerce-checkout[data-pc-checkout-step-current="1"] #order_payment_heading,
body.pc-store-v4.woocommerce-checkout[data-pc-checkout-step-current="2"] #order_payment_heading,
body.pc-store-v4.woocommerce-checkout[data-pc-checkout-step-current="3"] #order_payment_heading,
body.pc-store-v4.woocommerce-checkout[data-pc-checkout-step-current="1"] .wc-gzd-checkbox-placeholder,
body.pc-store-v4.woocommerce-checkout[data-pc-checkout-step-current="2"] .wc-gzd-checkbox-placeholder,
body.pc-store-v4.woocommerce-checkout[data-pc-checkout-step-current="3"] .wc-gzd-checkbox-placeholder,
body.pc-store-v4.woocommerce-checkout[data-pc-checkout-step-current="4"] .wc-gzd-checkbox-placeholder,
body.pc-store-v4.woocommerce-checkout[data-pc-checkout-step-current="1"] .wc-gzd-order-submit,
body.pc-store-v4.woocommerce-checkout[data-pc-checkout-step-current="2"] .wc-gzd-order-submit,
body.pc-store-v4.woocommerce-checkout[data-pc-checkout-step-current="3"] .wc-gzd-order-submit,
body.pc-store-v4.woocommerce-checkout[data-pc-checkout-step-current="4"] .wc-gzd-order-submit { display: none !important; }

@media (min-width: 1001px) {
  body.pc-store-v4.woocommerce-cart .cart-collaterals,
  body.pc-store-v4.woocommerce-checkout form.checkout #order_review { position: sticky; top: 112px; }
}

@media (max-width: 1000px) {
  body.pc-store-v4.woocommerce-cart .pc-content > .woocommerce,
  body.pc-store-v4.woocommerce-checkout form.checkout { grid-template-columns: minmax(0, 1fr); }

  body.pc-store-v4.woocommerce-cart .woocommerce-cart-form,
  body.pc-store-v4.woocommerce-cart .cart-collaterals { grid-column: 1; }

  body.pc-store-v4.woocommerce-checkout form.checkout .pc-checkout-stage-intro { grid-column: 1; grid-row: 1; }
  body.pc-store-v4.woocommerce-checkout form.checkout #customer_details { grid-column: 1; grid-row: 2; }
  body.pc-store-v4.woocommerce-checkout form.checkout #order_review_heading { grid-column: 1; grid-row: 3; margin-top: 10px; }
  body.pc-store-v4.woocommerce-checkout form.checkout #order_review { grid-column: 1; grid-row: 4; }
  body.pc-store-v4.woocommerce-checkout .pc-checkout-actions { grid-column: 1; grid-row: 5; }
}

@media (max-width: 760px) {
  .pc-commerce-steps { overflow-x: auto; padding-bottom: 6px; scrollbar-width: none; }
  .pc-commerce-steps::-webkit-scrollbar { display: none; }
  .pc-commerce-steps ol { min-width: 560px; }
  .pc-commerce-steps--cart ol { min-width: 350px; }
  .pc-commerce-steps li { gap: 7px; }
  .pc-commerce-steps strong { font-size: .6875rem; }

  body.pc-store-v4.woocommerce-cart table.shop_table.cart tbody { display: block; }
  body.pc-store-v4.woocommerce-cart table.shop_table.cart tr.cart_item {
    position: relative;
    display: grid;
    grid-template-columns: 78px minmax(0, 1fr);
    gap: 10px;
    margin-bottom: 12px;
    padding: 12px;
  }

  body.pc-store-v4.woocommerce-cart table.shop_table.cart tr.cart_item td::before { display: none; }
  body.pc-store-v4.woocommerce-cart table.shop_table.cart .product-remove { position: absolute; z-index: 2; top: 8px; right: 8px; }
  body.pc-store-v4.woocommerce-cart table.shop_table.cart .product-thumbnail { display: block; grid-column: 1; grid-row: 1 / span 4; }
  body.pc-store-v4.woocommerce-cart table.shop_table.cart .product-thumbnail::before { display: none; }
  body.pc-store-v4.woocommerce-cart table.shop_table.cart .product-thumbnail img { width: 78px; height: 78px; }
  body.pc-store-v4.woocommerce-cart table.shop_table.cart .product-name,
  body.pc-store-v4.woocommerce-cart table.shop_table.cart .product-price,
  body.pc-store-v4.woocommerce-cart table.shop_table.cart .product-quantity,
  body.pc-store-v4.woocommerce-cart table.shop_table.cart .product-subtotal {
    grid-column: 2;
    width: auto;
    text-align: left !important;
  }

  body.pc-store-v4.woocommerce-cart table.shop_table.cart .actions { align-items: stretch; flex-direction: column; }
  body.pc-store-v4.woocommerce-cart table.shop_table.cart .actions .coupon { flex: none; width: 100%; }
  body.pc-store-v4.woocommerce-cart table.shop_table.cart .actions .coupon .input-text { width: 100%; }
  body.pc-store-v4.woocommerce-cart table.shop_table.cart .actions button { width: 100%; }

  body.pc-store-v4.woocommerce-checkout form.checkout .pc-checkout-stage-intro { padding: 20px 18px 0; }
  body.pc-store-v4.woocommerce-checkout form.checkout #customer_details { padding: 14px 18px 20px; }
  body.pc-store-v4.woocommerce-checkout #billing_first_name_field,
  body.pc-store-v4.woocommerce-checkout #billing_last_name_field,
  body.pc-store-v4.woocommerce-checkout #shipping_first_name_field,
  body.pc-store-v4.woocommerce-checkout #shipping_last_name_field {
    float: none;
    clear: both;
    width: 100%;
  }
  body.pc-store-v4.woocommerce-checkout form.checkout #order_review_heading { padding-inline: 18px; }
  body.pc-store-v4.woocommerce-checkout form.checkout #order_review { padding-inline: 16px; }
  .pc-checkout-actions { align-items: stretch; flex-direction: column-reverse; }
  .pc-checkout-actions button,
  .pc-checkout-actions .pc-checkout-next { width: 100%; }
}

body.pc-store-v4.single-product .pc-shop-main div.product {
  padding-top: 18px;
}

body.pc-store-v4.single-product .pc-shop-main .woocommerce-product-gallery {
  min-height: 0;
  padding: 12px;
  overflow: hidden;
  border: 1px solid rgba(17,24,61,.06);
  border-radius: 30px;
  background-color: var(--pf-white);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='160' viewBox='0 0 260 160'%3E%3Cg fill='none' stroke='%236fae79' stroke-opacity='.10' stroke-width='1.2'%3E%3Cpath d='M-20 42C30 7 64 82 115 44s86 17 165-21'/%3E%3Cpath d='M-24 58C34 20 63 99 121 59s94 20 167-17'/%3E%3Cpath d='M-17 77C38 39 74 114 130 77s92 17 156-11'/%3E%3C/g%3E%3C/svg%3E");
  box-shadow: 0 14px 42px rgba(17,24,61,.07);
}

body.pc-store-v4.single-product .pc-shop-main div.product div.images img {
  border-radius: 20px;
}

body.pc-store-v4.single-product .pc-shop-main div.product div.summary {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: clamp(26px,3.2vw,42px);
  border: 1px solid rgba(17,24,61,.055);
  border-radius: 34px 34px 26px 26px;
  background-color: var(--pf-mint);
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='180' viewBox='0 0 300 180'%3E%3Cg fill='none' stroke='%236fae79' stroke-opacity='.13' stroke-width='1.1'%3E%3Cpath d='M-18 48C35 8 79 88 135 45s98 25 180-15'/%3E%3Cpath d='M-22 68C41 25 76 108 142 66s101 23 176-10'/%3E%3Cpath d='M-15 91C42 50 88 126 151 88s96 17 159-8'/%3E%3C/g%3E%3C/svg%3E"),
    linear-gradient(145deg,rgba(255,255,255,.55),transparent 52%);
  background-position: right top, center;
  background-repeat: no-repeat;
  box-shadow: 0 16px 46px rgba(17,24,61,.075);
}

body.pc-store-v4.single-product .pc-shop-main div.product div.summary::before {
  position: absolute;
  z-index: -1;
  top: -55px;
  right: -42px;
  width: 150px;
  height: 150px;
  border-radius: 50%;
  background: var(--pf-yellow-soft);
  content: "";
}

.pc-product-eyebrow {
  margin: 0 0 14px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 7px;
  color: var(--pf-green-dark);
  font-size: .75rem;
  font-weight: 800;
  letter-spacing: .045em;
  text-transform: uppercase;
}

.pc-product-eyebrow span {
  padding: 6px 9px;
  border-radius: 999px;
  color: var(--pf-ink);
  background: var(--pf-yellow-soft);
}

.pc-product-eyebrow a {
  color: var(--pf-green-dark);
}

body.pc-store-v4.single-product .pc-shop-main div.product .product_title {
  max-width: 26ch;
  margin-bottom: 10px;
  color: var(--pf-ink);
  font-size: clamp(1.7rem,1.9vw,2.15rem);
  letter-spacing: -.045em;
  line-height: 1.06;
  overflow-wrap: anywhere;
  text-wrap: balance;
}

body.pc-store-v4.single-product .pc-shop-main div.product p.price,
body.pc-store-v4.single-product .pc-shop-main div.product span.price {
  margin-bottom: 14px;
  font-size: clamp(1.25rem,1.7vw,1.55rem);
}

body.pc-store-v4.single-product .pc-shop-main .woocommerce-product-details__short-description {
  color: var(--pf-muted);
  font-size: .9375rem;
  line-height: 1.65;
}

body.pc-store-v4.single-product .pc-shop-main .product_meta {
  padding: 16px 18px;
  border: 0;
  border-radius: 18px;
  background: rgba(255,255,255,.58);
}

@media (max-width: 760px) {
  body.pc-store-v4.single-product .pc-shop-main div.product .product_title {
    font-size: clamp(1.7rem,7vw,2.2rem);
  }
  body.pc-store-v4.single-product .pc-shop-main div.product div.summary {
    padding: 24px 20px;
    border-radius: 28px 28px 22px 22px;
  }
}

@media (max-width: 520px) {
  body.pc-store-v4 .woocommerce ul.products,
  body.pc-store-v4 .woocommerce-page ul.products {
    grid-template-columns: 1fr;
  }
  body.pc-store-v4 .woocommerce ul.products li.product .woocommerce-loop-product__title {
    min-height: 0;
  }
}

/* 0.10.2: one 1464 px layout grid from header to footer, without viewport overflow. */
body.pc-store-v4 :where(
  .pc-shell,
  .site-width,
  .home-nav,
  .pc-mega-menu__inner,
  .home-service,
  .shop-intro,
  .category-hero
) {
  max-width: 100%;
  min-width: 0;
}

body.pc-store-v4 :where(main, section, article, aside, nav, form, table, .woocommerce, .pc-content) {
  min-width: 0;
}

body.pc-store-v4 .pc-content :where(.alignwide, .alignfull) {
  width: 100%;
  max-width: 100%;
  margin-inline: 0;
  transform: none;
}

.home-footer > *,
.store-footer > *,
.pc-mega-menu__inner > * { min-width: 0; }

@media (max-width: 680px) {
  :root {
    --pf-site: calc(100% - 28px);
    --pc-shell: var(--pf-site);
  }

  .home-footer,
  .store-footer {
    padding-inline: 14px;
  }
}

/* Global wishlist access introduced with the independent product page. */
.home-wishlist { position: relative; }
.pc-wishlist-count {
  position: absolute;
  top: -4px;
  right: -4px;
  min-width: 17px;
  height: 17px;
  padding: 0 4px;
  display: grid;
  place-items: center;
  border: 2px solid #fff;
  border-radius: 999px;
  color: #fff;
  background: var(--pf-green-dark);
  font-size: .55rem;
  font-weight: 800;
  line-height: 1;
}

.pc-wishlist-count[hidden] { display: none !important; }

.pfahl-blog-inline-media {
  margin: clamp(2rem, 5vw, 3.75rem) 0;
  padding: clamp(0.45rem, 1.5vw, 0.75rem);
  overflow: hidden;
  border: 1px solid rgba(15, 35, 31, 0.08);
  border-radius: clamp(1.25rem, 3vw, 2rem);
  background: #e4f4e8;
  box-shadow: 0 1.25rem 3rem rgba(15, 35, 31, 0.09);
}

.pfahl-blog-inline-media img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: clamp(0.9rem, 2.25vw, 1.5rem);
}

.pfahl-blog-inline-media figcaption {
  padding: 0.75rem 0.65rem 0.35rem;
  color: #315e3f;
  font-size: 0.875rem;
  line-height: 1.55;
  text-align: center;
}

/* Checkout 0.5.6: Entscheidungen links, reine Zusammenfassung rechts */
body.pc-store-v4.woocommerce-checkout form.checkout .pc-checkout-main {
  grid-column: 1;
  min-width: 0;
}

body.pc-store-v4.woocommerce-checkout form.checkout .pc-checkout-sidebar {
  grid-column: 2;
  min-width: 0;
}

body.pc-store-v4.woocommerce-checkout form.checkout .pc-checkout-main,
body.pc-store-v4.woocommerce-checkout form.checkout .pc-checkout-sidebar {
  display: flex;
  flex-direction: column;
}

body.pc-store-v4.woocommerce-checkout form.checkout .pc-checkout-main > .pc-checkout-stage-intro,
body.pc-store-v4.woocommerce-checkout form.checkout .pc-checkout-main > #customer_details,
body.pc-store-v4.woocommerce-checkout form.checkout .pc-checkout-main > .pc-checkout-actions,
body.pc-store-v4.woocommerce-checkout form.checkout .pc-checkout-sidebar > #order_review_heading,
body.pc-store-v4.woocommerce-checkout form.checkout .pc-checkout-sidebar > #order_review {
  grid-column: auto;
  grid-row: auto;
  width: 100%;
}

.pc-checkout-stage-options {
  display: none;
  margin-top: 22px;
}

body.pc-store-v4.woocommerce-checkout[data-pc-checkout-step-current="3"] .pc-checkout-stage-options,
body.pc-store-v4.woocommerce-checkout[data-pc-checkout-step-current="4"] .pc-checkout-stage-options,
body.pc-store-v4.woocommerce-checkout[data-pc-checkout-step-current="5"] .pc-checkout-stage-options {
  display: block;
}

.pc-checkout-shipping-options,
.pc-checkout-payment-options {
  display: none;
}

body.pc-store-v4.woocommerce-checkout[data-pc-checkout-step-current="3"] .pc-checkout-shipping-options,
body.pc-store-v4.woocommerce-checkout[data-pc-checkout-step-current="4"] .pc-checkout-payment-options,
body.pc-store-v4.woocommerce-checkout[data-pc-checkout-step-current="5"] .pc-checkout-payment-options {
  display: block;
}

.pc-checkout-option {
  position: relative;
  display: flex;
  align-items: center;
  gap: 14px;
  width: 100%;
  min-height: 82px;
  padding: 16px 18px;
  border: 1px solid var(--pf-line);
  border-radius: 18px;
  color: var(--pf-ink);
  background: var(--pf-white);
  text-align: left;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.pc-checkout-option.is-selected {
  border-color: var(--pf-green);
  background: var(--pf-mint);
  box-shadow: 0 10px 28px rgba(46, 124, 75, .10);
}

.pc-checkout-option__indicator {
  display: inline-flex;
  flex: 0 0 34px;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border: 1px solid var(--pf-green);
  border-radius: 50%;
  color: var(--pf-white);
  background: var(--pf-green-dark);
  font-size: .75rem;
}

.pc-checkout-option__content {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.pc-checkout-option__content small {
  color: var(--pf-green-dark);
  font-size: .6875rem;
  font-weight: 800;
  letter-spacing: .055em;
  text-transform: uppercase;
}

.pc-checkout-option__content strong {
  color: var(--pf-ink);
  font-size: .9375rem;
  line-height: 1.4;
}

body.pc-store-v4.woocommerce-checkout .pc-checkout-payment-options #order_payment_heading {
  margin: 0 0 12px;
  padding: 0;
  border: 0;
  color: var(--pf-ink);
  background: transparent;
  font-size: 1rem;
}

body.pc-store-v4.woocommerce-checkout .pc-checkout-payment-options #payment {
  overflow: visible;
  border-radius: 0;
  background: transparent;
}

body.pc-store-v4.woocommerce-checkout .pc-checkout-payment-options #payment ul.payment_methods {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  border: 0;
}

body.pc-store-v4.woocommerce-checkout .pc-checkout-payment-options #payment ul.payment_methods > li {
  margin: 0;
  padding: 15px 16px;
  border: 1px solid var(--pf-line);
  border-radius: 16px;
  background: var(--pf-white);
}

body.pc-store-v4.woocommerce-checkout .pc-checkout-payment-options #payment ul.payment_methods > li:has(input:checked) {
  border-color: var(--pf-green);
  background: var(--pf-mint);
  box-shadow: 0 9px 24px rgba(46, 124, 75, .08);
}

body.pc-store-v4.woocommerce-checkout .pc-checkout-payment-options #payment input[type="radio"] {
  accent-color: var(--pf-green-dark);
}

body.pc-store-v4.woocommerce-checkout .pc-checkout-payment-options #payment label {
  color: var(--pf-ink);
  font-size: .875rem;
  font-weight: 800;
  text-decoration: none;
}

body.pc-store-v4.woocommerce-checkout .pc-checkout-payment-options #payment .payment_box {
  margin: 12px 0 0;
  padding: 13px 14px;
  border-radius: 12px;
  color: var(--pf-muted);
  background: rgba(255, 255, 255, .78);
  font-size: .75rem;
}

body.pc-store-v4.woocommerce-checkout .pc-checkout-payment-options .wc-gzd-checkbox-placeholder,
body.pc-store-v4.woocommerce-checkout .pc-checkout-payment-options .wc-gzd-order-submit {
  margin-top: 14px;
}

body.pc-store-v4.woocommerce-checkout[data-pc-checkout-step-current="5"] .wc-gzd-checkbox-placeholder-legal {
  padding: 16px 18px;
  border: 1px solid var(--pf-line);
  border-radius: 16px;
  background: var(--pf-white);
}

body.pc-store-v4.woocommerce-checkout[data-pc-checkout-step-current="5"] .wc-gzd-checkbox-placeholder-legal .legal {
  margin: 0;
}

.pc-checkout-final-order {
  display: none;
  margin-top: 18px;
  overflow: hidden;
  border: 1px solid var(--pf-line);
  border-radius: 18px;
  background: var(--pf-mint);
}

body.pc-store-v4.woocommerce-checkout[data-pc-checkout-step-current="5"] .pc-checkout-final-order {
  display: block;
}

body.pc-store-v4.woocommerce-checkout .pc-checkout-final-order #order_review_heading {
  margin: 0;
  padding: 18px 18px 6px;
  border: 0;
  color: var(--pf-ink);
  background: var(--pf-mint) !important;
  font-size: 1.05rem;
}

body.pc-store-v4.woocommerce-checkout .pc-checkout-final-order table.shop_table {
  margin: 0;
  padding: 0 14px 14px;
  border: 0;
  border-radius: 0;
  background: transparent;
}

body.pc-store-v4.woocommerce-checkout .pc-checkout-final-order table.shop_table th,
body.pc-store-v4.woocommerce-checkout .pc-checkout-final-order table.shop_table td {
  padding: 12px 4px;
  border-color: rgba(17, 24, 61, .12);
  font-size: .8125rem;
}

body.pc-store-v4.woocommerce-checkout[data-pc-checkout-step-current="5"] .pc-checkout-final-order tr.order-total {
  display: none;
}

body.pc-store-v4.woocommerce-checkout[data-pc-checkout-step-current="5"] .pc-checkout-sidebar {
  display: none !important;
}

/* Customer journey 0.7.0: one site width, compact commerce and branded service pages. */
body.pc-store-v4 .pc-main > .pc-shell {
  width: var(--pf-site);
}

body.pc-store-v4 .pc-main > .pc-shell { margin-inline: auto; }
body.pc-store-v4 .pc-main > .pc-shell > .pc-page-header,
body.pc-store-v4 .pc-main > .pc-shell > .pc-content--wide {
  width: 100%;
  max-width: none;
  margin-inline: 0;
}

body.pc-store-v4.woocommerce-checkout .wc-gzd-edit-data-notice,
body.pc-store-v4.woocommerce-checkout .wc-gzd-item-desc {
  display: none !important;
}

.pc-empty-results {
  grid-column: 1 / -1;
  max-width: 760px;
  margin: 10px auto 28px;
  padding: clamp(24px, 4vw, 38px);
  border: 1px solid rgba(17, 24, 61, .08);
  border-radius: 24px;
  background: var(--pf-mint);
  text-align: center;
}

.pc-empty-results h2 { margin: 0 0 10px; font-size: clamp(1.75rem, 3vw, 2.6rem); }
.pc-empty-results > p:not(.pc-eyebrow) { margin: 0 auto 20px; color: var(--pf-muted); }
.pc-empty-results__products { grid-column: 1 / -1; width: 100%; margin-top: 12px; }
.pc-empty-results__products > h2 { margin: 0 0 18px; font-size: clamp(1.5rem, 2.5vw, 2.15rem); }

body.pc-store-v4.woocommerce-cart .pc-content,
body.pc-store-v4.woocommerce-checkout .pc-content {
  padding-top: clamp(24px,3.5vw,44px);
  padding-bottom: clamp(54px,7vw,88px);
}

body.pc-store-v4.woocommerce-cart .pc-commerce-steps,
body.pc-store-v4.woocommerce-checkout .pc-commerce-steps { margin-bottom: 22px; }

.pc-footer-withdrawal {
  width: fit-content;
  margin-top: 10px !important;
  min-height: 44px;
  padding: 10px 16px !important;
  display: inline-flex !important;
  gap: 8px;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--pf-ink) !important;
  border-radius: 999px;
  color: var(--pf-white) !important;
  background: var(--pf-ink) !important;
  font-weight: 800;
  line-height: 1.15;
}

.pc-footer.home-footer .pc-footer-withdrawal:hover {
  color: var(--pf-white) !important;
  border-color: var(--pf-green-dark) !important;
  background: var(--pf-green-dark) !important;
}

.pc-footer.home-footer .pc-footer-withdrawal:focus-visible {
  outline: 3px solid var(--pf-white);
  outline-offset: 3px;
}

/* About / trust page */
.pc-about-hero {
  display: grid;
  grid-template-columns: minmax(0,.88fr) minmax(460px,1.12fr);
  gap: clamp(34px,5vw,72px);
  align-items: center;
  margin: clamp(28px,4vw,54px) 0 34px;
  padding: clamp(28px,4vw,56px);
  overflow: hidden;
  border-radius: 34px;
  background-color: var(--pf-mint);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='330' height='190' viewBox='0 0 330 190'%3E%3Cg fill='none' stroke='%236fae79' stroke-opacity='.13' stroke-width='1.1'%3E%3Cpath d='M-18 48C35 8 79 88 135 45s98 25 210-15'/%3E%3Cpath d='M-22 68C41 25 76 108 142 66s101 23 206-10'/%3E%3Cpath d='M-15 91C42 50 88 126 151 88s96 17 189-8'/%3E%3C/g%3E%3C/svg%3E");
  background-position: left bottom;
  background-repeat: no-repeat;
}

.pc-about-hero__copy h1 {
  max-width: 13ch;
  margin: 0;
  color: var(--pf-ink);
  font-size: clamp(2.45rem,4.4vw,4.35rem);
  letter-spacing: -.065em;
  line-height: .98;
  text-wrap: balance;
}

.pc-about-hero__lead { margin: 22px 0 0; color: var(--pf-muted); font-size: 1rem; line-height: 1.75; }
.pc-about-hero__actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 28px; }
.pc-about-hero__image { position: relative; margin: 0; }
.pc-about-hero__image img { width: 100%; min-height: 460px; border-radius: 26px; object-fit: cover; }
.pc-about-hero__image figcaption { position: absolute; right: 10px; bottom: 10px; padding: 4px 7px; border-radius: 999px; color: rgba(17,24,61,.48); background: rgba(255,255,255,.58); font-size: .5rem; backdrop-filter: blur(8px); }

.pc-about-facts {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 12px;
  margin: 0 0 clamp(68px,8vw,108px);
  padding: 0;
  list-style: none;
}
.pc-about-facts li { display: flex; gap: 12px; align-items: center; min-height: 92px; padding: 18px; border: 1px solid var(--pf-line); border-radius: 20px; background: var(--pf-white); box-shadow: var(--pf-shadow-soft); }
.pc-about-facts i { display: grid; flex: 0 0 38px; place-items: center; width: 38px; height: 38px; border-radius: 50%; color: var(--pf-green-dark); background: var(--pf-mint); }
.pc-about-facts span { display: grid; gap: 2px; }
.pc-about-facts strong { font-size: .82rem; }
.pc-about-facts span:not(.x) { color: var(--pf-muted); font-size: .7rem; line-height: 1.45; }
.pc-about-facts span strong { color: var(--pf-ink); }

.pc-about-story { display: grid; grid-template-columns: minmax(280px,.7fr) minmax(0,1.3fr); gap: clamp(34px,7vw,94px); margin-bottom: clamp(66px,8vw,110px); }
.pc-about-story h2 { max-width: 10ch; margin: 0; font-size: clamp(2rem,3.6vw,3.5rem); letter-spacing: -.06em; line-height: 1; }
.pc-about-story__copy { display: grid; gap: 20px; color: var(--pf-muted); font-size: 1.02rem; line-height: 1.8; }
.pc-about-story__copy p { margin: 0; }

.pc-about-values { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; margin-bottom: 18px; }
.pc-about-values article { min-height: 310px; padding: clamp(24px,3vw,36px); border-radius: 26px; background: var(--pf-mint); }
.pc-about-values article:nth-child(2) { background: var(--pf-ink); }
.pc-about-values article:nth-child(2) :where(h2,p) { color: var(--pf-white); }
.pc-about-values article > span { color: var(--pf-green-dark); font-size: .75rem; font-weight: 800; letter-spacing: .14em; }
.pc-about-values h2 { margin: 92px 0 14px; font-size: 1.45rem; letter-spacing: -.035em; line-height: 1.1; }
.pc-about-values p { margin: 0; color: var(--pf-muted); font-size: .86rem; line-height: 1.7; }

.pc-about-emmi { display: grid; grid-template-columns: auto 1fr; gap: 26px; align-items: center; margin-bottom: 18px; padding: clamp(28px,4vw,48px); border-radius: 26px; background: var(--pf-yellow-soft); }
.pc-about-emmi__icon { display: grid; place-items: center; width: 82px; height: 82px; border-radius: 50%; color: var(--pf-ink); background: var(--pf-white); font-size: 1.7rem; }
.pc-about-emmi h2 { margin: 0 0 10px; font-size: clamp(1.55rem,2.5vw,2.4rem); letter-spacing: -.045em; }
.pc-about-emmi p:last-child { max-width: 74ch; margin: 0; color: var(--pf-muted); }

.pc-about-cta { display: flex; gap: 24px; align-items: center; justify-content: space-between; margin-bottom: clamp(70px,8vw,110px); padding: clamp(30px,4vw,48px); border-radius: 26px; color: var(--pf-white); background: var(--pf-ink); }
.pc-about-cta .pc-eyebrow { color: #9bd3a5; }
.pc-about-cta h2 { margin: 0; color: var(--pf-white); font-size: clamp(1.7rem,3vw,2.7rem); letter-spacing: -.05em; }
.pc-about-cta .pc-button--dark { color: var(--pf-ink); background: var(--pf-white); }

/* Branded account */
body.pc-store-v4.woocommerce-account .pc-content { padding-top: clamp(28px,4vw,54px); }
body.pc-store-v4.woocommerce-account .woocommerce { display: grid; grid-template-columns: 250px minmax(0,1fr); gap: 28px; align-items: start; }
.pc-account-intro { grid-column: 1 / -1; display: flex; gap: 20px; align-items: center; justify-content: space-between; padding: clamp(24px,3.5vw,40px); border-radius: 26px; background: var(--pf-mint); }
.pc-account-intro h1 { margin: 0; font-size: clamp(1.85rem,3.4vw,3.25rem); letter-spacing: -.06em; line-height: 1; }
.pc-account-intro > a { display: inline-flex; gap: 9px; align-items: center; min-height: 46px; padding: 0 18px; border-radius: 999px; color: var(--pf-white); background: var(--pf-green-dark); font-size: .78rem; font-weight: 800; text-decoration: none; }
body.pc-store-v4.woocommerce-account .woocommerce-MyAccount-navigation { width: 100%; padding: 14px; border: 1px solid var(--pf-line); border-radius: 24px; background: var(--pf-mint); }
body.pc-store-v4.woocommerce-account .woocommerce-MyAccount-navigation ul { display: grid; gap: 3px; margin: 0; padding: 0; list-style: none; }
body.pc-store-v4.woocommerce-account .woocommerce-MyAccount-navigation a { display: block; padding: 11px 14px; border-radius: 12px; color: var(--pf-ink); font-size: .82rem; font-weight: 750; text-decoration: none; }
body.pc-store-v4.woocommerce-account .woocommerce-MyAccount-navigation .is-active a { color: var(--pf-white); background: var(--pf-green-dark); }
body.pc-store-v4.woocommerce-account .woocommerce-MyAccount-content { width: 100%; padding: clamp(24px,3vw,36px); border: 1px solid var(--pf-line); border-radius: 26px; background: var(--pf-white); box-shadow: var(--pf-shadow-soft); }
body.pc-store-v4.woocommerce-account .woocommerce-MyAccount-content h2 { margin-top: 0; font-size: clamp(1.55rem,2.4vw,2.25rem); letter-spacing: -.045em; }

.pc-account-dashboard { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; margin-top: 24px; }
.pc-account-dashboard > a { display: flex; gap: 13px; align-items: center; min-height: 96px; padding: 17px; border: 1px solid var(--pf-line); border-radius: 18px; color: var(--pf-ink); text-decoration: none; }
.pc-account-dashboard > a:hover { border-color: var(--pf-green); background: var(--pf-mint); }
.pc-account-dashboard i { display: grid; flex: 0 0 38px; place-items: center; width: 38px; height: 38px; border-radius: 50%; color: var(--pf-green-dark); background: var(--pf-mint); }
.pc-account-dashboard span { display: grid; gap: 2px; }
.pc-account-dashboard small { color: var(--pf-muted); font-size: .7rem; }
.pc-account-section > p { color: var(--pf-muted); }
.pc-account-review-list { display: grid; gap: 10px; margin: 24px 0; }
.pc-account-review-list > a { display: grid; grid-template-columns: 58px 1fr auto; gap: 13px; align-items: center; padding: 10px 14px; border: 1px solid var(--pf-line); border-radius: 15px; text-decoration: none; }
.pc-account-review-list img { width: 58px; height: 58px; border-radius: 10px; object-fit: contain; background: var(--pf-cream); }
.pc-account-review-list i { color: var(--pf-yellow); }
.pc-account-data-actions { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; margin-top: 24px; }
.pc-account-data-actions button { display: flex; gap: 13px; align-items: center; width: 100%; min-height: 90px; padding: 16px; border: 1px solid var(--pf-line); border-radius: 17px; color: var(--pf-ink); background: var(--pf-white); text-align: left; }
.pc-account-data-actions button > i { color: var(--pf-green-dark); }
.pc-account-data-actions button > span { display: grid; gap: 2px; }
.pc-account-data-actions small { color: var(--pf-muted); font-size: .7rem; }
.pc-account-data-actions .is-danger { border-color: rgba(164,56,56,.25); }
.pc-account-data-actions .is-danger > i { color: #a43838; }
.pc-order-withdrawal { margin: 22px 0 0; }

/* Tracking */
.pc-tracking { margin: 0 0 clamp(70px,8vw,110px); }
.pc-tracking__intro { max-width: 720px; }
.pc-tracking__intro h2 { margin: 0 0 12px; font-size: clamp(2rem,3.6vw,3.4rem); letter-spacing: -.06em; line-height: 1; }
.pc-tracking__intro > p:last-child { color: var(--pf-muted); }
.pc-tracking__form { display: grid; grid-template-columns: 1fr 1fr auto; gap: 12px; align-items: end; margin-top: 30px; padding: 20px; border-radius: 22px; background: var(--pf-mint); }
.pc-tracking__form label, .pc-withdrawal__form > label { display: grid; gap: 7px; color: var(--pf-ink); font-size: .76rem; font-weight: 800; }
.pc-tracking__form input, .pc-withdrawal__form :where(input[type="text"],input[type="email"],textarea) { width: 100%; min-height: 50px; padding: 11px 14px; border: 1px solid var(--pf-line); border-radius: 13px; color: var(--pf-ink); background: var(--pf-white); }
.pc-tracking__form button, .pc-withdrawal__form > button { display: inline-flex; gap: 10px; align-items: center; justify-content: center; min-height: 50px; padding: 0 22px; border: 0; border-radius: 999px; color: var(--pf-white); background: var(--pf-green-dark); font-size: .8rem; font-weight: 800; }
.pc-tracking-result { margin-top: 22px; padding: clamp(22px,4vw,40px); border: 1px solid var(--pf-line); border-radius: 26px; background: var(--pf-white); box-shadow: var(--pf-shadow-soft); }
.pc-tracking-result__head { display: flex; justify-content: space-between; align-items: center; }
.pc-tracking-result__head > div { display: grid; gap: 4px; }
.pc-tracking-result__head span { color: var(--pf-green-dark); font-size: .72rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.pc-tracking-result__head strong { font-size: clamp(1.4rem,2.4vw,2rem); }
.pc-tracking-result__head > i { color: var(--pf-green); font-size: 2rem; }
.pc-tracking-progress { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); margin: 34px 0; padding: 0; list-style: none; }
.pc-tracking-progress li { position: relative; display: grid; justify-items: center; gap: 8px; text-align: center; }
.pc-tracking-progress li:not(:last-child)::after { position: absolute; z-index: 0; top: 17px; left: calc(50% + 22px); width: calc(100% - 44px); height: 2px; background: var(--pf-line); content: ""; }
.pc-tracking-progress span { position: relative; z-index: 1; display: grid; place-items: center; width: 36px; height: 36px; border: 2px solid var(--pf-line); border-radius: 50%; background: var(--pf-white); font-size: .72rem; font-weight: 800; }
.pc-tracking-progress .is-complete span { color: var(--pf-white); border-color: var(--pf-green-dark); background: var(--pf-green-dark); }
.pc-tracking-progress strong { font-size: .72rem; }
.pc-tracking-result__details { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; margin-bottom: 22px; }
.pc-tracking-result__details > div { display: grid; gap: 4px; padding: 16px; border-radius: 16px; background: var(--pf-cream); }
.pc-tracking-result__details small { color: var(--pf-muted); }

/* Two-stage online withdrawal */
.pc-withdrawal { margin: clamp(48px,7vw,88px) 0 0; padding: clamp(24px,4vw,46px); border-radius: 28px; background: var(--pf-mint); }
.pc-withdrawal__intro { max-width: 760px; }
.pc-withdrawal__intro h2 { margin: 0 0 12px; font-size: clamp(2rem,3.5vw,3.25rem); letter-spacing: -.055em; }
.pc-withdrawal__intro > p:last-child { color: var(--pf-muted); }
.pc-withdrawal__form { display: grid; gap: 18px; margin-top: 28px; padding: clamp(20px,3vw,32px); border: 1px solid var(--pf-line); border-radius: 22px; background: var(--pf-white); }
.pc-withdrawal__form h3 { margin: 0; font-size: 1.2rem; }
.pc-withdrawal__lookup > div { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.pc-withdrawal__lookup > div label { display: grid; gap: 7px; font-size: .76rem; font-weight: 800; }
.pc-withdrawal__items { display: grid; gap: 8px; }
.pc-withdrawal__items label { display: flex; gap: 12px; align-items: center; padding: 13px; border: 1px solid var(--pf-line); border-radius: 14px; }
.pc-withdrawal__items input { width: 20px; height: 20px; accent-color: var(--pf-green-dark); }
.pc-withdrawal__items span { display: grid; }
.pc-withdrawal__items small, .pc-withdrawal__form label > small { color: var(--pf-muted); font-size: .68rem; font-weight: 500; }
.pc-withdrawal__form > button { width: fit-content; }
.pc-form-message { margin: 20px 0 0; padding: 14px 16px; border-radius: 14px; font-weight: 750; }
.pc-form-message--error { color: #842b2b; background: #fff0ef; }
.pc-form-message--success { color: #225b34; background: #daf1df; }

/* Order received */
body.pc-store-v4.woocommerce-order-received .pc-content { padding-top: clamp(28px,4vw,54px); }
.pc-thankyou-hero { display: grid; grid-template-columns: auto 1fr; gap: 24px; align-items: center; margin: 0 0 24px; padding: clamp(28px,4vw,48px); border-radius: 28px; background: var(--pf-mint); }
.pc-thankyou-hero > span { display: grid; place-items: center; width: 72px; height: 72px; border-radius: 50%; color: var(--pf-white); background: var(--pf-green-dark); font-size: 1.6rem; }
.pc-thankyou-hero h1 { margin: 0 0 8px; font-size: clamp(2rem,3.8vw,3.6rem); letter-spacing: -.06em; line-height: 1; }
.pc-thankyou-hero p:last-child { margin: 0; color: var(--pf-muted); }
body.pc-store-v4.woocommerce-order-received .woocommerce-order-overview { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; margin: 0 0 24px; padding: 0; }
body.pc-store-v4.woocommerce-order-received .woocommerce-order-overview li { float: none; margin: 0; padding: 16px; border: 1px solid var(--pf-line); border-radius: 16px; background: var(--pf-white); }
.pc-thankyou-next { margin-top: 24px; padding: clamp(26px,4vw,44px); border-radius: 28px; background: var(--pf-ink); color: var(--pf-white); }
.pc-thankyou-next .pc-eyebrow { color: #9bd3a5; }
.pc-thankyou-next h2 { margin: 0; color: var(--pf-white); font-size: clamp(1.7rem,3vw,2.8rem); letter-spacing: -.05em; }
.pc-thankyou-next ol { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; margin: 28px 0; padding: 0; list-style: none; }
.pc-thankyou-next li { display: flex; gap: 13px; padding: 18px; border: 1px solid rgba(255,255,255,.15); border-radius: 18px; background: rgba(255,255,255,.05); }
.pc-thankyou-next li > span { display: grid; flex: 0 0 34px; place-items: center; width: 34px; height: 34px; border-radius: 50%; color: var(--pf-ink); background: var(--pf-yellow); font-weight: 800; }
.pc-thankyou-next li p { margin: 4px 0 0; color: rgba(255,255,255,.7); font-size: .76rem; }
.pc-thankyou-next__actions { display: flex; flex-wrap: wrap; gap: 10px; }
.pc-thankyou-next .pc-button--dark { color: var(--pf-ink); background: var(--pf-white); }
.pc-thankyou-next .pc-button--light { color: var(--pf-white); border-color: rgba(255,255,255,.25); background: rgba(255,255,255,.08); }

@media (max-width: 1000px) {
  .pc-about-hero { grid-template-columns: 1fr; }
  .pc-about-hero__copy h1 { max-width: 16ch; }
  .pc-about-hero__image img { min-height: 380px; }
  .pc-about-facts { grid-template-columns: repeat(2,minmax(0,1fr)); }
  body.pc-store-v4.woocommerce-account .woocommerce { grid-template-columns: 1fr; }
  body.pc-store-v4.woocommerce-account .woocommerce-MyAccount-navigation ul { grid-template-columns: repeat(4,minmax(0,1fr)); }
  body.pc-store-v4.woocommerce-account .woocommerce-MyAccount-navigation a { text-align: center; }
}

@media (max-width: 760px) {
  .pc-about-hero { margin-top: 18px; padding: 22px; border-radius: 26px; }
  .pc-about-hero__image img { min-height: 290px; }
  .pc-about-story { grid-template-columns: 1fr; gap: 22px; }
  .pc-about-story h2 { max-width: none; }
  .pc-about-values { grid-template-columns: 1fr; }
  .pc-about-values article { min-height: 230px; }
  .pc-about-values h2 { margin-top: 54px; }
  .pc-about-emmi { grid-template-columns: 1fr; }
  .pc-about-cta { align-items: flex-start; flex-direction: column; }
  body.pc-store-v4.woocommerce-account .woocommerce-MyAccount-navigation ul { display: flex; overflow-x: auto; }
  body.pc-store-v4.woocommerce-account .woocommerce-MyAccount-navigation li { flex: 0 0 auto; }
  .pc-account-intro { align-items: flex-start; flex-direction: column; }
  .pc-account-dashboard, .pc-account-data-actions { grid-template-columns: 1fr; }
  .pc-tracking__form { grid-template-columns: 1fr; }
  .pc-tracking-progress { overflow-x: auto; padding-bottom: 6px; }
  .pc-tracking-progress li { min-width: 110px; }
  .pc-tracking-result__details { grid-template-columns: 1fr; }
  .pc-withdrawal__lookup > div { grid-template-columns: 1fr; }
  body.pc-store-v4.woocommerce-order-received .woocommerce-order-overview { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .pc-thankyou-next ol { grid-template-columns: 1fr; }
}

@media (max-width: 520px) {
  .pc-about-facts { grid-template-columns: 1fr; }
  .pc-about-hero__actions, .pc-thankyou-next__actions { align-items: stretch; flex-direction: column; }
  .pc-about-hero__actions .pc-button, .pc-thankyou-next__actions .pc-button { justify-content: center; width: 100%; }
  .pc-about-emmi__icon { width: 64px; height: 64px; }
  .pc-thankyou-hero { grid-template-columns: 1fr; }
  .pc-thankyou-hero > span { width: 58px; height: 58px; }
  body.pc-store-v4.woocommerce-order-received .woocommerce-order-overview { grid-template-columns: 1fr; }
}

body.pc-store-v4.woocommerce-checkout[data-pc-checkout-step-current="5"] form.checkout {
  grid-template-columns: minmax(0, 1fr);
}

body.pc-store-v4.woocommerce-checkout[data-pc-checkout-step-current="1"] .pc-checkout-main #order_review_heading,
body.pc-store-v4.woocommerce-checkout[data-pc-checkout-step-current="2"] .pc-checkout-main #order_review_heading,
body.pc-store-v4.woocommerce-checkout[data-pc-checkout-step-current="3"] .pc-checkout-main #order_review_heading,
body.pc-store-v4.woocommerce-checkout[data-pc-checkout-step-current="4"] .pc-checkout-main #order_review_heading {
  display: none !important;
}

.pc-checkout-review-grid {
  display: none;
}

body.pc-store-v4.woocommerce-checkout[data-pc-checkout-step-current="5"] .pc-checkout-review-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 18px;
}

body.pc-store-v4.woocommerce-checkout[data-pc-checkout-step-current="5"] .pc-checkout-payment-options > #order_payment_heading,
body.pc-store-v4.woocommerce-checkout[data-pc-checkout-step-current="5"] .pc-checkout-payment-options > #payment {
  display: none !important;
}

.pc-checkout-review-card {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr) 32px;
  gap: 12px;
  align-items: center;
  min-height: 104px;
  padding: 15px;
  border: 1px solid var(--pf-line);
  border-radius: 17px;
  color: var(--pf-ink);
  background: var(--pf-white);
  text-align: left;
  transition: border-color .18s ease, transform .18s ease, box-shadow .18s ease;
}

.pc-checkout-review-card:hover,
.pc-checkout-review-card:focus-visible {
  border-color: var(--pf-green);
  box-shadow: 0 9px 24px rgba(46, 124, 75, .08);
  transform: translateY(-1px);
}

.pc-checkout-review-card__symbol,
.pc-checkout-review-card__edit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border-radius: 50%;
}

.pc-checkout-review-card__symbol {
  color: var(--pf-green-dark);
  background: var(--pf-mint);
}

.pc-checkout-review-card__edit {
  width: 32px;
  height: 32px;
  color: var(--pf-white);
  background: var(--pf-green-dark);
  font-size: .72rem;
}

.pc-checkout-review-card__content {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.pc-checkout-review-card__content small {
  color: var(--pf-green-dark);
  font-size: .65rem;
  font-weight: 800;
  letter-spacing: .055em;
  text-transform: uppercase;
}

.pc-checkout-review-card__content strong,
.pc-checkout-review-card__content > span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.pc-checkout-review-card__content strong {
  font-size: .875rem;
}

.pc-checkout-review-card__content > span {
  color: var(--pf-muted);
  font-size: .75rem;
}

.pc-checkout-payable-total {
  margin: 0 14px 14px;
  padding: 17px 4px 3px;
  border-top: 2px solid rgba(46, 124, 75, .22);
}

.pc-checkout-payable-total__main {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 18px;
}

.pc-checkout-payable-total span {
  color: var(--pf-ink);
  font-size: .8125rem;
  font-weight: 800;
}

.pc-checkout-payable-total strong {
  color: var(--pf-green-dark);
  font-size: clamp(1.4rem, 3vw, 1.85rem);
  line-height: 1;
}

.pc-checkout-payable-total__tax {
  margin: 9px 0 0;
  color: var(--pf-muted);
  font-size: .75rem;
  line-height: 1.45;
}

body.pc-store-v4.woocommerce-checkout .pc-checkout-actions.is-loading .pc-checkout-next {
  cursor: wait;
  opacity: .62;
}

body.pc-store-v4.woocommerce-checkout .pc-checkout-actions button:disabled {
  cursor: not-allowed;
  opacity: .58;
}

@media (min-width: 1001px) {
  body.pc-store-v4.woocommerce-checkout form.checkout .pc-checkout-sidebar {
    position: sticky;
    top: 112px;
  }

  body.pc-store-v4.woocommerce-checkout form.checkout .pc-checkout-sidebar #order_review {
    position: static;
  }
}

@media (max-width: 1000px) {
  body.pc-store-v4.woocommerce-checkout form.checkout .pc-checkout-main,
  body.pc-store-v4.woocommerce-checkout form.checkout .pc-checkout-sidebar {
    grid-column: 1;
  }

  body.pc-store-v4.woocommerce-checkout form.checkout .pc-checkout-sidebar {
    margin-top: 10px;
  }
}

@media (max-width: 760px) {
  .pc-checkout-account-choice > div { grid-template-columns: minmax(0, 1fr); }
  .pc-checkout-stage-options { margin-top: 18px; }
  .pc-checkout-option { min-height: 74px; padding: 14px; }
  body.pc-store-v4.woocommerce-checkout[data-pc-checkout-step-current="5"] .pc-checkout-review-grid {
    grid-template-columns: minmax(0, 1fr);
  }
  .pc-checkout-review-card { min-height: 92px; }
  .pc-checkout-payable-total__main { align-items: flex-start; flex-direction: column; gap: 8px; }
}

/* Recommendation and consistency layer 0.7.5. */
.pc-product-carousel {
  min-width: 0;
  overflow: hidden;
}

.pc-product-carousel .woocommerce { width: 100%; }
.pc-product-carousel .woocommerce ul.products {
  display: flex !important;
  grid-template-columns: none !important;
  gap: 17px;
  margin: 0 !important;
  padding: 3px 3px 18px !important;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  -webkit-overflow-scrolling: touch;
  scroll-behavior: smooth;
  scroll-snap-type: inline mandatory;
  scrollbar-width: none;
  touch-action: pan-x pan-y;
}
.pc-product-carousel .woocommerce ul.products::-webkit-scrollbar { display: none; }
.pc-product-carousel .woocommerce ul.products li.product {
  flex: 0 0 calc((100% - 51px) / 4) !important;
  width: auto !important;
  min-width: 0;
  margin: 0 !important;
  scroll-snap-align: start;
  scroll-snap-stop: always;
  border: 1px solid rgba(17,24,61,.065);
  border-radius: 20px;
  background: var(--pf-white);
  box-shadow: var(--pf-shadow-soft);
}
.pc-product-carousel .woocommerce ul.products li.product a img {
  aspect-ratio: 1;
  margin-bottom: 8px;
  padding: 14px;
  object-fit: contain;
  background: #f8fbf8;
}
.pc-product-carousel .woocommerce ul.products li.product .woocommerce-loop-product__title {
  min-height: 3em;
  margin: 0 15px 8px;
  font-size: .86rem;
  line-height: 1.4;
}
.pc-product-carousel .pc-product-card__category,
.pc-product-carousel .woocommerce ul.products li.product .price { margin-inline: 15px; }
.pc-product-carousel .pc-product-card__footer { margin-top: auto; }

.pc-product-recommendations {
  width: 100%;
  margin: clamp(42px,6vw,76px) auto;
  padding: clamp(24px,3.5vw,42px);
  overflow: hidden;
  border: 1px solid rgba(52,116,71,.1);
  border-radius: 30px;
  background-color: var(--pf-mint);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='330' height='190' viewBox='0 0 330 190'%3E%3Cg fill='none' stroke='%236fae79' stroke-opacity='.12' stroke-width='1.1'%3E%3Cpath d='M-18 48C35 8 79 88 135 45s98 25 210-15'/%3E%3Cpath d='M-22 68C41 25 76 108 142 66s101 23 206-10'/%3E%3Cpath d='M-15 91C42 50 88 126 151 88s96 17 189-8'/%3E%3C/g%3E%3C/svg%3E");
  background-position: right top;
  background-repeat: no-repeat;
}
.pc-product-recommendations .home-section-head { margin-bottom: 24px; }
.pc-product-recommendations .home-section-head h2 {
  max-width: 22ch;
  font-size: clamp(1.65rem,3vw,2.7rem);
}
.pc-product-recommendations .pc-carousel-progress { margin-top: 2px; }
body.pc-store-v4.woocommerce-cart .pc-product-recommendations,
body.pc-store-v4.woocommerce-checkout .pc-product-recommendations { clear: both; }

body.pc-store-v4.woocommerce-cart .pc-content > .pc-product-recommendations--cart {
  width: 100%;
  max-width: none;
}

/* Keep the Ford-Nugget visual beside the copy in both menu modes. */
.pc-mega-menu__feature {
  isolation: isolate;
  padding-right: clamp(132px,46%,190px) !important;
}
.pc-mega-menu__feature::after {
  z-index: 1;
  background: linear-gradient(90deg,var(--pf-green-deep) 0%,rgba(17,24,61,.96) 48%,rgba(17,24,61,.08) 77%,transparent 100%);
}
.pc-mega-menu__feature > :not(img) { z-index: 3; }
.pc-mega-menu__feature img {
  z-index: 2;
  right: 8px;
  bottom: 4px;
  width: 44%;
  height: 78%;
  padding: 0;
  opacity: .86;
  object-fit: contain;
  object-position: right bottom;
  filter: drop-shadow(0 12px 18px rgba(0,0,0,.18));
}
.pc-mega-menu__feature > span:not(.pc-mega-menu__eyebrow) { max-width: 17ch; }

.home-nav__links .pc-mega-menu .pc-mega-menu__feature:hover,
.home-nav__links .pc-mega-menu .pc-mega-menu__feature:focus-visible {
  color: var(--pf-white) !important;
  border-radius: 20px;
  background: var(--pf-ink);
  opacity: 1;
}
.home-nav__links .pc-mega-menu .pc-mega-menu__feature:hover img,
.home-nav__links .pc-mega-menu .pc-mega-menu__feature:focus-visible img { opacity: .86; }

/* Cart is a recognizable action on desktop and remains compact on mobile. */
.home-cart > i { flex: 0 0 auto; font-size: .92rem; }
.home-cart > span { white-space: nowrap; }
.home-cart > .pc-cart-count {
  display: grid;
  flex: 0 0 auto;
  place-items: center;
  min-width: 25px;
  width: 25px;
  height: 25px;
  border-radius: 50%;
  color: var(--pf-white);
  background: var(--pf-green-dark);
}

/* Predictable About heading lines with an intentional German wrap point. */
.pc-about-hero__copy h1 {
  max-width: none;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
  text-wrap: pretty;
}
.pc-about-hero__copy h1 > span { display: block; }
.pc-about-hero__copy h1 > span:first-child {
  color: var(--pf-ink);
  overflow-wrap: break-word;
  hyphens: auto;
}
.pc-about-hero__copy h1 > span:last-child { color: var(--pf-green-text); }

/* Product description has the same card rhythm as the purchase summary. */
body.pc-store-v4.single-product .pc-shop-main .woocommerce-tabs .panel {
  border: 1px solid rgba(17,24,61,.065);
  border-radius: 0 24px 24px 24px;
  background-color: var(--pf-white);
  background-image: linear-gradient(135deg,rgba(234,247,236,.78),transparent 36%);
  box-shadow: 0 14px 38px rgba(17,24,61,.055);
}
body.pc-store-v4.single-product .pc-shop-main .woocommerce-Tabs-panel--description > h2:first-child {
  position: relative;
  margin: 0 0 20px;
  padding-bottom: 14px;
  color: var(--pf-ink);
  font-size: clamp(1.45rem,2.4vw,2rem);
  letter-spacing: -.04em;
  line-height: 1.15;
}
body.pc-store-v4.single-product .pc-shop-main .woocommerce-Tabs-panel--description > h2:first-child::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 54px;
  height: 3px;
  border-radius: 999px;
  background: var(--pf-green);
}
body.pc-store-v4.single-product .pc-shop-main .woocommerce-Tabs-panel--description { color: var(--pf-muted); line-height: 1.78; }
body.pc-store-v4.single-product .pc-shop-main .woocommerce-Tabs-panel--description :where(h3,h4,strong) { color: var(--pf-ink); }

/* Corporate depth on cart and checkout while preserving white content cards. */
body.pc-store-v4.woocommerce-cart .pc-main,
body.pc-store-v4.woocommerce-checkout .pc-main {
  background-color: var(--pf-cream);
  background-image:
    radial-gradient(circle at 88% 8%,rgba(111,174,121,.2),transparent 30rem),
    radial-gradient(circle at 4% 60%,rgba(242,181,50,.09),transparent 25rem),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='420' height='220' viewBox='0 0 420 220'%3E%3Cg fill='none' stroke='%236fae79' stroke-opacity='.09' stroke-width='1.1'%3E%3Cpath d='M-24 52C40 8 95 102 164 51s124 32 276-18'/%3E%3Cpath d='M-29 76C48 24 91 127 173 78s131 27 264-10'/%3E%3Cpath d='M-18 105C51 57 109 148 187 103s123 21 242-9'/%3E%3C/g%3E%3C/svg%3E");
  background-position: center top, left center, center top;
  background-repeat: no-repeat, no-repeat, repeat-x;
}
body.pc-store-v4.woocommerce-cart .pc-content,
body.pc-store-v4.woocommerce-checkout .pc-content { position: relative; }

/* The service CTA and footer form one intentional closing block. */
body.home .home-service,
body.home-v4 .home-service { margin-bottom: 40px; }
body.home .home-footer,
body.home-v4 .home-footer { margin-top: 0; }

@media (max-width: 1100px) {
  .pc-product-carousel .woocommerce ul.products li.product { flex-basis: calc((100% - 34px) / 3) !important; }
}

@media (max-width: 1000px) {
  .pc-mega-menu__feature { padding-right: 44% !important; }
  .pc-mega-menu__feature img { right: 6px; width: 40%; height: 72%; }
  .pc-about-hero__copy h1 { font-size: clamp(2.25rem,7vw,3.8rem); }
}

@media (min-width: 1001px) {
  .pc-about-hero {
    grid-template-columns: minmax(0,1.04fr) minmax(420px,.96fr);
    gap: clamp(30px,4vw,58px);
  }
  .pc-about-hero__copy,
  .pc-about-hero__image { min-width: 0; }
  .pc-about-hero__copy h1 { font-size: clamp(2.4rem,3.7vw,3.55rem); }
}

@media (max-width: 760px) {
  .home-products { padding-inline: 18px; }
  .home-products__layout { grid-template-columns: minmax(0,1fr); }
  .home-promo-card { min-height: 190px; }
  .pc-product-carousel .woocommerce ul.products {
    gap: 14px;
    margin-inline: 0 !important;
    padding-bottom: 16px !important;
  }
  .pc-product-carousel .woocommerce ul.products li.product {
    flex-basis: min(78vw,280px) !important;
  }
  .pc-product-recommendations {
    margin-block: 36px;
    padding: 22px 16px;
    border-radius: 24px;
  }
  .pc-product-recommendations .home-section-head { align-items: flex-end; gap: 12px; }
  .pc-product-recommendations .home-section-head h2 { font-size: 1.55rem; }
  .home-cart { position: relative; padding: 0 7px !important; gap: 4px; }
  .home-cart > span { display: none; }
  .home-cart > .pc-cart-count {
    position: absolute;
    top: -4px;
    right: -4px;
    min-width: 18px;
    width: 18px;
    height: 18px;
    font-size: .6rem;
  }
  .pc-about-hero__copy h1 { font-size: clamp(1.9rem,8.7vw,2.55rem); }
  body.pc-store-v4.single-product .pc-shop-main .woocommerce-tabs .panel { border-radius: 0 18px 18px 18px; }
}

@media (prefers-reduced-motion: reduce) {
  .pc-product-carousel .woocommerce ul.products { scroll-behavior: auto; }
}

/* 0.8.3: one measured type and spacing rhythm across navigation and commerce. */
@media (min-width: 1101px) {
  .pc-mega-menu__eyebrow,
  .pc-mega-menu__heading > span,
  .pc-mega-menu__quick > span,
  .pc-mega-menu__heading > a { font-size: .75rem; }
  .pc-mega-menu__category { min-height: 62px; }
  .pc-mega-menu__category strong { font-size: .875rem; line-height: 1.25; }
  .pc-mega-menu__category small { font-size: .75rem; line-height: 1.35; }
  .pc-mega-menu__quick a { font-size: .8125rem; }
  .pc-mega-menu__feature > span:not(.pc-mega-menu__eyebrow) { font-size: .8125rem; }
  .pc-mega-menu__feature b { font-size: .75rem; }
}

.pc-category-description__content { position: relative; }
.pc-category-description.is-collapsible .pc-category-description__content {
  max-height: var(--pc-category-collapsed-height,7.6em);
  overflow: hidden;
}
.pc-category-description.is-collapsible:not(.is-expanded) .pc-category-description__content::after {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 3.2em;
  pointer-events: none;
  background: linear-gradient(transparent,var(--pf-cream));
  content: "";
}
.pc-category-description.is-expanded .pc-category-description__content { max-height: none; }
.pc-category-description__toggle {
  min-height: 42px;
  margin-top: 8px;
  padding: 8px 14px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 1px solid rgba(17,24,61,.1);
  border-radius: 999px;
  color: var(--pf-green-dark);
  background: var(--pf-white);
  font: inherit;
  font-size: .8125rem;
  font-weight: 800;
  cursor: pointer;
}
.pc-category-description__toggle:hover { color: var(--pf-white); background: var(--pf-green-dark); }
.pc-category-description__toggle i { transition: transform .2s ease; }
.pc-category-description.is-expanded .pc-category-description__toggle i { transform: rotate(180deg); }

body.pc-store-v4.single-product .pc-shop-main div.product .summary > .pc-legal-price-info {
  margin: -7px 0 11px;
  color: #53675a;
  font-size: .75rem;
  font-weight: 600;
  line-height: 1.45;
}
body.pc-store-v4.single-product .pc-shop-main div.product .summary > .pc-legal-price-info > p {
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 2px 8px;
  color: inherit;
  font: inherit;
}
body.pc-store-v4.single-product .pc-shop-main div.product .summary > .pc-legal-price-info .wc-gzd-additional-info {
  margin: 0;
  color: inherit;
  font: inherit;
}
body.pc-store-v4.single-product .pc-shop-main div.product .summary > .pc-legal-price-info .shipping-costs-info::before {
  margin-right: 8px;
  color: var(--pf-green);
  content: "•";
}

body.pc-store-v4 .woocommerce ul.products li.product .woocommerce-loop-product__title,
body.pc-store-v4 ul.products li.product .woocommerce-loop-product__title,
.pc-product-carousel .woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-size: .875rem;
  line-height: 1.4;
}
body.pc-store-v4 ul.products li.product .pc-product-card__footer .price,
body.pc-store-v4 ul.products li.product .pc-product-card__footer .price :where(.amount,bdi),
.pc-product-carousel .woocommerce ul.products li.product .pc-product-card__footer .price,
.pc-product-carousel .woocommerce ul.products li.product .pc-product-card__footer .price :where(.amount,bdi) {
  font-size: 1rem;
  line-height: 1.35;
}

body.pc-store-v4.single-product .pc-shop-main { padding-bottom: clamp(36px,3vw,64px); }
body.pc-store-v4.single-product .pc-shop-main div.product { padding-bottom: clamp(32px,3vw,52px); }
body.pc-store-v4.single-product .pc-product-recommendations {
  margin-top: clamp(34px,4vw,56px);
  margin-bottom: clamp(34px,4vw,56px);
}

@media (max-width: 760px) {
  .pc-category-description { font-size: .875rem; line-height: 1.65; }
  body.pc-store-v4.single-product .pc-shop-main { padding-bottom: 36px; }
  body.pc-store-v4.single-product .pc-shop-main div.product { padding-bottom: 28px; }
  body.pc-store-v4.single-product .pc-shop-main div.product div.summary { margin-bottom: 28px; }
  body.pc-store-v4.single-product .pc-product-recommendations { margin-block: 28px; }
}

/* 0.9.0: Grover-inspired purchase hierarchy in the PFAHL design system. */
.home-nav__links,
.home-nav__links > a,
.pc-nav-item__top > a,
.pc-mega-toggle,
.pc-mega-menu,
.home-footer,
.store-footer,
.home-footer a,
.store-footer a {
  font-family: "Manrope", "Segoe UI", Arial, sans-serif;
}
.home-nav__links > a,
.pc-nav-item__top > a {
  font-size: .8125rem;
  font-weight: 750;
  line-height: 1.3;
}
.home-footer__brand p,
.store-footer__brand p { font-size: .875rem; line-height: 1.65; }
.home-footer h2,
.store-footer h2 { font-size: .75rem; line-height: 1.35; }
.home-footer > div:not(:first-child) a,
.store-footer > div:not(:first-child) a {
  font-size: .8125rem;
  font-weight: 650;
  line-height: 1.45;
}
.home-footer__bottom,
.store-footer__bottom { font-size: .75rem; line-height: 1.5; }

body.pc-store-v4.single-product .pc-shop-main > .pc-shell { width: var(--pf-site); }
body.pc-store-v4.single-product .pc-shop-main div.product {
  padding-top: 10px;
  display: grid;
  grid-template-columns: minmax(0,1.12fr) minmax(390px,.88fr);
  align-items: start;
  gap: 34px 38px;
}
.pc-product-breadcrumb {
  grid-column: 1 / -1;
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--pf-muted);
  font-size: .8125rem;
  font-weight: 700;
  line-height: 1.4;
}
.pc-product-breadcrumb a { color: var(--pf-ink); }
.pc-product-breadcrumb a:hover { color: var(--pf-green-dark); }
.pc-product-breadcrumb i { color: var(--pf-green); font-size: .625rem; }
.pc-product-breadcrumb span {
  min-width: 0;
  overflow: hidden;
  color: var(--pf-muted);
  text-overflow: ellipsis;
  white-space: nowrap;
}
body.pc-store-v4.single-product .pc-shop-main div.product > .woocommerce-product-gallery {
  grid-column: 1;
  width: auto !important;
  float: none !important;
  margin: 0 !important;
  padding: clamp(14px,2vw,22px);
  border-radius: 28px;
  background-color: var(--pf-white);
  background-image:
    radial-gradient(circle at 88% 8%,rgba(242,181,50,.16),transparent 9rem),
    linear-gradient(145deg,rgba(234,247,236,.78),rgba(255,255,255,.92) 46%);
}
body.pc-store-v4.single-product .pc-shop-main div.product > .summary {
  grid-column: 2;
  width: auto !important;
  float: none !important;
  margin: 0 !important;
  padding: clamp(26px,2.6vw,38px);
  border: 1px solid rgba(17,24,61,.09);
  border-radius: 26px;
  background-color: var(--pf-white);
  background-image: none;
  box-shadow: 0 16px 44px rgba(17,24,61,.075);
}
body.pc-store-v4.single-product .pc-shop-main div.product > .summary::before {
  top: -46px;
  right: -36px;
  width: 126px;
  height: 126px;
  opacity: .72;
}
body.pc-store-v4.single-product .pc-shop-main div.product .product_title {
  max-width: 30ch;
  margin-bottom: 13px;
  font-size: clamp(1.7rem,1.8vw,2rem);
  letter-spacing: -.04em;
  line-height: 1.09;
  text-wrap: pretty;
}
body.pc-store-v4.single-product .pc-shop-main div.product p.price,
body.pc-store-v4.single-product .pc-shop-main div.product > .summary > span.price {
  margin: 0 0 14px;
  font-size: clamp(1.4rem,1.7vw,1.65rem);
  line-height: 1.2;
}
body.pc-store-v4.single-product .pc-shop-main .woocommerce-product-rating,
body.pc-store-v4.single-product .pc-shop-main .pc-no-rating {
  min-height: 0;
  margin: 5px 0 17px;
}
body.pc-store-v4.single-product .pc-shop-main .woocommerce-product-details__short-description {
  margin-top: 4px;
  color: var(--pf-muted);
  font-size: .9375rem;
  line-height: 1.62;
}
body.pc-store-v4.single-product .pc-shop-main div.product form.cart {
  margin: 20px 0 0;
  display: flex;
  align-items: stretch;
  gap: 10px;
}
body.pc-store-v4.single-product .pc-shop-main div.product form.cart .quantity { flex: 0 0 62px; }
body.pc-store-v4.single-product .pc-shop-main div.product form.cart .quantity .qty {
  width: 62px;
  height: 52px;
  min-height: 52px;
}
body.pc-store-v4.single-product .pc-shop-main div.product form.cart .single_add_to_cart_button,
body.pc-store-v4.single-product .pc-shop-main div.product form.cart button.button.alt {
  min-height: 52px;
  flex: 1 1 auto;
  justify-content: center;
  font-size: .9375rem;
}
body.pc-store-v4.single-product .pc-shop-main div.product form.variations_form {
  display: block;
}
body.pc-store-v4.single-product .pc-shop-main div.product form.variations_form .variations {
  margin: 18px 0 14px;
  display: block;
}
body.pc-store-v4.single-product .pc-shop-main div.product form.variations_form .variations tbody,
body.pc-store-v4.single-product .pc-shop-main div.product form.variations_form .variations tr,
body.pc-store-v4.single-product .pc-shop-main div.product form.variations_form .variations th,
body.pc-store-v4.single-product .pc-shop-main div.product form.variations_form .variations td { display: block; }
body.pc-store-v4.single-product .pc-shop-main div.product form.variations_form .variations th {
  padding: 0 0 8px;
  color: var(--pf-ink);
  font-size: .875rem;
}
body.pc-store-v4.single-product .pc-shop-main div.product form.variations_form .variations td { padding: 0 0 14px; }
body.pc-store-v4.single-product .pc-shop-main div.product form.variations_form .single_variation_wrap { margin-top: 10px; }
body.pc-store-v4.single-product .pc-shop-main div.product form.variations_form .woocommerce-variation-add-to-cart {
  display: flex;
  gap: 10px;
}
body.pc-store-v4.single-product .pc-shop-main .variable-items-wrapper {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 9px;
}
body.pc-store-v4.single-product .pc-shop-main .variable-items-wrapper .variable-item:not(.radio-variable-item) {
  width: auto;
  min-width: 0;
  min-height: 52px;
  margin: 0;
  padding: 9px 12px;
  justify-content: flex-start;
  border-radius: 13px;
  background: var(--pf-white);
}
.pc-product-benefits {
  margin: 20px 0 0;
  padding: 4px 16px;
  display: grid;
  gap: 0;
  border: 1px solid rgba(52,116,71,.1);
  border-radius: 18px;
  background: var(--pf-mint);
}
.pc-product-benefits li {
  min-width: 0;
  padding: 12px 0;
  display: grid;
  grid-template-columns: 34px minmax(0,1fr);
  align-items: center;
  gap: 11px;
  border: 0;
  border-bottom: 1px solid rgba(17,24,61,.07);
  border-radius: 0;
  color: var(--pf-ink);
  background: transparent;
  font-size: .8125rem;
}
.pc-product-benefits li:last-child { border-bottom: 0; }
.pc-product-benefits i {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: var(--pf-green-dark);
  background: var(--pf-white);
}
.pc-product-benefits span,
.pc-product-benefits strong,
.pc-product-benefits small { min-width: 0; display: block; }
.pc-product-benefits strong { font-size: .8125rem; line-height: 1.35; }
.pc-product-benefits small { margin-top: 2px; color: var(--pf-muted); font-size: .75rem; font-weight: 600; line-height: 1.4; }
body.pc-store-v4.single-product .pc-shop-main .product_meta {
  margin-top: 14px;
  padding: 14px 16px;
  border: 1px solid rgba(17,24,61,.06);
  border-radius: 16px;
  background: var(--pf-cream);
  font-size: .75rem;
  line-height: 1.55;
}
body.pc-store-v4.single-product .pc-shop-main .woocommerce-tabs,
body.pc-store-v4.single-product .pc-shop-main .pc-product-recommendations {
  grid-column: 1 / -1;
  width: 100%;
}
body.pc-store-v4.single-product .pc-shop-main .woocommerce-tabs { margin-top: 12px; }

@media (min-width: 1081px) {
  body.pc-store-v4.single-product .pc-shop-main div.product > .summary {
    position: sticky;
    top: 98px;
  }
}

@media (max-width: 1080px) {
  body.pc-store-v4.single-product .pc-shop-main div.product {
    grid-template-columns: minmax(0,1fr) minmax(340px,.88fr);
    gap: 26px;
  }
}

@media (max-width: 820px) {
  body.pc-store-v4.single-product .pc-shop-main > .pc-shell { width: var(--pf-site); }
  body.pc-store-v4.single-product .pc-shop-main div.product { display: block; }
  .pc-product-breadcrumb { margin: 0 0 16px; overflow-x: auto; white-space: nowrap; }
  body.pc-store-v4.single-product .pc-shop-main div.product > .woocommerce-product-gallery,
  body.pc-store-v4.single-product .pc-shop-main div.product > .summary { width: 100% !important; }
  body.pc-store-v4.single-product .pc-shop-main div.product > .summary { margin-top: 18px !important; }
  body.pc-store-v4.single-product .pc-shop-main .woocommerce-tabs,
  body.pc-store-v4.single-product .pc-shop-main .pc-product-recommendations { margin-top: 28px; }
}

@media (max-width: 520px) {
  body.pc-store-v4.single-product .pc-shop-main div.product > .summary { padding: 22px 18px; border-radius: 22px; }
  body.pc-store-v4.single-product .pc-shop-main div.product .product_title { font-size: 1.65rem; }
  body.pc-store-v4.single-product .pc-shop-main .variable-items-wrapper { grid-template-columns: 1fr; }
  body.pc-store-v4.single-product .pc-shop-main div.product form.cart,
  body.pc-store-v4.single-product .pc-shop-main div.product form.variations_form .woocommerce-variation-add-to-cart { align-items: stretch; }
  .home-footer > div:not(:first-child) a,
  .store-footer > div:not(:first-child) a { font-size: .8125rem; }
}

/* 0.10.6: quieter mobile header, menu shortcuts and centered search action. */
.pc-header .pc-search { border: 0; background: transparent; }
.pc-header .pc-search__form {
  height: 39px;
  min-height: 39px;
  box-sizing: border-box;
  border-color: rgba(17,24,61,.1);
  background: var(--pf-white);
}
.pc-header .pc-search__submit {
  width: 37px;
  height: 37px;
  min-width: 37px;
  min-height: 37px;
}
.pc-header .pc-search__submit:hover,
.pc-header .pc-search__submit:focus-visible { color: var(--pf-green-deep); background: var(--pf-mint); }

@media (max-width: 1000px) {
  .pc-header__tools > .home-account,
  .pc-header__tools > .home-wishlist { display: none; }
  .pc-nav-mobile-shortcuts {
    margin: 0 0 8px;
    padding: 4px 0 14px;
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 8px;
    border-bottom: 1px solid var(--pf-line);
  }
  .home-nav__links .pc-nav-mobile-shortcuts > a {
    position: relative;
    min-width: 0;
    min-height: 62px;
    padding: 10px 12px;
    display: grid;
    grid-template-columns: 34px minmax(0,1fr);
    align-items: center;
    gap: 9px;
    border: 1px solid var(--pf-line);
    border-radius: 15px;
    color: var(--pf-ink);
    background: var(--pf-mint);
    text-decoration: none;
  }
  .home-nav__links .pc-nav-mobile-shortcuts > a::after { display: none; }
  .pc-nav-mobile-shortcuts > a > i {
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    color: var(--pf-white);
    background: var(--pf-green-dark);
  }
  .pc-nav-mobile-shortcuts span { min-width: 0; }
  .pc-nav-mobile-shortcuts strong,
  .pc-nav-mobile-shortcuts small { display: block; }
  .pc-nav-mobile-shortcuts strong { font-size: .78rem; line-height: 1.2; }
  .pc-nav-mobile-shortcuts small {
    margin-top: 3px;
    overflow: hidden;
    color: var(--pf-muted);
    font-size: .65rem;
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .pc-nav-mobile-shortcuts .pc-wishlist-count {
    position: absolute;
    top: 6px;
    left: 35px;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    display: grid;
    place-items: center;
    border-radius: 999px;
    color: var(--pf-white);
    background: var(--pf-ink);
    font-size: .6rem;
  }
  .pc-header .pc-search,
  .pc-header .pc-search__form { height: 44px; min-height: 44px; }
  .pc-header .pc-search__submit {
    width: 44px;
    height: 44px;
    min-width: 44px;
    min-height: 44px;
    flex-basis: 44px;
  }
}

@media (max-width: 680px) {
  .pc-category-description { padding: 15px 16px; }
  .home-nav__actions { gap: 7px; }
}

/* Header cart mirrors the compact wishlist control, including its count badge. */
.pc-header .home-cart.home-icon-button {
  position: relative;
  padding: 0 !important;
  display: grid;
  place-items: center;
  gap: 0;
  border-color: transparent;
  color: var(--pf-green-deep);
  background: var(--pf-cream);
  font-size: inherit;
  text-decoration: none;
}
.pc-header .home-cart.home-icon-button:hover,
.pc-header .home-cart.home-icon-button:focus-visible {
  color: var(--pf-green-deep);
  background: var(--pf-mint);
}
.pc-header .home-cart.home-icon-button > i { font-size: 1rem; }
.pc-header .home-cart.home-icon-button > .pc-cart-count {
  position: absolute !important;
  inset: -4px -4px auto auto !important;
  width: auto !important;
  min-width: 17px;
  height: 17px;
  padding: 0 4px;
  display: grid;
  place-items: center;
  border: 2px solid var(--pf-white);
  border-radius: 999px;
  color: var(--pf-white);
  background: var(--pf-green-dark);
  font-size: .55rem;
  font-weight: 800;
  line-height: 1;
}
.pc-header .home-cart.home-icon-button > .pc-cart-count[hidden] { display: none !important; }

/* 0.10.17: category rail beneath the hero and native touch interaction for every theme carousel. */
body.home .home-category-belt[data-category-carousel],
body.home-v4 .home-category-belt[data-category-carousel] {
  margin: 0 auto 0;
}

.home-category-belt__viewport,
.pc-home-products__grid .woocommerce ul.products,
.pc-product-carousel .woocommerce ul.products {
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-inline: contain;
  touch-action: pan-x pan-y;
}

/* 0.10.36: conversion clarity and a full-width, editable FAQ experience. */
.home-hero__assurances {
  margin: 15px auto 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 8px 18px;
  color: var(--pf-muted);
  font-size: .75rem;
  font-weight: 700;
  line-height: 1.3;
}

.home-hero__assurances span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
}

.home-hero__assurances i {
  color: var(--pf-green-dark);
  font-size: .8rem;
}

body.pc-store-v4 .pc-main > .pc-shell > .pc-content--faq {
  width: 100%;
  max-width: none;
  margin: 0 0 clamp(52px,7vw,92px);
  padding: clamp(28px,4vw,56px);
  border: 1px solid rgba(17,24,61,.08);
  border-radius: 32px;
  background: var(--pf-white);
  box-shadow: 0 22px 70px rgba(17,24,61,.055);
}

.pc-content--faq > :first-child { margin-top: 0; }
.pc-content--faq > :last-child { margin-bottom: 0; }

.pc-content--faq .pc-page-intro {
  max-width: 78ch;
  margin-bottom: clamp(28px,4vw,44px);
  color: var(--pf-muted);
  font-size: clamp(1rem,1.35vw,1.125rem);
  line-height: 1.75;
}

.pc-content--faq > h2 {
  max-width: 38ch;
  margin: clamp(30px,4vw,46px) 0 10px;
  color: var(--pf-ink);
  font-size: clamp(1.3rem,2vw,1.8rem);
  letter-spacing: -.025em;
  line-height: 1.2;
}

.pc-content--faq > p:not(.pc-page-intro) {
  max-width: 88ch;
  margin: 0;
  color: var(--pf-muted);
  line-height: 1.72;
}

.pc-content--faq > p a {
  color: var(--pf-green-dark);
  font-weight: 800;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

.pc-faq-conversion {
  max-width: none !important;
  margin-top: clamp(36px,5vw,58px) !important;
  padding: clamp(24px,3.5vw,42px);
  border-radius: 26px;
  background:
    radial-gradient(circle at 88% 22%, rgba(247,186,50,.18), transparent 23%),
    var(--pf-mint);
}

.pc-faq-conversion h2 {
  margin: 0 0 8px;
  font-size: clamp(1.55rem,2.5vw,2.25rem);
}

.pc-faq-conversion p { margin: 0 0 20px; color: var(--pf-muted); }
.pc-faq-conversion .wp-block-buttons { gap: 10px; }
.pc-faq-conversion .wp-block-button { margin: 0; }
.pc-faq-conversion .wp-block-button__link {
  min-height: 46px;
  padding: 12px 20px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--pf-ink);
  border-radius: 999px;
  color: var(--pf-white);
  background: var(--pf-ink);
  font-size: .875rem;
  font-weight: 800;
  line-height: 1.2;
  text-decoration: none;
}
.pc-faq-conversion .is-style-outline .wp-block-button__link {
  color: var(--pf-ink);
  background: var(--pf-white);
}

@media (max-width: 680px) {
  .home-hero__assurances {
    max-width: 330px;
    gap: 7px 12px;
    font-size: .68rem;
  }
  body.pc-store-v4 .pc-main > .pc-shell > .pc-content--faq {
    padding: 22px 18px 26px;
    border-radius: 24px;
  }
  .pc-faq-conversion { padding: 22px 18px; border-radius: 22px; }
  .pc-faq-conversion .wp-block-buttons { display: grid; }
  .pc-faq-conversion .wp-block-button,
  .pc-faq-conversion .wp-block-button__link { width: 100%; }
}

/* Consumer-law clarity and one content-page design system. */
body.pc-store-v4 .pc-main > .pc-shell > .pc-content--legal {
  width: 100%;
  max-width: none;
  margin: 0 0 clamp(52px,7vw,92px);
  padding: clamp(28px,4vw,56px);
  border: 1px solid rgba(17,24,61,.08);
  border-radius: 32px;
  color: var(--pf-ink);
  background: var(--pf-white);
  box-shadow: 0 22px 70px rgba(17,24,61,.055);
  font-family: "Manrope", "Segoe UI", Arial, sans-serif;
  font-size: 1rem;
  line-height: 1.72;
}

/* Core Web Vitals: defer only off-screen paint work and reserve its geometry. */
@supports (content-visibility: auto) {
  body.home .home-feature,
  body.home .home-selection,
  body.home .home-brand-band,
  body.home .home-story,
  body.home .home-journal,
  body.home .home-service {
    content-visibility: auto;
    contain-intrinsic-size: auto 720px;
  }
  body.home .home-brand-band,
  body.home .home-service { contain-intrinsic-size: auto 280px; }
}

.pc-content--legal > p:empty { display: none; }
.pc-content--legal :where(p, li, address),
.pc-content--faq :where(p, li) { font-size: 1rem; line-height: 1.72; }

/* Native core-page fields: server-rendered FAQ and guide introduction. */
.pc-native-faq {
  display: grid;
  gap: 12px;
  margin-top: 30px;
}
.pc-native-faq details {
  overflow: clip;
  border: 1px solid var(--pf-line);
  border-radius: 18px;
  background: var(--pf-white);
  box-shadow: var(--pf-shadow-soft);
}
.pc-native-faq summary {
  display: flex;
  gap: 18px;
  align-items: center;
  justify-content: space-between;
  min-height: 68px;
  padding: 18px 22px;
  color: var(--pf-ink);
  font-size: 1.05rem;
  font-weight: 750;
  line-height: 1.35;
  cursor: pointer;
  list-style: none;
}
.pc-native-faq summary::-webkit-details-marker { display: none; }
.pc-native-faq summary i {
  display: grid;
  flex: 0 0 32px;
  place-items: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  color: var(--pf-green-dark);
  background: var(--pf-mint);
  transition: transform .18s ease;
}
.pc-native-faq details[open] summary i { transform: rotate(45deg); }
.pc-native-faq details > div {
  padding: 0 22px 20px;
  color: var(--pf-muted);
}
.pc-native-faq details > div p { margin: 0; }
.pc-faq-conversion__actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.pc-guide-intro {
  max-width: 840px;
  margin: 0 0 clamp(34px,5vw,62px);
}
.pc-guide-intro h2 {
  margin: 0 0 16px;
  font-size: clamp(2rem,4vw,3.65rem);
  letter-spacing: -.055em;
  line-height: 1.02;
}
.pc-guide-intro > p:last-child {
  margin: 0;
  color: var(--pf-muted);
  font-size: 1.08rem;
  line-height: 1.75;
}
@media (max-width: 600px) {
  .pc-native-faq summary { min-height: 60px; padding: 16px; font-size: .96rem; }
  .pc-native-faq details > div { padding: 0 16px 17px; }
  .pc-faq-conversion__actions { align-items: stretch; flex-direction: column; }
  .pc-faq-conversion__actions .pc-button { justify-content: center; width: 100%; }
}
.pc-content--legal :where(h2, .pc-legal h2, .pc-model-withdrawal h2),
.pc-content--faq :where(h2, .pc-faq-conversion h2) {
  margin-top: clamp(32px,4vw,46px);
  color: var(--pf-ink);
  font-size: clamp(1.45rem,2vw,2rem);
  font-weight: 800;
  letter-spacing: -.035em;
  line-height: 1.16;
}
.pc-content--legal :where(h3, .pc-legal h3),
.pc-content--faq h3 {
  margin: 28px 0 8px;
  color: var(--pf-ink);
  font-size: 1.125rem;
  font-weight: 800;
  line-height: 1.3;
}

.pc-checkout-preflight {
  width: 100%;
  margin: 0 0 18px;
  padding: 14px 18px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px 26px;
  border: 1px solid rgba(52,116,71,.2);
  border-radius: 18px;
  color: var(--pf-muted);
  background: var(--pf-mint);
  font-size: .8125rem;
  line-height: 1.45;
}
.pc-checkout-preflight span { display: inline-flex; align-items: baseline; gap: 6px; }
.pc-checkout-preflight i { color: var(--pf-green-dark); }
.pc-checkout-preflight strong { color: var(--pf-ink); }

body.pc-store-v4 ul.products li.product .pc-product-card__legal,
.pc-product-carousel .woocommerce ul.products li.product .pc-product-card__legal {
  min-height: 2.6em;
  margin: 1px 13px 10px;
  color: var(--pf-muted);
  font-size: .625rem;
  font-weight: 650;
  line-height: 1.3;
}

@media (max-width: 680px) {
  body.pc-store-v4 .pc-main > .pc-shell > .pc-content--legal {
    padding: 22px 18px 26px;
    border-radius: 24px;
  }
  .pc-checkout-preflight { display: grid; padding: 13px 14px; }
  .pc-checkout-preflight span { align-items: flex-start; }
}

/* 0.11.6: stable two-line product-card titles. Footer colors remain
 * controlled by the established theme settings and Additional CSS. */
body.pc-store-v4 .woocommerce ul.products li.product .woocommerce-loop-product__title,
body.pc-store-v4.woocommerce-page ul.products li.product .woocommerce-loop-product__title,
body.pc-store-v4 .pc-product-carousel .woocommerce ul.products li.product .woocommerce-loop-product__title {
  display: -webkit-box;
  box-sizing: border-box;
  height: 2.8em;
  min-height: 2.8em;
  max-height: 2.8em;
  overflow: hidden;
  line-height: 1.4;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
}

body.pc-store-v4 :where(.woocommerce ul.products, .pc-product-carousel .woocommerce ul.products) li.product .wc-gzd-rating-authenticity-status {
  display: none !important;
}

/* 0.13.2: compact, fully visible mobile checkout progress and calmer cart rows. */
body.pc-store-v4.woocommerce-cart table.shop_table.cart .product-name .wc-gzd-item-desc {
  display: none;
}

@media (max-width: 760px) {
  .pc-commerce-steps {
    overflow: visible;
    padding-bottom: 0;
  }

  .pc-commerce-steps ol,
  .pc-commerce-steps--cart ol {
    width: 100%;
    min-width: 0;
  }

  .pc-commerce-steps li {
    display: flex;
    flex-direction: column;
    gap: 4px;
    justify-content: flex-start;
    text-align: center;
  }

  .pc-commerce-steps button {
    width: 100%;
    min-height: 54px;
    flex-direction: column;
    gap: 4px;
    justify-content: flex-start;
    text-align: center;
  }

  .pc-commerce-steps li > span,
  .pc-commerce-steps button > span {
    flex-basis: 30px;
    width: 30px;
    height: 30px;
  }

  .pc-commerce-steps strong {
    padding: 0 2px;
    background: transparent;
    font-size: .625rem;
    line-height: 1.2;
    white-space: normal;
  }

  .pc-commerce-steps li:not(:last-child)::after {
    top: 15px;
    right: calc(-50% + 18px);
    left: calc(50% + 18px);
  }
}

@media (max-width: 480px) {
  body.pc-store-v4.woocommerce-cart table.shop_table.cart .actions .coupon {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
  }

  body.pc-store-v4.woocommerce-cart table.shop_table.cart .actions .coupon button {
    white-space: nowrap;
  }
}
