/* P4.20-B — Product Stitch hero. All branding resolves through foundation.css
   and the active theme; only Product presentation lives in this stylesheet. */
.zaco-fe-stitch-product {
  --zaco-fe-product-hero-tracks: minmax(0, 1.02fr) minmax(0, 1.12fr) minmax(19.75rem, 1.02fr);
  --zaco-fe-product-hero-benefit-surface: var(--zaco-fe-editorial-surface-tile);
  --zaco-fe-product-consultation-surface: var(--zaco-fe-surface-raised);
  --zaco-fe-product-hero-eyebrow-color: var(--zaco-fe-accent);
  --zaco-fe-product-media-label-color: var(--zaco-fe-editorial-on-media);
  --zaco-fe-product-hero-copy-space: var(--zaco-fe-space-6);
}
.zaco-fe-stitch-product .zaco-fe-product-hero {
  background: var(--zaco-fe-surface);
  padding-block: 0 var(--zaco-fe-space-12);
}
.zaco-fe-stitch-product .zaco-fe-breadcrumbs {
  padding-block: var(--zaco-fe-space-5) var(--zaco-fe-space-6);
}
.zaco-fe-stitch-product .zaco-fe-product-hero__grid {
  display: grid;
  grid-template-columns: var(--zaco-fe-product-hero-tracks);
  gap: var(--zaco-fe-hero-panel-gap);
  align-items: stretch;
  min-width: 0;
}
.zaco-fe-stitch-product .zaco-fe-product-hero__grid--no-contact {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.12fr);
}
.zaco-fe-stitch-product .zaco-fe-product-hero__grid--no-media.zaco-fe-product-hero__grid--no-contact {
  grid-template-columns: minmax(0, 1fr);
}
.zaco-fe-stitch-product .zaco-fe-product-hero__grid--no-media {
  grid-template-columns: minmax(0, 1fr) minmax(19.75rem, .85fr);
}
.zaco-fe-stitch-product .zaco-fe-product-hero__grid > * { min-width: 0; min-height: 0; }
 .zaco-fe-stitch-product .zaco-fe-product-hero__intro { min-width: 0; }
.zaco-fe-stitch-product .zaco-fe-product-hero__copy {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-self: stretch;
  gap: var(--zaco-fe-product-hero-copy-space);
  padding: var(--zaco-fe-space-4) 0 var(--zaco-fe-space-2);
}
.zaco-fe-stitch-product .zaco-fe-product-hero__copy .zaco-fe-eyebrow {
  color: var(--zaco-fe-product-hero-eyebrow-color);
  margin-bottom: var(--zaco-fe-space-4);
}
.zaco-fe-stitch-product .zaco-fe-product-hero__copy h1 {
  font-family: var(--zaco-fe-font-display);
  font-weight: var(--zaco-fe-editorial-hero-weight);
  font-size: var(--zaco-fe-editorial-hero-size);
  line-height: var(--zaco-fe-editorial-line-height);
  color: var(--zaco-fe-heading);
  margin-bottom: var(--zaco-fe-space-4);
  max-width: none;
  overflow-wrap: normal;
}
.zaco-fe-stitch-product .zaco-fe-product-hero__copy h1 em {
  font-weight: 400;
  display: block;
}
.zaco-fe-stitch-product .zaco-fe-product-hero__copy .zaco-fe-lead {
  font-size: var(--zaco-fe-text-base);
  line-height: var(--zaco-fe-editorial-support-leading);
  color: var(--zaco-fe-text-muted);
  max-width: 33ch;
  margin-bottom: 0;
}
.zaco-fe-stitch-product .zaco-fe-hero-benefits {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--zaco-fe-space-3);
  margin-top: var(--zaco-fe-space-6);
}
.zaco-fe-stitch-product .zaco-fe-hero-benefit {
  display: flex;
  align-items: center;
  gap: var(--zaco-fe-space-2);
  padding: var(--zaco-fe-space-3);
  border-radius: var(--zaco-fe-hero-panel-radius);
  background: var(--zaco-fe-product-hero-benefit-surface);
  font-size: var(--zaco-fe-text-xs);
  font-weight: 600;
  line-height: var(--zaco-fe-leading-compact);
}
.zaco-fe-stitch-product .zaco-fe-hero-benefit__icon {
  flex: 0 0 var(--zaco-fe-space-8);
  width: var(--zaco-fe-space-8);
  height: var(--zaco-fe-space-8);
  border: 0;
  background: var(--zaco-fe-accent-soft);
  border-radius: var(--zaco-fe-hero-panel-radius);
}
.zaco-fe-stitch-product .zaco-fe-hero-benefit__icon .zaco-fe-icon {
  width: var(--zaco-fe-space-5);
  height: var(--zaco-fe-space-5);
}
/* P4.46: the bold icon made the previous flex-wrap intrinsic widths exceed the
   narrow first Hero track. Keep both CTAs in a stable two-column row, including
   on mobile. Longer localized labels may wrap inside their own equal-height CTA. */
.zaco-fe-stitch-product .zaco-fe-product-hero__actions {
  display: grid;
  width: min(100%, 25rem);
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: stretch;
  gap: var(--zaco-fe-space-3);
  margin-top: auto;
}
.zaco-fe-stitch-product .zaco-fe-product-hero__actions .zaco-fe-button {
  min-width: 0;
  width: 100%;
  padding-inline: clamp(8px, 1vw, 14px);
  gap: 8px;
  white-space: normal;
  text-align: center;
}
/* One usable action must not render as an empty second column. */
.zaco-fe-stitch-product .zaco-fe-product-hero__actions > :only-child {
  grid-column: 1 / -1;
  width: max-content;
  max-width: 100%;
}
@media (max-width: 400px) {
  .zaco-fe-stitch-product .zaco-fe-product-hero__actions { gap: 8px; }
  .zaco-fe-stitch-product .zaco-fe-product-hero__actions .zaco-fe-button {
    font-size: 13px;
    gap: 6px;
  }
  .zaco-fe-stitch-product .zaco-fe-product-hero__actions .zaco-fe-arrow-glyph {
    --zaco-fe-nav-arrow-size: 16px;
  }
}
.zaco-fe-stitch-product .zaco-fe-button--quiet {
  background: var(--zaco-fe-accent-softer);
  border-color: transparent;
  color: var(--zaco-fe-text);
}
.zaco-fe-stitch-product .zaco-fe-button--quiet:is(:hover,:focus-visible) {
  background: var(--zaco-fe-editorial-surface-tile);
}
.zaco-fe-stitch-product .zaco-fe-product-hero__media {
  position: relative;
  display: block;
  height: 100%;
  min-height: var(--zaco-fe-hero-panel-min-block);
  margin: 0;
  border-radius: var(--zaco-fe-hero-panel-radius);
  overflow: hidden;
  isolation: isolate;
  background: var(--zaco-fe-soft);
}
.zaco-fe-stitch-product .zaco-fe-product-hero__media img {
  position: absolute;
  inset: 0;
  height: 100%;
  width: 100%;
  object-fit: cover;
  transition: transform var(--zaco-fe-motion-image) var(--zaco-fe-motion-ease);
}
.zaco-fe-stitch-product .zaco-fe-product-hero__media:hover img { transform: scale(var(--zaco-fe-stitch-image-hover-scale)); }
.zaco-fe-stitch-product .zaco-fe-product-hero__media::after {
  content: '';
  position: absolute;
  inset: 45% 0 0;
  pointer-events: none;
  background: linear-gradient(to top, var(--zaco-fe-media-scrim-medium), transparent);
}
.zaco-fe-stitch-product .zaco-fe-product-hero__caption {
  position: absolute;
  z-index: 1;
  bottom: var(--zaco-fe-space-4);
  /* Shared content-width glass label provides the logical start inset. */
  display: grid;
  gap: var(--zaco-fe-space-1);
  padding: var(--zaco-fe-hero-caption-pad);
  border-radius: var(--zaco-fe-hero-panel-radius);
  background: var(--zaco-fe-hero-caption-surface);
  color: var(--zaco-fe-product-media-label-color);
  backdrop-filter: blur(var(--zaco-fe-stitch-overlay-blur));
}
.zaco-fe-stitch-product .zaco-fe-product-hero__caption span {
  font-size: var(--zaco-fe-text-md);
  font-weight: 600;
}
.zaco-fe-stitch-product .zaco-fe-product-hero__caption small {
  font-size: var(--zaco-fe-text-xs);
  color: var(--zaco-fe-editorial-on-media-muted);
}
.zaco-fe-stitch-product .zaco-fe-contact-card {
  display: flex;
  flex-direction: column;
  grid-column: auto;
  justify-content: space-between;
  align-self: stretch;
  gap: var(--zaco-fe-hero-consultation-gap);
  /* Keep the full consultation form above the fold without duplicating its inner spacing. */
  padding: var(--zaco-fe-product-consultation-pad, var(--zaco-fe-space-3));
  margin: 0;
  min-height: var(--zaco-fe-hero-panel-min-block);
  border-radius: var(--zaco-fe-hero-panel-radius);
  background: var(--zaco-fe-product-consultation-surface);
  box-shadow: var(--zaco-fe-editorial-panel-shadow);
  border: var(--zaco-fe-stroke-hairline) solid var(--zaco-fe-editorial-panel-border);
}
.zaco-fe-stitch-product .zaco-fe-contact-card--channels {
  justify-content: center;
  gap: var(--zaco-fe-space-8);
}
.zaco-fe-stitch-product .zaco-fe-contact-card .zaco-fe-eyebrow {
  color: var(--zaco-fe-accent);
  margin-bottom: var(--zaco-fe-space-3);
}
.zaco-fe-stitch-product .zaco-fe-contact-card__title {
  margin: 0 0 var(--zaco-fe-space-3);
  font-family: var(--zaco-fe-font-display);
  font-weight: 400;
  font-size: var(--zaco-fe-editorial-panel-size);
  line-height: var(--zaco-fe-editorial-line-height);
  overflow-wrap: normal;
}
.zaco-fe-stitch-product .zaco-fe-contact-card__intro > p {
  line-height: var(--zaco-fe-leading-body);
  font-size: var(--zaco-fe-text-sm);
  margin-bottom: 0;
}
.zaco-fe-stitch-product .zaco-fe-contact-card__bottom { display: grid; gap: var(--zaco-fe-space-3); }
.zaco-fe-stitch-product .zaco-fe-contact-card__bottom .zaco-fe-button { width: 100%; }
.zaco-fe-stitch-product .zaco-fe-contact-card__channels {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: var(--zaco-fe-space-4);
  font-size: var(--zaco-fe-text-sm);
}
.zaco-fe-stitch-product .zaco-fe-contact-card__channels a { color: var(--zaco-fe-accent); }
.zaco-fe-stitch-product .zaco-fe-contact-card__note {
  padding-top: var(--zaco-fe-space-3);
  margin: 0;
  border-top: var(--zaco-fe-stroke-hairline) solid var(--zaco-fe-border);
  font-size: var(--zaco-fe-text-xs);
  line-height: var(--zaco-fe-leading-body);
}
@media (max-width: 1239px) and (min-width: 741px) {
  .zaco-fe-stitch-product .zaco-fe-product-hero__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .zaco-fe-stitch-product .zaco-fe-product-hero__copy { grid-column: 1 / -1; }
  .zaco-fe-stitch-product .zaco-fe-product-hero__copy .zaco-fe-lead { max-width: 62ch; }
  .zaco-fe-stitch-product .zaco-fe-product-hero__media,
  .zaco-fe-stitch-product .zaco-fe-contact-card { min-height: 28rem; }
  .zaco-fe-stitch-product .zaco-fe-contact-card { display: flex; grid-column: auto; }
}
@media (max-width: 740px) {
  .zaco-fe-stitch-product .zaco-fe-contact-card { padding: var(--zaco-fe-hero-panel-pad); }
  .zaco-fe-stitch-product .zaco-fe-product-hero__grid { grid-template-columns: minmax(0, 1fr); }
  .zaco-fe-stitch-product .zaco-fe-product-hero__copy { padding-block: 0 var(--zaco-fe-space-2); }
  .zaco-fe-stitch-product .zaco-fe-product-hero__media { aspect-ratio: 4 / 5; height: auto; min-height: 0; }
  .zaco-fe-stitch-product .zaco-fe-contact-card { min-height: 0; }
  .zaco-fe-stitch-product .zaco-fe-hero-benefits { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 400px) {
  .zaco-fe-stitch-product .zaco-fe-hero-benefits { grid-template-columns: minmax(0,1fr); }
}
@media (prefers-reduced-motion: reduce) {
  .zaco-fe-stitch-product .zaco-fe-product-hero__media img { transition: none; }
  .zaco-fe-stitch-product .zaco-fe-product-hero__media:hover img { transform: none; }
}

/* Container breakpoints cover themes with narrower wideSize even on a large viewport. */
.zaco-fe-stitch-product .zaco-fe-product-hero > .zaco-fe-container { container-type: inline-size; }
@container (max-width: 69rem) and (min-width: 45rem) {
  .zaco-fe-stitch-product .zaco-fe-product-hero__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .zaco-fe-stitch-product .zaco-fe-product-hero__copy { grid-column: 1 / -1; }
  .zaco-fe-stitch-product .zaco-fe-product-hero__media,
  .zaco-fe-stitch-product .zaco-fe-contact-card { min-height: 28rem; }
}
@container (max-width: 44.99rem) {
  .zaco-fe-stitch-product .zaco-fe-product-hero__grid { grid-template-columns: minmax(0,1fr); }
  .zaco-fe-stitch-product .zaco-fe-product-hero__copy { grid-column: auto; }
  .zaco-fe-stitch-product .zaco-fe-product-hero__media { aspect-ratio: 4 / 5; height: auto; min-height: 0; }
  .zaco-fe-stitch-product .zaco-fe-contact-card { min-height: 0; }
}

/* P4.20-C: approved Stitch middle compositions. Theme palette and typefaces
   are inherited from foundation; all Product-specific geometry is scoped. */
.zaco-fe-stitch-product {
  /* Root container enables responsive section-grid changes: a grid cannot
     respond to a container query set on the grid element itself. */
  container-type: inline-size;
  --zaco-fe-product-value-surface: var(--zaco-fe-editorial-surface-mint);
  --zaco-fe-product-value-card-surface: var(--zaco-fe-surface-raised);
  --zaco-fe-product-material-surface: var(--zaco-fe-editorial-surface-mint);
  --zaco-fe-product-process-surface: var(--zaco-fe-editorial-surface-tile);
  --zaco-fe-product-media-caption-surface: var(--zaco-fe-hero-caption-surface);
}
.zaco-fe-stitch-product :is(.zaco-fe-product-why, .zaco-fe-product-layouts, .zaco-fe-product-materials, .zaco-fe-product-components, .zaco-fe-product-process) .zaco-fe-section-heading h2 {
  font-family: var(--zaco-fe-font-display);
  font-size: var(--zaco-fe-editorial-section-size);
  font-weight: 400;
  line-height: var(--zaco-fe-editorial-line-height);
  letter-spacing: var(--zaco-fe-display-tracking-md);
  color: var(--zaco-fe-heading);
}
.zaco-fe-stitch-product :is(.zaco-fe-product-why, .zaco-fe-product-layouts, .zaco-fe-product-materials, .zaco-fe-product-components, .zaco-fe-product-process) .zaco-fe-eyebrow {
  color: var(--zaco-fe-accent);
}
.zaco-fe-stitch-product .zaco-fe-product-why {
  background: var(--zaco-fe-product-value-surface);
}
.zaco-fe-stitch-product .zaco-fe-product-why__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--zaco-fe-product-section-gap);
}
.zaco-fe-stitch-product .zaco-fe-product-why__editorial {
  display: grid;
  grid-template-columns: minmax(0, var(--zaco-fe-product-intro-measure)) minmax(0, 1fr);
  gap: var(--zaco-fe-space-8);
  align-items: end;
}
.zaco-fe-stitch-product .zaco-fe-product-why__editorial .zaco-fe-section-heading { margin: 0; }
.zaco-fe-stitch-product .zaco-fe-product-why__editorial .zaco-fe-richtext {
  font-size: var(--zaco-fe-text-sm);
  line-height: var(--zaco-fe-editorial-support-leading);
}
.zaco-fe-stitch-product .zaco-fe-product-benefits {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: var(--zaco-fe-product-card-gap);
  min-width: 0;
}
.zaco-fe-stitch-product .zaco-fe-product-benefit {
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: var(--zaco-fe-space-5);
  padding: var(--zaco-fe-product-benefit-pad);
  border-radius: var(--zaco-fe-product-card-radius);
  border: var(--zaco-fe-stroke-hairline) solid var(--zaco-fe-editorial-panel-border);
  background: var(--zaco-fe-product-value-card-surface);
}
.zaco-fe-stitch-product .zaco-fe-product-benefit__main {
  display: grid;
  gap: var(--zaco-fe-space-3);
  align-content: start;
}
.zaco-fe-stitch-product .zaco-fe-product-benefit__icon {
  display: grid;
  place-items: center;
  height: var(--zaco-fe-product-icon-box);
  width: var(--zaco-fe-product-icon-box);
  border-radius: var(--zaco-fe-product-icon-radius);
  background: var(--zaco-fe-accent-soft);
}
.zaco-fe-stitch-product .zaco-fe-product-benefit__icon .zaco-fe-icon {
  width: var(--zaco-fe-product-icon-size);
  height: var(--zaco-fe-product-icon-size);
}
.zaco-fe-stitch-product .zaco-fe-product-benefit h3 {
  margin: 0;
  font-size: var(--zaco-fe-text-base);
  line-height: var(--zaco-fe-leading-compact);
  font-family: inherit;
  font-weight: 650;
  color: var(--zaco-fe-heading);
}
.zaco-fe-stitch-product .zaco-fe-product-benefit p {
  margin: 0;
  color: var(--zaco-fe-text-muted);
  font-size: var(--zaco-fe-text-sm);
  line-height: var(--zaco-fe-leading-body);
}
.zaco-fe-stitch-product .zaco-fe-product-benefit__footer {
  padding-top: var(--zaco-fe-space-4);
  border-top: var(--zaco-fe-stroke-hairline) solid var(--zaco-fe-border);
  font-size: var(--zaco-fe-text-2xs);
  font-weight: 700;
  letter-spacing: var(--zaco-fe-product-label-tracking);
  color: var(--zaco-fe-accent);
}
.zaco-fe-stitch-product .zaco-fe-product-section-top {
  display: flex;
  justify-content: space-between;
  align-items: end;
  flex-wrap: wrap;
  gap: var(--zaco-fe-space-4);
  margin-bottom: var(--zaco-fe-space-8);
}
.zaco-fe-stitch-product .zaco-fe-product-section-top__link {
  display: inline-flex;
  align-items: center;
  margin-inline-start: auto;
  white-space: nowrap;
  gap: var(--zaco-fe-space-2);
  color: var(--zaco-fe-accent);
  font-size: var(--zaco-fe-text-sm);
  font-weight: 650;
  text-decoration: none;
  border-bottom: var(--zaco-fe-stroke-hairline) solid transparent;
}
.zaco-fe-stitch-product .zaco-fe-product-section-top__link:is(:hover,:focus-visible) {
  border-color: currentColor;
}

.zaco-fe-stitch-product .zaco-fe-product-section-top .zaco-fe-section-heading { margin: 0; }
.zaco-fe-stitch-product .zaco-fe-product-materials {
  background: var(--zaco-fe-product-material-surface);
}
.zaco-fe-stitch-product .zaco-fe-product-choices {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--zaco-fe-product-choice-min)), 1fr));
  gap: var(--zaco-fe-product-card-gap);
  min-width: 0;
}
/* Full five/six cards form a complete Stitch row on adequately wide sites.
   Sparse authored data distribute naturally instead of leaving blank tracks. */
.zaco-fe-stitch-product .zaco-fe-product-choices--layouts[data-count="5"] {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}
.zaco-fe-stitch-product .zaco-fe-product-choices--materials[data-count="6"] {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}
.zaco-fe-stitch-product .zaco-fe-product-choice {
  display: flex;
  min-width: 0;
  flex-direction: column;
  overflow: hidden;
  border-radius: var(--zaco-fe-product-card-radius);
  border: var(--zaco-fe-stroke-hairline) solid var(--zaco-fe-editorial-panel-border);
  background: var(--zaco-fe-surface-raised);
  color: var(--zaco-fe-heading);
  text-decoration: none;
  box-shadow: var(--zaco-fe-editorial-panel-shadow);
}
.zaco-fe-stitch-product .zaco-fe-product-choice__media {
  display: block;
  aspect-ratio: var(--zaco-fe-product-layout-media-ratio);
  overflow: hidden;
  background: var(--zaco-fe-material-swatch-fallback);
}
.zaco-fe-stitch-product .zaco-fe-product-choices--materials .zaco-fe-product-choice__media {
  aspect-ratio: var(--zaco-fe-product-material-media-ratio);
}
.zaco-fe-stitch-product .zaco-fe-product-choice__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform var(--zaco-fe-motion-image) var(--zaco-fe-motion-ease);
}
.zaco-fe-stitch-product .zaco-fe-product-choice:is(:hover,:focus-visible) .zaco-fe-product-choice__media img {
  transform: scale(var(--zaco-fe-stitch-image-hover-scale));
}
.zaco-fe-stitch-product .zaco-fe-product-choice__body {
  display: grid;
  position: relative;
  align-content: start;
  gap: var(--zaco-fe-space-2);
  padding: var(--zaco-fe-space-4);
  flex: 1;
  min-width: 0;
}
.zaco-fe-stitch-product .zaco-fe-product-choice__body strong {
  font-size: medium;
  line-height: var(--zaco-fe-leading-compact);
  font-weight: 650;
}
.zaco-fe-stitch-product .zaco-fe-product-choice__body small {
  font-size: var(--zaco-fe-text-xs);
  line-height: var(--zaco-fe-leading-body);
  color: var(--zaco-fe-text-muted);
}
.zaco-fe-stitch-product .zaco-fe-product-choice__arrow {
  justify-self: end;
  align-self: end;
  margin-top: auto;
  font-size: var(--zaco-fe-text-lg);
  color: var(--zaco-fe-accent);
  transition: transform var(--zaco-fe-motion-fast) var(--zaco-fe-motion-ease);
}
.zaco-fe-stitch-product .zaco-fe-product-choice:hover .zaco-fe-product-choice__arrow {
  transform: translateX(var(--zaco-fe-product-arrow-travel));
}
.zaco-fe-stitch-product .zaco-fe-product-process__grid {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  gap: var(--zaco-fe-product-section-gap);
  align-items: stretch;
}
.zaco-fe-stitch-product .zaco-fe-product-process__grid--no-media {
  grid-template-columns: minmax(0, 1fr);
}
.zaco-fe-stitch-product .zaco-fe-product-process__media {
  position: relative;
  margin: 0;
  min-width: 0;
  min-height: var(--zaco-fe-product-process-min-height);
  border-radius: var(--zaco-fe-product-card-radius);
  background: var(--zaco-fe-soft);
  overflow: hidden;
}
.zaco-fe-stitch-product .zaco-fe-product-process__media img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform var(--zaco-fe-motion-image) var(--zaco-fe-motion-ease);
}
.zaco-fe-stitch-product .zaco-fe-product-process__media:hover img {
  transform: scale(var(--zaco-fe-stitch-image-hover-scale));
}
.zaco-fe-stitch-product .zaco-fe-product-process__caption {
  position: absolute;
  bottom: var(--zaco-fe-space-4);
  padding: var(--zaco-fe-space-4);
  border-radius: var(--zaco-fe-product-card-radius);
  background: var(--zaco-fe-product-media-caption-surface);
  color: var(--zaco-fe-editorial-on-media);
  font-size: var(--zaco-fe-text-xs);
  line-height: var(--zaco-fe-leading-body);
  backdrop-filter: blur(var(--zaco-fe-stitch-overlay-blur));
}
.zaco-fe-stitch-product .zaco-fe-product-process__content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
  gap: var(--zaco-fe-space-6);
  padding: var(--zaco-fe-product-process-pad);
  background: var(--zaco-fe-product-process-surface);
  border-radius: var(--zaco-fe-product-card-radius);
}
.zaco-fe-stitch-product .zaco-fe-product-process__content .zaco-fe-section-heading {
  margin: 0;
}
.zaco-fe-stitch-product .zaco-fe-product-process__steps {
  list-style: none;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--zaco-fe-product-process-step-gap);
  min-width: 0;
  padding: 0;
  margin: 0;
}
.zaco-fe-stitch-product .zaco-fe-product-process__steps > li {
  min-width: 0;
  padding-block: var(--zaco-fe-space-4);
  border-top: var(--zaco-fe-stroke-hairline) solid var(--zaco-fe-border);
}
.zaco-fe-stitch-product .zaco-fe-product-process__number {
  display: block;
  margin-bottom: var(--zaco-fe-space-3);
  color: var(--zaco-fe-accent);
  font-family: var(--zaco-fe-font-display);
  font-size: var(--zaco-fe-text-2xl);
  line-height: var(--zaco-fe-leading-tight);
}
.zaco-fe-stitch-product .zaco-fe-product-process__steps strong {
  font-size: medium;
  color: var(--zaco-fe-heading);
}
.zaco-fe-stitch-product .zaco-fe-product-process__steps p {
  font-size: var(--zaco-fe-text-xs);
  line-height: var(--zaco-fe-leading-body);
  margin: var(--zaco-fe-space-2) 0 0;
  color: var(--zaco-fe-text-muted);
}
/* Use actual section container width as the breakpoint, not merely viewport. */
.zaco-fe-stitch-product :is(.zaco-fe-product-why, .zaco-fe-product-layouts, .zaco-fe-product-materials, .zaco-fe-product-components, .zaco-fe-product-process) > .zaco-fe-container {
  container-type: inline-size;
}
@container (max-width: 69rem) {
  .zaco-fe-stitch-product .zaco-fe-product-benefits { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .zaco-fe-stitch-product .zaco-fe-product-choices--layouts[data-count="5"],
  .zaco-fe-stitch-product .zaco-fe-product-choices--materials[data-count="6"] { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .zaco-fe-stitch-product .zaco-fe-product-process__grid { grid-template-columns: minmax(0, 1fr); }
  .zaco-fe-stitch-product .zaco-fe-product-process__media { aspect-ratio: var(--zaco-fe-product-process-tablet-ratio); min-height: 0; }
}
@container (max-width: 44rem) {
  .zaco-fe-stitch-product .zaco-fe-product-why__editorial { grid-template-columns: minmax(0, 1fr); }
  .zaco-fe-stitch-product .zaco-fe-product-benefits { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .zaco-fe-stitch-product .zaco-fe-product-choices--layouts[data-count="5"],
  .zaco-fe-stitch-product .zaco-fe-product-choices--materials[data-count="6"] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .zaco-fe-stitch-product .zaco-fe-product-process__steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@container (max-width: 30rem) {
  .zaco-fe-stitch-product .zaco-fe-product-benefits,
  .zaco-fe-stitch-product .zaco-fe-product-choices--layouts[data-count="5"] { grid-template-columns: minmax(0, 1fr); }
  /* Pattern-like Materials stay compact: six swatches form 2 columns x 3 rows
     on standard mobile widths. Honest sparse collections use the same rhythm. */
  .zaco-fe-stitch-product .zaco-fe-product-choices--materials.zaco-fe-collection--swatches {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(.5rem, 2vw, .85rem);
  }
  .zaco-fe-stitch-product .zaco-fe-product-choices--materials .zaco-fe-product-choice__body {
    padding: var(--zaco-fe-space-3);
  }
  .zaco-fe-stitch-product .zaco-fe-product-process__steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .zaco-fe-stitch-product .zaco-fe-product-process__content { padding: var(--zaco-fe-space-5); }
}
@media (prefers-reduced-motion: reduce) {
  .zaco-fe-stitch-product .zaco-fe-product-choice__media img,
  .zaco-fe-stitch-product .zaco-fe-product-process__media img,
  .zaco-fe-stitch-product .zaco-fe-product-choice__arrow { transition: none; }
  .zaco-fe-stitch-product .zaco-fe-product-choice:is(:hover,:focus-visible) .zaco-fe-product-choice__media img,
  .zaco-fe-stitch-product .zaco-fe-product-process__media:hover img,
  .zaco-fe-stitch-product .zaco-fe-product-choice:hover .zaco-fe-product-choice__arrow { transform: none; }
}
.zaco-fe-stitch-product .zaco-fe-product-choice__media.zaco-fe-material__swatch {
  background-color: attr(data-swatch-color type(<color>), var(--zaco-fe-material-swatch-fallback));
}

/* P4.20-D — Stitch FAQ/explore and product-led CTA composition.
   These properties control geometry only; color, type, motion and elevation
   resolve through the shared theme-aware foundation. No inline presentation. */
.zaco-fe-stitch-product {
  --zaco-fe-product-info-gap: var(--zaco-fe-info-column-gap);
  --zaco-fe-product-info-card-gap: var(--zaco-fe-space-4);
  --zaco-fe-product-info-row-min: 4.25rem;
  --zaco-fe-product-info-image-ratio: 16 / 10;
  --zaco-fe-product-info-heading-gap: var(--zaco-fe-space-6);
  --zaco-fe-product-cta-radius: var(--zaco-fe-product-card-radius);
  --zaco-fe-product-cta-min-height: 16rem;
  --zaco-fe-product-cta-pad: clamp(1.5rem, 4vw, 4rem);
  --zaco-fe-product-cta-measure: 34rem;
  --zaco-fe-product-cta-scrim: var(--zaco-theme-cta-scrim, var(--zaco-fe-media-scrim-strong));
}
.zaco-fe-stitch-product .zaco-fe-product-info {
  background: var(--zaco-fe-editorial-surface-mint);
}
.zaco-fe-stitch-product .zaco-fe-product-info__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: stretch;
  gap: var(--zaco-fe-product-info-gap);
}
.zaco-fe-stitch-product .zaco-fe-product-info__grid--single {
  grid-template-columns: minmax(0, var(--zaco-fe-layout-reading));
}
.zaco-fe-stitch-product .zaco-fe-product-info__panel {
  display: flex;
  min-width: 0;
  flex-direction: column;
}
.zaco-fe-stitch-product .zaco-fe-product-info__panel > .zaco-fe-section-heading {
  margin-block-end: var(--zaco-fe-product-info-heading-gap);
}
.zaco-fe-stitch-product .zaco-fe-product-info__panel .zaco-fe-section-heading h2 {
  font-family: var(--zaco-fe-font-display);
  font-size: var(--zaco-fe-editorial-section-size);
  line-height: var(--zaco-fe-editorial-line-height);
  color: var(--zaco-fe-heading);
}
.zaco-fe-stitch-product .zaco-fe-product-info__faq .zaco-fe-faqs {
  flex: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-content: stretch;
  gap: var(--zaco-fe-space-3);
  min-width: 0;
}
.zaco-fe-stitch-product .zaco-fe-product-info__faq .zaco-fe-faq {
  min-height: var(--zaco-fe-product-info-row-min);
  background: var(--zaco-fe-faq-card-surface);
}
.zaco-fe-stitch-product .zaco-fe-product-info__faq .zaco-fe-faq__answer {
  max-height: var(--zaco-fe-faq-expanded-max);
  overflow-y: auto;
}
.zaco-fe-stitch-product .zaco-fe-product-info__view-all {
  display: inline-flex;
  gap: var(--zaco-fe-space-2);
  align-items: center;
  align-self: flex-start;
  margin-block-start: var(--zaco-fe-space-5);
  border: 0;
  padding: var(--zaco-fe-space-2) 0;
  background: transparent;
  color: var(--zaco-fe-accent);
  font-weight: 600;
  cursor: pointer;
}
.zaco-fe-stitch-product .zaco-fe-product-info__view-all:is(:hover,:focus-visible) { text-decoration: underline; }
.zaco-fe-stitch-product .zaco-fe-product-info__view-all:focus-visible { outline: var(--zaco-fe-focus-ring-width) solid var(--zaco-fe-focus-color); outline-offset: var(--zaco-fe-space-1); }
.zaco-fe-stitch-product .zaco-fe-product-info__cards {
  flex: 1;
  min-height: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-rows: repeat(2, minmax(0, 1fr));
  gap: var(--zaco-fe-product-info-card-gap);
}
.zaco-fe-stitch-product .zaco-fe-product-info__cards--sparse { grid-template-rows: auto; }
.zaco-fe-stitch-product .zaco-fe-product-info__cards[data-count="1"] { grid-template-columns: minmax(0, 1fr); }
.zaco-fe-stitch-product .zaco-fe-product-explore-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  height: 100%;
  padding: var(--zaco-fe-space-3);
  gap: var(--zaco-fe-space-3);
  border-radius: var(--zaco-fe-product-card-radius);
  background: var(--zaco-fe-faq-card-surface);
  box-shadow: var(--zaco-fe-faq-card-shadow);
  text-decoration: none;
  color: var(--zaco-fe-heading);
}
.zaco-fe-stitch-product .zaco-fe-product-explore-card__media {
  display: block;
  flex: 1 1 auto;
  min-height: var(--zaco-fe-info-image-min);
  max-height: 16rem;
  overflow: hidden;
  border-radius: var(--zaco-fe-product-card-radius);
  background: var(--zaco-fe-surface-subtle);
}
.zaco-fe-stitch-product .zaco-fe-product-explore-card__media img {
  display: block;
  width: 100%;
  height: 100%;
  aspect-ratio: var(--zaco-fe-product-info-image-ratio);
  object-fit: cover;
}
.zaco-fe-stitch-product .zaco-fe-product-explore-card__body {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--zaco-fe-space-3);
  min-width: 0;
}
.zaco-fe-stitch-product .zaco-fe-product-explore-card__body strong {
  display: block;
  color: var(--zaco-fe-heading);
  font-weight: 600;
  font-size: var(--zaco-fe-text-base);
}
.zaco-fe-stitch-product .zaco-fe-product-explore-card__body small {
  display: block;
  color: var(--zaco-fe-text-muted);
  font-size: var(--zaco-fe-text-xs);
  line-height: var(--zaco-fe-leading-body);
}
.zaco-fe-stitch-product .zaco-fe-product-explore-card__arrow {
  flex: none;
  color: var(--zaco-fe-accent);
  transition: transform var(--zaco-fe-motion-fast) var(--zaco-fe-motion-ease);
}
.zaco-fe-stitch-product .zaco-fe-product-explore-card:is(:hover,:focus-visible) .zaco-fe-product-explore-card__arrow { transform: translateX(var(--zaco-fe-product-arrow-travel)); }
.zaco-fe-stitch-product .zaco-fe-product-cta {
  --zaco-fe-photo-cta-min-height: var(--zaco-fe-product-cta-min-height);
  --zaco-fe-photo-cta-pad: var(--zaco-fe-product-cta-pad);
  --zaco-fe-photo-cta-measure: var(--zaco-fe-product-cta-measure);
  --zaco-fe-photo-cta-scrim: var(--zaco-fe-product-cta-scrim);
  padding-block: var(--zaco-fe-space-8) var(--zaco-fe-space-12);
}
.zaco-fe-stitch-product .zaco-fe-product-cta__banner { border-radius: var(--zaco-fe-product-cta-radius); }
@media (max-width: 1023px) {
  .zaco-fe-stitch-product .zaco-fe-product-info__grid { grid-template-columns: minmax(0, 1fr); }
  .zaco-fe-stitch-product .zaco-fe-product-info__cards { grid-template-rows: auto; }
  .zaco-fe-stitch-product .zaco-fe-product-explore-card__media { flex: 0 0 auto; }
}
@media (max-width: 600px) {
  .zaco-fe-stitch-product .zaco-fe-product-info__cards { grid-template-columns: minmax(0, 1fr); }
  .zaco-fe-stitch-product .zaco-fe-product-info__cards[data-count="2"] { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .zaco-fe-stitch-product .zaco-fe-product-explore-card__media { min-height: var(--zaco-fe-info-image-min); }
}
@media (prefers-reduced-motion: reduce) {
  .zaco-fe-stitch-product .zaco-fe-product-explore-card__arrow { transition: none; }
  .zaco-fe-stitch-product .zaco-fe-product-explore-card:is(:hover,:focus-visible) .zaco-fe-product-explore-card__arrow { transform: none; }
}
@media (max-width: 420px) {
  .zaco-fe-stitch-product .zaco-fe-product-info__cards[data-count="2"] { grid-template-columns: minmax(0, 1fr); }
}

/* P4.21 owner Stitch-parity correction. Keep Product-only layout and inherit
   active-theme surfaces, typography, focus styles and semantic media roles. */
.zaco-fe-stitch-product .zaco-fe-product-why__editorial {
  grid-template-columns: minmax(0, 1fr);
  align-items: start;
  gap: var(--zaco-fe-space-3);
}
.zaco-fe-stitch-product .zaco-fe-product-why__editorial .zaco-fe-section-heading {
  max-width: 49rem;
}
.zaco-fe-stitch-product .zaco-fe-product-why__editorial .zaco-fe-richtext {
  max-width: 49rem;
  margin: 0;
}
.zaco-fe-stitch-product .zaco-fe-product-benefit__footer { text-transform: uppercase; }
.zaco-fe-stitch-product .zaco-fe-product-choices--materials .zaco-fe-product-choice__body {
  flex: 0 1 auto;
}
.zaco-fe-stitch-product .zaco-fe-product-choice__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: var(--zaco-fe-space-6);
  gap: var(--zaco-fe-space-3);
  margin-top: auto;
}
.zaco-fe-stitch-product .zaco-fe-product-choice__label {
  color: var(--zaco-fe-accent);
  font-size: var(--zaco-fe-text-2xs);
  font-weight: 700;
  letter-spacing: var(--zaco-fe-product-label-tracking);
  line-height: var(--zaco-fe-leading-compact);
  text-transform: uppercase;
}
.zaco-fe-stitch-product .zaco-fe-product-process__caption {
  display: grid;
  align-content: start;
  gap: var(--zaco-fe-space-2);
}
.zaco-fe-stitch-product .zaco-fe-product-process__caption strong {
  color: var(--zaco-fe-editorial-on-media);
  font-size: var(--zaco-fe-text-sm);
  font-weight: 700;
  line-height: var(--zaco-fe-leading-compact);
}
.zaco-fe-stitch-product .zaco-fe-product-process__caption span {
  color: var(--zaco-fe-editorial-on-media-muted);
}
.zaco-fe-stitch-product .zaco-fe-product-process__content {
  background: transparent;
  padding: var(--zaco-fe-space-5) 0;
}
.zaco-fe-stitch-product .zaco-fe-product-process__steps > li {
  display: flex;
  flex-direction: column;
  border: var(--zaco-fe-stroke-hairline) solid var(--zaco-fe-editorial-panel-border);
  border-radius: var(--zaco-fe-product-card-radius);
  padding: var(--zaco-fe-space-4);
  background: var(--zaco-fe-editorial-surface-mint);
  min-height: var(--zaco-fe-product-process-step-min, 8rem);
}
.zaco-fe-stitch-product .zaco-fe-contact-card--channels {
  justify-content: space-between;
  gap: var(--zaco-fe-space-8);
}
.zaco-fe-stitch-product .zaco-fe-contact-card__unconfigured {
  color: var(--zaco-fe-text-muted);
  font-size: var(--zaco-fe-text-sm);
  line-height: var(--zaco-fe-leading-body);
}
/* Existing installed form providers keep their real validation and submission
   logic; ZACO supplies only page-specific visual integration. */
.zaco-fe-stitch-product .zaco-fe-contact-card :is(form:not(.zaco-native-form), .wpcf7-form, .fluentform, .wpforms-container) {
  min-width: 0;
  max-width: 100%;
}
.zaco-fe-stitch-product .zaco-fe-contact-card :is(form:not(.zaco-native-form), .wpcf7-form, .fluentform, .wpforms-container) :is(input:not([type="checkbox"]):not([type="radio"]), textarea, select) {
  max-width: 100%;
  width: 100%;
  box-sizing: border-box;
  background: var(--zaco-fe-surface-raised);
  border-radius: var(--zaco-fe-product-card-radius);
  border: var(--zaco-fe-stroke-hairline) solid var(--zaco-fe-border);
  color: var(--zaco-fe-text);
  padding: var(--zaco-fe-space-3);
  font: inherit;
}
.zaco-fe-stitch-product .zaco-fe-contact-card :is(form:not(.zaco-native-form), .wpcf7-form, .fluentform, .wpforms-container) :is(input,select,textarea):focus-visible {
  outline: 2px solid var(--zaco-fe-accent);
  outline-offset: 2px;
}
.zaco-fe-stitch-product .zaco-fe-contact-card :is(form:not(.zaco-native-form), .wpcf7-form, .fluentform, .wpforms-container) :is(button[type="submit"],input[type="submit"]) {
  width: 100%;
  cursor: pointer;
  background: var(--zaco-fe-accent);
  color: var(--zaco-fe-surface-raised);
  border: none;
  border-radius: var(--zaco-fe-product-card-radius);
  padding: var(--zaco-fe-space-4);
}
@container (max-width: 44rem) {
  .zaco-fe-stitch-product .zaco-fe-product-process__content { padding: var(--zaco-fe-space-5) 0; }
}

/* Material two-column mobile composition is intentionally Product-specific;
   generic collections do not inherit a forced card count. */
@container (max-width: 30rem) {
  .zaco-fe-stitch-product .zaco-fe-product-choices--materials.zaco-fe-collection--swatches {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@container (max-width: 16rem) {
  .zaco-fe-stitch-product .zaco-fe-product-choices--materials.zaco-fe-collection--swatches {
    grid-template-columns: minmax(0, 1fr);
  }
}
/* P4.45: the actual registered local Phosphor/custom SVG is a theme-colored
 * mask; unknown future Domain Pack assets keep FrontendRenderer's img fallback. */
.zaco-fe-stitch-product .zaco-fe-product-benefit__icon { color: var(--zaco-fe-accent); }
.zaco-fe-stitch-product .zaco-fe-product-benefit__icon::before {
  content: "";
  display: none;
  width: var(--zaco-fe-product-icon-size);
  height: var(--zaco-fe-product-icon-size);
  background: currentColor;
  -webkit-mask: var(--zaco-fe-benefit-icon) center/contain no-repeat;
  mask: var(--zaco-fe-benefit-icon) center/contain no-repeat;
}

.zaco-fe-stitch-product .zaco-fe-product-benefit__icon--durability { --zaco-fe-benefit-icon: url("../../vendor/phosphor/regular/shield-check.svg"); }
.zaco-fe-stitch-product .zaco-fe-product-benefit__icon--precision { --zaco-fe-benefit-icon: url("../../vendor/phosphor/regular/ruler.svg"); }
.zaco-fe-stitch-product .zaco-fe-product-benefit__icon--quality { --zaco-fe-benefit-icon: url("../../vendor/phosphor/regular/seal-check.svg"); }
.zaco-fe-stitch-product .zaco-fe-product-benefit__icon--natural { --zaco-fe-benefit-icon: url("../../vendor/phosphor/regular/plant.svg"); }
.zaco-fe-stitch-product .zaco-fe-product-benefit__icon--structure { --zaco-fe-benefit-icon: url("../../vendor/phosphor/regular/buildings.svg"); }
.zaco-fe-stitch-product .zaco-fe-product-benefit__icon--kitchen { --zaco-fe-benefit-icon: url("../../vendor/phosphor/regular/cooking-pot.svg"); }
.zaco-fe-stitch-product .zaco-fe-product-benefit__icon--schedule { --zaco-fe-benefit-icon: url("../../vendor/phosphor/regular/calendar-check.svg"); }
.zaco-fe-stitch-product .zaco-fe-product-benefit__icon--gallery { --zaco-fe-benefit-icon: url("../../vendor/phosphor/regular/images-square.svg"); }
.zaco-fe-stitch-product .zaco-fe-product-benefit__icon--location { --zaco-fe-benefit-icon: url("../../vendor/phosphor/regular/map-pin.svg"); }
.zaco-fe-stitch-product .zaco-fe-product-benefit__icon--video { --zaco-fe-benefit-icon: url("../../vendor/phosphor/regular/video-camera.svg"); }
.zaco-fe-stitch-product .zaco-fe-product-benefit__icon--delivery { --zaco-fe-benefit-icon: url("../../vendor/phosphor/regular/car.svg"); }
.zaco-fe-stitch-product .zaco-fe-product-benefit__icon--comfort { --zaco-fe-benefit-icon: url("../../vendor/phosphor/regular/bed.svg"); }
.zaco-fe-stitch-product .zaco-fe-product-benefit__icon--storage { --zaco-fe-benefit-icon: url("../../vendor/phosphor/regular/cabinet-custom.svg"); }
.zaco-fe-stitch-product .zaco-fe-product-benefit__icon--design { --zaco-fe-benefit-icon: url("../../vendor/phosphor/regular/layout-custom.svg"); }
.zaco-fe-stitch-product .zaco-fe-product-benefit__icon--finish { --zaco-fe-benefit-icon: url("../../vendor/phosphor/regular/swatches-custom.svg"); }
.zaco-fe-stitch-product .zaco-fe-product-benefit__icon--installation { --zaco-fe-benefit-icon: url("../../vendor/phosphor/regular/tools-custom.svg"); }
.zaco-fe-stitch-product .zaco-fe-product-benefit__icon--durability::before { display: block; }
.zaco-fe-stitch-product .zaco-fe-product-benefit__icon--durability img { display: none; }
.zaco-fe-stitch-product .zaco-fe-product-benefit__icon--precision::before { display: block; }
.zaco-fe-stitch-product .zaco-fe-product-benefit__icon--precision img { display: none; }
.zaco-fe-stitch-product .zaco-fe-product-benefit__icon--quality::before { display: block; }
.zaco-fe-stitch-product .zaco-fe-product-benefit__icon--quality img { display: none; }
.zaco-fe-stitch-product .zaco-fe-product-benefit__icon--natural::before { display: block; }
.zaco-fe-stitch-product .zaco-fe-product-benefit__icon--natural img { display: none; }
.zaco-fe-stitch-product .zaco-fe-product-benefit__icon--structure::before { display: block; }
.zaco-fe-stitch-product .zaco-fe-product-benefit__icon--structure img { display: none; }
.zaco-fe-stitch-product .zaco-fe-product-benefit__icon--kitchen::before { display: block; }
.zaco-fe-stitch-product .zaco-fe-product-benefit__icon--kitchen img { display: none; }
.zaco-fe-stitch-product .zaco-fe-product-benefit__icon--schedule::before { display: block; }
.zaco-fe-stitch-product .zaco-fe-product-benefit__icon--schedule img { display: none; }
.zaco-fe-stitch-product .zaco-fe-product-benefit__icon--gallery::before { display: block; }
.zaco-fe-stitch-product .zaco-fe-product-benefit__icon--gallery img { display: none; }
.zaco-fe-stitch-product .zaco-fe-product-benefit__icon--location::before { display: block; }
.zaco-fe-stitch-product .zaco-fe-product-benefit__icon--location img { display: none; }
.zaco-fe-stitch-product .zaco-fe-product-benefit__icon--video::before { display: block; }
.zaco-fe-stitch-product .zaco-fe-product-benefit__icon--video img { display: none; }
.zaco-fe-stitch-product .zaco-fe-product-benefit__icon--delivery::before { display: block; }
.zaco-fe-stitch-product .zaco-fe-product-benefit__icon--delivery img { display: none; }
.zaco-fe-stitch-product .zaco-fe-product-benefit__icon--comfort::before { display: block; }
.zaco-fe-stitch-product .zaco-fe-product-benefit__icon--comfort img { display: none; }
.zaco-fe-stitch-product .zaco-fe-product-benefit__icon--storage::before { display: block; }
.zaco-fe-stitch-product .zaco-fe-product-benefit__icon--storage img { display: none; }
.zaco-fe-stitch-product .zaco-fe-product-benefit__icon--design::before { display: block; }
.zaco-fe-stitch-product .zaco-fe-product-benefit__icon--design img { display: none; }
.zaco-fe-stitch-product .zaco-fe-product-benefit__icon--finish::before { display: block; }
.zaco-fe-stitch-product .zaco-fe-product-benefit__icon--finish img { display: none; }
.zaco-fe-stitch-product .zaco-fe-product-benefit__icon--installation::before { display: block; }
.zaco-fe-stitch-product .zaco-fe-product-benefit__icon--installation img { display: none; }

.zaco-fe-stitch-product .zaco-fe-product-why__editorial--solo { display:block; max-width: 49rem; }


/* P4.47 Stitch parity for the Product text-led value-card instance. */
.zaco-fe-stitch-product .zaco-fe-product-why__editorial .zaco-fe-section-heading {
  max-width: 49rem; /* pre P4.45 approved paragraph measure, no semantic copy change */
}
.zaco-fe-stitch-product .zaco-fe-product-why__editorial .zaco-fe-section-heading > p {
  max-width: 100%;
}
.zaco-fe-stitch-product .zaco-fe-product-benefit.zaco-fe-value-card {
  border: 0;
  box-shadow: var(--zaco-fe-shadow-card);
  --zaco-fe-product-icon-box: 3rem;
  --zaco-fe-product-icon-size: 1.625rem;
}
.zaco-fe-stitch-product .zaco-fe-product-benefit .zaco-fe-value-card__footer {
  border-top: 0;
  padding-top: 0;
}
.zaco-fe-stitch-product .zaco-fe-product-benefit__icon--warranty { --zaco-fe-benefit-icon: url("../../vendor/phosphor/regular/warranty-custom.svg"); }
.zaco-fe-stitch-product .zaco-fe-product-benefit__icon--warranty::before { display: block; }
.zaco-fe-stitch-product .zaco-fe-product-benefit__icon--warranty img { display: none; }
.zaco-fe-stitch-product .zaco-fe-product-benefit__icon--moisture { --zaco-fe-benefit-icon: url("../../vendor/phosphor/regular/moisture-custom.svg"); }
.zaco-fe-stitch-product .zaco-fe-product-benefit__icon--moisture::before { display: block; }
.zaco-fe-stitch-product .zaco-fe-product-benefit__icon--moisture img { display: none; }
.zaco-fe-stitch-product .zaco-fe-product-benefit__icon--appliances { --zaco-fe-benefit-icon: url("../../vendor/phosphor/regular/appliances-custom.svg"); }
.zaco-fe-stitch-product .zaco-fe-product-benefit__icon--appliances::before { display: block; }
.zaco-fe-stitch-product .zaco-fe-product-benefit__icon--appliances img { display: none; }
.zaco-fe-stitch-product .zaco-fe-product-benefit__icon--space-planning { --zaco-fe-benefit-icon: url("../../vendor/phosphor/regular/space-planning-custom.svg"); }
.zaco-fe-stitch-product .zaco-fe-product-benefit__icon--space-planning::before { display: block; }
.zaco-fe-stitch-product .zaco-fe-product-benefit__icon--space-planning img { display: none; }
.zaco-fe-stitch-product .zaco-fe-product-benefit__icon--craftsmanship { --zaco-fe-benefit-icon: url("../../vendor/phosphor/regular/craftsmanship-custom.svg"); }
.zaco-fe-stitch-product .zaco-fe-product-benefit__icon--craftsmanship::before { display: block; }
.zaco-fe-stitch-product .zaco-fe-product-benefit__icon--craftsmanship img { display: none; }
.zaco-fe-stitch-product .zaco-fe-product-benefit__icon--worktop { --zaco-fe-benefit-icon: url("../../vendor/phosphor/regular/worktop-custom.svg"); }
.zaco-fe-stitch-product .zaco-fe-product-benefit__icon--worktop::before { display: block; }
.zaco-fe-stitch-product .zaco-fe-product-benefit__icon--worktop img { display: none; }
.zaco-fe-stitch-product .zaco-fe-product-benefit__icon--lighting { --zaco-fe-benefit-icon: url("../../vendor/phosphor/regular/lighting-custom.svg"); }
.zaco-fe-stitch-product .zaco-fe-product-benefit__icon--lighting::before { display: block; }
.zaco-fe-stitch-product .zaco-fe-product-benefit__icon--lighting img { display: none; }
.zaco-fe-stitch-product .zaco-fe-product-benefit__icon--ergonomics { --zaco-fe-benefit-icon: url("../../vendor/phosphor/regular/ergonomics-custom.svg"); }
.zaco-fe-stitch-product .zaco-fe-product-benefit__icon--ergonomics::before { display: block; }
.zaco-fe-stitch-product .zaco-fe-product-benefit__icon--ergonomics img { display: none; }
.zaco-fe-stitch-product .zaco-fe-product-benefit__icon--sustainability { --zaco-fe-benefit-icon: url("../../vendor/phosphor/regular/sustainability-custom.svg"); }
.zaco-fe-stitch-product .zaco-fe-product-benefit__icon--sustainability::before { display: block; }
.zaco-fe-stitch-product .zaco-fe-product-benefit__icon--sustainability img { display: none; }
.zaco-fe-stitch-product .zaco-fe-product-benefit__icon--hardware { --zaco-fe-benefit-icon: url("../../vendor/phosphor/regular/hardware-custom.svg"); }
.zaco-fe-stitch-product .zaco-fe-product-benefit__icon--hardware::before { display: block; }
.zaco-fe-stitch-product .zaco-fe-product-benefit__icon--hardware img { display: none; }
.zaco-fe-stitch-product .zaco-fe-product-benefit__icon--renovation { --zaco-fe-benefit-icon: url("../../vendor/phosphor/regular/renovation-custom.svg"); }
.zaco-fe-stitch-product .zaco-fe-product-benefit__icon--renovation::before { display: block; }
.zaco-fe-stitch-product .zaco-fe-product-benefit__icon--renovation img { display: none; }
.zaco-fe-stitch-product .zaco-fe-product-benefit__icon--care { --zaco-fe-benefit-icon: url("../../vendor/phosphor/regular/care-custom.svg"); }
.zaco-fe-stitch-product .zaco-fe-product-benefit__icon--care::before { display: block; }
.zaco-fe-stitch-product .zaco-fe-product-benefit__icon--care img { display: none; }
.zaco-fe-stitch-product .zaco-fe-product-benefit__icon--modular { --zaco-fe-benefit-icon: url("../../vendor/phosphor/regular/modular-custom.svg"); }
.zaco-fe-stitch-product .zaco-fe-product-benefit__icon--modular::before { display: block; }
.zaco-fe-stitch-product .zaco-fe-product-benefit__icon--modular img { display: none; }
.zaco-fe-stitch-product .zaco-fe-product-benefit__icon--ventilation { --zaco-fe-benefit-icon: url("../../vendor/phosphor/regular/ventilation-custom.svg"); }
.zaco-fe-stitch-product .zaco-fe-product-benefit__icon--ventilation::before { display: block; }
.zaco-fe-stitch-product .zaco-fe-product-benefit__icon--ventilation img { display: none; }
.zaco-fe-stitch-product .zaco-fe-product-benefit__icon--consultation { --zaco-fe-benefit-icon: url("../../vendor/phosphor/regular/consultation-custom.svg"); }
.zaco-fe-stitch-product .zaco-fe-product-benefit__icon--consultation::before { display: block; }
.zaco-fe-stitch-product .zaco-fe-product-benefit__icon--consultation img { display: none; }

/* PA-7 — Related Products density adapts inside the existing equal-height
   FAQ/Related desktop pair. Counts 5–6 stay two rows; the outer section never
   grows merely because the editor raised the related count. */
@media (min-width: 1024px) {
  .zaco-fe-stitch-product .zaco-fe-product-info__cards--compact {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    grid-template-rows: repeat(2, minmax(0, 1fr));
    gap: clamp(.65rem, 1vw, var(--zaco-fe-space-3));
  }
  .zaco-fe-stitch-product .zaco-fe-product-info__cards--compact > .zaco-fe-product-explore-card {
    grid-column: span 2;
    min-height: 0;
    padding: var(--zaco-fe-space-2);
    gap: var(--zaco-fe-space-2);
  }
  .zaco-fe-stitch-product .zaco-fe-product-info__cards--compact[data-count="5"] > .zaco-fe-product-explore-card:nth-child(4) { grid-column: 1 / span 3; }
  .zaco-fe-stitch-product .zaco-fe-product-info__cards--compact[data-count="5"] > .zaco-fe-product-explore-card:nth-child(5) { grid-column: 4 / span 3; }
  .zaco-fe-stitch-product .zaco-fe-product-info__cards--compact .zaco-fe-product-explore-card__media {
    flex: 1 1 56%;
    min-height: 0;
    max-height: none;
  }
  .zaco-fe-stitch-product .zaco-fe-product-info__cards--compact .zaco-fe-product-explore-card__media img { aspect-ratio: 4 / 3; }
  .zaco-fe-stitch-product .zaco-fe-product-info__cards--compact .zaco-fe-product-explore-card__body { gap: var(--zaco-fe-space-2); }
  .zaco-fe-stitch-product .zaco-fe-product-info__cards--compact .zaco-fe-product-explore-card__body strong,
  .zaco-fe-stitch-product .zaco-fe-product-info__cards--compact .zaco-fe-product-explore-card__body small {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  .zaco-fe-stitch-product .zaco-fe-product-info__cards--compact .zaco-fe-product-explore-card__body strong { -webkit-line-clamp: 2; }
  .zaco-fe-stitch-product .zaco-fe-product-info__cards--compact .zaco-fe-product-explore-card__body small { -webkit-line-clamp: 2; }
}
@media (max-width: 1023px) {
  .zaco-fe-stitch-product .zaco-fe-product-info__cards--compact {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: auto;
  }
  .zaco-fe-stitch-product .zaco-fe-product-info__cards--compact > .zaco-fe-product-explore-card { grid-column: auto; }
}
@media (max-width: 600px) {
  .zaco-fe-stitch-product .zaco-fe-product-info__cards--compact { grid-template-columns: minmax(0, 1fr); }
}

/* H4a: opt-in native carousel in Product Single; original Grid rules remain untouched. */
.zaco-fe-stitch-product .zaco-fe-product-choices.zaco-fe-collection--slider,
.zaco-fe-stitch-product .zaco-fe-product-info__cards.zaco-fe-collection--slider { display:block; min-width:0; }
.zaco-fe-stitch-product .zaco-fe-product-choices.zaco-fe-collection--slider .zaco-fe-collection-slider__track,
.zaco-fe-stitch-product .zaco-fe-product-info__cards.zaco-fe-collection--slider .zaco-fe-collection-slider__track { display:flex; }
.zaco-fe-stitch-product .zaco-fe-product-info__cards--carousel { flex:1 1 auto; min-width:0; }
.zaco-fe-stitch-product .zaco-fe-product-info__cards--carousel .zaco-fe-product-explore-card { height:100%; }
.zaco-fe-stitch-product .zaco-fe-product-info__cards--carousel .zaco-fe-collection-slider__viewport { min-width:0; }
.zaco-fe-stitch-product .zaco-fe-product-info__grid--related-slider { grid-template-columns:minmax(0,1fr); }
.zaco-fe-stitch-product .zaco-fe-product-info__grid--related-slider .zaco-fe-product-info__faq .zaco-fe-faqs { grid-template-columns:repeat(auto-fit,minmax(min(100%,20rem),1fr)); }

/* Product Configurations: existing Product choice-card primitive, intentional 3/2/1 grid. */
.zaco-fe-stitch-product .zaco-fe-product-configurations .zaco-fe-collection--grid.zaco-fe-product-choices--configurations {grid-template-columns:repeat(3,minmax(0,1fr));}
.zaco-fe-stitch-product .zaco-fe-product-configurations .zaco-fe-product-choices--configurations .zaco-fe-product-choice__media {aspect-ratio:var(--zaco-fe-product-layout-media-ratio);}
@media (max-width:900px) {.zaco-fe-stitch-product .zaco-fe-product-configurations .zaco-fe-collection--grid.zaco-fe-product-choices--configurations {grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:600px) {.zaco-fe-stitch-product .zaco-fe-product-configurations .zaco-fe-collection--grid.zaco-fe-product-choices--configurations {grid-template-columns:minmax(0,1fr);}}

/* Configuration section variants reuse established frontend design tokens. */
.zaco-fe-stitch-product .zaco-fe-product-configurations--bg-soft {background:var(--zaco-fe-editorial-surface-mint);}
.zaco-fe-stitch-product .zaco-fe-product-configurations--bg-surface {background:var(--zaco-fe-surface,transparent);}
.zaco-fe-stitch-product .zaco-fe-product-configurations--eyebrow-accent .zaco-fe-eyebrow {color:var(--zaco-fe-accent, var(--theme-palette-color-1));}
.zaco-fe-stitch-product .zaco-fe-product-configurations--eyebrow-heading .zaco-fe-eyebrow {color:var(--zaco-fe-heading);}
