*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  color-scheme: light;
  scroll-behavior: smooth;
}

body {
  margin: 0;
  background: var(--campova-color-background);
  color: var(--campova-color-text);
  font-family: var(--campova-font-body);
  font-size: var(--campova-font-size-md);
  line-height: var(--campova-line-body);
}

h1,
h2,
h3,
h4 {
  color: var(--campova-color-forest);
  font-family: var(--campova-font-heading);
  line-height: var(--campova-line-heading);
  text-wrap: balance;
}

:where(a, button, input, select, textarea, summary):focus-visible {
  outline: 3px solid var(--campova-focus-ring);
  outline-offset: 3px;
}

.c-skip-link {
  left: var(--campova-space-4);
  position: fixed;
  top: var(--campova-space-4);
  transform: translateY(-200%);
  z-index: var(--campova-layer-toast);
}

.c-skip-link:focus {
  transform: translateY(0);
}

.c-button,
.wp-element-button,
.button {
  align-items: center;
  border: 2px solid var(--campova-color-primary);
  border-radius: var(--campova-radius-lg);
  cursor: pointer;
  display: inline-flex;
  font: 600 var(--campova-font-size-sm)/1 var(--campova-font-body);
  gap: var(--campova-space-2);
  justify-content: center;
  min-height: var(--campova-control-height);
  padding: var(--campova-space-3) var(--campova-space-5);
  text-decoration: none;
  transition: background-color var(--campova-transition-fast), border-color var(--campova-transition-fast), color var(--campova-transition-fast), transform var(--campova-transition-fast);
}

.c-button--primary,
.wp-element-button,
.button.alt {
  background: var(--campova-color-primary);
  color: var(--campova-color-white);
}

.c-button--primary:hover,
.wp-element-button:hover,
.button.alt:hover {
  background: var(--campova-color-primary-hover);
  border-color: var(--campova-color-primary-hover);
}

.c-button--primary:active,
.wp-element-button:active,
.button.alt:active {
  background: var(--campova-color-primary-active);
  transform: translateY(1px);
}

.c-button--secondary {
  background: transparent;
  color: var(--campova-color-primary);
}

.c-button--secondary:hover {
  background: var(--campova-color-surface-muted);
}

.c-button:disabled,
.c-button[aria-disabled="true"],
.button:disabled {
  cursor: not-allowed;
  opacity: 0.5;
  transform: none;
}

.c-field {
  display: grid;
  gap: var(--campova-space-2);
}

.c-field__label {
  font-size: var(--campova-font-size-sm);
  font-weight: 600;
}

.c-field :where(input, select, textarea) {
  background: var(--campova-color-white);
  border: 1px solid var(--campova-color-border);
  border-radius: var(--campova-radius-md);
  color: var(--campova-color-text);
  font: inherit;
  min-height: var(--campova-control-height);
  padding: var(--campova-space-3) var(--campova-space-4);
  width: 100%;
}

.c-field :where(input, select, textarea):focus {
  border-color: var(--campova-color-primary);
}

.c-field[data-state="error"] :where(input, select, textarea) {
  border-color: var(--campova-color-error);
  border-width: 2px;
}

.c-field__message {
  color: var(--campova-color-text-muted);
  font-size: var(--campova-font-size-sm);
}

.c-field[data-state="error"] .c-field__message {
  color: var(--campova-color-error);
}

.c-product-card {
  background: var(--campova-color-surface);
  border: 1px solid var(--campova-color-border);
  border-radius: var(--campova-radius-lg);
  display: grid;
  min-width: 0;
  overflow: clip;
  position: relative;
  transition: border-color var(--campova-transition-fast), box-shadow var(--campova-transition-fast), transform var(--campova-transition-fast);
}

.c-product-card:hover,
.c-product-card:focus-within {
  border-color: var(--campova-color-primary);
  box-shadow: var(--campova-shadow-lift);
  transform: translateY(-2px);
}

.c-product-card__media {
  aspect-ratio: 4 / 5;
  background: var(--campova-color-surface-muted);
  object-fit: cover;
  width: 100%;
}

.c-product-card__body {
  display: grid;
  gap: var(--campova-space-2);
  padding: var(--campova-space-4);
}

.c-badge {
  align-items: center;
  background: var(--campova-color-accent);
  border-radius: var(--campova-radius-sm);
  color: var(--campova-color-ink);
  display: inline-flex;
  font-size: var(--campova-font-size-xs);
  font-weight: 700;
  min-height: 1.5rem;
  padding: var(--campova-space-1) var(--campova-space-2);
  width: fit-content;
}

.c-badge--error {
  background: var(--campova-color-error);
  color: var(--campova-color-white);
}

.c-drawer {
  background: var(--campova-color-surface);
  block-size: 100dvh;
  box-shadow: -1rem 0 2rem rgb(24 51 25 / 14%);
  inline-size: min(100%, 28rem);
  inset: 0 0 0 auto;
  overflow: auto;
  padding: var(--campova-space-5);
  position: fixed;
  transform: translateX(100%);
  transition: transform var(--campova-transition-fast);
  z-index: var(--campova-layer-drawer);
}

.c-drawer[aria-hidden="false"],
.c-drawer[data-state="open"] {
  transform: translateX(0);
}

.c-accordion {
  border-block-start: 1px solid var(--campova-color-border);
}

.c-accordion__item {
  border-block-end: 1px solid var(--campova-color-border);
}

.c-accordion__trigger {
  align-items: center;
  background: transparent;
  border: 0;
  color: inherit;
  display: flex;
  font: 600 var(--campova-font-size-md)/1.4 var(--campova-font-body);
  justify-content: space-between;
  min-height: 3.25rem;
  padding: var(--campova-space-3) 0;
  text-align: start;
  width: 100%;
}

.c-accordion__panel[hidden] {
  display: none;
}

.c-accordion__panel {
  padding-block-end: var(--campova-space-5);
}

.c-skeleton {
  animation: campova-pulse 1.6s ease-in-out infinite;
  background: linear-gradient(90deg, var(--campova-color-surface-muted), var(--campova-color-sand), var(--campova-color-surface-muted));
  background-size: 200% 100%;
  border-radius: var(--campova-radius-md);
  color: transparent;
}

.c-alert {
  border-inline-start: 4px solid currentColor;
  padding: var(--campova-space-4);
}

.c-alert--error { color: var(--campova-color-error); }
.c-alert--success { color: var(--campova-color-success); }

@keyframes campova-pulse {
  to { background-position: -200% 0; }
}

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

@media (min-width: 48rem) {
  .c-product-card__body { padding: var(--campova-space-5); }
}

@media (min-width: 64rem) {
  .campova-mega-menu > .wp-block-navigation__submenu-container {
    display: grid;
    gap: .25rem 1rem;
    grid-template-columns: repeat(2, minmax(14rem, 1fr));
    min-width: 32rem !important;
    padding: 1rem !important;
  }
}

.single-product div.product {
  display: grid;
  gap: var(--campova-space-8);
  grid-template-columns: minmax(0, 1.1fr) minmax(20rem, .9fr);
}

.single-product div.product .woocommerce-product-gallery,
.single-product div.product .summary {
  float: none;
  margin: 0;
  width: auto;
}

.single-product div.product .woocommerce-tabs,
.single-product div.product .related,
.single-product div.product .up-sells {
  grid-column: 1 / -1;
}

.single-product .product_title { font-size: var(--campova-font-size-2xl); }
.single-product .price { color: var(--campova-color-forest); font-size: var(--campova-font-size-xl); font-weight: 700; }
.single-product form.cart { align-items: center; display: flex; flex-wrap: wrap; gap: var(--campova-space-3); }

@media (max-width: 47.99rem) {
  .single-product div.product { grid-template-columns: 1fr; }
}

/* Premium two-tier header and illustrated mega menu */
.campova-premium-header { border-bottom: 1px solid var(--campova-color-border); position: relative; z-index: 50; }
.campova-premium-header__top { align-items: center; display: grid !important; gap: 2rem; grid-template-columns: minmax(10rem, .7fr) minmax(18rem, 1.6fr) minmax(8rem, .7fr); min-height: 5rem; padding-inline: clamp(1rem, 3vw, 2.5rem); }
.campova-premium-header__brand { font: 800 1.5rem/1 var(--campova-font-heading); letter-spacing: .18em; text-transform: uppercase; }
.campova-premium-header__brand a { color: var(--campova-color-forest); text-decoration: none; }
.campova-premium-header__top .wc-block-product-search { margin: 0; }
.campova-premium-header__top .wc-block-product-search__fields { border: 1px solid var(--campova-color-border); border-radius: 999px; overflow: hidden; }
.campova-premium-header__top .wc-block-product-search__field { border: 0; min-height: 2.75rem; padding-inline: 1rem; }
.campova-premium-header__top .wc-block-product-search__button { background: var(--campova-color-forest); border-radius: 50%; color: #fff; height: 2.25rem; margin: .25rem; min-width: 2.25rem; padding: .45rem; width: 2.25rem; }
.campova-premium-header__actions { gap: .75rem; }
.campova-category-nav { border-top: 1px solid var(--campova-color-border); }
.campova-category-nav__inner { align-items: center; display: flex; gap: clamp(1.5rem, 3vw, 3rem); height: 3rem; justify-content: center; margin-inline: auto; max-width: 90rem; padding-inline: 1.25rem; }
.campova-category-nav__inner > a, .campova-mega > summary { color: var(--campova-color-ink); cursor: pointer; font-size: .72rem; font-weight: 800; letter-spacing: .09em; list-style: none; text-decoration: none; text-transform: uppercase; }
.campova-mega > summary::-webkit-details-marker { display: none; }
.campova-category-nav__inner > a:hover, .campova-mega > summary:hover { color: var(--campova-color-forest); }
.campova-mega { align-items: center; display: flex; height: 100%; position: static; }
.campova-mega__panel { background: #fff; border-block: 1px solid var(--campova-color-border); box-shadow: 0 1.25rem 2.5rem rgb(24 51 25 / 16%); display: none; left: 0; padding: 1.5rem max(1.25rem, calc((100vw - 85rem) / 2)); position: absolute; right: 0; top: 100%; }
.campova-mega[open] .campova-mega__panel, .campova-mega:hover .campova-mega__panel, .campova-mega:focus-within .campova-mega__panel { display: block; }
.campova-mega__heading { align-items: end; display: flex; justify-content: space-between; margin-block-end: 1rem; }
.campova-mega__heading div { display: grid; gap: .2rem; }
.campova-mega__heading small { color: var(--campova-color-olive); font-size: .62rem; font-weight: 800; letter-spacing: .14em; }
.campova-mega__heading strong { color: var(--campova-color-forest); font: 700 1.5rem/1.1 var(--campova-font-heading); }
.campova-mega__heading > a { color: var(--campova-color-forest); font-size: .72rem; font-weight: 700; text-decoration: none; }
.campova-mega__grid { display: grid; gap: .75rem; grid-template-columns: repeat(7, minmax(0, 1fr)); }
.campova-mega__card { aspect-ratio: 4 / 3; color: #fff; display: flex; overflow: hidden; padding: .8rem; position: relative; text-decoration: none; }
.campova-mega__card::after { background: linear-gradient(180deg, transparent 30%, rgb(10 20 10 / 78%)); content: ""; inset: 0; position: absolute; }
.campova-mega__card img { height: 100%; inset: 0; object-fit: cover; position: absolute; transition: transform .35s ease; width: 100%; }
.campova-mega__card:hover img { transform: scale(1.06); }
.campova-mega__card span { align-self: end; color: #fff; font: 700 .78rem/1.2 var(--campova-font-heading); position: relative; z-index: 1; }

@media (max-width: 63.99rem) {
  .campova-premium-header__top { gap: 1rem; grid-template-columns: 1fr auto; min-height: 4.25rem; }
  .campova-premium-header__top .wc-block-product-search { display: none; }
  .campova-premium-header__actions { grid-column: 2; grid-row: 1; }
  .campova-category-nav__inner { justify-content: flex-start; overflow-x: auto; }
  .campova-mega__panel { max-height: calc(100vh - 8rem); overflow-y: auto; padding: 1rem; }
  .campova-mega__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .campova-mega__card { aspect-ratio: 16 / 8; }
}

.campova-home { overflow: clip; }
.campova-hero {
  background:
    radial-gradient(circle at 83% 22%, rgb(196 180 84 / 30%) 0 8rem, transparent 8.1rem),
    radial-gradient(circle at 91% 72%, rgb(231 218 196 / 12%) 0 14rem, transparent 14.1rem),
    linear-gradient(125deg, #0f2611, #183319 62%, #244d26);
  color: #fff;
  min-height: min(46rem, 78vh);
  position: relative;
}
.campova-hero::after { border: 1px solid rgb(255 255 255 / 20%); border-radius: 50%; content: ""; height: 28rem; position: absolute; right: -8rem; top: 8rem; width: 28rem; }
.campova-hero__inner { margin-inline: auto; padding: clamp(5rem, 12vw, 9rem) 1.25rem; position: relative; z-index: 1; }
.campova-hero h1 { color: #fff; font-size: clamp(3rem, 8vw, 6.5rem); letter-spacing: -.045em; margin-block: .5rem 1.5rem; max-width: 9ch; }
.campova-hero p:not(.campova-eyebrow) { color: rgb(255 255 255 / 85%); max-width: 42rem; }
.campova-hero .is-style-outline .wp-element-button { border-color: #fff; color: #fff; }
.campova-eyebrow { color: var(--campova-color-olive); font-size: .75rem; font-weight: 700; letter-spacing: .16em; margin-block: 0 .75rem; text-transform: uppercase; }
.campova-value-strip { background: var(--campova-color-sand); border-bottom: 1px solid var(--campova-color-border); padding: 1.25rem; }
.campova-value-strip p { font-size: .875rem; margin: 0; }
.campova-section-heading { margin-bottom: 2rem; }
.campova-section-heading h2 { margin-block: 0; }
.campova-category-grid { display: grid; gap: .75rem; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.campova-category-card { align-items: end; background: #fff; border: 1px solid var(--campova-color-border); border-radius: 8px; color: var(--campova-color-ink); display: grid; gap: 1rem; grid-template-columns: auto 1fr auto; min-height: 12rem; padding: 1.25rem; text-decoration: none; transition: background var(--campova-transition-fast), color var(--campova-transition-fast), transform var(--campova-transition-fast); }
.campova-category-card--large { background: var(--campova-color-forest); color: #fff; grid-row: span 2; min-height: 24.75rem; }
.campova-category-card:hover, .campova-category-card:focus-visible { background: var(--campova-color-olive); color: var(--campova-color-ink); transform: translateY(-2px); }
.campova-category-card__number { align-self: start; font: 700 .75rem/1 var(--campova-font-heading); opacity: .7; }
.campova-category-card strong, .campova-category-card small { display: block; }
.campova-category-card strong { font: 700 clamp(1rem, 1.5vw, 1.35rem)/1.2 var(--campova-font-heading); }
.campova-category-card small { font-size: .8rem; margin-top: .5rem; opacity: .75; }
.campova-story { background: var(--campova-color-sand); padding: clamp(4rem, 8vw, 7rem) 1.25rem; }
.campova-story__mark { align-items: center; display: flex; justify-content: center; }
.campova-turtle-mark { height: 18rem; position: relative; width: 22rem; }
.campova-turtle-mark span { background: var(--campova-color-forest); border-radius: 50%; position: absolute; }
.campova-turtle-mark span:nth-child(1) { height: 13rem; left: 4.5rem; top: 2.5rem; width: 13rem; }
.campova-turtle-mark span:nth-child(2) { height: 4.5rem; right: 0; top: 6.75rem; width: 5.5rem; }
.campova-turtle-mark span:nth-child(3), .campova-turtle-mark span:nth-child(4), .campova-turtle-mark span:nth-child(5) { background: var(--campova-color-olive); height: 3.5rem; width: 4.5rem; }
.campova-turtle-mark span:nth-child(3) { left: 1rem; top: 1rem; transform: rotate(35deg); }
.campova-turtle-mark span:nth-child(4) { bottom: 1rem; left: 1rem; transform: rotate(-35deg); }
.campova-turtle-mark span:nth-child(5) { bottom: 1rem; right: 3rem; transform: rotate(35deg); }
.campova-discovery-card { border-radius: 8px; min-height: 22rem; padding: clamp(2rem, 5vw, 4rem); }
.campova-discovery-card--energy { background: var(--campova-color-forest); color: #fff; }
.campova-discovery-card--energy h2, .campova-discovery-card--energy a { color: #fff; }
.campova-discovery-card--water { background: var(--campova-color-sand); }

@media (max-width: 63.99rem) {
  .campova-category-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .campova-category-card--large { grid-row: auto; min-height: 12rem; }
}
@media (max-width: 37.49rem) {
  .campova-hero { min-height: auto; }
  .campova-hero::after { display: none; }
  .campova-category-grid { display: flex; margin-inline: -1.25rem; overflow-x: auto; padding: 0 1.25rem 1rem; scroll-snap-type: x mandatory; }
  .campova-category-card { flex: 0 0 78vw; min-height: 13rem; scroll-snap-align: start; }
  .campova-turtle-mark { transform: scale(.75); }
}

/* Stitch Campova homepage */
.stitch-header {
  border-bottom: 1px solid rgb(24 51 25 / 10%);
  min-height: 4rem;
  position: relative;
  z-index: 20;
}
.stitch-header__inner { min-height: 4rem; padding-inline: clamp(1rem, 3vw, 2.5rem); }
.stitch-header__brand { font: 800 1.25rem/1 var(--campova-font-heading); letter-spacing: .16em; text-transform: uppercase; }
.stitch-header__brand a { color: var(--campova-color-forest); text-decoration: none; }
.stitch-header__nav { font-size: .75rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.stitch-header__nav a { color: var(--campova-color-ink); }
.stitch-header__actions { gap: .55rem; }
.stitch-header__actions .wc-block-product-search { margin: 0; width: 9rem; }
.stitch-header__actions .wc-block-product-search__field { border: 0; border-bottom: 1px solid var(--campova-color-border); border-radius: 0; font-size: .75rem; min-height: 2.25rem; padding: .35rem .25rem; }
.stitch-header__actions .wc-block-product-search__button { background: transparent; color: var(--campova-color-forest); min-height: 2.25rem; padding: .35rem; }

.campova-stitch-home { margin-block-start: 0 !important; overflow: clip; }
.stitch-hero { align-items: center; display: grid; min-height: clamp(34rem, calc(100vh - 4rem), 52rem); overflow: hidden; position: relative; }
.stitch-hero > img { height: 100%; inset: 0; object-fit: cover; position: absolute; width: 100%; }
.stitch-hero__overlay { background: linear-gradient(180deg, rgb(10 20 10 / 22%), rgb(10 20 10 / 42%)); inset: 0; position: absolute; }
.stitch-hero__content { color: #fff; margin-inline: auto; max-width: 56rem; padding: 4rem 1.25rem; position: relative; text-align: center; z-index: 1; }
.stitch-hero__content h1 { color: #fff; font-size: clamp(3rem, 7vw, 6.25rem); letter-spacing: -.045em; line-height: .98; margin: 0 0 1.25rem; }
.stitch-hero__content p { color: rgb(255 255 255 / 90%); font-size: clamp(1rem, 1.6vw, 1.25rem); margin: 0 auto 2rem; max-width: 42rem; }
.stitch-button { background: var(--campova-color-olive); border: 1px solid var(--campova-color-olive); color: var(--campova-color-ink); display: inline-flex; font-size: .7rem; font-weight: 800; letter-spacing: .12em; padding: .9rem 1.35rem; text-decoration: none; }
.stitch-button:hover, .stitch-button:focus-visible { background: #fff; border-color: #fff; color: var(--campova-color-forest); }

.stitch-home-content { padding: clamp(3.5rem, 7vw, 6.5rem) clamp(1rem, 3vw, 2.5rem); }
.stitch-section { margin-block: 0 clamp(4rem, 8vw, 7rem); }
.stitch-section__heading { margin-block-end: 1.5rem; }
.stitch-section__heading h2, .stitch-new-arrivals > h2 { font-size: clamp(1.8rem, 3vw, 2.75rem); margin: 0; }
.stitch-section__heading p { font-size: .75rem; font-weight: 700; letter-spacing: .08em; margin: 0; text-transform: uppercase; }
.stitch-section__heading a { color: var(--campova-color-forest); text-decoration: none; }
.stitch-bento { display: grid; gap: 1rem; grid-template-columns: minmax(0, 2fr) minmax(18rem, 1fr); height: 32rem; }
.stitch-bento__side { display: grid; gap: 1rem; grid-template-rows: 1fr 1fr; }
.stitch-bento__card { align-items: end; color: #fff; display: flex; min-height: 0; overflow: hidden; padding: 1.5rem; position: relative; text-decoration: none; }
.stitch-bento__card img { height: 100%; inset: 0; object-fit: cover; position: absolute; transition: transform .45s ease; width: 100%; }
.stitch-bento__card:hover img { transform: scale(1.035); }
.stitch-bento__shade { background: linear-gradient(180deg, transparent 35%, rgb(10 20 10 / 67%)); inset: 0; position: absolute; }
.stitch-bento__card strong, .stitch-bento__label, .stitch-bento__arrow { position: relative; z-index: 1; }
.stitch-bento__card strong { color: #fff; font: 700 clamp(1.2rem, 2vw, 1.75rem)/1.15 var(--campova-font-heading); }
.stitch-bento__label { display: grid; gap: .35rem; }
.stitch-bento__label small { font-size: .65rem; font-weight: 800; letter-spacing: .12em; }
.stitch-bento__arrow { font-size: 1.5rem; margin-left: auto; }

.stitch-new-arrivals > h2 { margin-block-end: 2.25rem; }
.stitch-new-arrivals .wc-block-product-template { gap: 1rem; }
.stitch-new-arrivals .wc-block-product { border: 1px solid var(--campova-color-border); margin: 0; padding: 0 0 1rem; }
.stitch-new-arrivals .wc-block-components-product-image { margin: 0 0 1rem; }
.stitch-new-arrivals .wc-block-components-product-image img { aspect-ratio: 4 / 5; object-fit: cover; width: 100%; }
.stitch-new-arrivals .wp-block-post-title, .stitch-new-arrivals .wc-block-components-product-price, .stitch-new-arrivals .wp-block-button { margin-inline: 1rem; }
.stitch-new-arrivals .wp-block-post-title { font-size: .95rem !important; line-height: 1.35; }
.stitch-new-arrivals .wp-block-post-title a { color: var(--campova-color-ink); text-decoration: none; }
.stitch-new-arrivals .wc-block-components-product-price { color: var(--campova-color-forest); font-weight: 700; }
.stitch-new-arrivals .wp-block-button__link { background: transparent; border: 1px solid var(--campova-color-forest); color: var(--campova-color-forest); font-size: .7rem; font-weight: 700; padding: .6rem .75rem; width: 100%; }

.stitch-story { align-items: stretch; background: var(--campova-color-sand); display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(20rem, .95fr); min-height: 31rem; }
.stitch-story__visual { min-height: 30rem; overflow: hidden; position: relative; }
.stitch-story__visual img { height: 100%; object-fit: cover; width: 100%; }
.stitch-story__accent { background: var(--campova-color-olive); height: 5.5rem; position: absolute; right: -1rem; top: 2.5rem; width: 1rem; z-index: 1; }
.stitch-story__copy { align-self: center; padding: clamp(2rem, 5vw, 5rem); }
.stitch-story__eyebrow { color: var(--campova-color-forest); font-size: .68rem; font-weight: 800; letter-spacing: .12em; }
.stitch-story__copy h2 { font-size: clamp(2rem, 3.4vw, 3.5rem); line-height: 1.05; margin-block: 1rem 1.5rem; }
.stitch-story__copy > p:not(.stitch-story__eyebrow) { color: rgb(26 29 26 / 76%); margin-block-end: 2rem; }
.stitch-button--outline { background: transparent; border-color: var(--campova-color-forest); color: var(--campova-color-forest); }
.stitch-button--outline:hover, .stitch-button--outline:focus-visible { background: var(--campova-color-forest); border-color: var(--campova-color-forest); color: #fff; }

.stitch-footer { margin-block-start: 0; padding: 3.5rem 1.25rem 2.5rem; }
.stitch-footer__brand { font: 800 1.35rem/1 var(--campova-font-heading); letter-spacing: .16em; text-transform: uppercase; }
.stitch-footer__links { display: flex; flex-wrap: wrap; gap: .75rem 1.5rem; justify-content: center; margin-block: 1.5rem; }
.stitch-footer a { color: #fff; font-size: .75rem; text-decoration: none; }

@media (max-width: 47.99rem) {
  .stitch-header__inner { min-height: 3.75rem; }
  .stitch-header__nav { order: 3; }
  .stitch-header__actions .wc-block-product-search { display: none; }
  .stitch-hero { min-height: 38rem; }
  .stitch-bento { display: flex; height: auto; margin-inline: -1rem; overflow-x: auto; padding-inline: 1rem; scroll-snap-type: x mandatory; }
  .stitch-bento__card, .stitch-bento__side { flex: 0 0 82vw; }
  .stitch-bento__card { min-height: 24rem; scroll-snap-align: start; }
  .stitch-bento__side { display: flex; }
  .stitch-bento__side .stitch-bento__card { flex: 0 0 82vw; }
  .stitch-new-arrivals .wc-block-product-template { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .stitch-story { grid-template-columns: 1fr; }
  .stitch-story__visual { min-height: 24rem; }
  .stitch-story__accent { bottom: -1rem; height: 1rem; right: 2rem; top: auto; width: 5.5rem; }
}
