:root {
  --gb-green: var(--gb-color-accent, #19c37d);
  --gb-deep: var(--gb-color-structure, #0f1f1a);
  --gb-ink: var(--gb-color-ink, #10211b);
  --gb-paper: var(--gb-color-canvas, #f7f8f6);
  --gb-white: var(--gb-color-surface, #fff);
  --gb-line: var(--gb-color-border, #dfe7e2);
  --gb-muted: var(--gb-color-muted, #52665d);
  --gb-offer: #f4b000;
  --gb-max: 1380px;
  --gb-radius: 18px;
  --gb-shadow: 0 16px 44px rgba(15, 31, 26, .1);
  --gb-admin-bar-offset: 0px;
  --gb-sticky-header-height: 166px;
}

html { overflow-x: clip; scroll-behavior: smooth; scroll-padding-top: calc(var(--gb-sticky-header-height) + 1rem); }
body { margin: 0 !important; overflow-x: clip; padding: 0 !important; }
body.admin-bar { --gb-admin-bar-offset: var(--wp-admin--admin-bar--height, 32px); }
body.gb-overlay-open { overflow: hidden; }
.wp-site-blocks { gap: 0 !important; padding: 0 !important; }
.wp-site-blocks > * { margin-block-start: 0 !important; }
[hidden] { display: none !important; }
.screen-reader-text {
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  overflow: hidden;
  position: absolute !important;
  white-space: nowrap;
  width: 1px;
}
.gb-skip-link {
  background: var(--gb-deep);
  color: #fff;
  left: 1rem;
  padding: .8rem 1rem;
  position: fixed;
  top: -6rem;
  z-index: 10000;
}
.gb-skip-link:focus { top: 1rem; }
.gb-commerce-header button,
.gb-commerce-header input,
.gb-commerce-header a,
.gb-premium-home button,
.gb-premium-home a,
.gb-commerce-footer a {
  -webkit-tap-highlight-color: transparent;
}
:where(.gb-commerce-header, .gb-premium-home, .gb-commerce-footer, .gb-commerce-archive) :focus-visible {
  outline: 3px solid rgba(25, 195, 125, .48);
  outline-offset: 3px;
}

/* Three-tier storefront header */
.wp-site-blocks > header.wp-block-template-part {
  position: sticky;
  top: var(--gb-admin-bar-offset);
  z-index: 800;
}
.wp-site-blocks > header.wp-block-template-part > p { display: contents; margin: 0; }
.wp-site-blocks > header.wp-block-template-part .gb-commerce-header {
  position: static;
}
.gb-commerce-header {
  background: var(--gb-white);
  border-bottom: 1px solid var(--gb-line);
  position: sticky;
  top: var(--gb-admin-bar-offset);
  transition: box-shadow .18s ease;
  z-index: 800;
}
.gb-commerce-header.is-compact { box-shadow: 0 8px 28px rgba(15, 31, 26, .12); }
.gb-service-bar {
  align-items: center;
  background: var(--gb-deep);
  color: #fff;
  display: flex;
  font-size: .76rem;
  font-weight: 650;
  justify-content: center;
  letter-spacing: .025em;
  max-height: 30px;
  min-height: 30px;
  overflow: hidden;
  transition: max-height .18s ease, min-height .18s ease, opacity .18s ease;
}
.is-compact .gb-service-bar { max-height: 0; min-height: 0; opacity: 0; }
.gb-service-bar__track {
  display: flex;
  gap: clamp(1.5rem, 5vw, 5rem);
  justify-content: center;
  max-width: var(--gb-max);
  padding: .3rem 1rem;
  width: 100%;
}
.gb-service-bar__track span[hidden] { display: inline !important; }
.gb-commerce-header__main {
  align-items: center;
  box-sizing: border-box;
  display: grid;
  gap: clamp(1rem, 2.2vw, 2.5rem);
  grid-template-columns: 150px minmax(340px, 1fr) auto;
  margin: auto;
  max-width: var(--gb-max);
  min-height: 88px;
  padding: .75rem clamp(1rem, 3vw, 2rem);
  transition: min-height .18s ease, padding .18s ease;
}
.gb-commerce-header__main > p,
.gb-commerce-header > p:empty,
.gb-mega-item > p:empty,
.gb-nav-more > p:empty,
.gb-commerce-nav__inner > p,
.gb-premium-home > p:empty,
.gb-commerce-footer > p:empty { display: none; }
.gb-commerce-header > p:has(> [data-gb-overlay]) { display: contents; margin: 0; }
.is-compact .gb-commerce-header__main { min-height: 64px; padding-bottom: .3rem; padding-top: .3rem; }
.gb-commerce-logo { align-items: center; display: flex; height: 64px; width: 142px; }
.gb-commerce-logo img { height: 100%; object-fit: contain; object-position: left center; width: auto; }
.is-compact .gb-commerce-logo { height: 48px; }
.is-compact .gb-commerce-action { box-sizing: border-box; min-height: 44px; }
.is-compact .gb-commerce-action > span { display: none; }
.gb-commerce-header.is-compact .gb-commerce-header__main > .gb-product-search { min-height: 48px; }
.gb-commerce-header.is-compact .gb-commerce-header__main > .gb-product-search input { padding-bottom: .45rem; padding-top: .45rem; }
.gb-commerce-header.is-compact .gb-commerce-header__main > .gb-product-search .gb-product-search__close { margin: .1rem; width: 40px; }
.is-compact .gb-mega-item > button,
.is-compact .gb-nav-direct,
.is-compact .gb-nav-more > summary { min-height: 44px; }
.gb-product-search {
  background: #fff;
  border: 2px solid var(--gb-deep);
  border-radius: 999px;
  display: flex;
  min-height: 52px;
  position: relative;
  transition: border-color .15s, box-shadow .15s;
}
.gb-product-search:focus-within {
  border-color: var(--gb-green);
  box-shadow: 0 0 0 4px rgba(25, 195, 125, .14);
}
.gb-product-search__icon {
  align-items: center;
  color: var(--gb-deep);
  display: flex;
  font-size: 1.5rem;
  padding-left: 1rem;
}
.gb-product-search input {
  background: transparent;
  border: 0;
  box-shadow: none;
  color: var(--gb-ink);
  flex: 1;
  font: inherit;
  min-width: 0;
  padding: .7rem .8rem;
}
.gb-product-search input:focus { outline: 0; }
.gb-product-search__close {
  background: none;
  border: 0;
  border-radius: 50%;
  color: var(--gb-muted);
  cursor: pointer;
  font-size: 1.35rem;
  margin: .35rem;
  width: 42px;
}
.gb-search-results {
  background: #fff;
  border: 1px solid var(--gb-line);
  border-radius: 0 0 18px 18px;
  box-shadow: var(--gb-shadow);
  left: 1rem;
  max-height: min(68vh, 560px);
  overflow: auto;
  padding: .75rem;
  position: absolute;
  right: 1rem;
  top: calc(100% + 8px);
  z-index: 920;
}
.gb-search-group + .gb-search-group { border-top: 1px solid var(--gb-line); margin-top: .55rem; padding-top: .55rem; }
.gb-search-group > strong {
  color: var(--gb-muted);
  display: block;
  font-size: .72rem;
  letter-spacing: .08em;
  padding: .35rem .55rem;
  text-transform: uppercase;
}
.gb-search-result {
  align-items: center;
  border-radius: 10px;
  display: grid;
  gap: .7rem;
  grid-template-columns: 48px 1fr auto;
  padding: .55rem;
  text-decoration: none;
}
.gb-search-result:hover,
.gb-search-result.is-active { background: var(--gb-paper); }
.gb-search-result img { border-radius: 8px; height: 48px; object-fit: cover; width: 48px; }
.gb-search-result__copy { display: grid; gap: .1rem; min-width: 0; }
.gb-search-result__copy span { color: var(--gb-muted); font-size: .76rem; }
.gb-search-result__price { display: grid; justify-items: end; white-space: nowrap; }
.gb-search-result__price del { color: var(--gb-muted); font-size: .72rem; font-weight: 500; }
.gb-search-result--simple { grid-template-columns: 1fr auto; }
.gb-search-all {
  color: var(--gb-deep);
  display: block;
  font-weight: 750;
  padding: .75rem .55rem .35rem;
  text-decoration: none;
}
.gb-search-empty { color: var(--gb-muted); margin: 0; padding: 1rem; text-align: center; }
.gb-commerce-actions { display: flex; gap: .4rem; }
.gb-commerce-action {
  align-items: center;
  background: transparent;
  border: 0;
  border-radius: 12px;
  color: var(--gb-deep);
  cursor: pointer;
  display: grid;
  font: inherit;
  font-size: .75rem;
  gap: .15rem;
  justify-items: center;
  min-width: 66px;
  padding: .45rem .5rem;
  text-decoration: none;
}
.gb-cart-trigger { position: relative; }
.gb-commerce-action > span:first-child { color: var(--gb-green); font-size: 1.15rem; }
.gb-cart-trigger > strong {
  align-items: center;
  background: var(--gb-deep);
  border-radius: 99px;
  box-sizing: border-box;
  color: #fff;
  display: inline-flex;
  font-size: .62rem;
  height: 18px;
  justify-content: center;
  line-height: 1;
  min-width: 18px;
  padding: 0 .25rem;
  position: absolute;
  right: 1px;
  top: 1px;
  transform: none;
  z-index: 2;
}
.gb-commerce-action:hover { background: var(--gb-paper); }
.gb-commerce-action svg,
.gb-icon-button svg,
.gb-product-search__icon svg {
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}
.gb-mobile-header-search { display: none; }
.gb-commerce-nav { border-top: 1px solid var(--gb-line); }
.gb-commerce-nav__inner {
  align-items: stretch;
  display: flex;
  gap: .1rem;
  margin: auto;
  max-width: var(--gb-max);
  padding: 0 clamp(1rem, 3vw, 2rem);
}
.gb-mega-item { position: static; }
.gb-mega-item > button,
.gb-nav-direct,
.gb-nav-more > summary {
  align-items: center;
  background: transparent;
  border: 0;
  border-bottom: 3px solid transparent;
  color: var(--gb-deep);
  cursor: pointer;
  display: flex;
  font: inherit;
  font-size: .88rem;
  font-weight: 700;
  gap: .3rem;
  min-height: 47px;
  padding: .55rem .85rem;
  text-decoration: none;
  white-space: nowrap;
  box-sizing: border-box;
}
.gb-mega-item > button:hover,
.gb-mega-item > button[aria-expanded="true"],
.gb-nav-direct:hover { border-color: var(--gb-green); color: #08724a; }
.gb-mega-panel {
  background: #fff;
  border: 1px solid var(--gb-line);
  border-radius: 0 0 22px 22px;
  box-shadow: var(--gb-shadow);
  display: grid;
  gap: 2rem;
  grid-template-columns: minmax(0, 1fr) 250px;
  left: max(1rem, calc((100vw - var(--gb-max)) / 2 + 2rem));
  max-height: calc(100vh - 190px);
  max-width: min(calc(100vw - 2rem), 1180px);
  overflow: auto;
  padding: 1.4rem;
  position: absolute;
  right: max(1rem, calc((100vw - var(--gb-max)) / 2 + 2rem));
  top: 100%;
}
.gb-mega-panel__links {
  display: grid;
  gap: .55rem 1.2rem;
  grid-template-columns: repeat(3, minmax(150px, 1fr));
}
.gb-mega-panel__links a {
  border-radius: 12px;
  display: grid;
  gap: .2rem;
  padding: .7rem;
  text-decoration: none;
}
.gb-mega-panel__links a:hover { background: var(--gb-paper); }
.gb-mega-panel__links span { color: var(--gb-muted); font-size: .75rem; line-height: 1.4; }
.gb-mega-panel__all { color: #08724a; }
.gb-mega-panel__visual {
  background: var(--gb-deep);
  border-radius: 16px;
  color: #fff;
  min-height: 210px;
  overflow: hidden;
  position: relative;
  text-decoration: none;
}
.gb-mega-panel__visual img { height: 100%; object-fit: cover; opacity: .72; width: 100%; }
.gb-mega-panel__visual span { bottom: 0; font-weight: 700; left: 0; padding: 1rem; position: absolute; right: 0; }
.gb-nav-more { margin-left: auto; position: relative; }
.gb-nav-more summary { list-style: none; }
.gb-nav-more > div {
  background: #fff;
  border: 1px solid var(--gb-line);
  border-radius: 12px;
  box-shadow: var(--gb-shadow);
  display: grid;
  min-width: 210px;
  padding: .5rem;
  position: absolute;
  right: 0;
}
.gb-nav-more > div a { padding: .65rem; text-decoration: none; }
.gb-mobile-only, .gb-mobile-menu { display: none; }
.gb-overlay {
  background: rgba(8, 20, 16, .52);
  border: 0;
  inset: 0;
  position: fixed;
  z-index: 880;
}
.gb-mini-cart {
  background: #fff;
  box-shadow: -18px 0 48px rgba(15, 31, 26, .2);
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  height: calc(100dvh - var(--gb-admin-bar-offset));
  max-width: 420px;
  overflow: auto;
  padding: 1.25rem;
  position: fixed;
  right: 0;
  top: var(--gb-admin-bar-offset);
  width: min(92vw, 420px);
  z-index: 940;
}
.gb-mini-cart__header { align-items: center; display: flex; font-size: 1.2rem; justify-content: space-between; }
.gb-mini-cart__header button { background: none; border: 0; font-size: 1.8rem; }
.gb-mini-cart ul { display: grid; gap: .75rem; list-style: none; margin: 0; padding: 0; }
.gb-mini-cart li { align-items: start; display: grid; gap: .75rem; grid-template-columns: 64px 1fr; }
.gb-mini-cart li img { border-radius: 10px; height: 64px; object-fit: cover; width: 64px; }
.gb-mini-cart li div { display: grid; }
.gb-mini-cart li span { color: var(--gb-muted); font-size: .8rem; }
.gb-mini-cart__item-copy { gap: .22rem; min-width: 0; }
.gb-mini-cart__variation dl, .gb-mini-cart__variation p { margin: 0; }
.gb-mini-cart__line-total { font-size: .88rem; }
.gb-mini-cart__item-actions { display: flex; gap: .8rem; margin-top: .25rem; }
.gb-mini-cart__item-actions a { color: #08724a; font-weight: 700; }
.gb-mini-cart__item-actions a:last-child { color: #9c2f2f; }
.gb-mini-cart__total {
  align-items: center;
  border-top: 1px solid var(--gb-line);
  display: flex;
  justify-content: space-between;
  padding-top: 1rem;
}
.gb-mini-cart__total strong { font-size: 1.18rem; }

/* Shared commerce surfaces */
.gb-premium-home,
.gb-commerce-archive,
.gb-product-main,
.gb-guide-archive,
.gb-guide-single { background: var(--gb-paper); }
.gb-commerce-section,
.gb-premium-slider,
.gb-advantages,
.gb-category-catalog,
.gb-category-heading,
.gb-brand-hero,
.gb-guide-archive > *,
.gb-guide-single > * {
  margin-left: auto;
  margin-right: auto;
  max-width: var(--gb-max);
}
.gb-commerce-section { box-sizing: border-box; padding: clamp(2.4rem, 5vw, 4.8rem) clamp(1rem, 3vw, 2rem); width: 100%; }
.gb-commerce-section + .gb-commerce-section { border-top: 1px solid rgba(15, 31, 26, .05); }
.gb-section-heading {
  align-items: end;
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  margin-bottom: 1.4rem;
}
.gb-section-heading h2,
.gb-category-heading h1,
.gb-brand-hero h1 {
  color: var(--gb-deep);
  font-size: clamp(1.65rem, 3vw, 2.6rem);
  margin: .2rem 0 0;
}
.gb-section-heading a { color: #08724a; font-weight: 750; }
.gb-kicker,
.gb-product-topline {
  color: #08724a;
  font-size: .74rem;
  font-weight: 800;
  letter-spacing: .1em;
  margin: 0;
  text-transform: uppercase;
}
.gb-button,
.gb-product-card-action,
.gb-catalog-toolbar button {
  align-items: center;
  background: var(--gb-green);
  border: 0;
  border-radius: 999px;
  color: var(--gb-deep);
  cursor: pointer;
  display: inline-flex;
  font-weight: 800;
  justify-content: center;
  min-height: 46px;
  padding: .72rem 1.15rem;
  text-decoration: none;
}
.gb-button--ghost { background: rgba(255,255,255,.12); border: 1px solid currentColor; color: #fff; }
.gb-button--dark { background: var(--gb-deep); color: #fff; }

/* Editorial hero slider */
.gb-premium-slider {
  background: var(--gb-deep);
  max-width: none;
  overflow: hidden;
  position: relative;
}
.gb-premium-slider__viewport { min-height: clamp(420px, 40vw, 620px); position: relative; }
.gb-premium-slide {
  background: var(--gb-slide-fallback);
  color: #fff;
  inset: 0;
  min-height: clamp(420px, 40vw, 620px);
  overflow: hidden;
  position: absolute;
}
.gb-premium-slide picture, .gb-premium-slide picture::after { inset: 0; position: absolute; }
.gb-premium-slide picture::after {
  background: linear-gradient(90deg, rgba(8, 22, 17, .88) 0%, rgba(8, 22, 17, .45) 48%, rgba(8,22,17,.08) 75%);
  content: "";
}
.gb-premium-slide img {
  height: 100%;
  object-fit: cover;
  object-position: var(--gb-slide-focal);
  width: 100%;
}
.gb-premium-slide__content {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin: auto;
  max-width: var(--gb-max);
  min-height: inherit;
  padding: 3.5rem clamp(1rem, 7vw, 7rem) 5.5rem;
  position: relative;
  z-index: 2;
}
.gb-premium-slide__content > * { max-width: 620px; }
.gb-premium-slide h1 { color: inherit; font-size: clamp(2.1rem, 4.5vw, 4.25rem); margin: .35rem 0 1rem; }
.gb-premium-slide__copy { font-size: clamp(.96rem, 1.35vw, 1.15rem); line-height: 1.65; }
.gb-premium-slide__actions { display: flex; flex-wrap: wrap; gap: .7rem; margin-top: 1.2rem; }
.gb-premium-slide--light { color: var(--gb-deep); }
.gb-premium-slide--light picture::after { background: linear-gradient(90deg, rgba(247,248,246,.92), rgba(247,248,246,.52), transparent); }
.gb-premium-slide--light .gb-button--ghost { color: var(--gb-deep); }
.gb-premium-slider__controls {
  align-items: center;
  bottom: 1.1rem;
  display: flex;
  gap: .55rem;
  left: 50%;
  position: absolute;
  transform: translateX(-50%);
  z-index: 5;
}
.gb-premium-slider__controls button,
.gb-carousel-buttons button {
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(15,31,26,.12);
  border-radius: 999px;
  color: var(--gb-deep);
  cursor: pointer;
  min-height: 42px;
  min-width: 42px;
}
.gb-premium-slider__controls [role="tablist"] { display: flex; gap: .35rem; }
.gb-premium-slider__controls [role="tab"] { min-height: 10px; min-width: 10px; padding: 0; }
.gb-premium-slider__controls [aria-selected="true"] { background: var(--gb-green); transform: scale(1.25); }

.gb-advantages {
  background: #fff;
  border: 1px solid var(--gb-line);
  border-radius: var(--gb-radius);
  display: grid;
  gap: 0;
  grid-template-columns: repeat(4, 1fr);
  margin-top: -1px;
  overflow: hidden;
}
.gb-advantages article { align-items: center; display: flex; gap: .7rem; min-height: 88px; padding: 1rem 1.25rem; }
.gb-advantages article + article { border-left: 1px solid var(--gb-line); }
.gb-advantages article > span { color: var(--gb-green); font-size: 1.4rem; }
.gb-advantages strong { color: var(--gb-deep); }
.gb-advantages p { color: var(--gb-muted); font-size: .78rem; margin: .1rem 0 0; }

/* Category, product, brand and guide cards */
.gb-category-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.gb-category-card {
  background: var(--gb-category-color);
  border: 1px solid rgba(15, 31, 26, .08);
  border-radius: var(--gb-radius);
  display: grid;
  min-height: 190px;
  overflow: hidden;
  position: relative;
  text-decoration: none;
}
.gb-category-card img { height: 100%; object-fit: cover; opacity: .9; position: absolute; right: 0; width: 58%; }
.gb-category-card::after { background: linear-gradient(90deg, var(--gb-category-color) 45%, transparent); content: ""; inset: 0; position: absolute; }
.gb-category-card > span { align-content: center; display: grid; gap: .4rem; padding: 1.25rem; position: relative; width: 62%; z-index: 1; }
.gb-category-card strong { color: var(--gb-deep); font-size: 1.2rem; }
.gb-category-card small { color: #385148; line-height: 1.45; }
.gb-category-card em { color: #08724a; font-size: .72rem; font-style: normal; font-weight: 750; }
.gb-product-track {
  box-sizing: border-box;
  contain: inline-size layout paint;
  display: grid;
  gap: 1rem;
  grid-auto-columns: minmax(220px, 1fr);
  grid-auto-flow: column;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  padding: 3px 3px 1rem;
  scroll-behavior: smooth;
  scroll-snap-type: inline mandatory;
  scrollbar-width: thin;
  width: 100%;
}
.gb-carousel-buttons { display: flex; gap: .45rem; }
.gb-carousel-buttons button { background: #fff; }
.gb-premium-product-card {
  background: #fff;
  border: 1px solid var(--gb-line);
  border-radius: 16px;
  display: flex;
  flex-direction: column;
  min-width: 0;
  overflow: hidden;
  scroll-snap-align: start;
  transition: box-shadow .18s, transform .18s;
}
.gb-premium-product-card:hover { box-shadow: var(--gb-shadow); transform: translateY(-3px); }
.gb-premium-product-card__media {
  aspect-ratio: 1 / 1;
  background: #fff;
  display: block;
  overflow: hidden;
  position: relative;
}
.gb-premium-product-card__media img { height: 100%; object-fit: contain; padding: .55rem; transition: opacity .2s, transform .25s; width: 100%; }
.gb-premium-product-card:hover .gb-product-image-primary { transform: scale(1.035); }
.gb-product-image-secondary { inset: 0; opacity: 0; position: absolute; }
.gb-premium-product-card:hover .gb-product-image-secondary { opacity: 1; }
.gb-product-badge {
  background: var(--gb-green);
  border-radius: 99px;
  color: var(--gb-deep);
  font-size: .68rem;
  font-weight: 850;
  left: .7rem;
  padding: .3rem .55rem;
  position: absolute;
  top: .7rem;
  z-index: 2;
}
.gb-product-badge--offer { background: var(--gb-offer); }
.gb-premium-product-card__body { display: flex; flex: 1; flex-direction: column; gap: .45rem; padding: 1rem; }
.gb-product-brand { color: #08724a; font-size: .7rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.gb-premium-product-card h3 { font-size: .96rem; line-height: 1.35; margin: 0; min-height: 2.6em; }
.gb-premium-product-card h3 a { text-decoration: none; }
.gb-product-format, .gb-product-availability { color: var(--gb-muted); font-size: .74rem; }
.gb-product-price { color: var(--gb-deep); font-size: 1.08rem; font-weight: 800; margin-top: auto; }
.gb-product-price del { color: var(--gb-muted); font-size: .8rem; }
.gb-product-price ins { text-decoration: none; }
.gb-product-card-action {
  align-self: flex-start;
  background: transparent;
  border: 1px solid var(--gb-deep);
  box-sizing: border-box;
  color: var(--gb-deep);
  line-height: 1.2;
  margin-top: .3rem;
  min-height: 44px;
  padding: .48rem .8rem;
}
.gb-product-card-action:hover { background: rgba(25, 195, 125, .08); border-color: var(--gb-green); }
.gb-product-card-action:active { background: rgba(25, 195, 125, .15); }
.gb-premium-brands > div:last-child { display: grid; gap: 1rem; grid-template-columns: repeat(5, 1fr); }
.gb-premium-brands > div:last-child a {
  align-items: center;
  background: #fff;
  border: 1px solid var(--gb-line);
  border-radius: 14px;
  display: flex;
  flex-direction: column;
  gap: .6rem;
  justify-content: center;
  min-height: 130px;
  padding: 1rem;
  text-decoration: none;
}
.gb-premium-brands img { height: 58px; object-fit: contain; width: 100%; }
.gb-guide-grid { display: grid; gap: 1rem; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.gb-guide-grid article { background: #fff; border: 1px solid var(--gb-line); border-radius: 16px; min-width: 0; overflow: hidden; }
.gb-guide-grid article > a { display: block; text-decoration: none; }
.gb-guide-grid img { aspect-ratio: 16/9; height: auto; object-fit: cover; width: 100%; }
.gb-guide-grid article > a > div { padding: 1rem; }
.gb-guide-grid h3 { font-size: 1.05rem; margin: .25rem 0 .5rem; overflow-wrap: anywhere; }
.gb-guide-grid p { color: var(--gb-muted); font-size: .84rem; margin: 0; }
.gb-attention {
  align-items: center;
  background: var(--gb-deep);
  border-radius: 22px;
  color: #fff;
  display: flex;
  justify-content: space-between;
  margin-bottom: 4rem;
}
.gb-attention h2 { color: #fff; margin: .3rem 0; }
.gb-attention p { margin-bottom: 0; }
.gb-club { display: none; }

/* Category, brand and product pages */
.gb-commerce-archive,
.gb-product-main,
.gb-guide-archive,
.gb-guide-single { max-width: none !important; padding: 2rem clamp(1rem, 3vw, 2rem) 5rem !important; }
.gb-commerce-archive > *,
.gb-product-main > *,
.gb-guide-archive > *,
.gb-guide-single > * { margin-left: auto; margin-right: auto; max-width: var(--gb-max); }
.gb-category-heading { padding: 1rem 0 1.4rem; }
.gb-category-heading > p:not(.gb-kicker) { color: var(--gb-muted); max-width: 720px; }
.gb-subcategory-strip { display: flex; flex-wrap: wrap; gap: .55rem; margin-top: 1rem; }
.gb-subcategory-strip a {
  background: #fff;
  border: 1px solid var(--gb-line);
  border-radius: 999px;
  font-size: .84rem;
  font-weight: 700;
  padding: .55rem .85rem;
  text-decoration: none;
}
.gb-category-catalog { padding-bottom: 2.5rem; }
.gb-catalog-toolbar {
  align-items: end;
  background: #fff;
  border: 1px solid var(--gb-line);
  border-radius: 16px;
  display: grid;
  gap: .7rem;
  grid-template-columns: 1.2fr repeat(2, .75fr) .85fr 1fr auto;
  margin-bottom: 1.2rem;
  padding: .85rem;
}
.gb-catalog-toolbar label { color: var(--gb-muted); display: grid; font-size: .72rem; font-weight: 700; gap: .3rem; }
.gb-catalog-toolbar input,
.gb-catalog-toolbar select {
  background: #fff;
  border: 1px solid #cad4ce;
  border-radius: 9px;
  font: inherit;
  min-height: 42px;
  padding: .5rem;
  width: 100%;
}
.gb-catalog-toolbar .gb-filter-check { align-items: center; display: flex; min-height: 42px; }
.gb-filter-check input { min-height: auto; width: auto; }
.gb-filter-shell > summary { display: none; }
.gb-filter-shell:not([open]) > .gb-filter-panel { display: block; }
.gb-filter-panel__header { display: none; }
.gb-filter-actions { align-items: center; display: flex; gap: .7rem; }
.gb-filter-actions a { color: #08724a; font-size: .82rem; font-weight: 750; }
.gb-active-filters { display: flex; flex-wrap: wrap; gap: .45rem; margin: -.55rem 0 1rem; }
.gb-filter-chip,
.gb-active-filters__clear {
  align-items: center;
  background: #fff;
  border: 1px solid var(--gb-line);
  border-radius: 999px;
  display: inline-flex;
  font-size: .76rem;
  gap: .4rem;
  min-height: 36px;
  padding: .35rem .7rem;
  text-decoration: none;
}
.gb-active-filters__clear { border-color: transparent; color: #08724a; font-weight: 750; }
.gb-catalog-status { color: var(--gb-muted); font-size: .82rem; margin: 0 0 .8rem; }
.gb-catalog-grid { display: grid; gap: 1rem; grid-template-columns: repeat(4, 1fr); }
.gb-pagination { display: flex; gap: .4rem; justify-content: center; margin-top: 2rem; }
.gb-pagination .page-numbers { background: #fff; border: 1px solid var(--gb-line); border-radius: 9px; padding: .55rem .75rem; text-decoration: none; }
.gb-pagination .current { background: var(--gb-deep); color: #fff; }
.gb-brand-hero {
  align-items: center;
  background: #fff;
  border: 1px solid var(--gb-line);
  border-radius: 20px;
  display: flex;
  gap: 2rem;
  margin-bottom: 1.5rem;
  padding: clamp(1.4rem, 3vw, 2.6rem);
}
.gb-brand-hero img { height: 100px; object-fit: contain; width: 180px; }
.gb-brand-hero p { color: var(--gb-muted); margin-bottom: 0; max-width: 760px; }
.gb-product-layout { gap: clamp(1.5rem, 5vw, 5rem); }
.gb-product-gallery,
.gb-product-summary { background: #fff; border: 1px solid var(--gb-line); border-radius: 20px; padding: clamp(1rem, 2vw, 1.8rem); }
.gb-product-gallery img { border-radius: 14px; }
.gb-product-summary { align-self: start; position: sticky; top: calc(var(--gb-admin-bar-offset) + var(--gb-sticky-header-height) + 1rem); }
.gb-product-summary h1 { font-size: clamp(1.8rem, 3vw, 2.65rem); }
.gb-product-summary .price { font-size: 1.55rem !important; }
.gb-product-summary form.cart { background: var(--gb-paper); border-radius: 14px; padding: 1rem; }
.gb-product-summary button.single_add_to_cart_button { background: var(--gb-green) !important; color: var(--gb-deep) !important; min-height: 48px; }
.gb-product-main .woocommerce-product-details__short-description,
.gb-product-main .wp-block-woocommerce-product-details { background: #fff; border-radius: 18px; padding: 1.2rem; }
.gb-guide-archive,
.gb-guide-single { min-height: 65vh; }

/* Footer */
.gb-commerce-footer { background: var(--gb-deep); color: #d9e4df; padding: 3rem clamp(1rem, 4vw, 3rem) calc(2rem + env(safe-area-inset-bottom)); }
.gb-commerce-footer__grid {
  display: grid;
  gap: 2rem;
  grid-template-columns: 1.5fr repeat(3, 1fr);
  margin: auto;
  max-width: var(--gb-max);
}
.gb-commerce-footer__brand img {
  background: #fff;
  border-radius: 12px;
  box-sizing: content-box;
  height: 88px;
  object-fit: contain;
  object-position: left;
  padding: .55rem;
  width: 150px;
}
.gb-commerce-footer__brand p { color: #aebdb6; max-width: 340px; }
.gb-commerce-footer nav { align-content: start; display: grid; gap: .6rem; }
.gb-commerce-footer nav strong { color: #fff; margin-bottom: .25rem; }
.gb-commerce-footer a { color: #d9e4df; text-decoration: none; }
.gb-commerce-footer a:hover { color: var(--gb-green); }
.gb-commerce-footer nav span { color: #aebdb6; font-size: .85rem; }
.gb-commerce-footer__legal { border-top: 1px solid rgba(255,255,255,.12); color: #8fa198; font-size: .76rem; margin: 2rem auto 0; max-width: var(--gb-max); padding-top: 1rem; }
.gb-commerce-footer__notice { background: rgba(255,255,255,.045); border: 1px solid rgba(255,255,255,.12); border-radius: 18px; margin: 2rem auto 0; max-width: 1380px; padding: clamp(1.15rem,2.4vw,1.8rem); }
.gb-commerce-footer__notice-grid { display: grid; gap: .75rem; grid-template-columns: repeat(2,minmax(0,1fr)); margin-bottom: 1rem; }
.gb-commerce-footer__notice article { border-left: 3px solid rgba(194,255,114,.68); padding: .3rem 1rem; }
.gb-commerce-footer__notice article p,
.gb-commerce-footer__notice-meta { color: rgba(255,255,255,.7); font-size: .74rem; line-height: 1.55; margin: 0; }

/* Contextual help is opt-in and stays clear of commerce controls. */
.gb-quick-help-trigger {
  align-items: center;
  background: var(--gb-deep);
  border: 1px solid rgba(255,255,255,.24);
  border-radius: 999px;
  bottom: 1.25rem;
  box-shadow: var(--gb-shadow);
  color: #fff;
  display: flex;
  font: inherit;
  font-size: .82rem;
  font-weight: 800;
  gap: .4rem;
  min-height: 44px;
  padding: .5rem .85rem;
  position: fixed;
  right: 1.25rem;
  z-index: 840;
}
.gb-quick-help-trigger > span:first-child {
  align-items: center;
  background: var(--gb-green);
  border-radius: 50%;
  color: var(--gb-deep);
  display: flex;
  height: 24px;
  justify-content: center;
  width: 24px;
}
.gb-quick-help {
  background: #fff;
  border: 1px solid var(--gb-line);
  border-radius: 20px;
  bottom: 1.25rem;
  box-shadow: 0 24px 72px rgba(15,31,26,.28);
  max-height: min(70dvh, 520px);
  overflow: auto;
  padding: 1rem;
  position: fixed;
  right: 1.25rem;
  width: min(calc(100vw - 2rem), 390px);
  z-index: 950;
}
.gb-quick-help__header { align-items: start; display: flex; gap: 1rem; justify-content: space-between; }
.gb-quick-help__header > div { display: grid; gap: .25rem; }
.gb-quick-help__header button {
  background: var(--gb-paper);
  border: 0;
  border-radius: 50%;
  font-size: 1.5rem;
  min-height: 44px;
  min-width: 44px;
}
.gb-quick-help nav { display: grid; gap: .45rem; margin-top: 1rem; }
.gb-quick-help nav a {
  border: 1px solid var(--gb-line);
  border-radius: 12px;
  display: grid;
  gap: .2rem;
  padding: .75rem;
  text-decoration: none;
}
.gb-quick-help nav a:hover { background: rgba(25,195,125,.06); border-color: var(--gb-green); }
.gb-quick-help nav span, .gb-quick-help > p { color: var(--gb-muted); font-size: .76rem; }
.gb-quick-help > p { margin: .8rem .2rem 0; }

@media (min-width: 1280px) {
  .gb-product-track { grid-auto-columns: calc((100% - 5rem) / 6); }
}
@media (min-width: 1025px) and (max-width: 1279px) {
  .gb-product-track { grid-auto-columns: calc((100% - 3rem) / 4); }
  .gb-commerce-nav__inner > :nth-child(n+7):not(.gb-nav-more) { display: none; }
}
@media (max-width: 1100px) {
  .gb-commerce-header__main { grid-template-columns: 120px minmax(260px, 1fr) auto; }
  .gb-commerce-logo { width: 116px; }
  .gb-commerce-nav__inner > :nth-child(n+6):not(.gb-nav-more) { display: none; }
  .gb-category-grid { grid-template-columns: repeat(2, 1fr); }
  .gb-catalog-grid { grid-template-columns: repeat(3, 1fr); }
  .gb-catalog-toolbar { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 820px) {
  .gb-service-bar__track span[hidden] { display: none !important; }
  .gb-commerce-header { position: sticky; }
  .gb-commerce-header__main {
    gap: .65rem;
    grid-template-columns: 44px minmax(80px, 1fr) auto;
    min-height: 66px;
    padding: .5rem 1rem;
  }
  .gb-mobile-only { display: inline-flex; }
  .gb-icon-button {
    align-items: center;
    background: var(--gb-paper);
    border: 1px solid var(--gb-line);
    border-radius: 11px;
    font-size: 1.2rem;
    height: 44px;
    justify-content: center;
    width: 44px;
  }
  .gb-commerce-logo { height: 48px; width: 112px; }
  .gb-commerce-header__main > .gb-product-search { display: none; }
  .gb-commerce-action { min-width: 48px; }
  .gb-commerce-action > span:nth-child(2) { display: none; }
  .gb-commerce-nav { display: none; }
  .gb-mobile-menu {
    background: #fff;
    display: block;
    height: calc(100dvh - var(--gb-admin-bar-offset));
    left: 0;
    max-width: 460px;
    overflow: auto;
    padding: 1rem;
    position: fixed;
    top: var(--gb-admin-bar-offset);
    width: min(94vw, 460px);
    z-index: 950;
  }
  .gb-mobile-menu__header { align-items: center; display: flex; font-size: 1.15rem; justify-content: space-between; margin-bottom: 1rem; }
  .gb-mobile-menu__header button { background: none; border: 0; font-size: 1.8rem; min-height: 44px; min-width: 44px; }
  .gb-mobile-menu .gb-product-search { border-radius: 14px; margin-bottom: 1rem; }
  .gb-mobile-menu__levels > div { display: grid; }
  .gb-mobile-menu__levels a,
  .gb-mobile-menu__levels button,
  .gb-mobile-menu__levels strong {
    align-items: center;
    background: none;
    border: 0;
    border-bottom: 1px solid var(--gb-line);
    color: var(--gb-deep);
    display: flex;
    font: inherit;
    font-weight: 700;
    justify-content: space-between;
    min-height: 52px;
    padding: .7rem .2rem;
    text-align: left;
    text-decoration: none;
    width: 100%;
  }
  .gb-mobile-menu__levels strong { color: #08724a; font-size: 1.15rem; }
  .gb-mobile-menu__levels .gb-mobile-menu__all { color: var(--gb-ui-action); }
  .gb-search-results { left: 0; right: 0; }
  .gb-premium-slider__viewport,
  .gb-premium-slide { min-height: 620px; }
  .gb-premium-slide picture::after { background: linear-gradient(0deg, rgba(8,22,17,.92), rgba(8,22,17,.22) 78%); }
  .gb-premium-slide--light picture::after { background: linear-gradient(0deg, rgba(247,248,246,.95), rgba(247,248,246,.12) 78%); }
  .gb-premium-slide__content { justify-content: flex-end; padding: 3rem 1rem 5.2rem; }
  .gb-premium-slide h1 { font-size: clamp(2rem, 8vw, 3.1rem); }
  .gb-advantages { grid-template-columns: repeat(2, 1fr); }
  .gb-advantages article:nth-child(3) { border-left: 0; border-top: 1px solid var(--gb-line); }
  .gb-advantages article:nth-child(4) { border-top: 1px solid var(--gb-line); }
  .gb-product-track { grid-auto-columns: calc((100% - 1rem) / 2); }
  .gb-premium-brands > div:last-child { grid-template-columns: repeat(3, 1fr); }
  .gb-guide-grid { grid-template-columns: repeat(2, 1fr); }
  .gb-catalog-grid { grid-template-columns: repeat(2, 1fr); }
  .gb-catalog-toolbar { grid-template-columns: repeat(2, 1fr); }
  .gb-product-summary { position: static; }
  .gb-commerce-footer__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 540px) {
  .gb-commerce-footer__notice-grid { grid-template-columns: 1fr; }
  .gb-commerce-footer__notice article { padding: .75rem .8rem; }
  .gb-service-bar { min-height: 28px; }
  .gb-service-bar__track { font-size: .7rem; justify-content: center; text-align: center; }
  .gb-commerce-section { padding-bottom: 2.6rem; padding-top: 2.6rem; }
  .gb-premium-slider__viewport,
  .gb-premium-slide { min-height: 620px; }
  .gb-premium-slide__copy { font-size: .9rem; }
  .gb-premium-slide__actions { align-items: stretch; flex-direction: column; }
  .gb-premium-slider__controls { width: calc(100% - 2rem); justify-content: center; }
  .gb-premium-slider__controls [data-gb-slider-pause] { font-size: 0; }
  .gb-premium-slider__controls [data-gb-slider-pause]::after { content: "Ⅱ"; font-size: .8rem; }
  .gb-advantages { grid-template-columns: 1fr; margin: 0 1rem; }
  .gb-advantages article + article { border-left: 0; border-top: 1px solid var(--gb-line); }
  .gb-category-grid { grid-template-columns: 1fr; }
  .gb-category-card { min-height: 150px; }
  .gb-category-card > span { width: 67%; }
  .gb-section-heading { align-items: start; }
  .gb-section-heading > a { display: none; }
  .gb-section-heading h2 { font-size: 1.55rem; }
  .gb-product-track { grid-auto-columns: 78%; }
  .gb-premium-product-card h3 { min-height: auto; }
  .gb-guide-grid { grid-template-columns: 85%; overflow-x: auto; scroll-snap-type: x mandatory; }
  .gb-guide-grid article { scroll-snap-align: start; }
  .gb-premium-brands > div:last-child { grid-template-columns: repeat(2, 1fr); }
  .gb-attention { align-items: stretch; border-radius: 0; flex-direction: column; margin-bottom: 0; }
  .gb-commerce-archive,
  .gb-product-main,
  .gb-guide-archive,
  .gb-guide-single { padding: 1rem 1rem 3rem !important; }
  .gb-catalog-toolbar { grid-template-columns: 1fr 1fr; }
  .gb-catalog-toolbar label:first-child,
  .gb-catalog-toolbar label:nth-last-child(2),
  .gb-catalog-toolbar button { grid-column: 1 / -1; }
  .gb-catalog-grid { gap: .6rem; }
  .gb-premium-product-card__body { padding: .75rem; }
  .gb-product-card-action { font-size: .78rem; }
  .gb-brand-hero { align-items: flex-start; flex-direction: column; gap: 1rem; }
  .gb-brand-hero img { height: 72px; width: 140px; }
  .gb-commerce-footer__grid { grid-template-columns: 1fr 1fr; }
  .gb-commerce-footer__brand { grid-column: 1 / -1; }
  .gb-commerce-footer nav:last-child { grid-column: 1 / -1; }
}

/* Tablet keeps search, request and priority categories visible. */
@media (min-width: 768px) and (max-width: 1100px) {
  .gb-commerce-header__main {
    gap: .7rem;
    grid-template-columns: 104px minmax(240px, 1fr) auto;
    min-height: 72px;
    padding: .5rem 1rem;
  }
  .is-compact .gb-commerce-header__main { min-height: 62px; }
  .gb-commerce-logo { height: 50px; width: 100px; }
  .gb-commerce-header__main > .gb-product-search { display: flex; min-height: 46px; }
  .gb-mobile-only { display: none; }
  .gb-commerce-actions .gb-commerce-action:first-child { display: none; }
  .gb-commerce-action { min-width: 48px; }
  .gb-commerce-nav { display: block; }
  .gb-commerce-nav__inner { overflow: visible; padding: 0 1rem; }
  .gb-commerce-nav__inner > :nth-child(n+5):not(.gb-nav-more):not(:last-child) { display: none; }
  .gb-nav-more { display: block; }
  .gb-product-summary { position: static; }
}

/* One unified mobile navigation below 768px. */
@media (max-width: 767px) {
  body { padding-bottom: 0; }
  body.admin-bar { --gb-admin-bar-offset: var(--wp-admin--admin-bar--height, 46px); }
  .gb-service-bar { display: none; }
  .gb-commerce-header__main {
    gap: clamp(.18rem, 1.5vw, .45rem);
    grid-template-columns: 44px minmax(72px, 1fr) auto;
    min-height: 64px;
    padding: max(.25rem, env(safe-area-inset-top)) .55rem .25rem;
  }
  .is-compact .gb-commerce-header__main { min-height: 60px; padding-bottom: .2rem; padding-top: max(.2rem, env(safe-area-inset-top)); }
  .gb-mobile-header-menu { display: inline-flex; }
  .gb-commerce-logo { height: 46px; width: min(96px, 24vw); }
  .is-compact .gb-commerce-logo { height: 42px; }
  .gb-commerce-actions { gap: .08rem; justify-content: end; }
  .gb-commerce-action { min-height: 44px; min-width: 44px; padding: .35rem; }
  .gb-commerce-action > span { display: none; }
  .gb-commerce-actions .gb-account-link,
  .gb-mobile-header-search { display: grid; }
  .gb-commerce-action svg { height: 22px; width: 22px; }
  .gb-cart-trigger > strong { right: -1px; top: -1px; transform: none; }
  .gb-mobile-menu[data-mode="search"] .gb-mobile-menu__levels { display: none; }
  .gb-mobile-menu[data-mode="categories"] .gb-product-search { display: none; }
  .gb-premium-slider__viewport,
  .gb-premium-slide { min-height: clamp(400px, 52dvh, 470px); }
  .gb-premium-slide__content { justify-content: flex-end; padding: 1.25rem 1rem 3.8rem; }
  .gb-premium-slide h1 { font-size: clamp(1.55rem, 6.8vw, 2.2rem); line-height: 1.08; margin: .25rem 0 .5rem; overflow-wrap: anywhere; }
  .gb-premium-slide__copy { display: -webkit-box; font-size: .84rem; line-height: 1.38; margin: 0; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
  .gb-premium-slide__actions { flex-direction: row; margin-top: .65rem; }
  .gb-premium-slide__actions .gb-button { min-height: 44px; padding: .55rem .85rem; }
  .gb-premium-slide__actions .gb-button + .gb-button { display: none; }
  .gb-premium-slider__controls { bottom: .55rem; }
  .gb-premium-product-card__body { gap: .32rem; padding: .75rem; }
  .gb-premium-product-card h3 { display: -webkit-box; min-height: 2.6em; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
  .gb-product-card-action { width: auto; }
  .gb-quick-help-trigger { bottom: calc(env(safe-area-inset-bottom) + .75rem); right: .75rem; }
  .gb-quick-help { bottom: calc(env(safe-area-inset-bottom) + .75rem); left: .75rem; right: .75rem; width: auto; }
  body.gb-keyboard-open .gb-quick-help-trigger { transform: translateY(150%); }
  .gb-quick-help-trigger { transition: transform .16s ease; }
  .gb-filter-shell > summary {
    align-items: center;
    background: #fff;
    border: 1px solid var(--gb-line);
    border-radius: 12px;
    cursor: pointer;
    display: inline-flex;
    font-weight: 800;
    gap: .4rem;
    list-style: none;
    margin-bottom: .8rem;
    min-height: 44px;
    padding: .55rem .85rem;
  }
  .gb-filter-shell:not([open]) > .gb-filter-panel { display: none; }
  .gb-filter-shell > summary::-webkit-details-marker { display: none; }
  .gb-filter-shell > summary strong {
    background: var(--gb-deep);
    border-radius: 999px;
    color: #fff;
    font-size: .7rem;
    min-width: 18px;
    padding: .12rem .35rem;
    text-align: center;
  }
  .gb-filter-shell[open]::before { background: rgba(8,20,16,.52); content: ""; inset: 0; position: fixed; z-index: 900; }
  .gb-filter-panel {
    background: #fff;
    bottom: 0;
    box-sizing: border-box;
    left: 0;
    max-height: calc(100dvh - var(--gb-admin-bar-offset) - 1rem);
    overflow: auto;
    padding: 1rem;
    position: fixed;
    right: 0;
    z-index: 960;
  }
  .gb-filter-panel__header { align-items: center; display: flex; justify-content: space-between; margin-bottom: .8rem; }
  .gb-filter-panel__header button { background: var(--gb-paper); border: 0; border-radius: 50%; font-size: 1.4rem; min-height: 44px; min-width: 44px; }
  .gb-catalog-toolbar { border: 0; grid-template-columns: 1fr; margin: 0; padding: 0; }
  .gb-filter-actions { background: #fff; bottom: 0; padding: .75rem 0 calc(.25rem + env(safe-area-inset-bottom)); position: sticky; }
}

@media (min-width: 1440px) {
  .gb-catalog-grid { grid-template-columns: repeat(5, 1fr); }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}
