/**
 * HiGuppy Shop — single visual owner
 * 2026-09-06
 *
 * All Shop and product-category presentation belongs in this file.
 * WooCommerce owns catalog data, filters, sorting, pagination and purchase behavior.
 */

body.hg-shop-page-active {
  --hg-shop-canvas: var(--hg-shared-canvas);
  --hg-shop-surface: #ffffff;
  --hg-shop-card: #fffdf6;
  --hg-shop-water: var(--hg-shared-water);
  --hg-shop-water-strong: #dbeee7;
  --hg-shop-sand: var(--hg-shared-sand);
  --hg-shop-ink: #203d32;
  --hg-shop-muted: #5b6d64;
  --hg-shop-green: #285644;
  --hg-shop-green-hover: #1c4232;
  --hg-shop-terra: var(--hg-shared-coral);
  --hg-shop-terra-hover: #943822;
  --hg-shop-gold: #d9a34a;
  --hg-shop-border: #d8dfd0;
  --hg-shop-border-strong: #b9cbbf;
  --hg-shop-shadow: 0 12px 34px rgba(31, 61, 43, .08);
  --hg-shop-body: var(--hg-shared-body);
  --hg-shop-heading: var(--hg-shared-heading);
  margin: 0 !important;
  background: var(--hg-shop-canvas) !important;
  background-image: none !important;
  color: var(--hg-shop-ink) !important;
  font-family: var(--hg-shop-body) !important;
  font-size: 16px !important;
  line-height: 1.6 !important;
}

html:has(body.hg-shop-page-active),
body.hg-shop-page-active::before,
body.hg-shop-page-active > .wp-site-blocks,
body.hg-shop-page-active > .wp-site-blocks > main,
body.hg-shop-page-active > .wp-site-blocks > .wp-block-group.has-global-padding,
body.hg-shop-page-active .template-container,
body.hg-shop-page-active .template-content,
body.hg-shop-page-active .page-wrapper,
body.hg-shop-page-active .content-page {
  background: var(--hg-shop-canvas) !important;
  background-image: none !important;
}

body.hg-shop-page-active *,
body.hg-shop-page-active *::before,
body.hg-shop-page-active *::after {
  box-sizing: border-box;
}

body.hg-shop-page-active :where(h1, h2, h3, h4, h5, h6) {
  color: var(--hg-shop-ink) !important;
  -webkit-text-fill-color: currentColor !important;
  font-family: var(--hg-shop-heading) !important;
  letter-spacing: -.025em !important;
}

body.hg-shop-page-active :where(a, button, input, select, textarea) {
  font-family: var(--hg-shop-body) !important;
}

body.hg-shop-page-active :where(button, a, input, select, textarea):focus-visible {
  outline: 3px solid rgba(183, 71, 44, .24) !important;
  outline-offset: 3px !important;
}

body.hg-shop-page-active .page-heading,
body.hg-shop-page-active .et-fse-page-breadcrumbs,
body.hg-shop-page-active hr.wp-block-separator,
body.hg-shop-page-active .wp-block-separator.alignfull {
  display: none !important;
}

/* Header */
body.hg-shop-page-active nav#hgSiteNav.hg-nav {
  position: sticky !important;
  top: 0 !important;
  z-index: 10040 !important;
  display: flex !important;
  align-items: center !important;
  min-height: 76px !important;
  height: auto !important;
  margin: 0 auto !important;
  padding: 12px 16px !important;
  gap: 16px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--hg-shop-border) !important;
  border-radius: 0 !important;
  background: var(--hg-shop-canvas) !important;
  background-image: none !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  color: var(--hg-shop-ink) !important;
}

body.hg-shop-page-active nav#hgSiteNav .hg-logo {
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  flex: 0 0 auto !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  padding: 0 !important;
  overflow: visible !important;
  text-decoration: none !important;
}

body.hg-shop-page-active nav#hgSiteNav .hg-logo-img {
  width: 42px !important;
  height: 42px !important;
  max-width: 42px !important;
  object-fit: contain !important;
}

body.hg-shop-page-active nav#hgSiteNav .hg-logo::after {
  content: "HiGuppy" !important;
  display: block !important;
  position: static !important;
  color: var(--hg-shop-green) !important;
  -webkit-text-fill-color: var(--hg-shop-green) !important;
  font-family: var(--hg-shop-heading) !important;
  font-size: 28px !important;
  font-weight: 750 !important;
  line-height: 1 !important;
  letter-spacing: -1px !important;
}

body.hg-shop-page-active nav#hgSiteNav .hg-menu {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
}

body.hg-shop-page-active nav#hgSiteNav .hg-menu-links {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 4px !important;
}

body.hg-shop-page-active nav#hgSiteNav .hg-menu a {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 42px !important;
  padding: 8px 10px !important;
  border-radius: 10px !important;
  background: transparent !important;
  color: var(--hg-shop-ink) !important;
  -webkit-text-fill-color: currentColor !important;
  font-size: 14px !important;
  font-weight: 650 !important;
  text-decoration: none !important;
  box-shadow: none !important;
  transform: none !important;
}

body.hg-shop-page-active nav#hgSiteNav .hg-menu a:is(:hover, :focus-visible, .is-active) {
  background: var(--hg-shop-water) !important;
  color: var(--hg-shop-green) !important;
}

body.hg-shop-page-active nav#hgSiteNav .hg-menu a::after,
body.hg-shop-page-active nav#hgSiteNav :is(.hg-menu-spotlight, .hg-menu-note) {
  display: none !important;
  content: none !important;
}

body.hg-shop-page-active nav#hgSiteNav .hg-actions {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  margin-left: auto !important;
}

body.hg-shop-page-active nav#hgSiteNav :is(.hg-action-btn, .hg-menu-toggle) {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 44px !important;
  min-width: 44px !important;
  height: 44px !important;
  min-height: 44px !important;
  padding: 0 !important;
  border: 1px solid var(--hg-shop-border) !important;
  border-radius: 13px !important;
  background: #f1f6f2 !important;
  color: var(--hg-shop-ink) !important;
  -webkit-text-fill-color: currentColor !important;
  box-shadow: none !important;
}

/* Hero */
body.hg-shop-page-active section.hg-shop-visual-hero.hg-shop-visual-hero {
  position: relative !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 300px !important;
  align-items: center !important;
  gap: 18px 32px !important;
  width: min(1320px, 100%) !important;
  max-width: 1320px !important;
  min-height: 0 !important;
  height: auto !important;
  margin: 0 auto 20px !important;
  padding: 28px 32px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: linear-gradient(125deg, #eef7f2 0%, #faf3e6 100%) !important;
  background-image: linear-gradient(125deg, #eef7f2 0%, #faf3e6 100%) !important;
  box-shadow: none !important;
  overflow: visible !important;
}

body.hg-shop-page-active .hg-shop-visual-hero__copy {
  display: block !important;
  width: 100% !important;
  max-width: 720px !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: left !important;
}

body.hg-shop-page-active .hg-shop-visual-hero__breadcrumb {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 8px !important;
  min-height: 28px !important;
  margin: 0 0 8px !important;
  color: var(--hg-shop-muted) !important;
  -webkit-text-fill-color: currentColor !important;
  font-size: 13px !important;
  font-weight: 650 !important;
}

body.hg-shop-page-active .hg-shop-visual-hero__breadcrumb a {
  color: var(--hg-shop-green) !important;
  -webkit-text-fill-color: currentColor !important;
  text-decoration: none !important;
}

body.hg-shop-page-active .hg-shop-visual-hero__eyebrow,
body.hg-shop-page-active .hg-shop-visual-hero__trust,
body.hg-shop-page-active .hg-shop-visual-hero__actions,
body.hg-shop-page-active .hg-shop-visual-hero__categories {
  display: none !important;
}

body.hg-shop-page-active .hg-shop-visual-hero h1,
body.hg-shop-page-active .hg-shop-visual-hero__copy > h1 {
  margin: 0 0 12px !important;
  color: var(--hg-shop-ink) !important;
  -webkit-text-fill-color: var(--hg-shop-ink) !important;
  font-family: var(--hg-shop-heading) !important;
  font-size: clamp(38px, 4vw, 52px) !important;
  font-weight: 750 !important;
  line-height: 1.04 !important;
  letter-spacing: -.035em !important;
  white-space: normal !important;
  text-wrap: pretty !important;
}

body.hg-shop-page-active .hg-shop-visual-hero h1 br {
  display: none !important;
}

body.hg-shop-page-active .hg-shop-visual-hero h1 :is(span, em) {
  display: inline !important;
  color: inherit !important;
  -webkit-text-fill-color: currentColor !important;
  font-style: normal !important;
  background: transparent !important;
}

body.hg-shop-page-active .hg-shop-visual-hero h1 span::after {
  content: " " !important;
}

body.hg-shop-page-active .hg-shop-visual-hero__copy > p,
body.hg-shop-page-active .hg-shop-visual-hero__description {
  max-width: 650px !important;
  margin: 0 !important;
  color: var(--hg-shop-muted) !important;
  -webkit-text-fill-color: currentColor !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 1.55 !important;
}

body.hg-shop-page-active .hg-shop-visual-hero__art {
  position: relative !important;
  inset: auto !important;
  display: block !important;
  width: 100% !important;
  height: 170px !important;
  min-height: 170px !important;
  max-height: 170px !important;
  aspect-ratio: auto !important;
  border: 1px solid rgba(40, 86, 68, .12) !important;
  border-radius: 24px !important;
  background: #dcefe9 !important;
  box-shadow: none !important;
  overflow: hidden !important;
}

body.hg-shop-page-active .hg-shop-aquarium__scene,
body.hg-shop-page-active .hg-shop-visual-hero__art > img.hg-shop-visual-hero__school,
body.hg-shop-page-active .hg-shop-aquarium__scene > img.hg-shop-visual-hero__school {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  margin: 0 !important;
  border-radius: 0 !important;
  object-fit: cover !important;
  object-position: center !important;
  opacity: 1 !important;
  filter: none !important;
  transform: none !important;
  animation: none !important;
}

body.hg-shop-page-active .hg-shop-visual-hero__art :is(.hg-shop-aquarium__glow, .hg-shop-aquarium__bubble, .hg-shop-aquarium__fish) {
  display: none !important;
}

body.hg-shop-page-active .hg-shop-visual-hero__filter {
  grid-column: 1 / -1 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 230px 110px !important;
  align-items: center !important;
  gap: 8px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 8px !important;
  border: 1px solid var(--hg-shop-border) !important;
  border-radius: 14px !important;
  background: #fff !important;
  box-shadow: none !important;
  overflow: hidden !important;
}

body.hg-shop-page-active .hg-shop-visual-hero__filter-search {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  min-width: 0 !important;
}

body.hg-shop-page-active .hg-shop-visual-hero__filter-search svg {
  flex: 0 0 20px !important;
  width: 20px !important;
  height: 20px !important;
  color: var(--hg-shop-muted) !important;
  stroke: currentColor !important;
  fill: none !important;
}

body.hg-shop-page-active .hg-shop-visual-hero__filter :is(input[type="search"], select) {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 44px !important;
  height: 44px !important;
  margin: 0 !important;
  padding: 0 12px !important;
  border: 1px solid #bdcec4 !important;
  border-radius: 9px !important;
  background: #fff !important;
  color: var(--hg-shop-ink) !important;
  -webkit-text-fill-color: currentColor !important;
  font-size: 14px !important;
  box-shadow: none !important;
}

body.hg-shop-page-active .hg-shop-visual-hero__filter-submit {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 44px !important;
  height: 44px !important;
  margin: 0 !important;
  padding: 0 14px !important;
  border: 1px solid var(--hg-shop-green) !important;
  border-radius: 9px !important;
  background: var(--hg-shop-green) !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  font-size: 13px !important;
  font-weight: 750 !important;
  text-transform: uppercase !important;
  letter-spacing: .03em !important;
}

body.hg-shop-page-active .hg-shop-visual-hero__filter-submit:is(:hover, :focus-visible) {
  background: var(--hg-shop-green-hover) !important;
  border-color: var(--hg-shop-green-hover) !important;
}

/* Main catalog */
body.hg-shop-page-active .wp-block-columns:has(.product-filters-wrapper) {
  position: relative !important;
  display: grid !important;
  grid-template-columns: 250px minmax(0, 1fr) !important;
  align-items: start !important;
  gap: 22px !important;
  width:var(--hg-layout-width) !important;
  max-width:var(--hg-layout-max) !important;
  margin: 0 auto 36px !important;
  padding: 0 !important;
 box-sizing:border-box !important; }

body.hg-shop-page-active .wp-block-columns:has(.product-filters-wrapper) > .wp-block-column {
  min-width: 0 !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}

body.hg-shop-page-active .wp-block-columns:has(.product-filters-wrapper) > .wp-block-column:nth-child(2) {
  display: none !important;
}

body.hg-shop-page-active .wp-block-columns:has(.product-filters-wrapper) > .wp-block-column:nth-child(3) {
  grid-column: 2 !important;
}

body.hg-shop-page-active .wp-block-columns:has(.product-filters-wrapper) > .wp-block-column:first-child {
  grid-column: 1 !important;
  position: sticky !important;
  top: 92px !important;
  align-self: start !important;
  padding: 18px !important;
  border: 1px solid var(--hg-shop-border) !important;
  border-radius: 18px !important;
  background: #fff !important;
  box-shadow: 0 8px 24px rgba(31, 61, 43, .05) !important;
}

body.hg-shop-page-active .product-filters-wrapper {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: var(--hg-shop-ink) !important;
  box-shadow: none !important;
}

body.hg-shop-page-active .product-filters-wrapper .wp-block-group.is-layout-flow.wp-block-group-is-layout-flow:has(> .wp-block-woocommerce-product-filter-price) {
  border-bottom: 0 !important;
}

body.hg-shop-page-active .product-filters-wrapper .wp-block-group:has(> .wp-block-woocommerce-product-filter-rating.wc-block-product-filter--hidden:only-child) {
  display: none !important;
}

body.hg-shop-page-active .hg-filter-heading {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  min-height: 24px !important;
  margin: 0 0 10px !important;
  color: var(--hg-shop-ink) !important;
  font-size: 16px !important;
  font-weight: 750 !important;
}

body.hg-shop-page-active .hg-filter-heading strong {
  display: block !important;
  margin: 0 !important;
}

body.hg-shop-page-active .hg-filter-clear {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: var(--hg-shop-green) !important;
  -webkit-text-fill-color: currentColor !important;
  font-size: 13px !important;
  font-weight: 650 !important;
  line-height: 1.3 !important;
  white-space: nowrap !important;
}

body.hg-shop-page-active .product-filters-wrapper :is(.wc-block-product-filter-title, h3, h4) {
  margin: 12px 0 7px !important;
  color: var(--hg-shop-ink) !important;
  -webkit-text-fill-color: currentColor !important;
  font-family: var(--hg-shop-body) !important;
  font-size: 14px !important;
  font-weight: 750 !important;
  line-height: 1.3 !important;
  letter-spacing: 0 !important;
}

body.hg-shop-page-active .product-filters-wrapper .wc-block-product-filter-checkbox-list__item {
  margin: 0 0 3px !important;
}

body.hg-shop-page-active .product-filters-wrapper .wc-block-product-filter-checkbox-list__label {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  min-height: 27px !important;
  margin: 0 !important;
  padding: 2px 0 !important;
  color: var(--hg-shop-ink) !important;
  -webkit-text-fill-color: currentColor !important;
  font-size: 13px !important;
  line-height: 1.3 !important;
}

body.hg-shop-page-active .product-filters-wrapper input[type="checkbox"] {
  position: static !important;
  display: inline-block !important;
  flex: 0 0 16px !important;
  width: 16px !important;
  height: 16px !important;
  min-height: 16px !important;
  margin: 0 !important;
  opacity: 1 !important;
  clip: auto !important;
  clip-path: none !important;
  accent-color: var(--hg-shop-green) !important;
}

body.hg-shop-page-active .wc-block-product-filter-price-slider input[type="range"] {
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* Sidebar policy card */
body.hg-shop-page-active .wp-block-columns:has(.product-filters-wrapper) > .wp-block-column:first-child .wp-block-cover {
  min-height: 0 !important;
  margin-top: 18px !important;
  padding: 18px !important;
  border: 1px solid var(--hg-shop-border) !important;
  border-radius: 16px !important;
  background: linear-gradient(145deg, var(--hg-shop-water), #f8fbf9) !important;
  box-shadow: none !important;
  overflow: hidden !important;
}

body.hg-shop-page-active .wp-block-columns:has(.product-filters-wrapper) > .wp-block-column:first-child .wp-block-cover__background {
  opacity: 0 !important;
}

body.hg-shop-page-active .wp-block-columns:has(.product-filters-wrapper) > .wp-block-column:first-child .wp-block-cover :is(p, span, strong, b) {
  color: var(--hg-shop-ink) !important;
  -webkit-text-fill-color: currentColor !important;
}

body.hg-shop-page-active .wp-block-columns:has(.product-filters-wrapper) > .wp-block-column:first-child .wp-block-cover .wp-block-button__link {
  min-height: 42px !important;
  padding: 9px 13px !important;
  border: 1px solid var(--hg-shop-green) !important;
  border-radius: 10px !important;
  background: var(--hg-shop-green) !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  font-size: 12px !important;
  font-weight: 700 !important;
}

/* Category rail inside product column */
body.hg-shop-page-active .product-categories-section-wrapper.higuppy-shopcat {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  min-height: 0 !important;
  margin: 0 0 14px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: hidden !important;
}

body.hg-shop-page-active .product-categories-section-wrapper.higuppy-shopcat::before,
body.hg-shop-page-active .product-categories-section-wrapper.higuppy-shopcat::after {
  display: none !important;
  content: none !important;
}

body.hg-shop-page-active .higuppy-shopcat__title {
  margin: 0 0 10px !important;
  color: var(--hg-shop-ink) !important;
  -webkit-text-fill-color: currentColor !important;
  font-family: var(--hg-shop-body) !important;
  font-size: 15px !important;
  font-weight: 750 !important;
  line-height: 1.3 !important;
  text-align: left !important;
  letter-spacing: 0 !important;
}

body.hg-shop-page-active .higuppy-shopcat__sub {
  display: none !important;
}

body.hg-shop-page-active .product-categories-section-wrapper.higuppy-shopcat > .is-layout-grid {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 0 8px !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  scrollbar-width: thin !important;
}

body.hg-shop-page-active .product-categories-section-wrapper.higuppy-shopcat .wp-block-cover {
  position: relative !important;
  flex: 0 0 auto !important;
  width: auto !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 42px !important;
  aspect-ratio: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid var(--hg-shop-border) !important;
  border-radius: 999px !important;
  background: var(--hg-shop-water) !important;
  box-shadow: none !important;
  overflow: hidden !important;
}

body.hg-shop-page-active .product-categories-section-wrapper.higuppy-shopcat :is(.wp-block-cover__background, .wp-block-cover__image-background, .hg-shopcat__image) {
  display: none !important;
}

body.hg-shop-page-active .product-categories-section-wrapper.higuppy-shopcat .wp-block-cover__inner-container {
  display: block !important;
  width: auto !important;
  min-width: 0 !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.hg-shop-page-active .product-categories-section-wrapper.higuppy-shopcat .wp-block-cover p {
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  color: var(--hg-shop-green) !important;
  -webkit-text-fill-color: currentColor !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
}

body.hg-shop-page-active .product-categories-section-wrapper.higuppy-shopcat .wp-block-cover p a {
  display: flex !important;
  align-items: center !important;
  min-height: 42px !important;
  padding: 8px 14px !important;
  color: var(--hg-shop-green) !important;
  -webkit-text-fill-color: currentColor !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}

body.hg-shop-page-active .product-categories-section-wrapper.higuppy-shopcat .wp-block-cover:is(:hover, :focus-within) {
  background: #dcefe7 !important;
  border-color: #b8cbc0 !important;
}

/* Results and sorting */
body.hg-shop-page-active .wp-block-group.alignwide:has(.woocommerce-ordering) {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(180px, 230px) !important;
  align-items: center !important;
  gap: 10px !important;
  width: 100% !important;
  margin: 0 0 14px !important;
  padding: 0 !important;
}

body.hg-shop-page-active p.woocommerce-result-count {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: fit-content !important;
  min-height: 38px !important;
  margin: 0 !important;
  padding: 0 11px !important;
  border: 1px solid var(--hg-shop-border) !important;
  border-radius: 10px !important;
  background: #fff !important;
  color: var(--hg-shop-muted) !important;
  -webkit-text-fill-color: currentColor !important;
  font-size: 12px !important;
  font-weight: 650 !important;
  line-height: 1.2 !important;
  box-shadow: none !important;
}

body.hg-shop-page-active .woocommerce-ordering {
  position: relative !important;
  width: 100% !important;
  margin: 0 !important;
}

body.hg-shop-page-active .woocommerce-ordering select.orderby {
  width: 100% !important;
  min-height: 38px !important;
  height: 38px !important;
  margin: 0 !important;
  padding: 0 34px 0 11px !important;
  border: 1px solid var(--hg-shop-border) !important;
  border-radius: 10px !important;
  background-color: #fff !important;
  color: var(--hg-shop-ink) !important;
  -webkit-text-fill-color: currentColor !important;
  font-size: 12px !important;
  font-weight: 650 !important;
  box-shadow: none !important;
}

body.hg-shop-page-active .hg-shop-sort {
  position: relative !important;
  width: 100% !important;
}

body.hg-shop-page-active .orderby.hg-native-sort-select {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

body.hg-shop-page-active .hg-shop-sort__trigger {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  box-sizing: border-box !important;
  width: 100% !important;
  min-height: 44px !important;
  height: auto !important;
  margin: 0 !important;
  padding: 8px 34px 8px 11px !important;
  border: 1px solid var(--hg-shop-border) !important;
  border-radius: 10px !important;
  background-color: #fff !important;
  color: var(--hg-shop-ink) !important;
  -webkit-text-fill-color: currentColor !important;
  font-size: 12px !important;
  font-weight: 650 !important;
  line-height: 1.4 !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  box-shadow: none !important;
}

body.hg-shop-page-active .hg-shop-sort__menu {
  position: absolute !important;
  top: calc(100% + 6px) !important;
  right: 0 !important;
  left: 0 !important;
  z-index: 100 !important;
  box-sizing: border-box !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: min(70vh, 420px) !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  overscroll-behavior: contain !important;
  padding: 6px !important;
  border: 1px solid var(--hg-shop-border) !important;
  border-radius: 12px !important;
  background: #fff !important;
  box-shadow: 0 16px 32px rgba(31, 61, 43, .14) !important;
}

body.hg-shop-page-active .hg-shop-sort__option {
  display: block !important;
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 44px !important;
  height: auto !important;
  padding: 10px 10px !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: transparent !important;
  color: var(--hg-shop-ink) !important;
  -webkit-text-fill-color: currentColor !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  line-height: 1.45 !important;
  text-align: left !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
}

body.hg-shop-page-active .hg-shop-sort__option:is(:hover, :focus-visible, .is-selected) {
  background: var(--hg-shop-water) !important;
  color: var(--hg-shop-green) !important;
}

/* Product grid */
body.hg-shop-page-active :is(ul.wc-block-product-template, ul.products, .wc-block-grid__products) {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  align-items: stretch !important;
  gap: 18px !important;
  width: 100% !important;
  max-width: none !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

body.hg-shop-page-active :is(li.wc-block-product, ul.products li.product, .wc-block-grid__product) {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  min-height: 0 !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid var(--hg-shop-border) !important;
  border-radius: 18px !important;
  background: var(--hg-shop-card) !important;
  background-image: none !important;
  color: var(--hg-shop-ink) !important;
  box-shadow: 0 4px 16px rgba(31, 61, 43, .05) !important;
  overflow: hidden !important;
  transform: none !important;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease !important;
}

body.hg-shop-page-active :is(li.wc-block-product, ul.products li.product):is(:hover, :focus-within) {
  border-color: #b5c7bc !important;
  box-shadow: var(--hg-shop-shadow) !important;
  transform: translateY(-2px) !important;
}

body.hg-shop-page-active li.wc-block-product > .wp-block-group.pos-relative,
body.hg-shop-page-active ul.products li.product :is(.product-image-wrapper, .product-element-top) {
  position: relative !important;
  display: block !important;
  order: 0 !important;
  flex: 0 0 auto !important;
  width: calc(100% - 12px) !important;
  max-width: none !important;
  height: auto !important;
  min-height: 0 !important;
  aspect-ratio: 1 / 1 !important;
  margin: 6px 6px 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 14px !important;
  background: var(--hg-shop-water) !important;
  box-shadow: none !important;
  overflow: hidden !important;
}

body.hg-shop-page-active li.wc-block-product .wc-block-components-product-image {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: var(--hg-shop-water) !important;
}

body.hg-shop-page-active li.wc-block-product .wc-block-components-product-image > a {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.hg-shop-page-active li.wc-block-product .wc-block-components-product-image img,
body.hg-shop-page-active ul.products li.product img {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  object-fit: cover !important;
  object-position: center !important;
  filter: none !important;
  transform: none !important;
}

/* Hide duplicated category badge/excerpt; keep compact stock/provenance row. */
body.hg-shop-page-active li.wc-block-product :is(.taxonomy-product_cat, .hg-shop-card__excerpt, .hg-shop-card__badge) {
  display: none !important;
}

body.hg-shop-page-active li.wc-block-product > .nb-card-meta {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 8px !important;
  width: calc(100% - 28px) !important;
  min-height: 28px !important;
  margin: 11px 14px 6px !important;
  padding: 0 !important;
  color: var(--hg-shop-muted) !important;
  -webkit-text-fill-color: currentColor !important;
  font-size: 11px !important;
  line-height: 1.3 !important;
}

body.hg-shop-page-active .nb-stock {
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  color: var(--hg-shop-green) !important;
  -webkit-text-fill-color: currentColor !important;
  font-size: inherit !important;
  font-weight: 650 !important;
}

body.hg-shop-page-active .nb-stock::before {
  content: "" !important;
  display: inline-block !important;
  width: 5px !important;
  height: 5px !important;
  flex: 0 0 5px !important;
  border-radius: 50% !important;
  background: currentColor !important;
}

body.hg-shop-page-active .nb-provenance {
  color: var(--hg-shop-muted) !important;
  -webkit-text-fill-color: currentColor !important;
  font-size: inherit !important;
}

body.hg-shop-page-active li.wc-block-product > .wp-block-post-title,
body.hg-shop-page-active ul.products li.product :is(.woocommerce-loop-product__title, .product-title, h2) {
  order: 2 !important;
  display: block !important;
  width: calc(100% - 28px) !important;
  min-height: 2.65em !important;
  height: auto !important;
  max-height: none !important;
  margin: 0 14px 10px !important;
  padding: 0 !important;
  color: var(--hg-shop-ink) !important;
  -webkit-text-fill-color: currentColor !important;
  font-family: var(--hg-shop-body) !important;
  font-size: 16px !important;
  font-weight: 750 !important;
  line-height: 1.32 !important;
  letter-spacing: -.02em !important;
  text-align: left !important;
  overflow: visible !important;
}

body.hg-shop-page-active li.wc-block-product > .wp-block-post-title a,
body.hg-shop-page-active ul.products li.product :is(.woocommerce-loop-product__title, .product-title, h2) a {
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
  max-height: 2.65em !important;
  overflow: hidden !important;
  color: inherit !important;
  -webkit-text-fill-color: currentColor !important;
  font: inherit !important;
  line-height: inherit !important;
  text-decoration: none !important;
}

body.hg-shop-page-active li.wc-block-product > .higuppy-shop-card-cta,
body.hg-shop-page-active ul.products li.product .higuppy-shop-card-cta {
  order: 3 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  flex: 0 0 auto !important;
  width: calc(100% - 28px) !important;
  max-width: none !important;
  min-height: 0 !important;
  margin: auto 14px 8px !important;
  padding: 10px 0 0 !important;
  gap: 10px !important;
  border: 0 !important;
  border-top: 1px solid #e3e8e0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.hg-shop-page-active li.wc-block-product .higuppy-shop-card-cta :is(.hg-block-product-buy-row, .hg-block-product-actions-row, .hg-shop-card__footer) {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  gap: 9px !important;
  border: 0 !important;
  background: transparent !important;
}

body.hg-shop-page-active li.wc-block-product .higuppy-shop-card-cta :is(.wp-block-woocommerce-product-price, .wc-block-components-product-price),
body.hg-shop-page-active ul.products li.product .price {
  position: static !important;
  display: block !important;
  flex: 0 0 auto !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: var(--hg-shop-green) !important;
  -webkit-text-fill-color: currentColor !important;
  font-family: var(--hg-shop-body) !important;
  font-size: 18px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  letter-spacing: -.01em !important;
  text-align: left !important;
  white-space: nowrap !important;
  overflow: visible !important;
}

body.hg-shop-page-active li.wc-block-product .higuppy-shop-card-cta .wc-block-components-product-button,
body.hg-shop-page-active li.wc-block-product .higuppy-shop-card-actions {
  position: static !important;
  inset: auto !important;
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* Add to cart and Buy Now have intentionally different visual roles. */
body.hg-shop-page-active li.wc-block-product .wc-block-components-product-button__button,
body.hg-shop-page-active li.wc-block-product .higuppy-shop-card-actions :is(.button, .add_to_cart_button),
body.hg-shop-page-active ul.products li.product .add_to_cart_button {
  position: static !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  min-height: 42px !important;
  height: auto !important;
  margin: 0 !important;
  padding: 9px 10px !important;
  border: 1px solid var(--hg-shop-terra) !important;
  border-radius: 10px !important;
  background: var(--hg-shop-terra) !important;
  background-color: var(--hg-shop-terra) !important;
  background-image: none !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  font-family: var(--hg-shop-body) !important;
  font-size: 13px !important;
  font-weight: 750 !important;
  line-height: 1.2 !important;
  letter-spacing: 0 !important;
  text-align: center !important;
  text-transform: none !important;
  white-space: normal !important;
  box-shadow: none !important;
  transform: none !important;
}

body.hg-shop-page-active li.wc-block-product .wc-block-components-product-button__button:is(:hover, :focus-visible),
body.hg-shop-page-active li.wc-block-product .higuppy-shop-card-actions :is(.button, .add_to_cart_button):is(:hover, :focus-visible),
body.hg-shop-page-active ul.products li.product .add_to_cart_button:is(:hover, :focus-visible) {
  background: var(--hg-shop-terra-hover) !important;
  border-color: var(--hg-shop-terra-hover) !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  filter: none !important;
}

body.hg-shop-page-active li.wc-block-product > .higuppy-shop-buy-now,
body.hg-shop-page-active li.wc-block-product .higuppy-shop-card-cta .higuppy-shop-buy-now,
body.hg-shop-page-active ul.products li.product .higuppy-shop-buy-now {
  position: static !important;
  inset: auto !important;
  order: 4 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 auto !important;
  width: calc(100% - 28px) !important;
  max-width: none !important;
  min-width: 0 !important;
  min-height: 42px !important;
  height: auto !important;
  margin: 0 14px 14px !important;
  padding: 9px 10px !important;
  border: 1px solid var(--hg-shop-green) !important;
  border-radius: 10px !important;
  background: var(--hg-shop-green) !important;
  background-color: var(--hg-shop-green) !important;
  background-image: none !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  font-family: var(--hg-shop-body) !important;
  font-size: 13px !important;
  font-weight: 750 !important;
  line-height: 1.2 !important;
  letter-spacing: 0 !important;
  text-align: center !important;
  text-decoration: none !important;
  text-transform: none !important;
  white-space: normal !important;
  box-shadow: none !important;
  transform: none !important;
}

body.hg-shop-page-active li.wc-block-product .higuppy-shop-card-cta .higuppy-shop-buy-now {
  width: 100% !important;
  margin: 0 !important;
}

body.hg-shop-page-active li.wc-block-product:has(> .higuppy-shop-buy-now) > .higuppy-shop-card-cta {
  margin-bottom: 7px !important;
}

body.hg-shop-page-active li.wc-block-product > .higuppy-shop-buy-now:is(:hover, :focus-visible),
body.hg-shop-page-active li.wc-block-product .higuppy-shop-card-cta .higuppy-shop-buy-now:is(:hover, :focus-visible),
body.hg-shop-page-active ul.products li.product .higuppy-shop-buy-now:is(:hover, :focus-visible) {
  background: var(--hg-shop-green-hover) !important;
  border-color: var(--hg-shop-green-hover) !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  filter: none !important;
}

body.hg-shop-page-active li.wc-block-product .added_to_cart {
  display: block !important;
  min-height: 36px !important;
  padding: 7px 0 !important;
  color: var(--hg-shop-green) !important;
  -webkit-text-fill-color: currentColor !important;
  font-size: 12px !important;
  font-weight: 650 !important;
  text-align: center !important;
}

/* Specificity guard: global design tokens intentionally use a long :not() anchor selector. */
html body.higuppy-site-shell.hg-shop-page-active:not(#hg-shop-css-contract) li.wc-block-product {
  color: var(--hg-shop-ink) !important;
  -webkit-text-fill-color: currentColor !important;
}

html body.higuppy-site-shell.hg-shop-page-active:not(#hg-shop-css-contract) li.wc-block-product > .wp-block-post-title,
html body.higuppy-site-shell.hg-shop-page-active:not(#hg-shop-css-contract) li.wc-block-product > .wp-block-post-title a {
  color: var(--hg-shop-ink) !important;
  -webkit-text-fill-color: currentColor !important;
}

html body.higuppy-site-shell.hg-shop-page-active:not(#hg-shop-css-contract) li.wc-block-product > a.button.higuppy-shop-buy-now,
html body.higuppy-site-shell.hg-shop-page-active:not(#hg-shop-css-contract) li.wc-block-product .higuppy-shop-card-cta a.button.higuppy-shop-buy-now {
  background: var(--hg-shop-green) !important;
  background-color: var(--hg-shop-green) !important;
  border-color: var(--hg-shop-green) !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}

html body.higuppy-site-shell.hg-shop-page-active:not(#hg-shop-css-contract) li.wc-block-product > a.button.higuppy-shop-buy-now:is(:hover, :focus-visible),
html body.higuppy-site-shell.hg-shop-page-active:not(#hg-shop-css-contract) li.wc-block-product .higuppy-shop-card-cta a.button.higuppy-shop-buy-now:is(:hover, :focus-visible) {
  background: var(--hg-shop-green-hover) !important;
  background-color: var(--hg-shop-green-hover) !important;
  border-color: var(--hg-shop-green-hover) !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}

/* Pagination */
body.hg-shop-page-active :is(.wp-block-query-pagination, .woocommerce-pagination) {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  margin: 26px auto 34px !important;
  padding: 0 !important;
}

body.hg-shop-page-active :is(.page-numbers, .wp-block-query-pagination a, .wp-block-query-pagination span) {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 38px !important;
  min-height: 38px !important;
  margin: 0 !important;
  padding: 7px 9px !important;
  border: 1px solid var(--hg-shop-border) !important;
  border-radius: 999px !important;
  background: #fff !important;
  color: var(--hg-shop-green) !important;
  -webkit-text-fill-color: currentColor !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}

body.hg-shop-page-active :is(.page-numbers.current, .wp-block-query-pagination span.current) {
  background: var(--hg-shop-green) !important;
  border-color: var(--hg-shop-green) !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}

/* Footer */
body.hg-shop-page-active .hg-footer-bridge {
  display: none !important;
}

body.hg-shop-page-active .hg-site-footer {
  margin-top: 0 !important;
  padding-top: 40px !important;
  border-radius: 0 !important;
  background: #173f34 !important;
  background-image: none !important;
  color: #f7fbf8 !important;
  box-shadow: none !important;
}

body.hg-shop-page-active .hg-site-footer :is(p, li, a, small, strong, span, button) {
  color: #e7f1e9 !important;
  -webkit-text-fill-color: currentColor !important;
}

body.hg-shop-page-active .hg-site-footer :is(h2, h3) {
  margin: 0 0 8px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: #efca87 !important;
  -webkit-text-fill-color: currentColor !important;
  font-family: var(--hg-shop-body) !important;
  font-size: 14px !important;
  font-weight: 750 !important;
  line-height: 1.4 !important;
  letter-spacing: .04em !important;
  box-shadow: none !important;
}

body.hg-shop-page-active .hg-site-footer h3::before {
  display: none !important;
}

body.hg-shop-page-active .hg-site-footer :is(.hg-container, .hg-footer-bottom) {
  width: min(1180px, calc(100% - 40px)) !important;
  max-width: 1180px !important;
}

body.hg-shop-page-active .hg-site-footer .hg-footer-links a {
  display: flex !important;
  align-items: center !important;
  min-height: 38px !important;
  padding: 5px 0 !important;
  font-size: 13px !important;
  line-height: 1.5 !important;
  text-decoration: none !important;
}

body.hg-shop-page-active .hg-site-footer a:hover {
  color: #efca87 !important;
  text-decoration: underline !important;
}

body.hg-shop-page-active .hg-site-footer .hg-footer-bottom {
  margin-top: 22px !important;
  padding: 18px 0 !important;
  border-top: 1px solid rgba(255,255,255,.14) !important;
}

body.hg-shop-page-active :is(.hg-footer-trust, .hg-footer-note) {
  white-space: normal !important;
  font-size: 12px !important;
  line-height: 1.55 !important;
}

/* Desktop */
@media (min-width: 901px) {
  body.hg-shop-page-active nav#hgSiteNav .hg-menu-toggle {
    display: none !important;
  }

  body.hg-shop-page-active .wc-block-product-filters__open-overlay,
  body.hg-shop-page-active .wc-block-product-filters__overlay-header,
  body.hg-shop-page-active .wc-block-product-filters__overlay-footer {
    display: none !important;
  }

  body.hg-shop-page-active .wc-block-product-filters__overlay,
  body.hg-shop-page-active .wc-block-product-filters__overlay-wrapper,
  body.hg-shop-page-active .wc-block-product-filters__overlay-dialog,
  body.hg-shop-page-active .wc-block-product-filters__overlay-content {
    position: static !important;
    display: block !important;
    width: 100% !important;
    height: auto !important;
    max-width: none !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible !important;
  }
}

/* Tablet + mobile */
@media (max-width: 900px) {
  body.hg-shop-page-active nav#hgSiteNav.hg-nav {
    top: 8px !important;
    min-height: 64px !important;
    height: 64px !important;
    margin: 8px auto 0 !important;
    padding: 8px 10px !important;
    gap: 7px !important;
    border: 1px solid var(--hg-shop-border) !important;
    border-radius: 18px !important;
  }

  body.hg-shop-page-active nav#hgSiteNav .hg-logo-img {
    width: 30px !important;
    height: 34px !important;
    max-width: 30px !important;
  }

  body.hg-shop-page-active nav#hgSiteNav .hg-logo::after {
    font-size: 24px !important;
  }

  body.hg-shop-page-active nav#hgSiteNav .hg-menu {
    position: absolute !important;
    top: calc(100% + 8px) !important;
    left: 0 !important;
    right: 0 !important;
    display: none !important;
    width: 100% !important;
    max-width: none !important;
    max-height: calc(100dvh - 92px) !important;
    padding: 10px !important;
    border: 1px solid var(--hg-shop-border) !important;
    border-radius: 18px !important;
    background: var(--hg-shop-canvas) !important;
    box-shadow: 0 18px 42px rgba(31, 61, 43, .14) !important;
    overflow-y: auto !important;
  }

  body.hg-shop-page-active nav#hgSiteNav.is-open .hg-menu {
    display: flex !important;
  }

  body.hg-shop-page-active nav#hgSiteNav .hg-menu-links {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    width: 100% !important;
    gap: 4px !important;
  }

  body.hg-shop-page-active nav#hgSiteNav .hg-menu a {
    display: flex !important;
    min-height: 46px !important;
    padding: 9px 13px !important;
  }

  body.hg-shop-page-active section.hg-shop-visual-hero.hg-shop-visual-hero {
    grid-template-columns: minmax(0, 1fr) 240px !important;
    gap: 16px 22px !important;
    padding: 24px 20px !important;
  }

  body.hg-shop-page-active .hg-shop-visual-hero__art {
    height: 150px !important;
    min-height: 150px !important;
    max-height: 150px !important;
  }

  body.hg-shop-page-active .hg-shop-visual-hero__filter {
    grid-template-columns: minmax(0, 1fr) 190px 100px !important;
  }

  body.hg-shop-page-active .wp-block-columns:has(.product-filters-wrapper) {
    display: block !important;
    width:var(--hg-layout-width) !important;
    max-width:var(--hg-layout-max) !important;
    margin-bottom: 28px !important;
   box-sizing:border-box !important; }

  body.hg-shop-page-active .wp-block-columns:has(.product-filters-wrapper) > .wp-block-column:first-child {
    position: absolute !important;
    inset: 0 !important;
    z-index: 10050 !important;
    width: 100% !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    pointer-events: none !important;
  }

  body.hg-shop-page-active .product-filters-wrapper,
  body.hg-shop-page-active .wc-block-product-filters {
    width: 100% !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    pointer-events: none !important;
  }

  body.hg-shop-page-active .wc-block-product-filters > *:not(.wc-block-product-filters__open-overlay):not(.wc-block-product-filters__overlay) {
    display: none !important;
  }

  body.hg-shop-page-active .wc-block-product-filters__open-overlay {
    position: fixed !important;
    left: 12px !important;
    bottom: 92px !important;
    z-index: 10060 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 46px !important;
    min-width: 46px !important;
    height: 46px !important;
    min-height: 46px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid var(--hg-shop-border) !important;
    border-radius: 50% !important;
    background: #fff !important;
    color: var(--hg-shop-green) !important;
    -webkit-text-fill-color: currentColor !important;
    box-shadow: 0 10px 24px rgba(31, 61, 43, .16) !important;
    pointer-events: auto !important;
  }

  body.hg-shop-page-active .wc-block-product-filters__open-overlay span {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
  }

  body.hg-shop-page-active .wc-block-product-filters__overlay {
    display: none !important;
  }

  body.hg-shop-page-active .wc-block-product-filters.is-overlay-opened .wc-block-product-filters__overlay {
    position: fixed !important;
    inset: 0 !important;
    z-index: 10075 !important;
    display: block !important;
    width: 100vw !important;
    height: 100dvh !important;
    background: rgba(20, 45, 36, .24) !important;
    pointer-events: auto !important;
  }

  body.hg-shop-page-active .wc-block-product-filters.is-overlay-opened .wc-block-product-filters__overlay-wrapper {
    position: fixed !important;
    inset: 0 !important;
    z-index: 10080 !important;
    display: block !important;
    width: 100vw !important;
    height: 100dvh !important;
    pointer-events: auto !important;
  }

  body.hg-shop-page-active .wc-block-product-filters.is-overlay-opened .wc-block-product-filters__overlay-dialog {
    position: fixed !important;
    inset: 12px 12px auto !important;
    z-index: 10081 !important;
    display: flex !important;
    flex-direction: column !important;
    width: auto !important;
    height: auto !important;
    max-height: calc(100dvh - 24px) !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid var(--hg-shop-border) !important;
    border-radius: 18px !important;
    background: var(--hg-shop-canvas) !important;
    box-shadow: 0 24px 60px rgba(31,61,43,.24) !important;
    overflow: hidden !important;
    pointer-events: auto !important;
  }

  body.hg-shop-page-active .wc-block-product-filters__overlay-header {
    flex: 0 0 auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    padding: 10px 12px 0 !important;
  }

  body.hg-shop-page-active .wc-block-product-filters__close-overlay {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 44px !important;
    min-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    padding: 0 !important;
    border: 1px solid var(--hg-shop-border) !important;
    border-radius: 12px !important;
    background: #fff !important;
    color: var(--hg-shop-ink) !important;
    pointer-events: auto !important;
  }

  body.hg-shop-page-active .wc-block-product-filters.is-overlay-opened .wc-block-product-filters__overlay-content {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    padding: 8px 16px 10px !important;
    overflow-y: auto !important;
    pointer-events: auto !important;
  }

  body.hg-shop-page-active .wc-block-product-filters.is-overlay-opened .wc-block-product-filters__overlay-footer {
    flex: 0 0 auto !important;
    display: block !important;
    padding: 10px 16px 14px !important;
    background: var(--hg-shop-canvas) !important;
    box-shadow: 0 -3px 8px rgba(31,61,43,.06) !important;
    pointer-events: auto !important;
  }

  body.hg-shop-page-active .wc-block-product-filters__apply {
    width: 100% !important;
    min-height: 44px !important;
    border: 1px solid var(--hg-shop-green) !important;
    border-radius: 10px !important;
    background: var(--hg-shop-green) !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    font-weight: 700 !important;
  }

  body.hg-shop-page-active :is(ul.wc-block-product-template, ul.products, .wc-block-grid__products) {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px !important;
  }

  body.hg-shop-page-active .hg-site-footer :is(.hg-container, .hg-footer-bottom) {
    width: calc(100% - 32px) !important;
  }
}

/* Phone */
@media (max-width: 600px) {
  body.hg-shop-page-active section.hg-shop-visual-hero.hg-shop-visual-hero {
    display: block !important;
    width: 100% !important;
    margin: 0 0 16px !important;
    padding: 22px 16px !important;
  }

  body.hg-shop-page-active .hg-shop-visual-hero h1,
  body.hg-shop-page-active .hg-shop-visual-hero__copy > h1 {
    font-size: 34px !important;
  }

  body.hg-shop-page-active .hg-shop-visual-hero__art {
    display: none !important;
  }

  body.hg-shop-page-active .hg-shop-visual-hero__filter {
    grid-template-columns: 1fr !important;
    gap: 8px !important;
    margin-top: 18px !important;
    padding: 8px !important;
  }

  body.hg-shop-page-active .hg-shop-visual-hero__filter-search {
    display: grid !important;
    grid-template-columns: 20px minmax(0,1fr) !important;
  }

  body.hg-shop-page-active .wp-block-columns:has(.product-filters-wrapper) {
    width:var(--hg-layout-width) !important;
    margin-bottom: 24px !important;
   max-width:var(--hg-layout-max) !important;  box-sizing:border-box !important; }

  body.hg-shop-page-active .product-categories-section-wrapper.higuppy-shopcat {
    margin-bottom: 10px !important;
  }

  body.hg-shop-page-active .wp-block-group.alignwide:has(.woocommerce-ordering) {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: 8px !important;
  }

  body.hg-shop-page-active p.woocommerce-result-count,
  body.hg-shop-page-active .hg-shop-sort__trigger,
  body.hg-shop-page-active .woocommerce-ordering select.orderby {
    width: 100% !important;
    min-width: 0 !important;
    font-size: 11px !important;
  }

  /* Compact two-column phone catalog; keep both purchase actions tappable. */
  body.hg-shop-page-active :is(ul.wc-block-product-template, ul.products, .wc-block-grid__products) {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px 10px !important;
  }

  body.hg-shop-page-active :is(li.wc-block-product, ul.products li.product, .wc-block-grid__product) {
    border-radius: 14px !important;
  }

  body.hg-shop-page-active li.wc-block-product > .wp-block-group.pos-relative,
  body.hg-shop-page-active ul.products li.product :is(.product-image-wrapper, .product-element-top) {
    width: calc(100% - 8px) !important;
    margin: 4px 4px 0 !important;
    border-radius: 10px !important;
  }

  body.hg-shop-page-active li.wc-block-product > .nb-card-meta,
  body.hg-shop-page-active li.wc-block-product > .wp-block-post-title,
  body.hg-shop-page-active li.wc-block-product > .higuppy-shop-card-cta,
  body.hg-shop-page-active li.wc-block-product > .higuppy-shop-buy-now {
    width: calc(100% - 16px) !important;
    margin-left: 8px !important;
    margin-right: 8px !important;
  }

  body.hg-shop-page-active li.wc-block-product > .nb-card-meta {
    min-height: 18px !important;
    margin-top: 7px !important;
    margin-bottom: 4px !important;
    gap: 4px !important;
    font-size: 11px !important;
  }

  body.hg-shop-page-active li.wc-block-product .nb-provenance {
    display: none !important;
  }

  body.hg-shop-page-active li.wc-block-product > .wp-block-post-title {
    min-height: 3.9em !important;
    margin-bottom: 6px !important;
    font-size: 13px !important;
    line-height: 1.3 !important;
  }

  body.hg-shop-page-active li.wc-block-product > .wp-block-post-title a {
    -webkit-line-clamp: 3 !important;
    max-height: 3.9em !important;
  }

  body.hg-shop-page-active li.wc-block-product > .higuppy-shop-card-cta {
    margin-bottom: 6px !important;
    padding-top: 8px !important;
    gap: 7px !important;
  }

  body.hg-shop-page-active li.wc-block-product .higuppy-shop-card-cta :is(.hg-block-product-buy-row, .hg-block-product-actions-row, .hg-shop-card__footer) {
    gap: 7px !important;
  }

  body.hg-shop-page-active li.wc-block-product .higuppy-shop-card-cta :is(.wp-block-woocommerce-product-price, .wc-block-components-product-price) {
    font-size: 16px !important;
  }

  body.hg-shop-page-active li.wc-block-product .wc-block-components-product-button__button,
  body.hg-shop-page-active li.wc-block-product > .higuppy-shop-buy-now {
    min-height: 44px !important;
    padding: 8px 4px !important;
    border-radius: 8px !important;
    font-size: 12px !important;
  }

  body.hg-shop-page-active li.wc-block-product > .higuppy-shop-buy-now {
    margin-bottom: 8px !important;
  }

  body.hg-shop-page-active .hg-site-footer {
    padding-top: 28px !important;
  }

  body.hg-shop-page-active .hg-site-footer .hg-footer-nav-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 22px 16px !important;
  }
}

@media (max-width: 359px) {
  body.hg-shop-page-active nav#hgSiteNav .hg-logo-img {
    display: none !important;
  }

  body.hg-shop-page-active nav#hgSiteNav .hg-logo::after {
    font-size: 21px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.hg-shop-page-active *,
  body.hg-shop-page-active *::before,
  body.hg-shop-page-active *::after {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }
}

/* Mobile Shop — one bounded owner, 2026-09-06.
 * Replaces the earlier compact patch. A named layer keeps these scoped
 * important declarations ahead of unlayered legacy shell/typography rules.
 * Desktop declarations above remain unchanged; WooCommerce owns behavior.
 */
@layer hg-shop-mobile {
  @media (max-width: 600px) {
    html:has(body.hg-shop-page-active),
    body.hg-shop-page-active {
      background: var(--hg-shop-canvas, #fffdf8) !important;
      background-image: none !important;
      margin: 0 !important;
      padding: 0 !important;
      max-width: 100% !important;
    }
    body.hg-shop-page-active .higuppy-shop-shell,
    body.hg-shop-page-active > .wp-site-blocks,
    body.hg-shop-page-active > .wp-site-blocks > main,
    body.hg-shop-page-active > .wp-site-blocks > .wp-block-group.has-global-padding {
      width: 100% !important;
      max-width: none !important;
      margin: 0 !important;
      padding: 0 !important;
      background: transparent !important;
      border: 0 !important;
      box-shadow: none !important;
    }

    /* Brand and action hit areas have separate dimensions. */
    body.hg-shop-page-active nav#hgSiteNav.hg-nav {
      position: sticky !important;
      top: 8px !important;
      z-index: 10040 !important;
      display: flex !important;
      align-items: center !important;
      justify-content: flex-start !important;
      min-height: 64px !important;
      height: 64px !important;
      margin: 8px auto 0 !important;
      padding: 8px 10px !important;
      gap: 6px !important;
      border: 1px solid var(--hg-shop-border) !important;
      border-radius: 16px !important;
      background: var(--hg-shop-canvas) !important;
      box-shadow: none !important;
      backdrop-filter: none !important;
      -webkit-backdrop-filter: none !important;
      overflow: visible !important;
    }
    body.hg-shop-page-active nav#hgSiteNav .hg-logo {
      display: inline-flex !important;
      align-items: center !important;
      justify-content: flex-start !important;
      flex: 0 0 auto !important;
      width: max-content !important;
      min-width: 0 !important;
      max-width: none !important;
      height: 44px !important;
      min-height: 44px !important;
      margin: 0 !important;
      padding: 0 !important;
      gap: 4px !important;
      border: 0 !important;
      border-radius: 0 !important;
      background: transparent !important;
      overflow: visible !important;
      transform: none !important;
    }
    body.hg-shop-page-active nav#hgSiteNav .hg-logo-img {
      display: block !important;
      position: static !important;
      flex: 0 0 28px !important;
      width: 28px !important;
      min-width: 28px !important;
      max-width: 28px !important;
      height: 30px !important;
      margin: 0 !important;
      padding: 0 !important;
      border: 0 !important;
      border-radius: 0 !important;
      object-fit: contain !important;
      transform: none !important;
    }
    body.hg-shop-page-active nav#hgSiteNav .hg-logo::after {
      content: "HiGuppy" !important;
      display: block !important;
      position: static !important;
      flex: 0 0 auto !important;
      width: auto !important;
      height: auto !important;
      margin: 0 !important;
      color: var(--hg-shop-green) !important;
      -webkit-text-fill-color: currentColor !important;
      font-family: var(--hg-shop-heading) !important;
      font-size: 24px !important;
      line-height: 1 !important;
      font-weight: 750 !important;
      letter-spacing: -.7px !important;
      white-space: nowrap !important;
      transform: none !important;
    }
    body.hg-shop-page-active nav#hgSiteNav .hg-actions {
      display: flex !important;
      flex: 0 0 auto !important;
      align-items: center !important;
      gap: 3px !important;
      margin: 0 0 0 auto !important;
      padding: 0 !important;
    }
    body.hg-shop-page-active nav#hgSiteNav :is(.hg-action-btn, .hg-menu-toggle) {
      display: inline-flex !important;
      flex: 0 0 44px !important;
      align-items: center !important;
      justify-content: center !important;
      width: 44px !important;
      min-width: 44px !important;
      max-width: 44px !important;
      height: 44px !important;
      min-height: 44px !important;
      padding: 0 !important;
      margin: 0 !important;
      border: 0 !important;
      border-radius: 12px !important;
      background: transparent !important;
      color: var(--hg-shop-green) !important;
      -webkit-text-fill-color: currentColor !important;
      box-shadow: none !important;
      transform: none !important;
    }
    body.hg-shop-page-active nav#hgSiteNav .hg-menu-toggle {
      background: var(--hg-shop-water) !important;
    }
    body.hg-shop-page-active nav#hgSiteNav :is(.hg-action-btn, .hg-menu-toggle) svg {
      display: block !important;
      width: 21px !important;
      height: 21px !important;
      margin: 0 !important;
      color: var(--hg-shop-green) !important;
    }
    body.hg-shop-page-active nav#hgSiteNav .na2-menu-icon {
      fill: none !important;
      stroke: currentColor !important;
      stroke-width: 1.8 !important;
      stroke-linecap: round !important;
    }
    body.hg-shop-page-active nav#hgSiteNav .na2-menu-close,
    body.hg-shop-page-active nav#hgSiteNav [aria-expanded="true"] .na2-menu-bars,
    body.hg-shop-page-active nav#hgSiteNav :is(.hg-logo, .hg-menu-toggle)::before,
    body.hg-shop-page-active nav#hgSiteNav .hg-menu-toggle::after,
    body.hg-shop-page-active nav#hgSiteNav :is(.hg-menu-spotlight, .hg-menu-note) {
      display: none !important;
    }
    body.hg-shop-page-active nav#hgSiteNav [aria-expanded="true"] .na2-menu-close { display: block !important; }
    body.hg-shop-page-active nav#hgSiteNav .hg-menu {
      position: absolute !important;
      inset: calc(100% + 8px) 0 auto !important;
      display: none !important;
      width: 100% !important;
      height: auto !important;
      max-height: calc(100dvh - 96px) !important;
      margin: 0 !important;
      padding: 8px !important;
      border: 1px solid var(--hg-shop-border) !important;
      border-radius: 16px !important;
      background: var(--hg-shop-canvas) !important;
      box-shadow: 0 12px 28px rgba(31,61,43,.12) !important;
      overflow: auto !important;
      transform: none !important;
    }
    body.hg-shop-page-active nav#hgSiteNav.is-open .hg-menu { display: block !important; }
    body.hg-shop-page-active nav#hgSiteNav .hg-menu-links {
      display: flex !important;
      flex-direction: column !important;
      align-items: stretch !important;
      gap: 2px !important;
      width: 100% !important;
    }
    body.hg-shop-page-active nav#hgSiteNav .hg-menu-links a {
      display: flex !important;
      width: 100% !important;
      min-height: 44px !important;
      margin: 0 !important;
      padding: 9px 12px !important;
      font-size: 15px !important;
      color: var(--hg-shop-ink) !important;
      -webkit-text-fill-color: currentColor !important;
    }

    /* No trust carousel or nested search card on the first phone screen. */
    body.hg-shop-page-active section.hg-shop-visual-hero.hg-shop-visual-hero {
      display: block !important;
      width: calc(100% - 28px) !important;
      max-width: none !important;
      min-height: 0 !important;
      height: auto !important;
      margin: 0 auto 14px !important;
      padding: 16px 0 !important;
      border: 0 !important;
      border-bottom: 1px solid var(--hg-shop-border) !important;
      border-radius: 0 !important;
      background: transparent !important;
      background-image: none !important;
      box-shadow: none !important;
      overflow: visible !important;
    }
    body.hg-shop-page-active .hg-shop-visual-hero__copy {
      display: block !important;
      width: 100% !important;
      max-width: none !important;
      min-height: 0 !important;
      margin: 0 !important;
      padding: 0 !important;
      text-align: left !important;
    }
    body.hg-shop-page-active :is(.hg-shop-visual-hero__trust, .hg-shop-visual-hero__art, .hg-shop-visual-hero__actions, .hg-shop-visual-hero__eyebrow, .hg-shop-visual-hero__categories),
    body.hg-shop-page-active .hg-shop-visual-hero::before,
    body.hg-shop-page-active .hg-shop-visual-hero::after { display: none !important; }
    body.hg-shop-page-active .hg-shop-visual-hero__breadcrumb {
      display: flex !important;
      align-items: center !important;
      min-height: 24px !important;
      height: auto !important;
      margin: 0 0 6px !important;
      padding: 0 !important;
      gap: 6px !important;
      font-size: 12px !important;
      line-height: 1.4 !important;
    }
    body.hg-shop-page-active .hg-shop-visual-hero__breadcrumb :is(a,span) {
      display: inline-flex !important;
      align-items: center !important;
      min-width: 0 !important;
      min-height: 24px !important;
      padding: 0 !important;
      margin: 0 !important;
      font: inherit !important;
      color: var(--hg-shop-muted) !important;
      -webkit-text-fill-color: currentColor !important;
    }
    body.hg-shop-page-active .hg-shop-visual-hero h1 {
      margin: 0 0 8px !important;
      padding: 0 !important;
      font-family: var(--hg-shop-heading) !important;
      font-size: clamp(28px, 7.7vw, 32px) !important;
      font-weight: 750 !important;
      line-height: 1.1 !important;
      letter-spacing: -.025em !important;
      color: var(--hg-shop-ink) !important;
      -webkit-text-fill-color: currentColor !important;
      white-space: normal !important;
    }
    body.hg-shop-page-active .hg-shop-visual-hero h1 :is(span,em) {
      display: inline !important;
      font: inherit !important;
      color: var(--hg-shop-ink) !important;
      -webkit-text-fill-color: currentColor !important;
    }
    body.hg-shop-page-active .hg-shop-visual-hero__description {
      margin: 0 !important;
      max-width: none !important;
      font-size: 14px !important;
      line-height: 1.5 !important;
      color: var(--hg-shop-muted) !important;
      -webkit-text-fill-color: currentColor !important;
    }
    body.hg-shop-page-active .hg-shop-visual-hero__filter {
      display: grid !important;
      grid-template-columns: minmax(0,1fr) 90px !important;
      gap: 8px !important;
      width: 100% !important;
      margin: 14px 0 0 !important;
      padding: 0 !important;
      border: 0 !important;
      border-radius: 0 !important;
      background: transparent !important;
      box-shadow: none !important;
      overflow: visible !important;
    }
    body.hg-shop-page-active .hg-shop-visual-hero__filter-search {
      grid-column: 1 / -1 !important;
      display: flex !important;
      align-items: center !important;
      gap: 8px !important;
      width: 100% !important;
      min-width: 0 !important;
      height: 46px !important;
      padding: 0 12px !important;
      border: 1px solid var(--hg-shop-border-strong) !important;
      border-radius: 10px !important;
      background: #fff !important;
    }
    body.hg-shop-page-active .hg-shop-visual-hero__filter-search svg {
      flex: 0 0 18px !important;
      width: 18px !important;
      height: 18px !important;
    }
    body.hg-shop-page-active .hg-shop-visual-hero__filter-search input[type="search"] {
      flex: 1 1 auto !important;
      width: 100% !important;
      min-width: 0 !important;
      min-height: 44px !important;
      height: 44px !important;
      padding: 0 !important;
      margin: 0 !important;
      border: 0 !important;
      border-radius: 0 !important;
      background: transparent !important;
      font-size: 16px !important;
      font-weight: 400 !important;
      line-height: normal !important;
      color: var(--hg-shop-ink) !important;
      -webkit-text-fill-color: currentColor !important;
      box-shadow: none !important;
    }
    body.hg-shop-page-active #hg-shop-search::placeholder {
      color: var(--hg-shop-muted) !important;
      -webkit-text-fill-color: currentColor !important;
      opacity: 1 !important;
    }
    body.hg-shop-page-active .hg-shop-visual-hero__filter-select {
      grid-column: 1 !important;
      width: 100% !important;
      min-width: 0 !important;
      min-height: 46px !important;
      height: 46px !important;
      margin: 0 !important;
      padding: 0 30px 0 12px !important;
      border: 1px solid var(--hg-shop-border-strong) !important;
      border-radius: 10px !important;
      background-color: #fff !important;
      color: var(--hg-shop-ink) !important;
      font-size: 16px !important;
      font-weight: 400 !important;
      line-height: normal !important;
      box-shadow: none !important;
    }
    body.hg-shop-page-active .hg-shop-visual-hero__filter-submit {
      grid-column: 2 !important;
      min-width: 0 !important;
      min-height: 46px !important;
      height: 46px !important;
      margin: 0 !important;
      padding: 0 10px !important;
      border: 1px solid var(--hg-shop-green) !important;
      border-radius: 10px !important;
      background: var(--hg-shop-green) !important;
      color: #fff !important;
      -webkit-text-fill-color: #fff !important;
      font-size: 13px !important;
      letter-spacing: 0 !important;
    }

    /* The helper heading lives inside the drawer, not over the category rail. */
    body.hg-shop-page-active .wp-block-columns:has(.product-filters-wrapper) {
      display: block !important;
      position: relative !important;
      width:var(--hg-layout-width) !important;
      max-width:var(--hg-layout-max) !important;
      min-height: 0 !important;
      margin: 0 auto 24px !important;
      padding: 0 !important;
      background: transparent !important;
     box-sizing:border-box !important; }
    body.hg-shop-page-active .wp-block-columns:has(.product-filters-wrapper) > .wp-block-column:first-child {
      position: absolute !important;
      inset: 0 auto auto 0 !important;
      z-index: 20 !important;
      width: 44px !important;
      height: 44px !important;
      min-height: 0 !important;
      margin: 0 !important;
      padding: 0 !important;
      border: 0 !important;
      border-radius: 0 !important;
      background: transparent !important;
      box-shadow: none !important;
      backdrop-filter: none !important;
      -webkit-backdrop-filter: none !important;
      overflow: visible !important;
      pointer-events: none !important;
    }
    body.hg-shop-page-active .wp-block-columns:has(.product-filters-wrapper) > .wp-block-column:first-child:has(.is-overlay-opened) { z-index: 10060 !important; }
    body.hg-shop-page-active .product-filters-wrapper,
    body.hg-shop-page-active .wc-block-product-filters {
      width: 44px !important;
      min-height: 0 !important;
      height: 44px !important;
      margin: 0 !important;
      padding: 0 !important;
      border: 0 !important;
      border-radius: 0 !important;
      background: transparent !important;
      box-shadow: none !important;
      overflow: visible !important;
      pointer-events: none !important;
    }
    body.hg-shop-page-active .product-filters-wrapper > .hg-filter-heading,
    body.hg-shop-page-active .wp-block-columns:has(.product-filters-wrapper) > .wp-block-column:first-child .hidden-xs,
    body.hg-shop-page-active .wc-block-product-filters > :not(.wc-block-product-filters__open-overlay):not(.wc-block-product-filters__overlay) { display: none !important; }
    body.hg-shop-page-active .wc-block-product-filters__open-overlay {
      position: absolute !important;
      inset: 0 auto auto 0 !important;
      z-index: 21 !important;
      display: inline-flex !important;
      align-items: center !important;
      justify-content: center !important;
      width: 44px !important;
      min-width: 44px !important;
      min-height: 44px !important;
      height: 44px !important;
      margin: 0 !important;
      padding: 0 !important;
      border: 1px solid var(--hg-shop-border-strong) !important;
      border-radius: 10px !important;
      background: #fff !important;
      color: var(--hg-shop-green) !important;
      box-shadow: none !important;
      pointer-events: auto !important;
    }
    body.hg-shop-page-active .wc-block-product-filters__open-overlay svg {
      width: 24px !important;
      height: 24px !important;
      flex: 0 0 24px !important;
    }
    body.hg-shop-page-active .wc-block-product-filters__open-overlay span,
    body.hg-shop-page-active .wc-block-product-filters__close-overlay span {
      position: absolute !important;
      width: 1px !important;
      height: 1px !important;
      min-width: 0 !important;
      padding: 0 !important;
      margin: -1px !important;
      overflow: hidden !important;
      clip-path: inset(50%) !important;
      white-space: nowrap !important;
    }
    body.hg-shop-page-active .wc-block-product-filters__overlay { display: none !important; }
    body.hg-shop-page-active .wc-block-product-filters.is-overlay-opened .wc-block-product-filters__overlay {
      display: block !important;
      position: fixed !important;
      inset: 0 !important;
      z-index: 10075 !important;
      width: 100% !important;
      height: 100dvh !important;
      background: rgba(20,45,36,.3) !important;
      pointer-events: auto !important;
    }
    body.hg-shop-page-active .wc-block-product-filters.is-overlay-opened .wc-block-product-filters__overlay-wrapper {
      display: block !important;
      position: absolute !important;
      inset: 0 !important;
      width: 100% !important;
      height: 100% !important;
      background: transparent !important;
      pointer-events: auto !important;
    }
    body.hg-shop-page-active .wc-block-product-filters.is-overlay-opened .wc-block-product-filters__overlay-dialog {
      position: absolute !important;
      inset: max(12px, env(safe-area-inset-top, 0px)) 12px max(12px, env(safe-area-inset-bottom, 0px)) !important;
      display: flex !important;
      flex-direction: column !important;
      width: auto !important;
      height: auto !important;
      max-height: calc(100dvh - 24px) !important;
      margin: 0 !important;
      padding: 0 !important;
      border: 1px solid var(--hg-shop-border) !important;
      border-radius: 18px !important;
      background: var(--hg-shop-canvas) !important;
      color: var(--hg-shop-ink) !important;
      box-shadow: 0 12px 44px rgba(20,45,36,.16) !important;
      overflow: hidden !important;
      transform: none !important;
      pointer-events: auto !important;
    }
    body.hg-shop-page-active .wc-block-product-filters__overlay-header {
      display: flex !important;
      flex-direction: row !important;
      flex: 0 0 auto !important;
      align-items: center !important;
      justify-content: space-between !important;
      gap: 8px !important;
      min-height: 60px !important;
      padding: 8px 12px !important;
      border-bottom: 1px solid var(--hg-shop-border) !important;
      background: var(--hg-shop-canvas) !important;
    }
    body.hg-shop-page-active .wc-block-product-filters__overlay-header .hg-filter-heading {
      display: flex !important;
      flex: 1 1 auto !important;
      align-items: center !important;
      justify-content: space-between !important;
      gap: 10px !important;
      margin: 0 !important;
      padding: 0 !important;
      color: var(--hg-shop-ink) !important;
    }
    body.hg-shop-page-active .wc-block-product-filters__overlay-header .hg-filter-heading strong {
      color: var(--hg-shop-ink) !important;
      font-size: 18px !important;
    }
    body.hg-shop-page-active .wc-block-product-filters__overlay-header .hg-filter-clear {
      display: inline-flex !important;
      align-items: center !important;
      width: auto !important;
      min-height: 44px !important;
      padding: 0 8px !important;
      border: 0 !important;
      background: transparent !important;
      color: var(--hg-shop-green) !important;
      font-size: 13px !important;
      white-space: nowrap !important;
      text-decoration: underline !important;
      pointer-events: auto !important;
    }
    body.hg-shop-page-active .wc-block-product-filters__close-overlay {
      flex: 0 0 44px !important;
      width: 44px !important;
      min-width: 44px !important;
      height: 44px !important;
      min-height: 44px !important;
      margin: 0 !important;
      padding: 0 !important;
      border: 1px solid var(--hg-shop-border) !important;
      border-radius: 10px !important;
      background: #fff !important;
      color: var(--hg-shop-ink) !important;
    }
    body.hg-shop-page-active .wc-block-product-filters.is-overlay-opened .wc-block-product-filters__overlay-content {
      display: flex !important;
      flex-direction: column !important;
      flex: 1 1 auto !important;
      min-height: 0 !important;
      padding: 8px 16px 14px !important;
      gap: 14px !important;
      overflow: auto !important;
      overscroll-behavior: contain !important;
      pointer-events: auto !important;
    }
    body.hg-shop-page-active .wc-block-product-filters__overlay-content :is([hidden], .wc-block-product-filter--hidden) { display: none !important; }
    /* Keep fieldset legends accessible without painting a duplicate heading. */
    body.hg-shop-page-active .wc-block-product-filters__overlay-content .screen-reader-text {
      position: absolute !important;
      inset: auto !important;
      display: block !important;
      width: 1px !important;
      height: 1px !important;
      min-width: 0 !important;
      min-height: 0 !important;
      max-width: 1px !important;
      max-height: 1px !important;
      margin: -1px !important;
      padding: 0 !important;
      border: 0 !important;
      overflow: hidden !important;
      clip: rect(0, 0, 0, 0) !important;
      clip-path: inset(50%) !important;
      white-space: nowrap !important;
    }
    body.hg-shop-page-active .wc-block-product-filters.is-overlay-opened .wc-block-product-filters__overlay-footer {
      display: block !important;
      flex: 0 0 auto !important;
      padding: 10px 16px 14px !important;
      border-top: 1px solid var(--hg-shop-border) !important;
      background: var(--hg-shop-canvas) !important;
      box-shadow: none !important;
    }
    body.hg-shop-page-active .wc-block-product-filters__apply {
      display: flex !important;
      align-items: center !important;
      justify-content: center !important;
      width: 100% !important;
      min-height: 46px !important;
      margin: 0 !important;
      border: 1px solid var(--hg-shop-green) !important;
      border-radius: 10px !important;
      background: var(--hg-shop-green) !important;
      color: #fff !important;
      -webkit-text-fill-color: #fff !important;
      font-size: 15px !important;
    }

    /* One-row collection shortcuts with visible horizontal continuation. */
    body.hg-shop-page-active .product-categories-section-wrapper.higuppy-shopcat {
      width: 100% !important;
      max-width: none !important;
      margin: 0 0 10px !important;
      padding: 0 !important;
      border: 0 !important;
      background: transparent !important;
      overflow: visible !important;
    }
    body.hg-shop-page-active .higuppy-shopcat__title {
      display: flex !important;
      align-items: center !important;
      width: 100% !important;
      max-width: none !important;
      min-height: 44px !important;
      height: auto !important;
      margin: 0 0 8px !important;
      padding: 0 0 0 54px !important;
      font-family: var(--hg-shop-body) !important;
      font-size: 18px !important;
      font-weight: 700 !important;
      line-height: 1.3 !important;
      letter-spacing: -.02em !important;
      color: var(--hg-shop-ink) !important;
      -webkit-text-fill-color: currentColor !important;
      text-align: left !important;
    }
    body.hg-shop-page-active .higuppy-shopcat__title::after,
    body.hg-shop-page-active .higuppy-shopcat__title::before,
    body.hg-shop-page-active .higuppy-shopcat__sub { display: none !important; }
    body.hg-shop-page-active .higuppy-shopcat > .is-layout-grid {
      display: flex !important;
      flex-wrap: nowrap !important;
      gap: 8px !important;
      width: 100% !important;
      max-width: 100% !important;
      margin: 0 !important;
      padding: 0 0 4px !important;
      overflow-x: auto !important;
      overflow-y: hidden !important;
      scroll-snap-type: x proximity !important;
      scrollbar-width: none !important;
    }
    body.hg-shop-page-active .higuppy-shopcat > .is-layout-grid::-webkit-scrollbar { display: none !important; }
    body.hg-shop-page-active .higuppy-shopcat .wp-block-cover {
      display: block !important;
      flex: 0 0 auto !important;
      width: auto !important;
      min-width: 0 !important;
      min-height: 44px !important;
      height: auto !important;
      aspect-ratio: auto !important;
      margin: 0 !important;
      padding: 0 !important;
      border: 1px solid var(--hg-shop-border) !important;
      border-radius: 999px !important;
      background: #fff !important;
      box-shadow: none !important;
      scroll-snap-align: start !important;
    }
    body.hg-shop-page-active .higuppy-shopcat :is(.wp-block-cover__background, .wp-block-cover__image-background, .hg-shopcat__image),
    body.hg-shop-page-active .higuppy-shopcat .wp-block-cover::before,
    body.hg-shop-page-active .higuppy-shopcat .wp-block-cover::after { display: none !important; }
    body.hg-shop-page-active .higuppy-shopcat .wp-block-cover__inner-container {
      width: auto !important;
      margin: 0 !important;
      padding: 0 !important;
    }
    body.hg-shop-page-active .higuppy-shopcat .wp-block-cover p {
      margin: 0 !important;
      padding: 0 !important;
      color: var(--hg-shop-green) !important;
    }
    body.hg-shop-page-active .higuppy-shopcat .wp-block-cover p a {
      display: flex !important;
      align-items: center !important;
      min-height: 44px !important;
      margin: 0 !important;
      padding: 8px 13px !important;
      font-family: var(--hg-shop-body) !important;
      font-size: 13px !important;
      font-weight: 650 !important;
      line-height: 1.3 !important;
      color: var(--hg-shop-green) !important;
      -webkit-text-fill-color: currentColor !important;
      white-space: nowrap !important;
      text-decoration: none !important;
    }
    body.hg-shop-page-active .hidden-xs.wp-block-spacer { display: none !important; }

    /* Use Woo's native select on phones; avoid a second custom popup. */
    body.hg-shop-page-active .wp-block-group.alignwide:has(.woocommerce-ordering) {
      display: grid !important;
      grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr) !important;
      align-items: center !important;
      gap: 10px !important;
      width: 100% !important;
      margin: 0 0 12px !important;
      padding: 0 !important;
      border: 0 !important;
      background: transparent !important;
    }
    body.hg-shop-page-active p.woocommerce-result-count {
      display: block !important;
      width: 100% !important;
      min-width: 0 !important;
      min-height: 0 !important;
      height: auto !important;
      margin: 0 !important;
      padding: 0 !important;
      border: 0 !important;
      background: transparent !important;
      color: var(--hg-shop-muted) !important;
      -webkit-text-fill-color: currentColor !important;
      font-size: 12px !important;
      font-weight: 500 !important;
      line-height: 1.4 !important;
      white-space: nowrap !important;
    }
    body.hg-shop-page-active .wc-block-catalog-sorting,
    body.hg-shop-page-active .woocommerce-ordering {
      width: 100% !important;
      min-width: 0 !important;
      margin: 0 !important;
      padding: 0 !important;
    }
    body.hg-shop-page-active .hg-shop-sort { display: none !important; }
    body.hg-shop-page-active .woocommerce-ordering select.orderby {
      position: static !important;
      display: block !important;
      width: 100% !important;
      min-width: 0 !important;
      min-height: 44px !important;
      height: 44px !important;
      max-height: none !important;
      margin: 0 !important;
      padding: 0 27px 0 10px !important;
      border: 1px solid var(--hg-shop-border) !important;
      border-radius: 10px !important;
      background-color: #fff !important;
      color: var(--hg-shop-ink) !important;
      -webkit-text-fill-color: currentColor !important;
      font-size: 14px !important;
      font-weight: 500 !important;
      line-height: normal !important;
      letter-spacing: 0 !important;
      text-transform: none !important;
      white-space: nowrap !important;
      box-shadow: none !important;
      opacity: 1 !important;
      visibility: visible !important;
      pointer-events: auto !important;
      clip: auto !important;
      clip-path: none !important;
    }
  }
  @media (max-width: 359px) {
    body.hg-shop-page-active nav#hgSiteNav .hg-logo-img { display: none !important; }
    body.hg-shop-page-active nav#hgSiteNav .hg-logo::after { font-size: 22px !important; }
    body.hg-shop-page-active p.woocommerce-result-count { font-size: 11px !important; }
    body.hg-shop-page-active .woocommerce-ordering select.orderby { font-size: 13px !important; }
  }
}

/* Restore the full Shop wordmark after the shared shell's icon-only rule. */
html body.higuppy-site-shell.hg-shop-page-active nav#hgSiteNav.hg-nav .hg-logo {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  flex: 0 0 auto !important;
  width: max-content !important;
  min-width: 0 !important;
  max-width: none !important;
  overflow: visible !important;
}

@media (min-width: 901px) {
  html body.higuppy-site-shell.hg-shop-page-active nav#hgSiteNav.hg-nav .hg-logo-img {
    width: 42px !important;
    min-width: 42px !important;
    max-width: 42px !important;
    height: 42px !important;
    max-height: 42px !important;
  }
}

/* Flatten the Shop canvas and restore its intended warm/deep-green surfaces. */
html:has(body.higuppy-site-shell.hg-shop-page-active):not(:has(body.hg-blog-active)),
html body.higuppy-site-shell.hg-shop-page-active {
  background: #fffdf8 !important;
  background-image: none !important;
}

html body.higuppy-site-shell.hg-shop-page-active::before {
  background: transparent !important;
  background-image: none !important;
}

html body.higuppy-site-shell.hg-shop-page-active > nav#hgSiteNav.hg-nav,
html body.higuppy-site-shell.hg-shop-page-active > .wp-site-blocks,
html body.higuppy-site-shell.hg-shop-page-active > .wp-site-blocks > main,
html body.higuppy-site-shell.hg-shop-page-active > .wp-site-blocks > .wp-block-group.has-global-padding,
html body.higuppy-site-shell.hg-shop-page-active .template-container,
html body.higuppy-site-shell.hg-shop-page-active .template-content,
html body.higuppy-site-shell.hg-shop-page-active .page-wrapper,
html body.higuppy-site-shell.hg-shop-page-active .content-page {
  background: transparent !important;
  background-image: none !important;
}

html body.higuppy-site-shell.hg-shop-page-active .hg-shop-visual-hero {
  background: #fffdf8 !important;
  background-image: none !important;
}

@layer hg-natural-v2 {
  html body.higuppy-site-shell.hg-shop-page-active .hg-site-footer {
    background: #173f34 !important;
    background-image: none !important;
    color: #f7fbf8 !important;
  }

  html body.higuppy-site-shell.hg-shop-page-active .hg-site-footer :is(p, li, a, small, strong, span, button) {
    color: #e7f1e9 !important;
    -webkit-text-fill-color: currentColor !important;
  }

  html body.higuppy-site-shell.hg-shop-page-active .hg-site-footer :is(h2, h3) {
    margin: 0 0 8px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #efca87 !important;
    -webkit-text-fill-color: currentColor !important;
  }

  html body.higuppy-site-shell.hg-shop-page-active .hg-site-footer h3::before {
    display: none !important;
    content: none !important;
  }

  html body.higuppy-site-shell.hg-shop-page-active .hg-site-footer :is(.hg-footer-layout, .hg-footer-bottom) {
    background: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
  }
}

/* Keep the legacy close control dormant until its filter state is active. */
html body.higuppy-site-shell.hg-shop-page-active:not(.higuppy-shop-filters-open) button.higuppy-shop-filter-close {
	display: none !important;
	visibility: hidden !important;
	pointer-events: none !important;
}

/* Explicit retail/reference modes. Presentation remains in this Shop file. */
@layer hg-catalog {
 body.hg-shop-page-active .hg-catalog-mode-bar { width:100% !important; margin:0 0 20px !important; padding:16px !important; border:1px solid #d8dfd0 !important; border-radius:14px !important; background:#f1f6ef !important; }
 body.hg-shop-page-active .hg-catalog-mode-bar nav { display:flex !important; flex-wrap:wrap !important; gap:8px !important; }
 body.hg-shop-page-active .hg-catalog-mode-bar a { display:inline-flex !important; align-items:center !important; justify-content:center !important; min-height:44px !important; padding:10px 14px !important; border:1px solid #bccfbf !important; border-radius:9px !important; background:#fffdf8 !important; color:#285644 !important; -webkit-text-fill-color:currentColor !important; font-size:14px !important; font-weight:650 !important; text-decoration:none !important; }
 body.hg-shop-page-active .hg-catalog-mode-bar a[aria-current=page] { color:#fff !important; -webkit-text-fill-color:#fff !important; background:#285644 !important; border-color:#285644 !important; }
 body.hg-shop-page-active .hg-catalog-mode-bar p { margin:10px 0 0 !important; font-size:13px !important; line-height:1.6 !important; color:#52675e !important; }
 body.hg-shop-page-active li.wc-block-product:is(.product_cat-reference-guppy-catalog,:has([data-higuppy-wholesale-quote="1"])) { display:flex !important; flex-direction:column !important; padding:0 0 12px !important; }
 body.hg-shop-page-active li.wc-block-product:is(.product_cat-reference-guppy-catalog,:has([data-higuppy-wholesale-quote="1"])) > .wp-block-group.pos-relative { display:contents !important; }
 body.hg-shop-page-active li.wc-block-product:is(.product_cat-reference-guppy-catalog,:has([data-higuppy-wholesale-quote="1"])) .wc-block-components-product-image { position:relative !important; inset:auto !important; order:0 !important; width:calc(100% - 12px) !important; height:auto !important; aspect-ratio:1!important; margin:6px 6px 0 !important; border-radius:12px !important; overflow:hidden !important; }
 body.hg-shop-page-active li.wc-block-product:is(.product_cat-reference-guppy-catalog,:has([data-higuppy-wholesale-quote="1"])) .wc-block-components-product-image > a { display:block !important; width:100% !important; height:100% !important; }
 body.hg-shop-page-active li.wc-block-product:is(.product_cat-reference-guppy-catalog,:has([data-higuppy-wholesale-quote="1"])) .wc-block-components-product-image img { position:absolute !important; inset:0 !important; width:100% !important; height:100% !important; object-fit:cover !important; }
 body.hg-shop-page-active li.wc-block-product:is(.product_cat-reference-guppy-catalog,:has([data-higuppy-wholesale-quote="1"])) .nb-card-meta { order:1 !important; min-height:0 !important; margin:10px 12px 6px !important; width:calc(100% - 24px) !important; flex-wrap:wrap !important; font-size:12px !important; }
 body.hg-shop-page-active li.wc-block-product:is(.product_cat-reference-guppy-catalog,:has([data-higuppy-wholesale-quote="1"])) > .wp-block-post-title { order:2 !important; min-height:2.8em !important; height:auto !important; max-height:none !important; margin:0 12px 10px !important; width:calc(100% - 24px) !important; padding:0 !important; }
 body.hg-shop-page-active li.wc-block-product:is(.product_cat-reference-guppy-catalog,:has([data-higuppy-wholesale-quote="1"])) :is(.higuppy-catalog-reference-price-block,.higuppy-commerce-quote-price-block) { order:3 !important; display:block !important; width:calc(100% - 24px) !important; margin:0 12px 12px !important; padding:10px 0 0 !important; border-top:1px solid #d8dfd0 !important; font-size:13px !important; line-height:1.6 !important; color:#52675e !important; }
 body.hg-shop-page-active li.wc-block-product:is(.product_cat-reference-guppy-catalog,:has([data-higuppy-wholesale-quote="1"])) .higuppy-catalog-reference-price :is(span,strong) { font-size:13px !important; font-weight:500 !important; color:inherit !important; }
 body.hg-shop-page-active li.wc-block-product:is(.product_cat-reference-guppy-catalog,:has([data-higuppy-wholesale-quote="1"])) :is(.higuppy-catalog-reference-button,.higuppy-commerce-quote-button) { position:static !important; inset:auto !important; order:4 !important; display:block !important; width:calc(100% - 24px) !important; min-width:0 !important; height:auto !important; margin:auto 12px 0 !important; padding:0 !important; opacity:1 !important; visibility:visible !important; transform:none !important; background:transparent !important; }
 body.hg-shop-page-active li.wc-block-product:is(.product_cat-reference-guppy-catalog,:has([data-higuppy-wholesale-quote="1"])) :is(.higuppy-catalog-reference-cta,.higuppy-commerce-quote-link) { display:flex !important; align-items:center !important; justify-content:center !important; width:100% !important; min-height:44px !important; padding:10px 8px !important; border:1px solid #285644 !important; border-radius:9px !important; background:#285644 !important; color:#fff !important; -webkit-text-fill-color:#fff !important; font-size:13px !important; font-weight:650 !important; text-align:center !important; text-transform:none !important; white-space:normal !important; line-height:1.4 !important; box-shadow:none !important; }
 body.hg-shop-page-active li.wc-block-product:is(.product_cat-reference-guppy-catalog,:has([data-higuppy-wholesale-quote="1"])) :is(.higuppy-shop-buy-now,.hg-shop-card__excerpt,.taxonomy-product_cat) { display:none !important; }
 body.hg-shop-page-active .product-filters-wrapper input[type=checkbox] { width:18px !important; height:18px !important; min-height:18px !important; border:1px solid #9cae9f !important; accent-color:#285644; }
 body.hg-shop-page-active .product-filters-wrapper :is(input[type=number],.wc-block-product-filter-price-slider__range-text-input) { min-height:44px !important; max-width:100% !important; border:1px solid #b9cbbf !important; border-radius:8px !important; padding:8px !important; color:#203d32 !important; font-size:14px !important; }
 @media(min-width:901px) { body.hg-shop-page-active .wp-block-column:has(>.product-filters-wrapper) { top:88px !important; } }
 @media(max-width:600px) { body.hg-shop-page-active .hg-catalog-mode-bar { padding:12px !important; } body.hg-shop-page-active .hg-catalog-mode-bar nav { display:grid !important; grid-template-columns:1fr !important; } }
}

/* Shop editorial V1 — only /shop/. Native catalog/filter/card owners stay above. */
@layer hg-catalog {
 body.hg-shop-editorial { --hgse-width:var(--hg-layout-width); --hgse-ink:#203d32; --hgse-muted:#53695d; --hgse-line:#d7e1d3; }
 body.hg-shop-editorial .higuppy-shop-shell { width:var(--hgse-width) !important; max-width:var(--hg-layout-max) !important; margin:24px auto 26px !important; padding:0 !important; border:0 !important; background:transparent !important; }
 body.hg-shop-editorial .hgse-hero { display:grid !important; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) !important; gap:20px 30px !important; align-items:center !important; width:100% !important; margin:0 !important; padding:24px !important; border:1px solid var(--hgse-line) !important; border-radius:26px !important; background:linear-gradient(120deg,#f2f7ee,#fffdf8 70%) !important; overflow:hidden !important; }
 body.hg-shop-editorial .hgse-copy { min-width:0 !important; padding:0 4px !important; }
 body.hg-shop-editorial .hgse-breadcrumb { display:flex !important; gap:10px !important; align-items:center !important; margin:0 0 20px !important; font-size:12px !important; color:var(--hgse-muted) !important; }
 body.hg-shop-editorial .hgse-breadcrumb :is(a,span) { min-height:20px !important; height:auto !important; padding:0 !important; font-size:12px !important; line-height:1.5 !important; }
 body.hg-shop-editorial .hgse-breadcrumb a { color:var(--hgse-muted) !important; text-decoration:none !important; }
 body.hg-shop-editorial .hgse-kicker { margin:0 0 10px !important; font-size:11px !important; font-weight:750 !important; line-height:1.5 !important; letter-spacing:.13em !important; color:#4b705c !important; text-transform:uppercase !important; }
 body.hg-shop-editorial .hgse-copy h1 { font-size:clamp(38px,3.55vw,50px) !important; font-weight:750 !important; line-height:1.08 !important; letter-spacing:-.032em !important; margin:0 0 16px !important; padding:0 !important; color:var(--hgse-ink) !important; height:auto !important; max-height:none !important; text-align:left !important; }
 body.hg-shop-editorial .hgse-copy h1 em { font-style:normal !important; color:#427354 !important; }
 body.hg-shop-editorial .hgse-lead { max-width:510px !important; margin:0 0 22px !important; color:var(--hgse-muted) !important; font-size:16px !important; line-height:1.7 !important; text-align:left !important; }
 body.hg-shop-editorial .hgse-actions { display:flex !important; flex-wrap:wrap !important; gap:10px !important; margin:0 !important; }
 body.hg-shop-editorial :is(.hgse-button,.hgse-search-submit) { display:inline-flex !important; align-items:center !important; justify-content:center !important; gap:12px !important; min-height:46px !important; padding:11px 18px !important; border:1px solid #285644 !important; border-radius:10px !important; color:#fff !important; -webkit-text-fill-color:#fff !important; background:#285644 !important; font-size:14px !important; font-weight:650 !important; line-height:1.4 !important; text-decoration:none !important; text-transform:none !important; box-shadow:none !important; }
 body.hg-shop-editorial .hgse-button--terra { background:#b7472c !important; border-color:#b7472c !important; }
 body.hg-shop-editorial :is(.hgse-button,.hgse-search-submit) span { color:#fff !important; -webkit-text-fill-color:#fff !important; }
 body.hg-shop-editorial :is(.hgse-button,.hgse-search-submit):is(:hover,:focus-visible,:active) { color:#fff !important; -webkit-text-fill-color:#fff !important; filter:brightness(.94); }
 body.hg-shop-editorial .hgse-art { position:relative !important; align-self:stretch !important; display:block !important; min-width:0 !important; min-height:300px !important; margin:0 !important; border-radius:22px 22px 54px 22px !important; overflow:hidden !important; background:#cbe6d7 !important; }
 body.hg-shop-editorial .hgse-art>img { position:absolute !important; inset:0 !important; width:100% !important; height:100% !important; object-fit:cover !important; margin:0 !important; border:0 !important; border-radius:0 !important; }
 body.hg-shop-editorial .hgse-art-label { position:absolute !important; left:20px !important; bottom:43px !important; right:20px !important; width:fit-content !important; max-width:calc(100% - 40px) !important; padding:13px 16px !important; border:1px solid #ffffff88 !important; border-radius:12px !important; background:#fffdf8ed !important; color:var(--hgse-ink) !important; }
 body.hg-shop-editorial .hgse-art-label span { display:block !important; font-size:9px !important; letter-spacing:.12em !important; line-height:1.4 !important; margin-bottom:4px !important; }
 body.hg-shop-editorial .hgse-art-label strong { font-size:18px !important; line-height:1.3 !important; font-weight:650 !important; }
 body.hg-shop-editorial .hgse-art figcaption { position:absolute !important; inset:auto 0 0 !important; display:block !important; padding:10px 18px !important; background:#173f34ec !important; color:#fff !important; font-size:11px !important; line-height:1.5 !important; }
 body.hg-shop-editorial form.hgse-search { position:static !important; grid-column:1/-1 !important; display:grid !important; grid-template-columns:170px minmax(0,1fr) 200px auto !important; align-items:center !important; gap:12px !important; width:100% !important; max-width:none !important; margin:0 !important; padding:18px 0 0 !important; border:0 !important; border-top:1px solid var(--hgse-line) !important; border-radius:0 !important; background:transparent !important; box-shadow:none !important; }
 body.hg-shop-editorial .hgse-search-heading strong { display:block !important; color:var(--hgse-ink) !important; font-size:16px !important; line-height:1.4 !important; }
 body.hg-shop-editorial .hgse-search-heading span { display:block !important; color:var(--hgse-muted) !important; font-size:12px !important; line-height:1.5 !important; }
 body.hg-shop-editorial .hgse-query { display:flex !important; align-items:center !important; gap:10px !important; margin:0 !important; padding:0 12px !important; min-width:0 !important; height:48px !important; border:1px solid #bfd0c3 !important; border-radius:9px !important; background:#fff !important; color:#63796c !important; }
 body.hg-shop-editorial .hgse-query svg { flex:0 0 18px !important; width:18px !important; height:18px !important; }
 body.hg-shop-editorial .hgse-query input[type=search] { flex:1 !important; min-width:0 !important; width:100% !important; max-width:none !important; height:44px !important; margin:0 !important; padding:0 !important; border:0 !important; background:transparent !important; font-size:14px !important; color:var(--hgse-ink) !important; box-shadow:none !important; }
 body.hg-shop-editorial .hgse-select { display:block !important; min-width:0 !important; margin:0 !important; }
 body.hg-shop-editorial .hgse-select select { display:block !important; width:100% !important; min-width:0 !important; height:48px !important; min-height:48px !important; margin:0 !important; padding:10px 32px 10px 12px !important; border:1px solid #bfd0c3 !important; border-radius:9px !important; background-color:#fff !important; color:var(--hgse-ink) !important; font-size:14px !important; }
 body.hg-shop-editorial .hgse-search-submit { height:48px !important; white-space:nowrap !important; }
 body.hg-shop-editorial .wp-block-columns:has(.product-filters-wrapper) { width:var(--hg-layout-width) !important; max-width:var(--hg-layout-max) !important; gap:24px !important; grid-template-columns:230px minmax(0,1fr) !important; margin:0 auto 36px !important;  box-sizing:border-box !important; }
 @media(min-width:901px) { body.hg-shop-editorial .wp-block-columns:has(.product-filters-wrapper)>.wp-block-column:first-child { padding:18px !important; border-radius:15px !important; box-shadow:none !important; } }
 body.hg-shop-editorial .wp-block-column:has(>.hgse-collections)>.wp-block-spacer { display:none !important; }
 body.hg-shop-editorial .hgse-collections { display:block !important; margin:0 0 14px !important; padding:0 !important; width:100% !important; }
 body.hg-shop-editorial .hgse-collections-heading { display:flex !important; flex-wrap:wrap !important; align-items:center !important; justify-content:space-between !important; gap:8px !important; margin:0 0 12px !important; }
 body.hg-shop-editorial .hgse-collections-heading h2 { font-size:23px !important; line-height:1.25 !important; margin:0 !important; color:var(--hgse-ink) !important; }
 body.hg-shop-editorial .hgse-collections-heading>a { min-height:32px !important; display:inline-flex !important; align-items:center !important; gap:8px !important; color:#285644 !important; font-size:13px !important; text-decoration:none !important; }
 body.hg-shop-editorial .hgse-category-links { display:grid !important; grid-template-columns:repeat(5,minmax(0,1fr)) !important; gap:8px !important; width:100% !important; }
 body.hg-shop-editorial .hgse-category-links a { position:relative !important; display:flex !important; flex-direction:column !important; justify-content:center !important; align-items:flex-start !important; min-width:0 !important; min-height:72px !important; padding:10px 25px 10px 12px !important; border:1px solid var(--hgse-line) !important; border-radius:12px !important; background:#f1f6ef !important; color:#285644 !important; text-decoration:none !important; }
 body.hg-shop-editorial .hgse-category-links a>span { font-size:10px !important; line-height:1.5 !important; color:#5b7263 !important; margin-bottom:3px !important; }
 body.hg-shop-editorial .hgse-category-links a>strong { font-size:14px !important; line-height:1.35 !important; font-weight:650 !important; }
 body.hg-shop-editorial .hgse-category-links a>b { position:absolute !important; right:9px !important; top:50% !important; transform:translateY(-50%); font-size:14px !important; font-weight:400 !important; }
 body.hg-shop-editorial .hgse-category-links a:hover { background:#e4eedf !important; border-color:#a8c0ab !important; }
 body.hg-shop-editorial .hgse-catalog-note { display:flex !important; flex-wrap:wrap !important; justify-content:space-between !important; align-items:center !important; gap:8px 20px !important; margin:0 0 16px !important; padding:0 0 14px !important; border:0 !important; border-bottom:1px solid var(--hgse-line) !important; border-radius:0 !important; background:transparent !important; }
 body.hg-shop-editorial .hgse-catalog-note p { flex:1 1 250px !important; font-size:12px !important; line-height:1.6 !important; margin:0 !important; color:var(--hgse-muted) !important; }
 body.hg-shop-editorial .hgse-catalog-note a { display:inline-flex !important; align-items:center !important; min-height:36px !important; padding:0 !important; border:0 !important; border-radius:0 !important; background:transparent !important; color:#285644 !important; font-size:12px !important; font-weight:650 !important; text-decoration:underline !important; text-underline-offset:3px; }
 body.hg-shop-editorial p.woocommerce-result-count { border:0 !important; background:transparent !important; padding:0 !important; font-size:13px !important; font-weight:500 !important; color:var(--hgse-muted) !important; justify-content:flex-start !important; }
 body.hg-shop-editorial .hgse-results-intro { margin:0 !important; padding:12px 0 0 !important; }
 body.hg-shop-editorial .hgse-results-intro h1 { margin:0 0 8px !important; font-size:36px !important; line-height:1.2 !important; color:var(--hgse-ink) !important; }
 body.hg-shop-editorial .hgse-results-intro>a { display:inline-flex !important; align-items:center !important; min-height:36px !important; color:#285644 !important; font-size:14px !important; }
 body.hg-shop-editorial .hgse-editorial { width:var(--hgse-width) !important; max-width:var(--hg-layout-max) !important; margin:20px auto 58px !important; color:var(--hgse-ink) !important; }
 body.hg-shop-editorial .hgse-editorial section { scroll-margin-top:96px !important; }
 body.hg-shop-editorial .hgse-section-heading { display:grid !important; grid-template-columns:1fr 1fr !important; gap:36px !important; align-items:end !important; margin:0 0 24px !important; }
 body.hg-shop-editorial .hgse-editorial h2 { margin:0 0 12px !important; font-size:clamp(28px,2.7vw,38px) !important; line-height:1.14 !important; letter-spacing:-.02em !important; color:var(--hgse-ink) !important; }
 body.hg-shop-editorial .hgse-editorial p { margin:0 0 14px !important; font-size:15px !important; line-height:1.7 !important; text-align:left !important; color:var(--hgse-muted) !important; }
 body.hg-shop-editorial .hgse-editorial .hgse-kicker { font-size:11px !important; margin-bottom:10px !important; }
 body.hg-shop-editorial .hgse-format-grid { display:grid !important; grid-template-columns:repeat(4,minmax(0,1fr)) !important; gap:16px !important; }
 body.hg-shop-editorial .hgse-format-card { display:flex !important; flex-direction:column !important; min-width:0 !important; padding:22px !important; background:#fffdf8 !important; border:1px solid var(--hgse-line) !important; border-radius:16px !important; }
 body.hg-shop-editorial .hgse-number { width:34px !important; height:34px !important; display:grid !important; place-items:center !important; margin:0 0 18px !important; background:#e6efdf !important; color:#406d4f !important; border-radius:9px !important; font-size:12px !important; font-weight:700 !important; }
 body.hg-shop-editorial .hgse-format-card .hgse-format-label { margin:0 0 8px !important; color:#4c7357 !important; font-size:12px !important; font-weight:700 !important; }
 body.hg-shop-editorial .hgse-format-card h3 { font-size:22px !important; line-height:1.2 !important; margin:0 0 12px !important; color:var(--hgse-ink) !important; }
 body.hg-shop-editorial .hgse-format-card>p:not(.hgse-format-label) { font-size:14px !important; }
 body.hg-shop-editorial :is(.hgse-format-card>a,.hgse-help-link,.hgse-faq-answer a) { display:inline-flex !important; align-items:center !important; justify-content:space-between !important; gap:12px !important; min-height:44px !important; color:#285644 !important; font-size:13px !important; font-weight:650 !important; text-decoration:none !important; }
 body.hg-shop-editorial .hgse-format-card>a { margin-top:auto !important; }
 body.hg-shop-editorial .hgse-arrival { display:grid !important; grid-template-columns:1fr 1.2fr !important; gap:48px !important; margin:36px 0 !important; padding:36px !important; border:0 !important; border-radius:22px !important; background:#214c3d !important; }
 body.hg-shop-editorial .hgse-arrival :is(h2,p,strong,a,span,b) { color:#fffdf8 !important; -webkit-text-fill-color:currentColor !important; }
 body.hg-shop-editorial .hgse-arrival p { color:#dae6dc !important; }
 body.hg-shop-editorial .hgse-arrival .hgse-kicker { color:#e2c887 !important; }
 body.hg-shop-editorial .hgse-arrival-link { display:inline-flex !important; align-items:center !important; gap:18px !important; min-height:44px !important; font-size:14px !important; font-weight:650 !important; text-decoration:underline !important; text-underline-offset:4px; }
 body.hg-shop-editorial .hgse-arrival-steps { display:flex !important; flex-direction:column !important; }
 body.hg-shop-editorial .hgse-arrival-steps>a { display:grid !important; grid-template-columns:36px 1fr 18px !important; gap:14px !important; align-items:start !important; padding:16px 0 !important; border-bottom:1px solid #ffffff2a !important; text-decoration:none !important; }
 body.hg-shop-editorial .hgse-arrival-steps>a:first-child { padding-top:0 !important; }
 body.hg-shop-editorial .hgse-arrival-steps>a:last-child { border-bottom:0 !important; padding-bottom:0 !important; }
 body.hg-shop-editorial .hgse-arrival-steps>a>span { display:grid !important; place-items:center !important; width:34px !important; height:34px !important; border:1px solid #ffffff40 !important; border-radius:9px !important; font-size:11px !important; }
 body.hg-shop-editorial .hgse-arrival-steps strong { font-size:16px !important; font-weight:650 !important; line-height:1.4 !important; }
 body.hg-shop-editorial .hgse-arrival-steps p { font-size:13px !important; line-height:1.6 !important; margin:4px 0 0 !important; }
 body.hg-shop-editorial .hgse-arrival-steps b { font-size:18px !important; font-weight:400 !important; }
 body.hg-shop-editorial .hgse-faq { display:grid !important; grid-template-columns:.8fr 1.2fr !important; gap:50px !important; margin:42px 0 0 !important; }
 body.hg-shop-editorial .hgse-faq-items { display:grid !important; gap:12px !important; border-top:0 !important; }
 body.hg-shop-editorial .hgse-faq-items details { box-sizing:border-box !important; min-width:0 !important; margin:0 !important; padding:0 !important; border:1px solid var(--hgse-line) !important; border-radius:14px !important; background:#fffdf8 !important; box-shadow:none !important; }
 body.hg-shop-editorial .hgse-faq-items summary { box-sizing:border-box !important; display:flex !important; width:100% !important; height:auto !important; min-height:60px !important; justify-content:space-between !important; align-items:center !important; gap:14px !important; margin:0 !important; padding:14px 56px 14px 18px !important; color:var(--hgse-ink) !important; list-style:none !important; font-size:16px !important; font-weight:650 !important; line-height:1.5 !important; white-space:normal !important; overflow-wrap:anywhere !important; word-break:normal !important; cursor:pointer; }
 body.hg-shop-editorial .hgse-faq-items summary::-webkit-details-marker { display:none; }
 body.hg-shop-editorial .hgse-faq .hgse-faq-items summary:focus-visible { outline:3px solid #285644 !important; outline-offset:2px !important; border-radius:10px !important; }
 body.hg-shop-editorial .hgse-faq-items summary>span { flex-shrink:0; width:26px; height:26px; display:grid; place-items:center; border-radius:50%; background:#e7efe1; color:#285644; font-weight:500; font-size:20px; transition:transform .2s; }
 body.hg-shop-editorial .hgse-faq-items details[open] summary>span { transform:rotate(45deg); }
 body.hg-shop-editorial .hgse-faq-answer { box-sizing:border-box !important; min-width:0 !important; padding:0 18px 18px !important; }
 body.hg-shop-editorial .hgse-faq-answer p { margin:0 0 10px !important; font-size:16px !important; line-height:1.6 !important; }
 body.hg-shop-editorial .hgse-faq-answer a { display:inline-flex !important; align-items:center !important; min-height:44px !important; font-size:16px !important; line-height:1.5 !important; }
 body.hg-shop-editorial :is(.hgse-hero,.hgse-collections,.hgse-editorial,.hgse-catalog-note) :is(a,button,input,select,summary):focus-visible { outline:2px solid #a56c27 !important; outline-offset:3px !important; }
 @media(max-width:1100px) {
  body.hg-shop-editorial .hgse-hero { gap:22px !important; padding:24px !important; }
  body.hg-shop-editorial .hgse-copy h1 { font-size:42px !important; }
  body.hg-shop-editorial .hgse-art { min-height:300px !important; }
  body.hg-shop-editorial form.hgse-search { grid-template-columns:minmax(0,1fr) 180px auto !important; }
  body.hg-shop-editorial .hgse-search-heading { display:none !important; }
  body.hg-shop-editorial .hgse-category-links { grid-template-columns:repeat(3,minmax(0,1fr)) !important; }
  body.hg-shop-editorial .hgse-format-grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
 }
 @media(max-width:900px) {
  body.hg-shop-editorial { --hgse-width:var(--hg-layout-width); }
  body.hg-shop-editorial .hgse-hero { grid-template-columns:minmax(0,1fr) minmax(0,.85fr) !important; }
  body.hg-shop-editorial .hgse-copy h1 { font-size:36px !important; }
  body.hg-shop-editorial .hgse-lead { font-size:15px !important; }
  body.hg-shop-editorial .hgse-actions { gap:8px !important; }
  body.hg-shop-editorial .hgse-button { padding:10px 12px !important; font-size:13px !important; }
  body.hg-shop-editorial .hgse-art-label { display:none !important; }
  body.hg-shop-editorial .wp-block-columns:has(.product-filters-wrapper) { grid-template-columns:minmax(0,1fr) !important; gap:14px !important; }
  body.hg-shop-editorial .hgse-arrival { gap:26px !important; padding:28px !important; }
 }
 @media(max-width:600px) {
  body.hg-shop-editorial { --hgse-width:var(--hg-layout-width); }
  body.hg-shop-editorial .higuppy-shop-shell { margin:14px auto 22px !important; }
  body.hg-shop-editorial .hgse-hero { grid-template-columns:minmax(0,1fr) !important; padding:18px !important; gap:16px !important; border-radius:18px !important; }
  body.hg-shop-editorial .hgse-copy { padding:0 !important; }
  body.hg-shop-editorial .hgse-breadcrumb { display:none !important; }
  body.hg-shop-editorial .hgse-kicker { font-size:9px !important; margin-bottom:8px !important; letter-spacing:.1em !important; }
  body.hg-shop-editorial .hgse-copy h1 { font-size:32px !important; margin-bottom:12px !important; }
  body.hg-shop-editorial .hgse-lead { font-size:14px !important; line-height:1.6 !important; margin-bottom:14px !important; }
  body.hg-shop-editorial .hgse-actions { display:grid !important; grid-template-columns:1.12fr 1fr !important; }
  body.hg-shop-editorial .hgse-button { padding:10px 8px !important; gap:6px !important; font-size:12px !important; }
  body.hg-shop-editorial .hgse-art { min-height:108px !important; height:108px !important; border-radius:12px 12px 30px 12px !important; }
  body.hg-shop-editorial .hgse-art>img { object-position:center 45% !important; }
  body.hg-shop-editorial .hgse-art figcaption { padding:6px 10px !important; font-size:9px !important; }
  body.hg-shop-editorial form.hgse-search { grid-template-columns:minmax(0,1fr) 122px !important; gap:9px !important; padding-top:14px !important; }
  body.hg-shop-editorial .hgse-query { grid-column:1/-1 !important; }
  body.hg-shop-editorial .hgse-search-submit { padding:10px !important; gap:6px !important; font-size:12px !important; }
  body.hg-shop-editorial .hgse-select select,.hg-shop-editorial .hgse-query input[type=search] { font-size:13px !important; }
  body.hg-shop-editorial .hgse-collections-heading h2 { font-size:21px !important; }
  body.hg-shop-editorial .hgse-category-links { display:grid !important; grid-auto-flow:column !important; grid-template-columns:none !important; grid-auto-columns:120px !important; gap:6px !important; overflow-x:auto !important; padding-bottom:5px !important; scrollbar-width:thin; scroll-snap-type:x proximity; }
  body.hg-shop-editorial .hgse-category-links a { scroll-snap-align:start; min-height:62px !important; padding:8px 16px 8px 8px !important; border-radius:9px !important; }
  body.hg-shop-editorial .hgse-category-links a>span { font-size:8px !important; }
  body.hg-shop-editorial .hgse-category-links a>strong { font-size:12px !important; }
  body.hg-shop-editorial .hgse-category-links a>b { right:5px !important; font-size:11px !important; }
  body.hg-shop-editorial .hgse-catalog-note { gap:2px !important; padding-bottom:10px !important; margin-bottom:12px !important; }
  body.hg-shop-editorial .hgse-catalog-note p { display:none !important; }
  body.hg-shop-editorial .hgse-editorial { margin:24px auto 36px !important; }
  body.hg-shop-editorial .hgse-section-heading { grid-template-columns:minmax(0,1fr) !important; gap:0 !important; margin-bottom:16px !important; }
  body.hg-shop-editorial .hgse-editorial h2 { font-size:29px !important; }
  body.hg-shop-editorial .hgse-format-grid { gap:10px !important; }
  body.hg-shop-editorial .hgse-format-card { padding:16px !important; }
  body.hg-shop-editorial .hgse-format-card h3 { font-size:20px !important; }
  body.hg-shop-editorial .hgse-format-card>p:not(.hgse-format-label) { font-size:13px !important; line-height:1.65 !important; }
  body.hg-shop-editorial .hgse-format-card>a { font-size:12px !important; }
  body.hg-shop-editorial .hgse-arrival { grid-template-columns:minmax(0,1fr) !important; padding:24px !important; gap:20px !important; margin:24px 0 !important; border-radius:16px !important; }
  body.hg-shop-editorial .hgse-faq { grid-template-columns:minmax(0,1fr) !important; gap:16px !important; margin-top:28px !important; }
  body.hg-shop-editorial .hgse-faq-items summary { min-height:60px !important; padding:14px 56px 14px 14px !important; font-size:16px !important; }
  body.hg-shop-editorial .hgse-faq-answer { padding:0 14px 16px !important; }
 }
 @media(max-width:380px) { body.hg-shop-editorial .hgse-copy h1 { font-size:30px !important; } body.hg-shop-editorial .hgse-format-grid { grid-template-columns:minmax(0,1fr) !important; } }
 @media(prefers-reduced-motion:reduce) { body.hg-shop-editorial .hgse-faq-items summary>span { transition:none; } }
}

/* Keep the Shop filter control clear of the collections heading on narrow screens. */
@media (max-width: 600px) {
  body.hg-shop-page-active.hg-shop-editorial .hgse-collections-heading h2 {
    padding-left: 52px !important;
  }
  body.hg-shop-page-active.hg-shop-editorial .hgse-collections-heading > a {
    margin-left: auto !important;
  }
}
