/* ── Flat single-background override ─────────────────────────────────────────
   Category landing pages inherit the hg-shop-page-active class which pulls
   navy gradients, sky-blue panels, and multiple body-child backgrounds from
   hg-shell-fixes.css, hg-shop.css, higuppy-shop.css, unification, and footer-fix.
   Collapse them all into one clean flat canvas.
   Specificity must beat:
   - unification: html body.higuppy-site-shell.hg-shop-page-active.hg-shop-page-active (0,4,2)
   - stability inline: html body.higuppy-site-shell.hg-shop-page-active>.wp-site-blocks (0,4,2)
   - footer-fix: body.higuppy-site-shell > *:not(x):not(y):not(z) (0,5,1) */
html body.higuppy-site-shell.higuppy-category-landing.hg-shop-page-active:not(#hg-cat-flat-bg),
html body.higuppy-site-shell.higuppy-category-landing.hg-shop-page-active:not(#hg-cat-flat-bg)::before {
  background: #f7fbff !important;
  background-color: #f7fbff !important;
  background-image: none !important;
}

html body.higuppy-site-shell.higuppy-category-landing.hg-shop-page-active > .wp-site-blocks,
html body.higuppy-site-shell.higuppy-category-landing.hg-shop-page-active > .wp-site-blocks > main,
html body.higuppy-site-shell.higuppy-category-landing.hg-shop-page-active > .wp-site-blocks > .wp-block-group.has-global-padding {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
}

html body.higuppy-site-shell.higuppy-category-landing.hg-shop-page-active > *:not(.hg-footer-bridge):not(.hg-site-footer):not(.higuppy-sidebar-cart):not(.higuppy-sidebar-cart-overlay):not(.hg-back-top) {
  background-color: transparent !important;
  background-image: none !important;
}

/* Reusable category landing layer; scoped so other catalog pages keep their current UI. */
html
  body.higuppy-category-landing
  .product-categories-section-wrapper.higuppy-shopcat,
body.higuppy-category-landing .hg-block-badge {
  display: none !important;
}

body.higuppy-category-landing .hg-category-hero,
body.higuppy-category-landing .hg-category-nav,
body.higuppy-category-landing .hg-category-guide,
body.higuppy-category-landing .hg-category-products-heading,
body.higuppy-category-landing .hg-category-trust,
body.higuppy-category-landing .hg-category-seo-copy,
body.higuppy-category-landing .hg-category-faq {
  width: min(1180px, calc(100% - 48px));
  margin-left: auto;
  margin-right: auto;
  box-sizing: border-box;
}

body.higuppy-category-landing .hg-category-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(280px, 0.9fr);
  gap: clamp(24px, 5vw, 72px);
  align-items: center;
  padding: clamp(30px, 2.7vw, 38px) 0 clamp(28px, 2.58vw, 34px);
}

body.higuppy-category-landing .hg-category-hero__breadcrumb {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 5px 10px 5px 5px;
  border: 1px solid rgba(174, 207, 234, 0.72);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.5);
  box-shadow: 0 8px 20px rgba(36, 91, 142, 0.06);
  margin-bottom: 22px;
  color: #46698c;
  font-size: var(--hg-font-size-body, 16px);
  font-weight: 700;
}

body.higuppy-category-landing:not(#hg-cat-breadcrumb):not(#hg-cat-breadcrumb-a):not(#hg-cat-breadcrumb-b):not(#hg-cat-breadcrumb-c):not(#hg-cat-breadcrumb-d):not(#hg-cat-breadcrumb-e):not(#hg-cat-breadcrumb-f):not(#hg-cat-breadcrumb-g):not(#hg-cat-breadcrumb-h):not(#hg-cat-breadcrumb-i) .hg-category-hero__breadcrumb a {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 0 11px;
  border-radius: 999px;
  background: #1d5c9f;
  color: #fff !important;
  font-weight: 800;
  text-decoration: none;
  box-shadow: 0 5px 12px rgba(29, 92, 159, 0.2);
  transition:
    transform 0.18s ease,
    background 0.18s ease,
    box-shadow 0.18s ease;
}

body.higuppy-category-landing .hg-category-hero__breadcrumb a:hover,
body.higuppy-category-landing .hg-category-hero__breadcrumb a:focus-visible {
  background: #164a82;
  color: #fff !important;
  outline: 3px solid rgba(255, 112, 67, 0.4);
  outline-offset: 2px;
  transform: translateY(-1px);
  box-shadow: 0 8px 16px rgba(29, 92, 159, 0.28);
}

/* Keep the pill label readable against the archive's global Woo link color. */
html
  body.higuppy-site-shell.higuppy-category-landing
  .hg-category-hero__breadcrumb
  a,
html
  body.higuppy-site-shell.higuppy-category-landing
  .hg-category-hero__breadcrumb
  a:hover,
html
  body.higuppy-site-shell.higuppy-category-landing
  .hg-category-hero__breadcrumb
  a:focus-visible {
  color: #fff !important;
}

body.higuppy-category-landing .hg-category-hero__eyebrow,
body.higuppy-category-landing .hg-category-kicker,
body.higuppy-category-landing .hg-category-nav__label {
  margin: 0 0 10px;
  color: #e65d36;
  font-size: var(--hg-font-size-body, 16px);
  font-weight: 800;
  letter-spacing: 0.12em;
  line-height: 1.35;
  text-transform: uppercase;
}

body.higuppy-category-landing .hg-category-hero h1 {
  max-width: 720px;
  margin: 0;
  color: #082747;
  font-size: clamp(38px, 5vw, 68px);
  line-height: 0.98;
  letter-spacing: -0.045em;
}

body.higuppy-category-landing .hg-category-hero__intro {
  max-width: 690px;
  margin: 24px 0 0;
  color: #3b5a75;
  font-size: clamp(16px, 1.6vw, 19px);
  line-height: 1.7;
}

body.higuppy-category-landing .hg-category-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 28px;
}

body.higuppy-category-landing .hg-category-button,
body.higuppy-category-landing .hg-category-nav__item,
body.higuppy-category-landing .hg-category-trust a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  box-sizing: border-box;
  border-radius: 999px;
  font-weight: 800;
  text-decoration: none;
  transition:
    background-color 0.2s ease,
    color 0.2s ease,
    transform 0.2s ease;
}

body.higuppy-category-landing .hg-category-button:focus-visible,
body.higuppy-category-landing .hg-category-nav__item:focus-visible,
body.higuppy-category-landing .hg-category-trust a:focus-visible,
body.higuppy-category-landing summary:focus-visible {
  outline: 3px solid #ffb020;
  outline-offset: 3px;
}

body.higuppy-category-landing .hg-category-button {
  padding: 0 22px;
  font-size: var(--hg-font-size-body, 16px);
}

body.higuppy-category-landing .hg-category-button--primary {
  background: #ff6335;
  color: #fff;
}

body.higuppy-category-landing .hg-category-button--secondary {
  border: 1px solid #b7d2e8;
  background: #fff;
  color: #0b4d82;
}

body.higuppy-category-landing .hg-category-button:hover,
body.higuppy-category-landing .hg-category-nav__item:hover,
body.higuppy-category-landing .hg-category-trust a:hover {
  transform: translateY(-1px);
}

body.higuppy-category-landing .hg-category-button--primary:hover {
  background: #df502c;
  color: #fff;
}

body.higuppy-category-landing .hg-category-button--secondary:hover {
  background: #edf7ff;
  color: #0b4d82;
}

/* Category calls-to-action share the same brand-orange treatment. */
html body.higuppy-site-shell.higuppy-category-landing .hg-category-button,
html
  body.higuppy-site-shell.higuppy-category-landing
  .hg-category-trust
  article
  a {
  border: 1px solid #e65d36;
  background: #e65d36;
  box-shadow: 0 8px 18px rgba(230, 93, 54, 0.22);
  color: #fff !important;
}

/* Give the hero actions distinct roles instead of using the same orange CTA. */
html
  body.higuppy-site-shell.higuppy-category-landing
  .hg-category-button--primary {
  border-color: #e65d36;
  background: #e65d36;
  box-shadow: 0 8px 18px rgba(230, 93, 54, 0.22);
}

html
  body.higuppy-site-shell.higuppy-category-landing
  .hg-category-button--secondary {
  border-color: #0b5e8e;
  background: #0b5e8e;
  box-shadow: 0 8px 18px rgba(11, 94, 142, 0.22);
  color: #fff !important;
}

body.higuppy-category-landing .hg-category-button--primary::before,
body.higuppy-category-landing .hg-category-button--secondary::before {
  display: inline-block;
  margin-right: 8px;
  font-size: 16px;
  font-weight: 800;
  line-height: 1;
}

body.higuppy-category-landing .hg-category-button--primary::before {
  content: "↗";
}

body.higuppy-category-landing .hg-category-button--secondary::before {
  content: "✦";
  font-size: var(--hg-font-size-body, 16px);
}

html body.higuppy-site-shell.higuppy-category-landing .hg-category-button:hover,
html
  body.higuppy-site-shell.higuppy-category-landing
  .hg-category-trust
  article
  a:hover {
  background: #c94b2b;
  border-color: #c94b2b;
  color: #fff !important;
}

html
  body.higuppy-site-shell.higuppy-category-landing
  .hg-category-button--secondary:hover {
  border-color: #07466b;
  background: #07466b;
}

body.higuppy-category-landing .hg-category-hero__media {
  margin: 0;
  padding: 14px;
  border: 1px solid #d8e9f5;
  border-radius: 28px;
  background: linear-gradient(145deg, #effaff, #fffaf1);
  box-shadow: 0 20px 50px rgba(12, 71, 114, 0.12);
}

body.higuppy-category-landing .hg-category-hero__visual {
  position: relative;
  overflow: hidden;
  border-radius: 18px;
  isolation: isolate;
  background: #073867;
  /* Reserve the painted box before the image arrives — intrinsic PNG
     ratios (often 16:9) used to fight the 4/3 CSS and shift ~0.15 CLS. */
  aspect-ratio: 4 / 3;
  max-height: 430px;
}

body.higuppy-category-landing .hg-category-hero__visual::before,
body.higuppy-category-landing .hg-category-hero__visual::after {
  position: absolute;
  z-index: 1;
  inset: 0;
  background-image:
    radial-gradient(
      circle at 16% 84%,
      rgba(255, 255, 255, 0.8) 0 1px,
      rgba(214, 244, 255, 0.32) 2px 4px,
      transparent 5px
    ),
    radial-gradient(
      circle at 32% 72%,
      rgba(255, 255, 255, 0.72) 0 1px,
      rgba(214, 244, 255, 0.26) 2px 6px,
      transparent 7px
    ),
    radial-gradient(
      circle at 62% 94%,
      rgba(255, 255, 255, 0.72) 0 1px,
      rgba(214, 244, 255, 0.24) 2px 3px,
      transparent 4px
    ),
    radial-gradient(
      circle at 82% 64%,
      rgba(255, 255, 255, 0.7) 0 1px,
      rgba(214, 244, 255, 0.25) 2px 5px,
      transparent 6px
    );
  background-repeat: repeat-y;
  background-size: 100% 118%;
  content: "";
  pointer-events: none;
}

body.higuppy-category-landing .hg-category-hero__visual::before {
  opacity: 0.6;
  animation: hg-category-bubbles-rise 11s linear infinite;
}

body.higuppy-category-landing .hg-category-hero__visual::after {
  opacity: 0.42;
  transform: scaleX(-1);
  animation: hg-category-bubbles-rise 16s linear infinite reverse;
}

body.higuppy-category-landing .hg-category-hero__media img {
  display: block;
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-height: none;
  aspect-ratio: auto;
  object-fit: cover;
  object-position: center;
}

@keyframes hg-category-bubbles-rise {
  from {
    background-position: 0 110%;
  }

  to {
    background-position: 0 -118%;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.higuppy-category-landing .hg-category-hero__visual::before,
  body.higuppy-category-landing .hg-category-hero__visual::after {
    animation: none;
  }
}

body.higuppy-category-landing .hg-category-hero__media figcaption {
  margin: 10px 4px 0;
  color: #607d95;
  font-size: var(--hg-font-size-body, 16px);
  line-height: 1.45;
}

body.higuppy-category-landing .hg-category-nav {
  padding: 18px 0 34px;
  border-top: 1px solid #dfeaf3;
}

body.higuppy-category-landing .hg-category-nav__items {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

body.higuppy-category-landing .hg-category-nav__item {
  padding: 0 17px;
  border: 1px solid #081f4a;
  background: #081f4a;
  color: #fff;
  font-size: var(--hg-font-size-body, 16px);
}

html
  body.higuppy-site-shell.higuppy-category-landing
  .hg-category-nav__item.is-active,
html
  body.higuppy-site-shell.higuppy-category-landing
  .hg-category-nav__item.is-active:hover,
html
  body.higuppy-site-shell.higuppy-category-landing
  .hg-category-nav__item.is-active:focus-visible {
  border-color: #087db8;
  background: #087db8;
  box-shadow: 0 8px 18px rgba(8, 125, 184, 0.24);
  color: #fff !important;
}

body.higuppy-category-landing .hg-category-nav__item.is-active::before {
  margin-right: 7px;
  color: #bcecff;
  content: "●";
  font-size: var(--hg-font-size-body, 16px);
}

body.higuppy-category-landing .hg-category-guide,
body.higuppy-category-landing .hg-category-trust,
body.higuppy-category-landing .hg-category-seo-copy,
body.higuppy-category-landing .hg-category-faq {
  padding: clamp(30px, 5vw, 58px) 0;
}

body.higuppy-category-landing .hg-category-section-heading h2,
body.higuppy-category-landing .hg-category-products-heading h2,
body.higuppy-category-landing .hg-category-trust h2,
body.higuppy-category-landing .hg-category-seo-copy h2,
body.higuppy-category-landing .hg-category-faq h2 {
  margin: 0;
  color: #082747;
  font-size: clamp(26px, 3vw, 40px);
  line-height: 1.08;
  letter-spacing: -0.025em;
}

body.higuppy-category-landing
  .hg-category-guide
  .hg-category-section-heading
  h2 {
  color: #e65d36 !important;
  font-weight: 700;
}

body.higuppy-category-landing .hg-category-guide .hg-category-section-heading {
  position: relative;
  padding-bottom: 18px;
}

body.higuppy-category-landing
  .hg-category-guide
  .hg-category-section-heading::after {
  display: block;
  width: 68px;
  height: 4px;
  margin-top: 13px;
  border-radius: 999px;
  background: linear-gradient(90deg, #e65d36, #ff9a55);
  content: "";
}

body.higuppy-category-landing .hg-category-guide__grid,
body.higuppy-category-landing .hg-category-trust__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin-top: 24px;
}

body.higuppy-category-landing .hg-category-guide__item,
body.higuppy-category-landing .hg-category-trust article {
  padding: 22px;
  border: 1px solid #d9e9f4;
  border-radius: 18px;
  background: #fff;
}

body.higuppy-category-landing .hg-category-guide__item {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 224px;
  border-color: #bddcf0;
  border-top: 4px solid #e65d36;
  background: linear-gradient(145deg, #ffffff 0%, #f7fcff 100%);
  box-shadow: 0 14px 30px rgba(13, 67, 111, 0.09);
}

body.higuppy-category-landing .hg-category-guide__step {
  display: inline-flex;
  width: max-content;
  margin-bottom: 12px;
  padding: 5px 9px;
  border-radius: 999px;
  background: #e65d36;
  color: #fff;
  font-size: var(--hg-font-size-body, 16px);
  font-weight: 800;
  letter-spacing: 0.12em;
  line-height: 1;
  text-transform: uppercase;
}

body.higuppy-category-landing .hg-category-guide__item h3,
body.higuppy-category-landing .hg-category-trust article h3 {
  margin: 0;
  color: #0d436f;
  font-size: 17px;
  line-height: 1.25;
}

body.higuppy-category-landing .hg-category-guide__item h3 {
  position: relative;
  color: #0b5e8e;
  font-size: 20px;
  font-weight: 800;
  line-height: 1.22;
  padding-bottom: 11px;
}

body.higuppy-category-landing .hg-category-guide__item h3::after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 42px;
  height: 3px;
  border-radius: 999px;
  background: linear-gradient(90deg, #e65d36, #ff9a55);
  content: "";
}

body.higuppy-category-landing .hg-category-guide__item p,
body.higuppy-category-landing .hg-category-trust article p,
body.higuppy-category-landing .hg-category-seo-copy p,
body.higuppy-category-landing .hg-category-faq p {
  color: #45647c;
  font-size: var(--hg-font-size-body, 16px);
  line-height: 1.7;
  text-align: justify;
  text-justify: inter-word;
}

body.higuppy-category-landing .hg-category-hero__intro {
  text-align: justify;
  text-justify: inter-word;
}

body.higuppy-category-landing .hg-category-guide__item p,
body.higuppy-category-landing .hg-category-trust article p {
  margin: 12px 0 0;
}

body.higuppy-category-landing .hg-category-guide__item p {
  text-align: left;
  text-justify: auto;
}

body.higuppy-category-landing .hg-category-trust article {
  position: relative;
  overflow: hidden;
  border-color: #bddcf0;
  background: linear-gradient(145deg, #ffffff 0%, #f7fcff 100%);
  box-shadow: 0 12px 28px rgba(13, 67, 111, 0.08);
  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease,
    border-color 0.2s ease;
}

body.higuppy-category-landing .hg-category-trust article::before {
  position: absolute;
  top: 0;
  right: 22px;
  left: 22px;
  height: 4px;
  border-radius: 0 0 999px 999px;
  background: linear-gradient(90deg, #e65d36, #ff9a55);
  content: "";
}

body.higuppy-category-landing .hg-category-trust article:hover {
  border-color: #91c9e8;
  box-shadow: 0 18px 36px rgba(13, 67, 111, 0.14);
  transform: translateY(-4px);
}

body.higuppy-category-landing .hg-category-trust article h3 {
  color: #0b5e8e;
  font-size: 20px;
  font-weight: 800;
}

body.higuppy-category-landing .hg-category-products-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 18px;
  margin-top: 16px;
  padding: 26px 0 16px;
  border-top: 1px solid #dfeaf3;
}

body.higuppy-category-landing .hg-category-products-heading h2 {
  color: #d07a01;
  font-size: clamp(28px, 3vw, 40px);
}

/* Keep category listing titles in step with the homepage product cards. */
body.higuppy-category-landing li.wc-block-product > .wp-block-post-title,
body.higuppy-category-landing li.wc-block-product > .wp-block-post-title a {
  font-size: var(--hg-font-size-body, 16px);
  line-height: 1.25;
}

/* Let the product category label size itself to its text instead of the card. */
body.higuppy-category-landing li.wc-block-product > .taxonomy-product_cat {
  display: inline-flex !important;
  flex: 0 0 auto !important;
  align-self: flex-start;
  width: max-content !important;
  min-height: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}

body.higuppy-category-landing li.wc-block-product > .taxonomy-product_cat a {
  display: inline-flex !important;
  align-items: center;
  width: auto !important;
  min-width: 0 !important;
  padding: 7px 11px !important;
  border-radius: 999px !important;
}

@media (min-width: 701px) {
  body.higuppy-category-landing li.wc-block-product > .wp-block-post-title {
    height: 92px !important;
    min-height: 92px !important;
    max-height: 92px !important;
  }

  body.higuppy-category-landing li.wc-block-product > .wp-block-post-title a {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    font-size: 25px;
    line-height: 1.15;
  }
}

body.higuppy-category-landing .hg-category-catalog-toolbar {
  width: min(1180px, calc(100% - 48px)) !important;
  max-width: 1180px !important;
  margin: 0 auto 22px !important;
  padding: 0 0 5px !important;
  box-sizing: border-box;
}

/* Restore visible filter checkbox frames without changing WooCommerce state. */
body.higuppy-category-landing
  .product-filters-wrapper
  input[type="checkbox"].wc-block-product-filter-checkbox-list__input {
  background: #fff !important;
  border: 2px solid #8dbde0 !important;
  border-radius: 4px !important;
}

body.higuppy-category-landing
  .product-filters-wrapper
  input[type="checkbox"].wc-block-product-filter-checkbox-list__input:checked {
  background: #ff6b35 !important;
  border-color: #ff6b35 !important;
}

body.higuppy-category-landing
  .product-filters-wrapper
  .wc-block-product-filter-checkbox-list__mark {
  color: #fff !important;
}

body.higuppy-category-landing .hg-category-products-heading__count {
  margin: 0;
  color: #56728b;
  font-size: var(--hg-font-size-body, 16px);
  font-weight: 800;
}

/* Slightly enlarge the shop reassurance strip on the Breeder Trios landing. */
body.higuppy-category-landing .hg-shop-info-strip__title {
  font-size: 17px;
}

body.higuppy-category-landing .hg-shop-info-strip__items li {
  min-height: 68px;
}

body.higuppy-category-landing .hg-shop-info-strip__items b {
  font-size: var(--hg-font-size-body, 16px);
}

body.higuppy-category-landing .hg-shop-info-strip__items small {
  font-size: var(--hg-font-size-body, 16px);
}

body.higuppy-category-landing .hg-category-trust {
  border-top: 1px solid #dfeaf3;
}

body.higuppy-category-landing .hg-category-trust__grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

body.higuppy-category-landing .hg-category-trust article a {
  width: max-content;
  margin-top: 18px;
  padding: 0 15px;
  background: #eaf6ff;
  color: #0b5e8e;
  font-size: var(--hg-font-size-body, 16px);
}

body.higuppy-category-landing .hg-category-seo-copy {
  max-width: 1180px;
}

body.higuppy-category-landing .hg-category-seo-copy p {
  margin: 17px 0 0;
}

body.higuppy-category-landing .hg-category-seo-copy__links {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  width: fit-content;
  max-width: 100%;
  margin: 32px auto 0;
  padding: 12px 18px;
  border: 1px solid #a9d4ed;
  border-radius: 20px;
  background: linear-gradient(135deg, #f0faff, #fff8ee);
  box-shadow: 0 14px 30px rgba(12, 71, 114, 0.12);
  gap: 8px 12px;
  color: #5b7891 !important;
  font-size: var(--hg-font-size-body, 16px);
  font-weight: 800;
  line-height: 1.35;
  text-align: center;
}

html
  body.higuppy-site-shell.higuppy-category-landing
  .hg-category-seo-copy
  > .hg-category-seo-copy__links {
  width: max-content;
  margin-top: 32px !important;
  margin-right: auto !important;
  margin-left: auto !important;
  text-align: center !important;
}

html
  body.higuppy-site-shell.higuppy-category-landing
  .hg-category-seo-copy
  .hg-category-seo-copy__links
  a {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  padding: 0 12px;
  border-radius: 999px;
  background: #ffffff;
  box-shadow: 0 4px 10px rgba(12, 71, 114, 0.07);
  color: #0b5e8e !important;
  font-weight: 800;
  text-decoration: none;
}

html
  body.higuppy-site-shell.higuppy-category-landing
  .hg-category-seo-copy
  .hg-category-seo-copy__links
  a:hover,
html
  body.higuppy-site-shell.higuppy-category-landing
  .hg-category-seo-copy
  .hg-category-seo-copy__links
  a:focus-visible {
  color: #e65d36 !important;
}

body.higuppy-category-landing .hg-category-faq {
  box-sizing: border-box;
  padding: clamp(28px, 4vw, 48px);
  border: 1px solid #cfe5f4;
  border-radius: 26px;
  background:
    radial-gradient(
      circle at 94% 6%,
      rgba(76, 180, 232, 0.14),
      transparent 24%
    ),
    linear-gradient(135deg, #fafdff 0%, #eef8ff 100%);
  box-shadow: 0 18px 44px rgba(21, 83, 126, 0.09);
}

body.higuppy-category-landing .hg-category-faq__list {
  display: grid;
  gap: 10px;
  margin-top: 26px;
}

body.higuppy-category-landing .hg-category-faq details {
  overflow: hidden;
  border: 1px solid #d9e9f4;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.9);
  transition:
    border-color 0.2s ease,
    box-shadow 0.2s ease,
    background-color 0.2s ease;
}

body.higuppy-category-landing .hg-category-faq details[open] {
  border-color: #9fcde8;
  background: #fff;
  box-shadow: 0 10px 24px rgba(20, 91, 137, 0.09);
}

body.higuppy-category-landing .hg-category-faq summary {
  position: relative;
  list-style: none;
  cursor: pointer;
  padding: 19px 58px 19px 20px;
  color: #0d436f;
  font-size: 16px;
  font-weight: 800;
  line-height: 1.45;
}

body.higuppy-category-landing .hg-category-faq summary::-webkit-details-marker {
  display: none;
}

body.higuppy-category-landing .hg-category-faq summary::after {
  position: absolute;
  top: 50%;
  right: 18px;
  display: grid;
  width: 26px;
  height: 26px;
  place-items: center;
  border-radius: 50%;
  background: #e5f4ff;
  color: #0b66b2;
  content: "+";
  font-size: 20px;
  font-weight: 500;
  line-height: 1;
  transform: translateY(-50%);
  transition:
    transform 0.2s ease,
    background-color 0.2s ease,
    color 0.2s ease;
}

body.higuppy-category-landing .hg-category-faq details[open] summary::after {
  background: #ff6335;
  color: #fff;
  transform: translateY(-50%) rotate(45deg);
}

body.higuppy-category-landing .hg-category-faq details p {
  max-width: 920px;
  margin: 0;
  padding: 0 58px 22px 20px;
}

/* This editorial category landing needs the archive canvas, not the desktop
 * filter rail that narrows its hero and product grid. Other shop archives
 * continue to use the filter rail through their existing hg-shop rules. */
html:has(body.higuppy-category-landing),
html body.higuppy-site-shell.higuppy-category-landing {
  background: #f7fbff !important;
  background-image: none !important;
}

/* The shared Shop shell adds a navy opening band behind its visual hero. This
 * category uses its own light editorial hero, so keep the canvas continuous
 * from the header through the catalog instead of leaving the orphaned band. */
@media (min-width: 901px) {
  html
    body.higuppy-site-shell.higuppy-category-landing
    > .wp-site-blocks
    > .wp-block-group.has-global-padding {
    background: #f7fbff !important;
    background-image: none !important;
  }
}

@media (min-width: 992px) {
  body.higuppy-category-landing .sidebar-position-left {
    display: block !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body.higuppy-category-landing.higuppy-site-shell .sidebar.sidebar-left,
  body.higuppy-category-landing.higuppy-site-shell aside.sidebar {
    display: none !important;
  }
}

/* The active WooCommerce block template renders filters as the first column,
 * not as an XStore sidebar. Give this editorial landing page the full catalog
 * canvas while leaving the filter layout untouched on other shop archives. */
@media (min-width: 782px) {
  body.higuppy-category-landing
    .wp-block-columns:has(> .wp-block-column .product-filters-wrapper) {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    width: min(1180px, calc(100% - 48px)) !important;
    max-width: 1180px !important;
    margin-right: auto !important;
    margin-left: auto !important;
  }

  body.higuppy-category-landing
    .wp-block-columns:has(> .wp-block-column .product-filters-wrapper)
    > .wp-block-column:has(.product-filters-wrapper) {
    display: none !important;
  }

  body.higuppy-category-landing
    .wp-block-columns:has(> .wp-block-column .product-filters-wrapper)
    > .wp-block-column:not(:has(.product-filters-wrapper)) {
    width: 100% !important;
    max-width: none !important;
    background: #f7fbff !important;
  }
}

@media (max-width: 900px) {
  body.higuppy-category-landing .hg-category-hero {
    grid-template-columns: 1fr;
  }

  body.higuppy-category-landing .hg-category-hero__media {
    max-width: 620px;
  }

  body.higuppy-category-landing .hg-category-guide__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 600px) {
  body.higuppy-category-landing
    .wp-block-group.has-global-padding
    > .wp-block-separator.alignfull {
    display: none;
  }

  html body.higuppy-category-landing .wp-block-columns.is-layout-flex {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  body.higuppy-category-landing .hg-category-hero,
  body.higuppy-category-landing .hg-category-nav,
  body.higuppy-category-landing .hg-category-guide,
  body.higuppy-category-landing .hg-category-products-heading,
  body.higuppy-category-landing .hg-category-trust,
  body.higuppy-category-landing .hg-category-seo-copy,
  body.higuppy-category-landing .hg-category-faq {
    width: min(100% - 32px, 1180px);
  }

  body.higuppy-category-landing .hg-category-hero {
    gap: 25px;
    padding-top: 28px;
  }

  body.higuppy-category-landing .hg-category-hero__content {
    text-align: center;
  }

  body.higuppy-category-landing .hg-category-hero__breadcrumb,
  body.higuppy-category-landing .hg-category-hero h1,
  body.higuppy-category-landing .hg-category-hero__intro {
    margin-left: auto;
    margin-right: auto;
  }

  body.higuppy-category-landing .hg-category-hero h1 {
    font-size: clamp(34px, 11vw, 48px);
  }

  body.higuppy-category-landing .hg-category-hero__intro {
    font-size: 16px;
    line-height: 1.6;
  }

  body.higuppy-category-landing .hg-category-hero__actions {
    align-items: center;
    flex-direction: column;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
    width: 100%;
  }

  body.higuppy-category-landing .hg-category-button {
    width: min(100%, 320px);
    padding: 0 14px;
    font-size: var(--hg-font-size-body, 16px);
    white-space: normal;
  }

  body.higuppy-category-landing .hg-category-nav__items {
    flex-wrap: nowrap;
    overflow-x: auto;
    padding: 2px 2px 9px;
    scrollbar-width: thin;
  }

  body.higuppy-category-landing .hg-category-nav__item {
    flex: 0 0 auto;
    min-height: 44px;
  }

  body.higuppy-category-landing .hg-category-guide__grid,
  body.higuppy-category-landing .hg-category-trust__grid {
    grid-template-columns: 1fr;
  }

  body.higuppy-category-landing .hg-category-products-heading {
    align-items: center;
    flex-direction: column;
    gap: 8px;
    text-align: center;
  }

  body.higuppy-category-landing .hg-category-catalog-toolbar {
    width: min(100% - 32px, 1180px) !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
  }

  body.higuppy-category-landing .hg-category-hero__visual {
    max-height: 270px;
  }

  body.higuppy-category-landing .hg-category-hero__media img {
    height: 100%;
    aspect-ratio: auto;
    max-height: none;
  }

  body.higuppy-category-landing li.wc-block-product > .wp-block-post-title,
  body.higuppy-category-landing li.wc-block-product > .wp-block-post-title a {
    font-size: 18px;
    line-height: 1.28;
  }

  /* Keep the add-to-cart control proportionate to the adjacent price. */
  body.higuppy-category-landing
    li.wc-block-product
    .higuppy-shop-card-cta
    .hg-block-product-buy-row
    .wc-block-components-product-button,
  body.higuppy-category-landing
    li.wc-block-product
    .higuppy-shop-card-cta
    .hg-block-product-buy-row
    .wc-block-components-product-button__button {
    width: 92px !important;
    min-width: 92px !important;
    height: 36px !important;
    min-height: 36px !important;
    padding: 0 8px !important;
    font-size: var(--hg-font-size-body, 16px);
  }
}

@media (prefers-reduced-motion: reduce) {
  body.higuppy-category-landing .hg-category-button,
  body.higuppy-category-landing .hg-category-nav__item,
  body.higuppy-category-landing .hg-category-trust a,
  body.higuppy-category-landing .hg-category-trust article {
    transition: none;
  }
}
