/*
 * HENUA Design System — Local Shopify Layer
 * Capa unica de marca sobre Horizon. Mantiene Theme Editor, apps y datos dinamicos.
 */

/* ============================================================
   01. FOUNDATION: TOKENS, TYPE, COLOR, MOTION
   ============================================================ */

:root {
  --henua-black: #111111;
  --henua-stone: #A6A29A;
  --henua-sand: #D8D0C2;
  --henua-forest: #1F3D2E;
  --henua-off-white: #F6F4EF;
  --henua-terracotta: #C46A4A;
  --henua-mustard: #D6B16D;
  --henua-petrol: #1D3A4A;

  /* Compatibility aliases for previous HENUA rules. */
  --henua-color-black: var(--henua-black);
  --henua-color-white: var(--henua-off-white);
  --henua-color-sand: var(--henua-sand);
  --henua-color-forest: var(--henua-forest);
  --henua-color-stone: var(--henua-stone);
  --henua-color-gray: rgb(17 17 17 / 0.14);
  --henua-color-action: var(--henua-terracotta);

  --henua-surface: var(--color-background);
  --henua-surface-elevated: var(--henua-off-white);
  --henua-surface-quiet: var(--henua-sand);
  --henua-text-primary: var(--color-foreground);
  --henua-text-secondary: rgb(var(--color-foreground-rgb) / 0.72);
  --henua-text-muted: rgb(var(--color-foreground-rgb) / 0.68);
  --henua-border: rgb(var(--color-foreground-rgb) / 0.16);
  --henua-divider: rgb(var(--color-foreground-rgb) / 0.12);
  --henua-action: var(--henua-black);
  --henua-action-accent: var(--henua-terracotta);
  --henua-action-text: var(--henua-off-white);

  --henua-color-success: var(--henua-forest);
  --henua-color-warning: #7A4D00;
  --henua-color-error: #8B0000;
  --henua-color-disabled: rgb(var(--color-foreground-rgb) / 0.32);

  --henua-font-ui: var(--font-body--family);
  --henua-font-editorial: var(--font-accent--family);
  --henua-font-weight-regular: 400;
  --henua-font-weight-medium: 500;
  --henua-font-weight-semibold: 600;
  --henua-font-weight-bold: 700;

  --henua-space-1: 0.25rem;
  --henua-space-2: 0.5rem;
  --henua-space-3: 0.75rem;
  --henua-space-4: 1rem;
  --henua-space-5: 1.25rem;
  --henua-space-6: 1.5rem;
  --henua-space-8: 2rem;
  --henua-space-10: 2.5rem;
  --henua-space-12: 3rem;
  --henua-space-16: 4rem;
  --henua-space-20: 5rem;

  --henua-radius-sm: 2px;
  --henua-radius-md: 4px;
  --henua-radius-lg: 8px;
  --henua-shadow-subtle: 0 1px 2px rgb(17 17 17 / 0.06);
  --henua-shadow-panel: 0 14px 42px rgb(17 17 17 / 0.12);
  --henua-ease-out: cubic-bezier(0.22, 1, 0.36, 1);
  --henua-t-fast: 150ms var(--henua-ease-out);
  --henua-t-base: 240ms var(--henua-ease-out);
  --henua-max-prose: 68ch;
  --henua-max-editorial: 20ch;

  --henua-card-title-tracking: 0;
  --henua-card-price-opacity: 1;
  --henua-card-image-radius: 0px;
  --henua-transition: var(--hover-transition-duration) var(--hover-transition-timing);

  --font-paragraph-medium--size: var(--font-size--sm);
  --font-paragraph-small--size: var(--font-size--xs);
  --font-weight-semibold: var(--henua-font-weight-semibold);
}

html {
  background-color: var(--henua-off-white);
}

body {
  background-color: var(--henua-surface);
  color: var(--henua-text-primary);
  font-family: var(--henua-font-ui);
  text-rendering: optimizeLegibility;
}

/* Causa raiz de "background_color" invisible en secciones nativas:
   .section-background usa position:absolute + z-index:-2, y el wrapper
   de Shopify (.shopify-section, a veces tambien .section-wrapper; ambas
   variantes ya vienen position:relative de fabrica) no crea su propio
   contexto de apilamiento (z-index:auto), por lo que ese fondo termina
   detras del fondo opaco de html/body en vez de detras de su propia
   seccion. Fijar z-index:0 crea el contexto correcto sin cambiar nada
   visualmente donde no hay background_color configurado. */
.shopify-section {
  z-index: 0;
}

::selection {
  background: var(--henua-sand);
  color: var(--henua-black);
}

/* ============================================================
   02. GLOBAL UI: LINKS, BUTTONS, INPUTS, FOCUS, BADGES
   ============================================================ */

.text-block.rte a,
.footer-content a,
.utilities a,
.product-information a:not(.button):not(.button-secondary),
.main-collection-grid__empty-link {
  color: inherit;
  text-decoration-color: currentColor;
  text-decoration-thickness: 0.08em;
  text-underline-offset: 0.18em;
}

.text-block.rte a:hover,
.footer-content a:hover,
.utilities a:hover,
.product-information a:not(.button):not(.button-secondary):hover,
.main-collection-grid__empty-link:hover {
  text-decoration-thickness: 0.12em;
}

.button:not(.button-secondary):not(.button-unstyled):not([class*="slideshow-control"]):not([class*="quantity"]),
.button-secondary:not(.button-unstyled):not([class*="slideshow-control"]):not([class*="quantity"]),
.add-to-cart-button {
  min-height: 2.875rem;
  border-radius: var(--henua-radius-md);
  font-family: var(--henua-font-ui);
  font-size: 0.875rem;
  font-weight: var(--henua-font-weight-semibold);
  letter-spacing: 0.05em;
  line-height: 1.1;
  text-transform: uppercase;
  transition: box-shadow var(--henua-t-fast), transform var(--henua-t-fast),
    background-color var(--henua-t-fast), border-color var(--henua-t-fast);
}

/* Cuerpo/relieve: sombra inferior solida que se reduce en hover y se
   "presiona" (translateY) en active. Sin glow, sin difuminado exagerado. */
.button:not(.button-secondary):not(.button-unstyled):not([class*="slideshow-control"]):not([class*="quantity"]),
.add-to-cart-button:not(.quick-add__button--choose) {
  background-color: var(--henua-action);
  color: var(--henua-action-text);
  border-color: var(--henua-action);
  box-shadow: 0 3px 0 0 rgb(0 0 0 / 0.55);
}

.button:not(.button-secondary):not(.button-unstyled):not([class*="slideshow-control"]):not([class*="quantity"]):hover,
.add-to-cart-button:not(.quick-add__button--choose):hover {
  box-shadow: 0 2px 0 0 rgb(0 0 0 / 0.55);
  transform: translateY(-1px);
}

.button:not(.button-secondary):not(.button-unstyled):not([class*="slideshow-control"]):not([class*="quantity"]):active,
.add-to-cart-button:not(.quick-add__button--choose):active {
  box-shadow: 0 0 0 0 rgb(0 0 0 / 0.55);
  transform: translateY(2px);
}

.button-secondary:not(.button-unstyled):not([class*="slideshow-control"]):not([class*="quantity"]) {
  color: var(--henua-text-primary);
  border-color: currentColor;
  background-color: transparent;
  box-shadow: 0 2px 0 0 rgb(17 17 17 / 0.16);
}

.button-secondary:not(.button-unstyled):not([class*="slideshow-control"]):not([class*="quantity"]):hover {
  background-color: rgb(17 17 17 / 0.05);
  box-shadow: 0 1px 0 0 rgb(17 17 17 / 0.16);
  transform: translateY(-1px);
}

.button-secondary:not(.button-unstyled):not([class*="slideshow-control"]):not([class*="quantity"]):active {
  background-color: rgb(17 17 17 / 0.08);
  box-shadow: 0 0 0 0 rgb(17 17 17 / 0.16);
  transform: translateY(1px);
}

.button[disabled],
.button:disabled,
.button-secondary[disabled],
.button-secondary:disabled,
.add-to-cart-button[disabled],
.add-to-cart-button:disabled {
  cursor: not-allowed;
  opacity: 0.48;
  transform: none;
  /* La regla de relieve del boton primario matchea con mas
     especificidad (varios :not() encadenados) que este selector, asi
     que sin !important el estado disabled seguiria mostrando la
     sombra activa: unico !important del sistema de botones, exclusivo
     para que "deshabilitado" gane siempre sobre "interactivo". */
  box-shadow: none !important;
}

.product-form input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
.product-form select,
.newsletter-form input,
.search-modal input,
.field__input,
.quantity-selector,
.variant-option select,
.contact-form__input {
  min-height: 2.875rem;
  border-radius: var(--henua-radius-md);
  border-color: var(--henua-border);
}

.contact-form__input--textarea {
  min-height: 8rem;
}

.button:focus-visible,
.button-secondary:focus-visible,
.button-unstyled:focus-visible,
.header-logo:focus-visible,
.menu-list__link:focus-visible,
.header-actions__action:focus-visible,
.header__icon--menu:focus-visible,
.collection-card__link:focus-visible,
.product-card__link:focus-visible,
.search-input:focus-visible,
.field__input:focus-visible,
.contact-form__input:focus-visible,
.variant-option input:focus-visible + label,
.variant-option select:focus-visible,
.accordion-custom summary:focus-visible,
.accordion summary:focus-visible,
.disclosures summary:focus-visible,
.footer-content .menu a:focus-visible,
.footer-content .policy_list a:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 3px;
  box-shadow: 0 0 0 4px rgb(246 244 239 / 0.72);
}

.badge {
  border: 1px solid rgb(var(--color-foreground-rgb) / 0.16);
  border-radius: var(--henua-radius-sm);
  font-family: var(--henua-font-ui);
  font-size: 0.6875rem;
  font-weight: var(--henua-font-weight-semibold);
  letter-spacing: 0.06em;
  line-height: 1;
  text-transform: uppercase;
}

.badge--sale,
.badge[class*="sale"] {
  background-color: var(--henua-black);
  color: var(--henua-off-white);
  border-color: var(--henua-black);
  box-shadow: inset 3px 0 0 var(--henua-terracotta);
}

.badge--sold-out,
.badge[class*="sold"] {
  background-color: var(--henua-sand);
  color: var(--henua-black);
  border-color: rgb(17 17 17 / 0.18);
}

/* ============================================================
   03. TYPOGRAPHY: EDITORIAL ONLY WHERE IT ADDS IDENTITY
   ============================================================ */

.hero .text-block.h2,
.hero .text-block.h2 *,
.media-with-content .section-content-wrapper :is(h1, h2),
.section-carousel .section-content-wrapper :is(h1, h2),
[data-testid="collection-list"] .section-content-wrapper :is(h1, h2, h3),
.featured-product-section .section-content-wrapper :is(h1, h2),
.slideshow-section .section-content-wrapper :is(h1, h2),
[data-testid="featured-blog-posts"] .section-content-wrapper :is(h1, h2),
[data-testid="product-recommendations-section"] .section-content-wrapper :is(h1, h2),
.product-recommendations .text-block :is(h1, h2, h3),
.product-grid-container > :is(h1, h2),
.jumbo-text {
  font-family: var(--henua-font-editorial);
  font-weight: var(--font-accent--weight, 400);
  letter-spacing: 0;
  line-height: 0.94;
}

#shopify-section-section_MyPH86 .text-block.h2,
#shopify-section-section_zrTGYC .text-block.h2,
#shopify-section-section_LMwxCp .text-block.h2,
#shopify-section-section_FWVP6V .text-block.h2 {
  max-inline-size: var(--henua-max-editorial);
  font-family: var(--henua-font-editorial);
  font-size: 4.75rem;
  letter-spacing: 0;
  line-height: 0.94;
}

#shopify-section-section_MyPH86 .text-block.rte,
#shopify-section-section_zrTGYC .text-block.rte,
#shopify-section-section_LMwxCp .text-block.rte,
#shopify-section-section_FWVP6V .text-block.rte {
  max-inline-size: var(--henua-max-prose);
  color: var(--henua-text-secondary);
  font-family: var(--henua-font-ui);
  font-size: 1rem;
  line-height: 1.65;
}

.footer-content .menu__heading__default,
.footer-content h3,
.footer-content .rte h3 {
  font-family: var(--henua-font-ui);
  font-size: 0.75rem;
  font-weight: var(--henua-font-weight-semibold);
  letter-spacing: 0.11em;
  line-height: 1.2;
  text-transform: uppercase;
}

/* ============================================================
   04. SHELL: ANNOUNCEMENT, HEADER, SEARCH, CART, FOOTER
   ============================================================ */

.announcement-bar {
  background-color: var(--henua-black);
  color: var(--henua-off-white);
  border-block-end-color: rgb(246 244 239 / 0.18);
  font-family: var(--henua-font-ui);
  font-size: 0.75rem;
  font-weight: var(--henua-font-weight-medium);
  letter-spacing: 0.08em;
  line-height: 1.35;
  text-transform: uppercase;
}

.announcement-bar__slides {
  max-width: min(100%, 58rem);
}

.header-section {
  border-block-end: 1px solid transparent;
}

#header-component[data-sticky-state="active"],
#header-component:not([transparent]) {
  border-block-end: 1px solid var(--henua-divider);
  box-shadow: var(--henua-shadow-subtle);
}

.henua-header .header__columns,
.header__columns {
  min-height: 4rem;
}

.henua-header {
  --color-background: var(--henua-off-white);
  --color-background-rgb: 246 244 239;
  --color-foreground: var(--henua-black);
  --color-foreground-rgb: 17 17 17;
  background-color: var(--henua-off-white);
  color: var(--henua-black);
  transition: background-color var(--henua-t-base), color var(--henua-t-base);
}

/* Continuidad de color header <-> primer bloque de la plantilla.
   PDP, carrito, busqueda, 404 y paginas informativas ya combinan con
   off-white (fondo por defecto de .henua-header, sin cambios). Las
   colecciones ahora abren con una franja sand (ver 06/08), asi que el
   header pasa a sand para no cortar en seco con una barra mas clara.
   Home no se toca: su propio bloque exclusivo ya resuelve su header. */
body.template-collection .henua-header {
  --color-background: var(--henua-sand);
  --color-background-rgb: 216 208 194;
  background-color: var(--henua-sand);
}

.header-logo img {
  display: block;
}

.menu-list__link,
.header-actions__action,
.dropdown-localization__button,
.header__icon--menu {
  font-family: var(--henua-font-ui);
  font-size: 0.8125rem;
  font-weight: var(--henua-font-weight-medium);
  letter-spacing: 0.04em;
}

.header-actions__action,
.header__icon--menu,
.search-action {
  min-width: 2.75rem;
  min-height: 2.75rem;
}

.header-actions__cart-icon .cart-bubble {
  background-color: var(--cart-bubble-background, var(--henua-black));
  color: var(--cart-bubble-text, var(--henua-off-white));
  border: 1px solid rgb(246 244 239 / 0.3);
}

.menu-drawer {
  background-color: var(--henua-off-white);
}

.menu-drawer__close-button {
  border-radius: var(--henua-radius-md);
}

.menu-drawer__menu-item {
  min-height: 2.875rem;
}

.search-modal__content.dialog-modal[open],
.theme-drawer__dialog {
  border-radius: var(--henua-radius-lg);
  border-color: var(--henua-border);
}

.predictive-search-form__header,
.theme-drawer__header {
  border-block-end: 1px solid var(--henua-divider);
}

.cart-drawer__items .cart-items__table-row,
.cart-drawer__summary .cart__summary-totals {
  border-color: var(--henua-divider);
}

.cart-drawer__summary {
  box-shadow: 0 -10px 24px rgb(17 17 17 / 0.06);
}

.footer-content {
  color: var(--henua-text-primary);
}

.footer-content .menu .details-content > ul {
  display: grid;
  gap: var(--henua-space-2);
  padding: 0;
  margin: var(--henua-space-3) 0 0;
  list-style: none;
}

.footer-content a {
  opacity: 0.74;
  text-decoration: none;
}

.utilities {
  color: var(--henua-text-secondary);
}

/* ============================================================
   05. HOME: HERO, EDITORIAL RHYTHM, COLLECTION ROUTES
   ============================================================ */

.hero-wrapper:first-child .hero {
  min-height: min(calc(var(--hero-min-height) - var(--hero-height-offset)), 46rem);
}

.hero__container {
  isolation: isolate;
}

.hero .hero__media {
  filter: saturate(0.92) contrast(1.03);
}

.hero .hero__content-wrapper {
  max-width: var(--narrow-page-width);
}

.hero .text-block.h2,
.hero .text-block.h2 * {
  max-inline-size: 11ch;
  /* HENUA fix 2026-07-30: "color: inherit" ganaba por especificidad sobre
     la variable --color que fija el editor (text_color del bloque),
     forzando el titular del hero a heredar el color oscuro ambiente en vez
     del valor claro configurado. Ver ESTADO.md. */
  color: var(--color, inherit);
  font-size: 7.25rem;
  text-transform: uppercase;
}

.hero .text-block--background {
  --text-background-color: rgb(17 17 17 / 0.44);
  --text-padding: clamp(0.25rem, 0.6vw, 0.5rem);
  backdrop-filter: blur(2px);
}

/* HENUA fix 2026-07-30: se agregan los mismos calificadores :not() que la
   regla global de .button-secondary (sección 02) para igualar su
   especificidad — si no, la regla global (color oscuro, pensada para
   fondos claros) ganaba sobre este override para el hero. Ver ESTADO.md. */
.hero .button-secondary:not(.button-unstyled):not([class*="quantity"]),
.hero .button-custom {
  color: var(--henua-off-white);
  border-color: rgb(246 244 239 / 0.82);
  background-color: rgb(17 17 17 / 0.16);
  backdrop-filter: blur(3px);
}

.hero .button-secondary:hover,
.hero .button-custom:hover {
  color: var(--henua-black);
  background-color: var(--henua-off-white);
  border-color: var(--henua-off-white);
}

#shopify-section-section_MyPH86 .section,
#shopify-section-section_zrTGYC .section,
#shopify-section-section_LMwxCp .section,
#shopify-section-section_FWVP6V .section {
  border-block-start: 1px solid var(--henua-divider);
}

#shopify-section-section_zrTGYC .section {
  background-color: var(--henua-forest);
  color: var(--henua-off-white);
}

#shopify-section-section_MyPH86 .section {
  background-color: var(--henua-sand);
  color: var(--henua-black);
}

#shopify-section-section_MyPH86 .section-content-wrapper {
  align-items: flex-start;
  text-align: start;
}

#shopify-section-section_MyPH86 .text-block.h2 {
  max-inline-size: 12ch;
  text-align: start;
}

#shopify-section-section_MyPH86 .text-block.rte {
  max-inline-size: 38rem;
  text-align: start;
}

#shopify-section-section_LMwxCp .section {
  background-color: var(--henua-black);
  color: var(--henua-off-white);
}

#shopify-section-section_LMwxCp .text-block.rte,
#shopify-section-section_LMwxCp .text-block.h2 {
  color: var(--henua-off-white);
}

#shopify-section-product_list_Q4Rh9e .section {
  background-color: var(--henua-off-white);
}

#shopify-section-section_zrTGYC .text-block.rte {
  color: rgb(246 244 239 / 0.8);
}

.collection-card.collection-card--image-bg .collection-card__content {
  padding: clamp(1rem, 2vw, 1.5rem);
}

.collection-card.collection-card--image-bg .collection-card__inner::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(180deg, rgb(17 17 17 / 0.18), rgb(17 17 17 / 0.52));
  z-index: var(--layer-flat);
}

.collection-card.collection-card--image-bg .collection-card__content {
  z-index: var(--layer-raised);
}

.collection-card .text-block--background,
.collection-card .collection-title {
  border-radius: var(--henua-radius-sm);
  background-color: var(--henua-off-white);
  color: var(--henua-black);
}

/* ============================================================
   06. COLLECTIONS, SEARCH, PRODUCT CARDS
   ============================================================ */

.main-collection-grid .product-grid__item {
  border-width: 0;
}

.product-grid-container {
  color: var(--henua-text-primary);
}

.product-grid-container .collection-wrapper {
  row-gap: var(--henua-space-6);
}

.main-collection-grid__empty {
  max-width: var(--henua-max-prose);
  margin-inline: auto;
  padding: var(--henua-space-12) var(--henua-space-4);
  text-align: center;
}

.main-collection-grid__empty-title {
  font-family: var(--henua-font-editorial);
  text-transform: uppercase;
  letter-spacing: 0.02em;
}

.henua-product-card,
.product-card,
.product-grid__card {
  min-width: 0;
}

.product-grid__card.product-grid__card {
  row-gap: var(--henua-space-2);
}

.product-grid__card .card-gallery,
.product-card .card-gallery {
  overflow: hidden;
  border-radius: var(--henua-card-image-radius);
  background: var(--henua-sand);
}

.product-grid__card .product-media-container,
.product-card .product-media-container {
  background: var(--henua-sand);
  border-radius: var(--henua-radius-sm);
  transition: box-shadow var(--henua-t-base), transform var(--henua-t-base);
}

.product-grid__card:hover .product-media-container,
.product-card:hover .product-media-container {
  box-shadow: var(--henua-shadow-subtle);
  transform: translateY(-2px);
}

.product-grid__card .product-media-container img,
.product-card .product-media-container img,
.resource-card__image,
.collection-card__image img {
  backface-visibility: hidden;
}

.product-grid__card > a.contents.user-select-text > .text-block {
  color: var(--henua-text-primary);
  font-family: var(--henua-font-ui);
  font-size: 0.96875rem;
  font-weight: var(--henua-font-weight-semibold);
  letter-spacing: var(--henua-card-title-tracking);
  line-height: 1.28;
}

.product-grid__card .price,
.product-card .price,
.resource-card__content .price {
  color: var(--henua-text-primary);
  font-family: var(--henua-font-ui);
  font-size: 0.9375rem;
  font-weight: var(--henua-font-weight-semibold);
  letter-spacing: 0;
  opacity: var(--henua-card-price-opacity);
}

.product-grid__card .compare-at-price,
.product-card .compare-at-price {
  color: var(--henua-text-secondary);
  opacity: 1;
}

.product-grid__card .jdgm-widget,
.product-card .jdgm-widget {
  font-size: var(--font-size--xs);
  opacity: 0.82;
}

.quick-add__button {
  border-radius: var(--henua-radius-md);
  border-color: rgb(17 17 17 / 0.18);
  box-shadow: 0 4px 14px rgb(17 17 17 / 0.1);
}

.filters,
.facets,
.sorting-filter {
  font-family: var(--henua-font-ui);
}

/* ============================================================
   07. PRODUCT PAGE
   ============================================================ */

.henua-product-information,
.product-information {
  color: var(--henua-text-primary);
}

/* Causa real del espacio muerto: el grid por defecto infla con
   "stretch" la columna mas corta hasta igualar a la mas alta (medido:
   la galeria de Impermeable Expedition se inflaba de 1175px reales a
   1532px sin contenido, puro espacio muerto). align-items:start deja
   que cada columna ocupe solo su alto natural -ninguna se infla- y
   ambas arrancan alineadas arriba, que es como ya se lee el resto de
   la pagina (titulo/precio arriba). El sticky del buy-box sigue
   funcionando dentro del alto de fila que marca la columna mas alta. */
.product-information__grid {
  align-items: start;
}

/* Cuando la descripcion es mas larga que la galeria (ej. Impermeable
   Expedition), el sobrante ya no queda en blanco: la columna de medios
   es la unica que se estira hasta el alto de fila, y ese sobrante se
   rellena con el mismo sand de fondo de cada imagen -pasa de "hueco"
   a lienzo de marca-. El bloque de compra (product-details) sigue
   arrancando arriba, sin inflar su propio contenido. */
.product-information__grid .product-information__media {
  align-self: stretch;
  background-color: var(--henua-sand);
}

.product-information .product-media-container {
  background-color: var(--henua-sand);
}

.product-information .product-details > .group-block {
  border-color: var(--henua-divider);
}

.product-information .text-block :is(h1, h2, h3, h4) {
  color: var(--henua-text-primary);
}

.product-information .text-block h1 {
  font-family: var(--henua-font-ui);
  font-size: 3rem;
  font-weight: var(--henua-font-weight-bold);
  letter-spacing: 0;
  line-height: 1.04;
}

.product-information .price {
  color: var(--henua-text-primary);
  font-weight: var(--henua-font-weight-semibold);
  opacity: 1;
}

.product-information .jdgm-widget {
  margin-block: var(--henua-space-1) 0;
  font-size: var(--font-size--sm);
}

.product-information .jdgm-review-widget {
  color: var(--henua-text-primary);
  font-family: var(--henua-font-ui);
  font-size: var(--font-size--sm);
}

.product-information .text-block.rte {
  max-inline-size: var(--henua-max-prose);
}

.product-information .text-block.rte ul {
  display: grid;
  gap: var(--henua-space-2);
  padding-inline-start: 1.15em;
}

/* Encabezados reales dentro de la descripcion (ej. "Caracteristicas",
   "Materiales", "Cuidados"): tratamiento editorial igual al resto del
   sistema. El h1 del titulo del producto queda deliberadamente en Inter
   (regla previa arriba), el copy funcional no necesita gritar. */
.product-information .text-block.rte h2,
.product-information .text-block.rte h3 {
  font-family: var(--henua-font-editorial);
  text-transform: uppercase;
  letter-spacing: 0.02em;
  line-height: 1.1;
}

.product-information .text-block.rte h2 {
  font-size: clamp(1.5rem, 1.1rem + 1.5vw, 2rem);
  margin-block-start: var(--henua-space-8);
}

.product-information .text-block.rte h3 {
  font-size: clamp(1.125rem, 0.95rem + 0.7vw, 1.375rem);
  margin-block-start: var(--henua-space-6);
}

.variant-option,
.variant-option__button-label,
.variant-option select {
  min-height: 2.875rem;
}

.variant-option__button-label {
  border-radius: var(--henua-radius-md);
}

.accordion-custom summary,
.accordion summary,
.disclosures summary {
  min-height: 2.875rem;
}

.sticky-add-to-cart__bar {
  border-radius: var(--henua-radius-lg);
  border: 1px solid var(--henua-border);
  box-shadow: var(--henua-shadow-panel);
}

.sticky-add-to-cart__image {
  border-radius: var(--henua-radius-md);
}

/* ============================================================
   08. SECONDARY PAGES
   ============================================================ */

.main-page,
.main-blog,
.main-blog-post,
.search-results,
.main-cart,
.main-collection-list {
  color: var(--henua-text-primary);
}

.main-cart .cart__summary,
.cart-summary,
.cart-items-component {
  border-color: var(--henua-divider);
}

.resource-card {
  gap: var(--henua-space-2);
}

.resource-card__media,
.resource-card__image,
.resource-card__image-wrapper {
  overflow: hidden;
  background-color: var(--henua-sand);
}

/* Contenido de páginas informativas (ej. Nosotros): jerarquía editorial y
   ancho de lectura reutilizando los tokens ya existentes, sin depender de
   IDs de sección dinámicos. */
.page-content {
  max-width: var(--henua-max-prose);
  margin-inline: auto;
  display: grid;
  gap: var(--henua-space-4);
}

.page-content h1,
.page-content h2,
.page-content h3 {
  font-family: var(--henua-font-editorial);
  text-transform: uppercase;
  letter-spacing: 0.02em;
  line-height: 1.05;
}

.page-content h2 {
  font-size: clamp(1.75rem, 1.2rem + 2vw, 2.75rem);
  margin-block-start: var(--henua-space-8);
}

.page-content h3 {
  font-size: clamp(1.25rem, 1rem + 1vw, 1.625rem);
  margin-block-start: var(--henua-space-6);
}

.page-content p {
  font-family: var(--henua-font-ui);
  line-height: 1.6;
}

/* Paginas de politica nativas de Shopify (privacidad, reembolso, terminos,
   envio, informacion de contacto): mismas clases estables .shopify-policy__*
   en las 5, sin plantilla propia del tema. Mismo sistema editorial. */
.shopify-policy__container {
  max-width: var(--henua-max-prose);
  margin-inline: auto;
  padding-block: var(--henua-space-12);
}

.shopify-policy__title {
  background-color: var(--henua-sand);
  margin-block-end: var(--henua-space-8);
  padding: var(--henua-space-8) var(--henua-space-6);
}

.shopify-policy__title h1 {
  font-family: var(--henua-font-editorial);
  text-transform: uppercase;
  letter-spacing: 0.02em;
  line-height: 1.05;
  font-size: clamp(2rem, 1.3rem + 2.5vw, 3rem);
}

.shopify-policy__body {
  font-family: var(--henua-font-ui);
  line-height: 1.6;
}

.shopify-policy__body :is(h2, h3) {
  font-family: var(--henua-font-editorial);
  text-transform: uppercase;
  letter-spacing: 0.02em;
  line-height: 1.1;
}

/* Nosotros (page.nuestra-historia): el z-index:0 del wrapper (arriba, en
   01. FOUNDATION) ya hace visible el background_color nativo de estas
   secciones; aqui solo se controla el ancho de lectura del texto. */
[id$="__section_Eb6kqX"] .text-block,
[id$="__section_UA3XG9"] .text-block {
  max-width: var(--henua-max-prose);
}

/* ============================================================
   09. MOTION AND RESPONSIVE
   ============================================================ */

@media (any-pointer: fine) and (prefers-reduced-motion: no-preference) {
  .header-logo,
  .header-actions__action,
  .header__icon--menu,
  .menu-list__link,
  .footer-content a,
  .utilities a {
    transition: color var(--henua-t-fast), opacity var(--henua-t-fast), transform var(--henua-t-fast);
  }

  .header-logo:hover,
  .header-actions__action:hover,
  .header__icon--menu:hover,
  .menu-list__link:hover {
    opacity: 0.68;
  }

  .button:not(.button-secondary):not(.button-unstyled):not([class*="slideshow-control"]):not([class*="quantity"]),
  .button-secondary:not(.button-unstyled):not([class*="slideshow-control"]):not([class*="quantity"]),
  .quick-add__button {
    transition: background-color var(--henua-t-fast), border-color var(--henua-t-fast), color var(--henua-t-fast), opacity var(--henua-t-fast), transform var(--henua-t-fast);
  }

  .button:not(.button-secondary):not(.button-unstyled):not([class*="slideshow-control"]):not([class*="quantity"]):hover,
  .quick-add__button:hover {
    transform: translateY(-1px);
  }

  .button-secondary:not(.button-unstyled):not([class*="slideshow-control"]):not([class*="quantity"]):hover {
    color: var(--henua-off-white);
    background-color: var(--henua-black);
  }

  .product-grid__card,
  .resource-card,
  .collection-card__inner {
    transition: transform var(--henua-t-base);
  }

  .product-grid__card:hover,
  .resource-card:hover,
  .collection-card:hover .collection-card__inner {
    transform: translateY(-2px);
  }

  .product-grid__card .product-media-container img,
  .product-card .product-media-container img,
  .resource-card__image,
  .collection-card__image img {
    transition: transform var(--henua-t-base);
  }

  .product-grid__card:hover .product-media-container img,
  .product-card:hover .product-media-container img,
  .resource-card:hover .resource-card__image,
  .collection-card:hover .collection-card__image img {
    transform: scale(1.025);
  }
}

@media screen and (min-width: 768px) and (max-width: 1023px) {
  .header__columns {
    min-height: 3.625rem;
  }

  .hero .text-block.h2,
  .hero .text-block.h2 * {
    font-size: 4.2rem;
  }

  #shopify-section-section_MyPH86 .text-block.h2,
  #shopify-section-section_zrTGYC .text-block.h2,
  #shopify-section-section_LMwxCp .text-block.h2,
  #shopify-section-section_FWVP6V .text-block.h2 {
    font-size: 3.25rem;
  }
}

@media screen and (max-width: 767px) {
  body {
    --page-margin: 1rem;
  }

  .announcement-bar {
    font-size: 0.6875rem;
    letter-spacing: 0.05em;
  }

  .header__columns {
    min-height: 3.5rem;
  }

  .hero-wrapper:first-child .hero {
    min-height: min(calc(var(--hero-min-height) - var(--hero-height-offset)), 40rem);
  }

  .hero__content-wrapper {
    padding-inline: var(--henua-space-4);
  }

  .hero .text-block.h2,
  .hero .text-block.h2 * {
    max-inline-size: 9.5ch;
    line-height: 0.92;
  }

  .hero .button,
  .hero .button-secondary,
  .hero .button-custom {
    width: auto;
    min-width: 9.5rem;
  }

  .product-grid {
    row-gap: var(--henua-space-6);
  }

  .product-grid__card.product-grid__card {
    row-gap: var(--henua-space-1);
  }

  .product-grid__card > a.contents.user-select-text > .text-block {
    font-size: 0.875rem;
    line-height: 1.25;
  }

  .product-grid__card .price,
  .product-card .price {
    font-size: 0.875rem;
  }

  .product-information .text-block h1 {
    font-size: 2rem;
  }

  .quick-add__button {
    min-width: 2.75rem;
    min-height: 2.75rem;
  }

  .search-modal__content.dialog-modal[open],
  .theme-drawer__dialog,
  .sticky-add-to-cart__bar {
    border-radius: 0;
  }

  .sticky-add-to-cart__bar {
    padding: var(--henua-space-2) var(--henua-space-3);
  }

  .footer-content {
    gap: var(--henua-space-8);
  }
}


/* Desktop-only composition: 1024 px and above. */
@media screen and (min-width: 1024px) {
  .henua-story-lifestyle__panel--story {
    grid-template-columns: 52% 48%;
    grid-template-areas: "content media";
  }

  .henua-story-lifestyle__panel--story .henua-story-lifestyle__media {
    grid-area: media;
  }

  .henua-story-lifestyle__panel--story .henua-story-lifestyle__content {
    grid-area: content;
  }

  .henua-category-strip--count-7 .henua-category-strip__media {
    aspect-ratio: 2.1 / 1;
  }

  .henua-collection-showcase--feature .henua-collection-card {
    grid-template-rows: auto auto;
  }

  .henua-collection-showcase--feature .henua-collection-card__media {
    aspect-ratio: 1.45 / 1;
  }
}

/* Final desktop composition: CTA stack, full-product panels and complete dogs. */
@media screen and (min-width: 1024px) {
  body:has(#shopify-section-hero_jVaWmY) .henua-hero .henua-hero__content {
    display: flex;
    width: 100%;
    max-width: none;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    padding-inline: clamp(2rem, 5vw, 5rem);
  }

  body:has(#shopify-section-hero_jVaWmY) .henua-hero .henua-hero__content > * {
    width: auto;
    max-width: none;
  }

  body:has(#shopify-section-hero_jVaWmY) .henua-hero .henua-hero__content .text-block.h2,
  body:has(#shopify-section-hero_jVaWmY) .henua-hero .henua-hero__content .text-block.h2 * {
    width: max-content;
    max-width: none;
    white-space: nowrap;
    font-size: clamp(2.25rem, 3.7vw, 4rem);
  }

  body:has(#shopify-section-hero_jVaWmY) .henua-hero .henua-hero__content .button-custom,
  body:has(#shopify-section-hero_jVaWmY) .henua-hero .henua-hero__content .button-secondary {
    width: auto;
    margin-top: 0.75rem;
  }

  .henua-category-strip--count-7 .henua-category-strip__media {
    aspect-ratio: 1.35 / 1;
  }

  .henua-category-strip--count-7 .henua-category-strip__media img:not([src*="icon-henua"]) {
    object-fit: contain;
    background: var(--henua-sand);
  }

  .henua-collection-showcase--feature .henua-collection-showcase__inner {
    grid-template-columns: minmax(0, 0.72fr) minmax(0, 1.28fr);
    grid-template-rows: auto 1fr;
    align-items: stretch;
    min-height: 500px;
  }

  .henua-collection-showcase--feature .henua-collection-showcase__header {
    grid-column: 1;
    grid-row: 1;
  }

  .henua-collection-showcase--feature .henua-collection-showcase__grid {
    display: contents;
  }

  .henua-collection-showcase--feature .henua-collection-card {
    display: contents;
  }

  .henua-collection-showcase--feature .henua-collection-card__media {
    grid-column: 2;
    grid-row: 1 / -1;
    aspect-ratio: auto;
    min-height: 500px;
  }

  .henua-collection-showcase--feature .henua-collection-card__media img {
    object-fit: contain;
    background: var(--henua-sand);
  }

  .henua-collection-showcase--feature .henua-collection-card__meta {
    grid-column: 1;
    grid-row: 2;
    align-self: end;
    padding: 1rem clamp(1.25rem, 3vw, 2.5rem) 1.5rem;
    background: var(--henua-sand);
  }

  .henua-collection-showcase[data-collection="polerones"] {
    background: var(--henua-forest);
    color: var(--henua-off-white);
  }

  .henua-collection-showcase[data-collection="polerones"] .henua-collection-card__media img {
    background: var(--henua-forest);
  }

  .henua-collection-showcase[data-collection="polerones"] .henua-collection-card__meta {
    background: var(--henua-forest);
    color: var(--henua-off-white);
  }

  .henua-collection-showcase[data-collection="polerones"] .henua-collection-card__meta h3,
  .henua-collection-showcase[data-collection="polerones"] .henua-collection-card__meta p,
  .henua-collection-showcase[data-collection="polerones"] .henua-collection-card__cta {
    color: var(--henua-off-white);
  }

  body:has(.henua-story-lifestyle--story-only) .henua-story-lifestyle {
    width: 100%;
    max-width: none;
    grid-template-columns: 1fr;
  }
}

/* Stable Home selectors: Shopify prefixes section/block IDs at render time. */
body:has(#shopify-section-hero_jVaWmY) .footer-content,
body:has(#shopify-section-hero_jVaWmY) .footer-utilities,
body:has(#shopify-section-hero_jVaWmY) .footer-content .group-block,
body:has(#shopify-section-hero_jVaWmY) .footer-content .email-signup-block {
  background: var(--henua-off-white);
  color: var(--henua-black);
}

body:has(#shopify-section-hero_jVaWmY) .footer-content .text-block,
body:has(#shopify-section-hero_jVaWmY) .footer-content .text-block *,
body:has(#shopify-section-hero_jVaWmY) .footer-content .rte,
body:has(#shopify-section-hero_jVaWmY) .footer-content .rte *,
body:has(#shopify-section-hero_jVaWmY) .footer-content h3,
body:has(#shopify-section-hero_jVaWmY) .footer-content a,
body:has(#shopify-section-hero_jVaWmY) .footer-utilities,
body:has(#shopify-section-hero_jVaWmY) .footer-utilities * {
  color: var(--henua-black);
}

body:has(#shopify-section-hero_jVaWmY) .footer-content .email-signup__input-group {
  border-color: rgb(17 17 17 / 0.35);
}

body:has(#shopify-section-hero_jVaWmY) .footer-content .email-signup__input,
body:has(#shopify-section-hero_jVaWmY) .footer-content .email-signup__input::placeholder {
  color: var(--henua-black);
}

body:has(#shopify-section-hero_jVaWmY) > .page-wrapper > footer {
  background: var(--henua-off-white);
  color: var(--henua-black);
}

@media screen and (min-width: 1024px) {
  body:has(#shopify-section-hero_jVaWmY) .henua-hero .hero__media img {
    object-position: 72% top;
  }

  body:has(#shopify-section-hero_jVaWmY) .henua-hero .henua-hero__content {
    justify-content: flex-end;
    padding-block: 0 clamp(2rem, 5vw, 4rem);
  }

  body:has(#shopify-section-hero_jVaWmY) .henua-hero .henua-hero__content .text-block.h2,
  body:has(#shopify-section-hero_jVaWmY) .henua-hero .henua-hero__content .text-block.h2 * {
    background: transparent;
  }

  .henua-category-strip--count-7 .henua-category-strip__grid {
    grid-auto-flow: row;
    grid-template-rows: auto auto;
  }

  .henua-category-strip--count-7 .henua-category-strip__item[data-category="impermeables"] { grid-column: 1; grid-row: 1; }
  .henua-category-strip--count-7 .henua-category-strip__item[data-category="polerones"] { grid-column: 2; grid-row: 1; }
  .henua-category-strip--count-7 .henua-category-strip__item[data-category="arneses"] { grid-column: 3; grid-row: 1; }
  .henua-category-strip--count-7 .henua-category-strip__item[data-category="collares"] { grid-column: 4; grid-row: 1; }
  .henua-category-strip--count-7 .henua-category-strip__item[data-category="camas"] { grid-column: 1; grid-row: 2; }
  .henua-category-strip--count-7 .henua-category-strip__item[data-category="juguetes"] { grid-column: 2; grid-row: 2; }
  .henua-category-strip--count-7 .henua-category-strip__item[data-category="accesorios"] { grid-column: 3; grid-row: 2; }

  .henua-category-strip--count-7 .henua-category-strip__item--icon {
    background: var(--henua-petrol);
    color: var(--henua-off-white);
  }

  .henua-category-strip--count-7 .henua-category-strip__item--icon .henua-category-strip__content h2,
  .henua-category-strip--count-7 .henua-category-strip__item--icon .henua-category-strip__content p {
    color: var(--henua-off-white);
  }

  .henua-collection-showcase--feature .henua-collection-showcase__inner {
    grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
    column-gap: clamp(1.5rem, 3vw, 3rem);
  }

  .henua-collection-showcase--feature .henua-collection-showcase__header .henua-display {
    max-width: 100%;
    font-size: clamp(2.25rem, 3.35vw, 4rem);
    line-height: 0.9;
    white-space: nowrap;
  }

  .henua-collection-showcase[data-collection="polerones"] .henua-collection-showcase__feature-media,
  .henua-collection-showcase[data-collection="polerones"] .henua-collection-showcase__feature-meta {
    background: var(--henua-forest);
    color: var(--henua-off-white);
  }

  .henua-collection-showcase[data-collection="polerones"] .henua-collection-showcase__feature-media img {
    background: var(--henua-forest);
  }

  .henua-collection-showcase[data-collection="polerones"] .henua-collection-showcase__feature-meta h3,
  .henua-collection-showcase[data-collection="polerones"] .henua-collection-showcase__feature-meta p,
  .henua-collection-showcase[data-collection="polerones"] .henua-collection-showcase__feature-meta .henua-collection-card__cta {
    color: var(--henua-off-white);
  }

  body:has(.henua-story-lifestyle--story-only) .henua-story-lifestyle .henua-story-lifestyle__panel--story {
    grid-template-columns: minmax(0, 0.45fr) minmax(0, 0.55fr);
    grid-template-rows: minmax(34rem, 42rem);
    grid-template-areas: "content media";
  }

  body:has(.henua-story-lifestyle--story-only) .henua-story-lifestyle .henua-story-lifestyle__panel--story .henua-story-lifestyle__content {
    grid-area: content;
    min-width: 0;
    padding: clamp(2rem, 4vw, 4rem);
  }

  body:has(.henua-story-lifestyle--story-only) .henua-story-lifestyle .henua-story-lifestyle__panel--story .henua-story-lifestyle__content .henua-display {
    max-width: 16ch;
    font-size: clamp(2.5rem, 4vw, 4.75rem);
    line-height: 0.88;
    word-break: keep-all;
    overflow-wrap: normal;
  }

  body:has(.henua-story-lifestyle--story-only) .henua-story-lifestyle .henua-story-lifestyle__panel--story .henua-story-lifestyle__media {
    grid-area: media;
    min-width: 0;
  }

  body:has(.henua-story-lifestyle--story-only) .henua-story-lifestyle .henua-story-lifestyle__panel--story .henua-story-lifestyle__media img {
    object-fit: contain;
    object-position: center;
    background: var(--henua-sand);
  }

  body:has(#shopify-section-hero_jVaWmY) .henua-hero .hero__container {
    min-height: 500px;
    max-height: 520px;
  }

  body:has(#shopify-section-hero_jVaWmY) .henua-hero .hero__media-grid {
    min-height: 500px;
  }

  body:has(#shopify-section-hero_jVaWmY) .henua-hero .henua-hero__content {
    align-self: end;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-end;
    width: 100%;
    max-width: none;
    padding: 0 clamp(1.5rem, 5vw, 5rem) clamp(1.5rem, 4vw, 3rem);
    gap: 0.75rem;
  }

  body:has(#shopify-section-hero_jVaWmY) .henua-hero .henua-hero__content .text-block.h2,
  body:has(#shopify-section-hero_jVaWmY) .henua-hero .henua-hero__content .text-block.h2 * {
    max-width: none;
    white-space: nowrap;
    font-size: clamp(2rem, 3vw, 3.5rem);
  }

  body:has(#shopify-section-hero_jVaWmY) .henua-hero .henua-hero__content .text-block.h2 br {
    display: none;
  }

  body:has(#shopify-section-hero_jVaWmY) .henua-hero .henua-hero__content .button-custom,
  body:has(#shopify-section-hero_jVaWmY) .henua-hero .henua-hero__content .button-secondary {
    width: auto;
    max-width: none;
    min-width: 13rem;
  }

  .henua-category-strip--count-7 .henua-category-strip__item[data-category="camas"] {
    grid-column: 1;
    grid-row: 2;
  }

  .henua-category-strip--count-7 .henua-category-strip__item[data-category="juguetes"] {
    grid-column: 2;
    grid-row: 2;
  }

  .henua-category-strip--count-7 .henua-category-strip__item[data-category="accesorios"] {
    grid-column: 3;
    grid-row: 2;
  }

  .henua-category-strip--count-7 .henua-category-strip__item[data-category="camas"] .henua-category-strip__media img,
  .henua-category-strip--count-7 .henua-category-strip__item[data-category="arneses"] .henua-category-strip__media img,
  .henua-category-strip--count-7 .henua-category-strip__item[data-category="collares"] .henua-category-strip__media img {
    object-fit: contain;
  }

  .henua-category-strip--count-7 .henua-category-strip__item[data-category="impermeables"],
  .henua-category-strip--count-7 .henua-category-strip__item[data-category="polerones"],
  .henua-category-strip--count-7 .henua-category-strip__item[data-category="arneses"],
  .henua-category-strip--count-7 .henua-category-strip__item[data-category="collares"] {
    grid-row: 1;
    grid-column: auto;
  }

  .henua-collection-showcase--feature .henua-collection-showcase__header .henua-display {
    max-width: none;
    white-space: nowrap;
  }

  .henua-collection-showcase--feature .henua-collection-showcase__feature-meta {
    background: var(--henua-sand);
    color: var(--henua-black);
  }

  .henua-collection-showcase--grid .henua-collection-card,
  .henua-collection-showcase--grid .henua-collection-card__meta {
    background: var(--henua-forest);
    color: var(--henua-off-white);
  }

  body:has(.henua-story-lifestyle--story-only) .henua-story-lifestyle {
    width: 100%;
    grid-template-columns: minmax(0, 1fr);
  }

  body:has(.henua-story-lifestyle--story-only) .henua-story-lifestyle__panel--story {
    width: 100%;
  }
}

/* Future categories remain visible as designed cards, not empty slots. */
.henua-category-strip__item--icon {
  background: var(--henua-petrol);
  color: var(--henua-off-white);
}

.henua-category-strip__item--icon .henua-category-strip__media {
  background: linear-gradient(145deg, var(--henua-petrol), var(--henua-forest));
}

.henua-category-strip__item--icon .henua-category-strip__media img {
  filter: brightness(0) invert(1);
  opacity: 0.86;
}

.henua-category-strip__item--icon .henua-category-strip__content h2,
.henua-category-strip__item--icon .henua-category-strip__content p,
.henua-category-strip__item--icon .henua-category-strip__content span {
  color: var(--henua-off-white);
}

.henua-category-strip__item--icon .henua-category-strip__content p {
  color: rgb(246 244 239 / 0.68);
}

/* Commercial home refinement: editorial category rhythm and collection storytelling. */
.henua-category-strip--count-7 .henua-category-strip__grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.henua-category-strip--count-7 .henua-category-strip__item:nth-last-child(3) {
  grid-column: 2;
}

.henua-category-strip__item--future .henua-category-strip__media {
  background: linear-gradient(135deg, var(--henua-sand), var(--henua-off-white));
}

.henua-category-strip__item--future .henua-category-strip__content p {
  color: rgb(17 17 17 / 0.58);
  font-size: 0.68rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.henua-category-strip__media img[src*="icon-plus"] {
  width: 3.5rem;
  height: 3.5rem;
  object-fit: contain;
  opacity: 0.62;
}

.henua-collection-showcase {
  width: min(calc(100% - 2rem), 90rem);
  margin: 0.75rem auto;
  overflow: hidden;
  border: 1px solid rgb(17 17 17 / 0.1);
}

.henua-collection-showcase--feature {
  background: var(--henua-sand);
  color: var(--henua-black);
}

.henua-collection-showcase--grid {
  background: var(--henua-forest);
  color: var(--henua-off-white);
}

.henua-collection-showcase__inner {
  padding: clamp(1.25rem, 3.5vw, 3rem);
}

.henua-collection-showcase__header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 2rem;
}

.henua-collection-showcase__header .henua-display {
  max-width: 9ch;
  margin: 0.35rem 0 0;
  font-size: clamp(3rem, 5vw, 5.5rem);
  line-height: 0.84;
}

.henua-collection-showcase__intro {
  max-width: 34ch;
  margin-top: 0.9rem;
  font-size: 0.95rem;
  line-height: 1.45;
}

.henua-collection-showcase--grid .henua-collection-showcase__header .henua-eyebrow,
.henua-collection-showcase--grid .henua-collection-showcase__intro {
  color: rgb(246 244 239 / 0.78);
}

.henua-collection-showcase--grid .henua-collection-showcase__header .henua-display {
  color: var(--henua-off-white);
}

.henua-collection-showcase__header .henua-link-arrow {
  flex: 0 0 auto;
  border-block-end: 1px solid currentColor;
  padding-block: 0.35rem;
  color: inherit;
  font-size: 0.75rem;
  letter-spacing: 0.08em;
  text-decoration: none;
  text-transform: uppercase;
}

.henua-collection-showcase__grid {
  display: grid;
  gap: 1rem;
  margin-top: 2rem;
}

.henua-collection-showcase--grid .henua-collection-showcase__grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.henua-collection-showcase--feature .henua-collection-showcase__inner {
  display: grid;
  grid-template-columns: minmax(0, 0.72fr) minmax(0, 1.28fr);
  grid-template-rows: auto minmax(0, 1fr);
  align-items: stretch;
  gap: clamp(1.5rem, 4vw, 4rem);
  min-height: 36rem;
}

.henua-collection-showcase--feature .henua-collection-showcase__header {
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  justify-content: center;
  grid-column: 1;
  grid-row: 1;
}

.henua-collection-showcase--feature .henua-collection-showcase__feature-media {
  grid-column: 2;
  grid-row: 1 / -1;
  margin-top: 0;
  min-height: 0;
  overflow: hidden;
  background: var(--henua-sand);
}

.henua-collection-showcase--feature .henua-collection-showcase__feature-media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}

.henua-collection-showcase--feature .henua-collection-showcase__feature-meta {
  grid-column: 1;
  grid-row: 2;
  align-self: end;
  padding-top: 1.25rem;
}

.henua-collection-showcase--feature .henua-collection-showcase__feature-meta h3,
.henua-collection-showcase--feature .henua-collection-showcase__feature-meta p {
  margin: 0;
}

.henua-collection-showcase--feature .henua-collection-showcase__feature-meta h3 {
  font-family: var(--henua-font-editorial);
  font-size: clamp(1.5rem, 2.2vw, 2.15rem);
  font-weight: 400;
  line-height: 0.95;
}

.henua-collection-showcase--feature .henua-collection-showcase__feature-meta h3 a {
  color: inherit;
  text-decoration: none;
}

.henua-collection-showcase--feature .henua-collection-showcase__feature-meta p {
  margin-top: 0.45rem;
  font-size: 0.875rem;
  font-weight: 600;
}

.henua-collection-showcase__grid .henua-collection-card {
  min-width: 0;
  background: var(--henua-off-white);
  color: var(--henua-black);
}

.henua-collection-showcase--feature .henua-collection-card {
  display: grid;
  grid-template-rows: minmax(18rem, 1fr) auto;
}

.henua-collection-card__media {
  aspect-ratio: 1.15 / 1;
  overflow: hidden;
  background: var(--henua-off-white);
}

.henua-collection-card__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform var(--henua-t-base);
}

.henua-collection-card:hover .henua-collection-card__media img {
  transform: scale(1.03);
}

.henua-collection-card__meta {
  padding: 1rem;
}

.henua-collection-card__meta h3,
.henua-collection-card__meta p {
  margin: 0;
}

.henua-collection-card__meta h3 {
  font-family: var(--henua-font-editorial);
  font-size: clamp(1.5rem, 2.2vw, 2.15rem);
  font-weight: 400;
  line-height: 0.95;
}

.henua-collection-card__meta h3 a {
  color: inherit;
  text-decoration: none;
}

.henua-collection-card__meta p {
  margin-top: 0.45rem;
  font-size: 0.875rem;
  font-weight: 600;
}

.henua-collection-card__cta {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  margin-top: 0.85rem;
  border-block-end: 1px solid currentColor;
  padding-block-end: 0.25rem;
  color: inherit;
  font-size: 0.68rem;
  letter-spacing: 0.08em;
  text-decoration: none;
  text-transform: uppercase;
}

.henua-story-lifestyle--story-only {
  grid-template-columns: minmax(0, 1fr);
}

@media screen and (max-width: 389px) {
  .button:not(.button-secondary):not(.button-unstyled):not([class*="slideshow-control"]):not([class*="quantity"]),
  .button-secondary:not(.button-unstyled):not([class*="slideshow-control"]):not([class*="quantity"]),
  .add-to-cart-button {
    font-size: 0.75rem;
    letter-spacing: 0.04em;
  }

  .hero .text-block.h2,
  .hero .text-block.h2 * {
    font-size: 3.2rem;
  }
}

/* Mobile composition: keep the approved desktop layout unchanged. */
@media screen and (max-width: 767px) {
  .henua-hero .hero__container,
  .henua-hero .hero__media-grid {
    min-height: min(82svh, 38.75rem);
    max-height: 38.75rem;
  }

  .henua-hero .hero__media-grid .overlay--gradient {
    background: linear-gradient(
      0deg,
      rgb(17 17 17 / 0.94) 0%,
      rgb(17 17 17 / 0.78) 38%,
      rgb(17 17 17 / 0.16) 76%,
      rgb(17 17 17 / 0) 100%
    );
  }

  .henua-hero .hero__media img {
    object-position: 68% 32%;
  }

  .henua-hero .henua-hero__content {
    align-self: end;
    display: flex;
    width: 100%;
    max-width: 34rem;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.5rem;
    box-sizing: border-box;
    padding: 1.25rem max(1rem, 6vw) 1.5rem;
  }

  .henua-hero .henua-hero__content .text-block,
  .henua-hero .henua-hero__content .text-block * {
    max-width: 100%;
    word-break: normal;
    overflow-wrap: normal;
    hyphens: none;
  }

  .henua-hero .henua-hero__content .text-block.h2,
  .henua-hero .henua-hero__content .text-block.h2 * {
    max-width: 12ch;
    color: var(--henua-off-white);
    font-family: var(--henua-font-editorial);
    font-size: clamp(2.1rem, 9vw, 3.2rem);
    line-height: 0.92;
  }

  .henua-hero .henua-hero__content .text-block:not(.h2) {
    color: var(--henua-off-white);
  }

  .henua-hero .henua-hero__content .button,
  .henua-hero .henua-hero__content .button-secondary,
  .henua-hero .henua-hero__content .button-custom {
    min-width: 0;
    min-height: 2.75rem;
    max-width: 100%;
    white-space: normal;
  }

  .henua-category-strip {
    width: 100%;
    padding: 0.75rem;
    box-sizing: border-box;
    overflow: visible;
  }

  .henua-category-strip__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.5rem;
    padding: 0;
    overflow: visible;
  }

  .henua-category-strip__item {
    min-width: 0;
    flex: none;
  }

  .henua-category-strip__media {
    aspect-ratio: 1.45 / 1;
  }

  .henua-category-strip__content {
    min-height: 4rem;
    padding: 0.625rem;
  }

  .henua-category-strip__content h2 {
    font-size: clamp(1.15rem, 5vw, 1.5rem);
  }

  .henua-category-strip__item--future {
    background: color-mix(in srgb, var(--henua-sand) 62%, var(--henua-off-white));
  }

  .henua-category-strip__item--future .henua-category-strip__media {
    aspect-ratio: 1.8 / 1;
    background: var(--henua-off-white);
  }

  .henua-category-strip__item--future .henua-category-strip__media img[src*="icon-henua"] {
    width: 3rem;
    height: 3rem;
    opacity: 0.55;
  }

  .henua-story-lifestyle {
    grid-template-columns: 1fr;
    width: 100%;
    padding-inline: 0.75rem;
    box-sizing: border-box;
  }

  .henua-story-lifestyle__panel--story,
  .henua-story-lifestyle__panel--lifestyle {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: minmax(14rem, 17rem) auto;
    min-height: 0;
  }

  .henua-story-lifestyle__panel--story .henua-story-lifestyle__media,
  .henua-story-lifestyle__panel--lifestyle .henua-story-lifestyle__media {
    position: relative;
    inset: auto;
    min-height: 0;
    aspect-ratio: 1.15 / 1;
  }

  .henua-story-lifestyle__panel--story .henua-story-lifestyle__content,
  .henua-story-lifestyle__panel--lifestyle .henua-story-lifestyle__content {
    min-height: 0;
    max-width: none;
    padding: 1.5rem;
  }

  .henua-story-lifestyle__content .henua-display {
    max-width: 12ch;
    font-size: clamp(2.1rem, 9vw, 3.2rem);
    word-break: normal;
    overflow-wrap: normal;
    hyphens: none;
  }

  .henua-story-lifestyle__content .henua-button {
    width: auto;
    max-width: 100%;
    min-height: 2.75rem;
    white-space: normal;
  }

  .henua-benefits {
    display: none;
  }

  body:has(#shopify-section-hero_jVaWmY) .footer-content {
    gap: clamp(3rem, 8vw, 5rem);
  }
}

@media screen and (min-width: 768px) {
  .header__column--left,
  header-menu,
  .header-menu,
  .header-menu__inner,
  .menu-list,
  .overflow-menu {
    min-width: 0;
    max-width: 100%;
  }
}


/* ============================================================
   FINAL HOME V4: COMPACT APPROVED COMPOSITION
   ============================================================ */

body:has(#shopify-section-hero_jVaWmY) {
  background: var(--henua-off-white);
}

body:has(#shopify-section-hero_jVaWmY) #header-component.henua-header {
  position: relative;
  z-index: 4;
  background: var(--henua-off-white);
  border-block-end: 1px solid var(--henua-sand);
  box-shadow: none;
}

body:has(#shopify-section-hero_jVaWmY) #header-component.henua-header .header__columns {
  min-height: 4.5rem;
  padding-block: 0;
}

body:has(#shopify-section-hero_jVaWmY) #header-component.henua-header .header-logo {
  width: auto;
  justify-self: center;
}

body:has(#shopify-section-hero_jVaWmY) #header-component.henua-header .header-logo__wordmark {
  display: block;
  color: var(--henua-black);
  font-family: var(--henua-font-editorial);
  font-size: clamp(2.375rem, 3vw, 2.75rem);
  font-weight: 400;
  letter-spacing: 0.18em;
  line-height: 1;
  white-space: nowrap;
  text-align: center;
}

body:has(#shopify-section-hero_jVaWmY) #shopify-section-hero_jVaWmY .hero__container {
  min-height: 500px;
  max-height: 520px;
}

body:has(#shopify-section-hero_jVaWmY) #shopify-section-hero_jVaWmY .hero__media-grid {
  min-height: 500px;
}

body:has(#shopify-section-hero_jVaWmY) #shopify-section-hero_jVaWmY .hero__media img {
  object-position: 68% center;
}

body:has(#shopify-section-hero_jVaWmY) #shopify-section-hero_jVaWmY .hero__media-grid .overlay--gradient {
  background: linear-gradient(90deg, rgb(246 244 239 / 0.98) 0%, rgb(246 244 239 / 0.92) 28%, rgb(246 244 239 / 0.45) 48%, rgb(246 244 239 / 0) 67%);
}

body:has(#shopify-section-hero_jVaWmY) #shopify-section-hero_jVaWmY .henua-hero__content {
  align-self: center;
  display: grid;
  grid-template-columns: max-content max-content;
  width: min(100%, 470px);
  max-width: 470px;
  padding-block: 1.5rem;
  padding-inline-start: clamp(1.5rem, 5vw, 5rem);
  row-gap: 0.75rem;
}

body:has(#shopify-section-hero_jVaWmY) #shopify-block-hero_eyebrow,
body:has(#shopify-section-hero_jVaWmY) #shopify-block-hero_heading,
body:has(#shopify-section-hero_jVaWmY) #shopify-block-hero_body {
  grid-column: 1 / -1;
}

body:has(#shopify-section-hero_jVaWmY) #shopify-block-hero_eyebrow .text-block,
body:has(#shopify-section-hero_jVaWmY) #shopify-block-hero_eyebrow .text-block * {
  margin: 0 0 0.875rem;
  color: var(--henua-terracotta);
  font-family: var(--henua-font-ui);
  font-size: 0.75rem;
  font-weight: var(--henua-font-weight-semibold);
  letter-spacing: 0.14em;
  line-height: 1.2;
}

body:has(#shopify-section-hero_jVaWmY) #shopify-block-hero_heading .text-block,
body:has(#shopify-section-hero_jVaWmY) #shopify-block-hero_heading .text-block * {
  max-width: 8.5ch;
  margin: 0;
  color: var(--henua-black);
  font-family: var(--henua-font-editorial);
  font-size: clamp(3.25rem, 4.6vw, 4.5rem);
  font-weight: 400;
  letter-spacing: 0;
  line-height: 0.9;
}

body:has(#shopify-section-hero_jVaWmY) #shopify-block-hero_body .text-block,
body:has(#shopify-section-hero_jVaWmY) #shopify-block-hero_body .text-block * {
  max-width: 24.375rem;
  margin: 1.25rem 0 1.5rem;
  color: var(--henua-black);
  font-family: var(--henua-font-ui);
  font-size: 1rem;
  line-height: 1.5;
}

body:has(#shopify-section-hero_jVaWmY) #shopify-section-hero_jVaWmY .henua-hero__content .button-custom {
  min-height: 2.875rem;
  padding-inline: 1.5rem;
  background: var(--henua-terracotta);
  border-color: var(--henua-terracotta);
  color: var(--henua-off-white);
  font-size: 0.8125rem;
}

body:has(#shopify-section-hero_jVaWmY) #shopify-section-hero_jVaWmY .henua-hero__content .button-secondary {
  min-height: 2.875rem;
  padding-inline: 1.5rem;
  background: transparent;
  border-color: var(--henua-black);
  color: var(--henua-black);
  font-size: 0.8125rem;
}

.henua-category-strip,
.henua-story-lifestyle,
.henua-benefits {
  width: min(100% - 2rem, 90rem);
  margin-inline: auto;
}

.henua-category-strip {
  padding-block: 0.75rem;
  background: var(--henua-off-white);
}

.henua-category-strip__grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0.75rem;
}

.henua-category-strip__item {
  min-width: 0;
  background: var(--henua-sand);
}

.henua-category-strip__link {
  display: block;
  height: 100%;
  color: inherit;
  text-decoration: none;
}

.henua-category-strip__media {
  display: grid;
  aspect-ratio: 1.35 / 1;
  place-items: center;
  overflow: hidden;
  background: var(--henua-beige, var(--henua-sand));
}

.henua-category-strip__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.henua-category-strip__media img[src*="icon-henua"] {
  width: 4rem;
  height: 4rem;
  object-fit: contain;
  opacity: 0.8;
}

.henua-category-strip__content {
  position: relative;
  box-sizing: border-box;
  min-height: 4.75rem;
  padding: 0.75rem;
}

.henua-category-strip__content h2,
.henua-category-strip__content p {
  margin: 0;
}

.henua-category-strip__content h2 {
  color: var(--henua-black);
  font-family: var(--henua-font-editorial);
  font-size: clamp(1.5rem, 2.2vw, 2rem);
  font-weight: 400;
  line-height: 0.95;
}

.henua-category-strip__content p {
  max-width: 16ch;
  margin-block-start: 0.35rem;
  color: var(--henua-black);
  font-family: var(--henua-font-ui);
  font-size: 0.75rem;
  line-height: 1.25;
}

.henua-category-strip__content span {
  position: absolute;
  right: 0.75rem;
  bottom: 0.65rem;
  color: var(--henua-black);
  font-size: 1.25rem;
}

.henua-story-lifestyle {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
  padding-block: 0.75rem;
}

.henua-story-lifestyle__panel {
  position: relative;
  display: block;
  min-height: 380px;
  overflow: hidden;
}

.henua-story-lifestyle__panel--story {
  display: grid;
  grid-template-columns: 48% 52%;
}

.henua-story-lifestyle__media,
.henua-story-lifestyle__media img,
.henua-story-lifestyle__slot {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.henua-story-lifestyle__media img {
  object-fit: cover;
}

.henua-story-lifestyle__panel--story {
  background: var(--henua-sand);
}

.henua-story-lifestyle__panel--story .henua-story-lifestyle__media {
  position: relative;
  inset: auto;
  min-height: 380px;
}

.henua-story-lifestyle__panel--lifestyle {
  background: var(--henua-black);
}

.henua-story-lifestyle__panel--lifestyle .henua-story-lifestyle__media img {
  object-position: 68% center;
}

.henua-story-lifestyle__panel--lifestyle::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgb(17 17 17 / 0.82), rgb(17 17 17 / 0.2));
  content: '';
}

.henua-story-lifestyle__slot {
  display: grid;
  place-items: center;
  color: var(--henua-stone);
  font-family: var(--henua-font-editorial);
  font-size: 2rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.henua-story-lifestyle__content {
  position: relative;
  z-index: 1;
  display: flex;
  min-height: 380px;
  max-width: 310px;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-end;
  padding: clamp(1.5rem, 4vw, 3rem);
}

.henua-story-lifestyle__panel--story .henua-story-lifestyle__content {
  max-width: none;
  min-height: 380px;
  margin-inline-start: 0;
  background: var(--henua-sand);
}

.henua-story-lifestyle__panel--story .henua-eyebrow,
.henua-story-lifestyle__panel--story .henua-display,
.henua-story-lifestyle__panel--story .henua-story-lifestyle__text {
  color: var(--henua-black);
}

.henua-story-lifestyle__panel--lifestyle .henua-eyebrow,
.henua-story-lifestyle__panel--lifestyle .henua-display,
.henua-story-lifestyle__panel--lifestyle .henua-story-lifestyle__text {
  color: var(--henua-off-white);
}

.henua-story-lifestyle__panel--lifestyle .henua-display {
  max-width: 10ch;
}

.henua-story-lifestyle__content .henua-display {
  max-width: 8ch;
  margin-block: 0.5rem 0;
  font-family: var(--henua-font-editorial);
  font-size: clamp(2.75rem, 4vw, 3.125rem);
  font-weight: 400;
  line-height: 0.92;
}

.henua-story-lifestyle__text {
  max-width: 340px;
  margin-block-start: 0.75rem;
  font-family: var(--henua-font-ui);
  font-size: 0.875rem;
  line-height: 1.45;
}

.henua-story-lifestyle__text p {
  margin: 0;
}

.henua-story-lifestyle__content .henua-button {
  margin-block-start: 1rem;
}

.henua-benefits {
  background: var(--henua-sand);
}

.henua-benefits__inner {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  padding-block: 1.25rem;
}

.henua-benefit {
  display: grid;
  grid-template-columns: 2rem minmax(0, 1fr);
  column-gap: 0.75rem;
  align-items: center;
  min-height: 4rem;
  padding-inline: 0.75rem;
  border-inline-end: 1px solid rgb(196 106 74 / 0.35);
}

.henua-benefit__icon {
  display: block;
  width: 28px;
  height: 28px;
  min-width: 28px;
  max-width: 28px;
  min-height: 28px;
  max-height: 28px;
  overflow: hidden;
  flex: 0 0 28px;
  grid-row: 1 / span 2;
  object-fit: contain;
}

.henua-benefit__icon img,
.henua-benefit__icon svg {
  display: block;
  width: 100%;
  height: 100%;
  max-width: 28px;
  max-height: 28px;
  object-fit: contain;
}

.henua-benefit h3,
.henua-benefit p {
  grid-column: 2;
  margin: 0;
}

.henua-benefit:last-child {
  border-inline-end: 0;
}

.henua-benefit h3 {
  color: var(--henua-black);
  font-size: 0.75rem;
  line-height: 1.35;
}

.henua-benefit p {
  color: var(--henua-black);
  font-size: 0.75rem;
  line-height: 1.35;
}

body:has(#shopify-section-hero_jVaWmY) .footer-content,
body:has(#shopify-section-hero_jVaWmY) .footer-utilities {
  background: var(--henua-off-white);
  color: var(--henua-black);
}

body:has(#shopify-section-hero_jVaWmY) .henua-footer__content,
body:has(#shopify-section-hero_jVaWmY) .footer-content .email-signup-block,
body:has(#shopify-section-hero_jVaWmY) .footer-content .group-block {
  background: var(--henua-off-white);
  color: var(--henua-black);
}

body:has(#shopify-section-hero_jVaWmY) .footer-content {
  width: min(100% - 2rem, 90rem);
  margin-inline: auto;
  padding-block: 2rem;
}

body:has(#shopify-section-hero_jVaWmY) .footer-content a,
body:has(#shopify-section-hero_jVaWmY) .footer-content .rte,
body:has(#shopify-section-hero_jVaWmY) .footer-content h3,
body:has(#shopify-section-hero_jVaWmY) .footer-utilities {
  color: var(--henua-black);
}

body:has(#shopify-section-hero_jVaWmY) .footer-content .email-signup,
body:has(#shopify-section-hero_jVaWmY) .footer-content .email-signup-block {
  border-block-start-color: rgb(17 17 17 / 0.2);
}

body:has(#shopify-section-hero_jVaWmY) .footer-content .email-signup__input-group {
  min-height: 46px;
  border-color: rgb(17 17 17 / 0.35);
  background: transparent;
}

body:has(#shopify-section-hero_jVaWmY) .footer-content .email-signup__input,
body:has(#shopify-section-hero_jVaWmY) .footer-content .email-signup__input::placeholder {
  color: var(--henua-black);
}

body:has(#shopify-section-hero_jVaWmY) .footer-content .email-signup__button {
  min-height: 46px;
  background: var(--henua-terracotta);
  color: var(--henua-off-white);
}

@media screen and (max-width: 767px) {
  body:has(#shopify-section-hero_jVaWmY) #header-component.henua-header .header__columns {
    min-height: 4rem;
  }

  body:has(#shopify-section-hero_jVaWmY) #shopify-section-hero_jVaWmY .hero__container,
  body:has(#shopify-section-hero_jVaWmY) #shopify-section-hero_jVaWmY .hero__media-grid {
    min-height: min(82svh, 38.75rem);
    max-height: 38.75rem;
  }

  body:has(#shopify-section-hero_jVaWmY) #shopify-section-hero_jVaWmY .hero__media-grid .overlay--gradient {
    background: linear-gradient(0deg, rgb(246 244 239 / 0.98) 0%, rgb(246 244 239 / 0.88) 34%, rgb(246 244 239 / 0.12) 76%, rgb(246 244 239 / 0) 100%);
  }

  body:has(#shopify-section-hero_jVaWmY) #shopify-section-hero_jVaWmY .hero__media img {
    object-position: 68% center;
  }

  body:has(#shopify-section-hero_jVaWmY) #shopify-section-hero_jVaWmY .henua-hero__content {
    align-self: end;
    grid-template-columns: 1fr;
    width: 88%;
    max-width: 22rem;
    padding: 1.25rem 1.125rem 2rem;
  }

  body:has(#shopify-section-hero_jVaWmY) #shopify-section-hero_jVaWmY .henua-hero__content > * {
    grid-column: 1;
  }

  body:has(#shopify-section-hero_jVaWmY) #shopify-section-hero_jVaWmY .henua-hero__content .button-custom,
  body:has(#shopify-section-hero_jVaWmY) #shopify-section-hero_jVaWmY .henua-hero__content .button-secondary {
    padding-inline: 1.125rem;
  }

  body:has(#shopify-section-hero_jVaWmY) #shopify-block-hero_eyebrow .text-block,
  body:has(#shopify-section-hero_jVaWmY) #shopify-block-hero_eyebrow .text-block * {
    color: var(--henua-terracotta);
    font-size: 0.6875rem;
  }

  body:has(#shopify-section-hero_jVaWmY) #shopify-block-hero_heading .text-block,
  body:has(#shopify-section-hero_jVaWmY) #shopify-block-hero_heading .text-block * {
    max-width: 8.5ch;
    color: var(--henua-black);
    font-size: clamp(2.625rem, 13vw, 3.125rem);
  }

  body:has(#shopify-section-hero_jVaWmY) #shopify-block-hero_body .text-block,
  body:has(#shopify-section-hero_jVaWmY) #shopify-block-hero_body .text-block * {
    max-width: 20rem;
    margin-block: 1rem 1.25rem;
    color: var(--henua-black);
    font-size: 0.9375rem;
  }

  body:has(#shopify-section-hero_jVaWmY) #shopify-section-hero_jVaWmY .henua-hero__content .button-secondary {
    border-color: var(--henua-black);
    color: var(--henua-black);
  }

  .henua-category-strip {
    width: 100%;
    padding: 0.75rem 0;
    overflow: hidden;
  }

  .henua-category-strip__grid {
    display: flex;
    gap: 0.625rem;
    overflow-x: auto;
    padding-inline: 0.75rem;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
  }

  .henua-category-strip__grid::-webkit-scrollbar {
    display: none;
  }

  .henua-category-strip__item {
    flex: 0 0 80vw;
    scroll-snap-align: start;
  }

  .henua-story-lifestyle {
    display: grid;
    width: 100%;
    gap: 0.75rem;
    padding-block: 0.75rem;
  }

  .henua-story-lifestyle__panel,
  .henua-story-lifestyle__content {
    min-height: 380px;
  }

  .henua-story-lifestyle__panel--story {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: minmax(14rem, 17rem) minmax(0, 1fr);
  }

  .henua-story-lifestyle__panel--story .henua-story-lifestyle__media {
    min-height: 0;
  }

  .henua-story-lifestyle__panel--story .henua-story-lifestyle__content {
    min-height: 0;
    margin-inline-start: 0;
    max-width: none;
    padding: 1.75rem;
  }

  .henua-story-lifestyle__panel--story .henua-story-lifestyle__content {
    margin-inline-start: 0;
  }

  .henua-story-lifestyle__content {
    padding: 1.75rem;
  }

  .henua-story-lifestyle__content .henua-display {
    font-size: clamp(2.5rem, 12vw, 3.5rem);
  }

  .henua-benefits {
    width: 100%;
  }

  .henua-benefits__inner {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0;
    padding-block: 1.125rem;
  }

  .henua-benefit {
    min-height: 3.75rem;
    padding-block: 0.5rem;
  }

  .henua-benefit:nth-child(2) {
    border-inline-end: 0;
  }

  body:has(#shopify-section-hero_jVaWmY) .footer-content {
    width: 100%;
    padding-block: 1.5rem;
  }
}

/* Final mobile overrides: these follow the legacy responsive layer above. */
@media screen and (max-width: 767px) {
  /* Keep the complete product photos inside the existing card dimensions. */
  body:has(#shopify-section-hero_jVaWmY) .henua-category-strip .henua-category-strip__item[data-category="impermeables"] .henua-category-strip__media img,
  body:has(#shopify-section-hero_jVaWmY) .henua-category-strip .henua-category-strip__item[data-category="polerones"] .henua-category-strip__media img {
    display: block;
    width: 100%;
    height: 100%;
    max-height: 100%;
    object-fit: contain;
    object-position: center;
    background: var(--henua-sand);
  }

  /* Prevent the footer's lazy containment from creating a false blank zone. */
  body:has(#shopify-section-hero_jVaWmY) .footer-content.henua-footer__content {
    contain: none;
    content-visibility: visible;
    height: auto;
    min-height: 0;
  }

  /* El grupo externo del footer también debe colapsar a su contenido real. */
  body:has(#shopify-section-hero_jVaWmY) #shopify-section-group-footer,
  body:has(#shopify-section-hero_jVaWmY) #shopify-section-group-footer .section-wrapper,
  body:has(#shopify-section-hero_jVaWmY) #shopify-section-group-footer .section,
  body:has(#shopify-section-hero_jVaWmY) #shopify-section-group-footer .section-background {
    height: auto;
    min-height: 0;
  }

  body:has(#shopify-section-hero_jVaWmY) #shopify-section-group-footer .footer-content {
    gap: 1.25rem;
  }

  body:has(#shopify-section-hero_jVaWmY) {
    overflow-x: hidden;
  }

  body:has(#shopify-section-hero_jVaWmY) .henua-hero .hero__container {
    display: grid;
    grid-template-rows: minmax(17rem, 42svh) auto;
    min-height: 0;
    max-height: none;
  }

  body:has(#shopify-section-hero_jVaWmY) .henua-hero .hero__media-grid {
    position: relative;
    inset: auto;
    grid-row: 1;
    width: 100%;
    min-height: 0;
    max-height: none;
  }

  body:has(#shopify-section-hero_jVaWmY) .henua-hero .hero__media-grid .overlay--gradient {
    display: none;
  }

  body:has(#shopify-section-hero_jVaWmY) .henua-hero .henua-hero__content {
    grid-row: 2;
    align-self: stretch;
    display: flex;
    width: 100%;
    max-width: none;
    box-sizing: border-box;
    gap: 0.5rem;
    padding: 1.5rem max(1rem, 6vw) 1.75rem;
    background: var(--henua-off-white);
    color: var(--henua-black);
  }

  body:has(#shopify-section-hero_jVaWmY) .henua-hero .henua-hero__content .text-block,
  body:has(#shopify-section-hero_jVaWmY) .henua-hero .henua-hero__content .text-block * {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    color: var(--henua-black);
    overflow-wrap: normal;
    word-break: normal;
    hyphens: none;
  }

  body:has(#shopify-section-hero_jVaWmY) .henua-hero .henua-hero__content .text-block.h2,
  body:has(#shopify-section-hero_jVaWmY) .henua-hero .henua-hero__content .text-block.h2 * {
    max-width: 18ch;
    font-size: clamp(2rem, 8vw, 2.75rem);
    line-height: 0.92;
  }

  body:has(#shopify-section-hero_jVaWmY) .henua-hero .henua-hero__content .button-custom {
    background: var(--henua-terracotta);
    border-color: var(--henua-terracotta);
    color: var(--henua-off-white);
  }

  body:has(#shopify-section-hero_jVaWmY) .henua-hero .henua-hero__content .button-secondary {
    border-color: var(--henua-black);
    color: var(--henua-black);
  }

  .henua-category-strip .henua-category-strip__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.5rem;
    overflow: visible;
    padding-inline: 0.75rem;
  }

  .henua-category-strip .henua-category-strip__item {
    min-width: 0;
    flex: none;
  }

  .henua-category-strip .henua-category-strip__media {
    aspect-ratio: 1.45 / 1;
  }

  .henua-category-strip .henua-category-strip__content {
    min-height: 4rem;
    padding: 0.625rem;
  }

  .henua-category-strip .henua-category-strip__item--future .henua-category-strip__media {
    aspect-ratio: 1.8 / 1;
  }

  .henua-category-strip .henua-category-strip__media img:not([src*="icon-henua"]) {
    object-fit: cover;
  }

  .henua-story-lifestyle {
    grid-template-columns: 1fr;
    padding-inline: 0.75rem;
  }

  .henua-story-lifestyle .henua-story-lifestyle__panel,
  .henua-story-lifestyle .henua-story-lifestyle__content {
    min-height: 0;
  }

  .henua-story-lifestyle .henua-story-lifestyle__panel--story,
  .henua-story-lifestyle .henua-story-lifestyle__panel--lifestyle {
    grid-template-columns: 1fr;
    grid-template-rows: minmax(14rem, 17rem) auto;
  }

  .henua-story-lifestyle .henua-story-lifestyle__content {
    max-width: none;
    padding: 1.5rem;
  }

  .henua-story-lifestyle .henua-story-lifestyle__content .henua-display {
    max-width: 12ch;
    font-size: clamp(2.1rem, 9vw, 3.2rem);
    word-break: normal;
    overflow-wrap: normal;
    hyphens: none;
  }

  .henua-story-lifestyle .henua-story-lifestyle__content .henua-button {
    width: auto;
    max-width: 100%;
    min-height: 2.75rem;
    white-space: normal;
  }

  .henua-benefits {
    display: block;
    width: calc(100% - 1.5rem);
    margin-inline: auto;
  }

  .henua-benefits__inner {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding-block: 0.5rem;
  }

  .henua-benefit {
    min-height: 4.5rem;
    padding: 0.625rem;
  }

  .henua-benefit:nth-child(2) {
    border-inline-end: 0;
  }

  .henua-benefit:nth-child(-n + 2) {
    border-block-end: 1px solid rgb(196 106 74 / 0.35);
  }

  .henua-benefit h3,
  .henua-benefit p {
    font-size: 0.6875rem;
  }
}

/* Home mobile rhythm refinement: scoped to mobile so desktop remains frozen. */
@media screen and (max-width: 767px) {
  .henua-category-strip .henua-category-strip__item {
    min-height: 0;
  }

  body:has(.henua-category-strip--count-7) .henua-category-strip .henua-category-strip__item:last-child {
    grid-column: 1 / -1;
    justify-self: center;
    width: min(100%, calc(50% - 0.25rem));
  }

  .henua-category-strip .henua-category-strip__media {
    aspect-ratio: 1.55 / 1;
  }

  .henua-category-strip .henua-category-strip__content {
    min-height: 3.5rem;
    padding: 0.5rem 0.625rem;
  }

  .henua-category-strip .henua-category-strip__content h2 {
    font-size: clamp(1.15rem, 5vw, 1.55rem);
    line-height: 0.95;
  }

  .henua-category-strip .henua-category-strip__content p {
    font-size: 0.6875rem;
    line-height: 1.2;
  }

  .henua-collection-showcase {
    width: calc(100% - 1.5rem);
    margin-inline: auto;
  }

  .henua-collection-showcase__inner {
    padding: 1rem;
  }

  .henua-collection-showcase--feature .henua-collection-showcase__inner {
    display: block;
    min-height: 0;
  }

  .henua-collection-showcase--feature .henua-collection-showcase__feature-media {
    display: block;
    aspect-ratio: 1.15 / 1;
    min-height: 0;
    margin-top: 1rem;
  }

  .henua-collection-showcase--feature .henua-collection-showcase__feature-meta {
    padding: 0.75rem 0 0;
  }

  .henua-collection-showcase__header {
    gap: 0.75rem;
  }

  .henua-collection-showcase__header .henua-display {
    max-width: none;
    font-size: clamp(2.25rem, 10vw, 3.4rem);
    line-height: 0.9;
  }

  .henua-collection-showcase__header .henua-eyebrow {
    font-size: 0.6875rem;
  }

  .henua-collection-showcase__intro {
    font-size: 0.875rem;
    line-height: 1.4;
  }

  .henua-collection-showcase__grid {
    gap: 0.75rem;
  }

  .henua-collection-showcase__grid .henua-collection-card {
    min-width: 0;
  }

  .henua-collection-showcase--feature .henua-collection-card__media,
  .henua-collection-showcase--grid .henua-collection-card__media {
    aspect-ratio: 1.15 / 1;
    max-height: none;
    overflow: hidden;
  }

  .henua-collection-card__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .henua-collection-showcase--grid .henua-collection-card__media img {
    object-position: center 32%;
  }

  .henua-collection-card__meta {
    padding: 0.625rem 0.25rem 0.25rem;
  }

  .henua-collection-card__meta h3 {
    margin: 0;
    font-family: var(--henua-font-ui);
    font-size: clamp(1.55rem, 6.5vw, 2.25rem);
    line-height: 1.05;
    font-weight: var(--henua-font-weight-semibold);
  }

  .henua-collection-card__meta h3 a {
    font-family: inherit;
  }

  .henua-collection-card__meta p {
    margin: 0.25rem 0 0;
    font-family: var(--henua-font-ui);
    font-size: 0.875rem;
    line-height: 1.2;
  }

  .henua-story-lifestyle {
    gap: 0.5rem;
    padding-block: 0.5rem;
  }

  .henua-story-lifestyle .henua-story-lifestyle__panel--story,
  .henua-story-lifestyle .henua-story-lifestyle__panel--lifestyle {
    grid-template-rows: minmax(11rem, 13rem) auto;
  }

  .henua-story-lifestyle .henua-story-lifestyle__content {
    min-height: 0;
    padding: 1rem 1.25rem 1.25rem;
  }

  .henua-story-lifestyle .henua-story-lifestyle__content .henua-display {
    max-width: 14ch;
    margin-block: 0.25rem 0;
    font-size: clamp(2.25rem, 10vw, 3.4rem);
    line-height: 0.9;
  }

  .henua-story-lifestyle .henua-story-lifestyle__text {
    margin-top: 0.5rem;
    font-size: 0.875rem;
    line-height: 1.4;
  }

  .henua-story-lifestyle .henua-story-lifestyle__content .henua-button {
    margin-top: 0.75rem;
    min-height: 44px;
  }

  body:has(#shopify-section-hero_jVaWmY) .henua-hero .henua-hero__content .button-custom,
  body:has(#shopify-section-hero_jVaWmY) .henua-hero .henua-hero__content .button-secondary {
    width: 100%;
    max-width: 20rem;
    min-height: 44px;
    box-sizing: border-box;
  }
}

/* Final cascade guardrails for the approved desktop layout and mobile priority. */
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .henua-story-lifestyle__panel--story {
    grid-template-columns: 52% 48%;
    grid-template-areas: "content media";
  }

  .henua-story-lifestyle__panel--story .henua-story-lifestyle__media {
    grid-area: media;
  }

  .henua-story-lifestyle__panel--story .henua-story-lifestyle__content {
    grid-area: content;
  }
}

@media screen and (max-width: 767px) {
  .henua-story-lifestyle .henua-story-lifestyle__panel--story {
    grid-template-areas: "media" "content";
  }

  .henua-story-lifestyle .henua-story-lifestyle__panel--story .henua-story-lifestyle__media {
    grid-area: media;
  }

  .henua-story-lifestyle .henua-story-lifestyle__panel--story .henua-story-lifestyle__content {
    grid-area: content;
  }

  .henua-category-strip--count-7 .henua-category-strip__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .henua-category-strip__media img[src*="icon-plus"] {
    width: 3rem;
    height: 3rem;
  }

  /* Keep the two future icon categories together on mobile. */
  .henua-category-strip__item[data-category="impermeables"] { order: 1; }
  .henua-category-strip__item[data-category="polerones"] { order: 2; }
  .henua-category-strip__item[data-category="arneses"] { order: 3; }
  .henua-category-strip__item[data-category="collares"] { order: 4; }
  .henua-category-strip__item[data-category="juguetes"] { order: 5; }
  .henua-category-strip__item[data-category="accesorios"] { order: 6; }
  .henua-category-strip__item[data-category="camas"] { order: 7; }

  .henua-category-strip .henua-category-strip__item:last-child {
    grid-column: auto;
    justify-self: stretch;
    width: auto;
  }

  body:has(.henua-category-strip--count-7) .henua-category-strip .henua-category-strip__item[data-category="camas"] {
    grid-column: 1 / -1;
    justify-self: center;
    width: min(100%, calc(50% - 0.25rem));
  }

  body:has(.henua-category-strip--count-7) .henua-category-strip .henua-category-strip__item[data-category="accesorios"] {
    grid-column: auto;
    justify-self: stretch;
    width: auto;
  }

  /* Product information inherits each commercial section's mobile color. */
  .henua-collection-showcase--feature .henua-collection-card,
  .henua-collection-showcase--feature .henua-collection-card__meta {
    background: var(--henua-sand);
    color: var(--henua-black);
  }

  .henua-collection-showcase--grid .henua-collection-card,
  .henua-collection-showcase--grid .henua-collection-card__meta {
    background: var(--henua-forest);
    color: var(--henua-off-white);
  }

  .henua-collection-showcase--grid .henua-collection-card__meta h3,
  .henua-collection-showcase--grid .henua-collection-card__meta p,
  .henua-collection-showcase--grid .henua-collection-card__cta {
    color: var(--henua-off-white);
  }

  /* Show the dog's head and eyes in the mobile storytelling crop. */
  body:has(.henua-story-lifestyle--story-only) .henua-story-lifestyle .henua-story-lifestyle__panel--story {
    grid-template-rows: minmax(16rem, 18rem) auto;
  }

  body:has(.henua-story-lifestyle--story-only) .henua-story-lifestyle .henua-story-lifestyle__panel--story .henua-story-lifestyle__media img {
    object-position: center top;
  }
}

@media screen and (min-width: 768px) and (max-width: 1023px) {
  .henua-category-strip--count-7 .henua-category-strip__media {
    aspect-ratio: 2.1 / 1;
  }

  .henua-collection-showcase--feature .henua-collection-card {
    grid-template-rows: auto auto;
  }

  .henua-collection-showcase--feature .henua-collection-card__media {
    aspect-ratio: 1.45 / 1;
  }

  .henua-collection-showcase--feature .henua-collection-showcase__inner {
    display: block;
    min-height: 0;
  }

  .henua-collection-showcase--feature .henua-collection-showcase__feature-media {
    display: block;
    aspect-ratio: 1.45 / 1;
    min-height: 0;
    margin-top: 1.25rem;
  }

  .henua-collection-showcase--feature .henua-collection-showcase__feature-meta {
    padding-top: 1rem;
  }
}

/* Final desktop corrections from visual review. */
@media screen and (min-width: 1024px) {
  body:has(#shopify-section-hero_jVaWmY) .henua-hero .hero__container,
  body:has(#shopify-section-hero_jVaWmY) .henua-hero .hero__media-grid {
    min-height: 600px;
    max-height: 640px;
  }

  body:has(#shopify-section-hero_jVaWmY) .henua-hero .hero__media img {
    object-fit: contain;
    object-position: center;
    background: var(--henua-black);
  }

  body:has(#shopify-section-hero_jVaWmY) .henua-hero .henua-hero__content {
    justify-content: flex-end;
    padding-block: 0 0.5rem;
  }

  body:has(#shopify-section-hero_jVaWmY) .henua-hero .henua-hero__content .text-block,
  body:has(#shopify-section-hero_jVaWmY) .henua-hero .henua-hero__content .text-block * {
    background: transparent;
  }

  body:has(#shopify-section-hero_jVaWmY) .henua-hero .henua-hero__content .text-block--background,
  body:has(#shopify-section-hero_jVaWmY) .henua-hero .henua-hero__content .text-block--background *,
  body:has(#shopify-section-hero_jVaWmY) .henua-hero .henua-hero__content mark {
    --text-background-color: transparent;
    --text-padding: 0;
    background: transparent;
    background-color: transparent;
    box-shadow: none;
  }

  .henua-category-strip--count-7 .henua-category-strip__media img:not([src*="icon-henua"]),
  .henua-collection-showcase--feature .henua-collection-showcase__feature-media img {
    object-fit: contain;
    object-position: center;
  }

  .henua-category-strip--count-7 .henua-category-strip__grid {
    grid-auto-flow: row;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    grid-template-rows: auto auto;
  }

  .henua-category-strip--count-7 .henua-category-strip__item[data-category="impermeables"] { grid-column: 1; grid-row: 1; }
  .henua-category-strip--count-7 .henua-category-strip__item[data-category="polerones"] { grid-column: 2; grid-row: 1; }
  .henua-category-strip--count-7 .henua-category-strip__item[data-category="arneses"] { grid-column: 3; grid-row: 1; }
  .henua-category-strip--count-7 .henua-category-strip__item[data-category="collares"] { grid-column: 4; grid-row: 1; }
  .henua-category-strip--count-7 .henua-category-strip__item[data-category="camas"] { grid-column: 1; grid-row: 2; }
  .henua-category-strip--count-7 .henua-category-strip__item[data-category="juguetes"] { grid-column: 2; grid-row: 2; }
  .henua-category-strip--count-7 .henua-category-strip__item[data-category="accesorios"] { grid-column: 3; grid-row: 2; }

  .henua-category-strip--count-7 .henua-category-strip__item--icon {
    background: var(--henua-sand);
    color: var(--henua-black);
  }

  .henua-category-strip--count-7 .henua-category-strip__item--icon .henua-category-strip__media {
    background: linear-gradient(145deg, var(--henua-sand), var(--henua-off-white));
  }

  .henua-category-strip--count-7 .henua-category-strip__item--icon .henua-category-strip__media img {
    filter: brightness(0);
  }

  .henua-category-strip--count-7 .henua-category-strip__item--icon .henua-category-strip__content h2,
  .henua-category-strip--count-7 .henua-category-strip__item--icon .henua-category-strip__content p {
    color: var(--henua-black);
  }

  .henua-collection-showcase--feature .henua-collection-showcase__inner {
    grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
    column-gap: clamp(1.5rem, 3vw, 3rem);
  }

  .henua-collection-showcase--feature .henua-collection-showcase__header .henua-display {
    max-width: 100%;
    font-size: clamp(2.25rem, 3.35vw, 4rem);
    line-height: 0.9;
    white-space: nowrap;
  }

  .henua-collection-showcase[data-collection="polerones"] .henua-collection-showcase__feature-media,
  .henua-collection-showcase[data-collection="polerones"] .henua-collection-showcase__feature-meta {
    background: var(--henua-forest);
    color: var(--henua-off-white);
  }

  .henua-collection-showcase[data-collection="polerones"] .henua-collection-showcase__feature-media img {
    background: var(--henua-forest);
  }

  .henua-collection-showcase[data-collection="polerones"] .henua-collection-showcase__feature-meta h3,
  .henua-collection-showcase[data-collection="polerones"] .henua-collection-showcase__feature-meta p,
  .henua-collection-showcase[data-collection="polerones"] .henua-collection-showcase__feature-meta .henua-collection-card__cta {
    color: var(--henua-off-white);
  }

  body:has(.henua-story-lifestyle--story-only) .henua-story-lifestyle .henua-story-lifestyle__panel--story {
    grid-template-columns: minmax(0, 0.45fr) minmax(0, 0.55fr);
    grid-template-rows: minmax(34rem, 42rem);
    grid-template-areas: "content media";
  }

  body:has(.henua-story-lifestyle--story-only) .henua-story-lifestyle .henua-story-lifestyle__panel--story .henua-story-lifestyle__content {
    grid-area: content;
    min-width: 0;
    padding: clamp(2rem, 4vw, 4rem);
    justify-content: flex-start;
  }

  body:has(.henua-story-lifestyle--story-only) .henua-story-lifestyle .henua-story-lifestyle__panel--story .henua-story-lifestyle__content .henua-display {
    max-width: 16ch;
    font-size: clamp(2.5rem, 4vw, 4.75rem);
    line-height: 0.88;
    word-break: keep-all;
    overflow-wrap: normal;
  }

  body:has(.henua-story-lifestyle--story-only) .henua-story-lifestyle .henua-story-lifestyle__panel--story .henua-story-lifestyle__content .henua-button {
    position: absolute;
    right: clamp(2rem, 4vw, 4rem);
    bottom: clamp(2rem, 4vw, 4rem);
  }

  body:has(.henua-story-lifestyle--story-only) .henua-story-lifestyle .henua-story-lifestyle__panel--story .henua-story-lifestyle__media {
    grid-area: media;
    min-width: 0;
  }

  body:has(.henua-story-lifestyle--story-only) .henua-story-lifestyle .henua-story-lifestyle__panel--story .henua-story-lifestyle__media img {
    object-fit: contain;
    object-position: center;
    background: var(--henua-sand);
  }
}

/* Home footer: Forest palette with light type. */
body:has(#shopify-section-hero_jVaWmY) > .page-wrapper > footer,
body:has(#shopify-section-hero_jVaWmY) #shopify-section-group-footer,
body:has(#shopify-section-hero_jVaWmY) #shopify-section-group-footer .section-wrapper,
body:has(#shopify-section-hero_jVaWmY) #shopify-section-group-footer .section,
body:has(#shopify-section-hero_jVaWmY) #shopify-section-group-footer .section-background,
body:has(#shopify-section-hero_jVaWmY) .footer-content,
body:has(#shopify-section-hero_jVaWmY) .footer-content .group-block,
body:has(#shopify-section-hero_jVaWmY) .footer-content .email-signup-block,
body:has(#shopify-section-hero_jVaWmY) .footer-utilities {
  background: var(--henua-forest);
  color: var(--henua-off-white);
}

body:has(#shopify-section-hero_jVaWmY) .footer-content .text-block,
body:has(#shopify-section-hero_jVaWmY) .footer-content .text-block *,
body:has(#shopify-section-hero_jVaWmY) .footer-content .rte,
body:has(#shopify-section-hero_jVaWmY) .footer-content .rte *,
body:has(#shopify-section-hero_jVaWmY) .footer-content h3,
body:has(#shopify-section-hero_jVaWmY) .footer-content a,
body:has(#shopify-section-hero_jVaWmY) .footer-utilities,
body:has(#shopify-section-hero_jVaWmY) .footer-utilities * {
  color: var(--henua-off-white);
}

body:has(#shopify-section-hero_jVaWmY) .footer-content .email-signup__input-group {
  border-color: rgb(246 244 239 / 0.55);
  background: transparent;
}

body:has(#shopify-section-hero_jVaWmY) .footer-content .email-signup__input,
body:has(#shopify-section-hero_jVaWmY) .footer-content .email-signup__input::placeholder {
  color: var(--henua-off-white);
}

body:has(#shopify-section-hero_jVaWmY) .footer-content .email-signup__button {
  background: var(--henua-black);
  color: var(--henua-off-white);
}

/* Home hero: remove the inline editorial highlight from the title. */
body:has(#shopify-section-hero_jVaWmY) .henua-hero .henua-hero__content .text-block--background,
body:has(#shopify-section-hero_jVaWmY) .henua-hero .henua-hero__content .text-block--background *,
body:has(#shopify-section-hero_jVaWmY) .henua-hero .henua-hero__content mark {
  --text-background-color: transparent !important;
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
}
