/* P5-D Factory contact experience. Isolated from approved historical Stitch styles. */
.zaco-fe .zaco-fe-actions {display:grid;gap:var(--zaco-fe-space-3);}
.zaco-fe .zaco-fe-actions>.zaco-fe-button--primary,.zaco-fe .zaco-fe-actions>.zaco-native-form-surface {width:100%;}
.zaco-fe .zaco-fe-actions__channels {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--zaco-fe-space-3);}
.zaco-fe .zaco-fe-actions__channels:has(> :only-child) {grid-template-columns:1fr;}
.zaco-fe .zaco-fe-actions__channels .zaco-fe-button {min-width:0;min-height:44px;font-size:var(--zaco-fe-text-sm);padding-inline:var(--zaco-fe-space-2);}
.zaco-fe-stitch-product .zaco-fe-contact-card__channels--buttons {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--zaco-fe-space-3);width:100%;}
.zaco-fe-stitch-product .zaco-fe-contact-card__channels--buttons:has(> :only-child){grid-template-columns:1fr;}
.zaco-fe-stitch-product .zaco-fe-contact-card__channels--buttons .zaco-fe-button {min-width:0;width:100%;min-height:44px;padding-inline:var(--zaco-fe-space-2);color:var(--zaco-fe-accent);font-size:var(--zaco-fe-text-sm);}
.zaco-fe-stitch-product .zaco-fe-contact-card:has(.zaco-native-form) {justify-content:flex-start;gap:var(--zaco-fe-space-3);}
.zaco-fe-stitch-product .zaco-fe-contact-card .zaco-native-form__intro {font-size:var(--zaco-fe-text-xs);}
.zaco-fe-stitch-product .zaco-fe-contact-card .zaco-native-form__heading {font-size:var(--zaco-fe-text-md);}
.zaco-fe-stitch-product .zaco-fe-product-hero__grid {align-items:stretch;}
.zaco-fe-stitch-product .zaco-fe-contact-card {height:100%;}
/* A direct body child preserves fixed viewport anchoring under transformed
 * WordPress theme containers without losing ZACO's semantic theme tokens. */
body>.zaco-fe-sticky-portal{position:static;min-height:0;margin:0;padding:0;background:transparent;}
/* P5-D: ZARE-reference floating conversion dock. The panel owns its geometry,
 * never a viewport-wide sticky footer. Theme palette roles, not hardcoded green. */
.zaco-fe .zaco-fe-sticky-lead[hidden]{display:none!important}
.zaco-fe .zaco-fe-sticky-lead{
  --zaco-sticky-primary:var(--theme-palette-color-4,var(--zaco-fe-heading,var(--wp--preset--color--contrast,#1c302b)));
  --zaco-sticky-on-primary:var(--theme-palette-color-8,var(--zaco-fe-surface-raised,var(--wp--preset--color--base,#fff)));
  --zaco-sticky-surface:var(--zaco-fe-surface-raised,var(--theme-palette-color-8,#fff));
  --zaco-sticky-ink:var(--zaco-fe-heading,var(--theme-palette-color-4,#1c302b));
  position:fixed;z-index:990;box-sizing:border-box;
  left:50%;bottom:max(12px,calc(env(safe-area-inset-bottom,0px) + 12px));
  width:min(520px,calc(100vw - 24px));max-width:calc(100vw - 24px);
  padding:12px;border:1px solid var(--zaco-fe-line,color-mix(in srgb,var(--zaco-sticky-ink) 16%,transparent));
  border-radius:16px;background:var(--zaco-sticky-surface);color:var(--zaco-sticky-ink);
  box-shadow:0 12px 36px rgba(0,0,0,.17);
  transform:translate(-50%,calc(100% + 48px));opacity:0;pointer-events:none;
  transition:transform .24s ease,opacity .24s ease;
}
.zaco-fe .zaco-fe-sticky-lead.is-visible{
  transform:translate(-50%,0);opacity:1;pointer-events:auto;
}
.zaco-fe .zaco-fe-sticky-lead__inner{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;
  align-items:stretch;width:100%;min-width:0;
}
/* The primary action fills row one when all three actions are present. */
.zaco-fe .zaco-fe-sticky-lead__inner>.zaco-native-form-surface{
  grid-column:1/-1;min-width:0;width:100%;margin:0;
}
.zaco-fe .zaco-fe-sticky-lead__inner>:first-child:last-child{grid-column:1/-1}
.zaco-fe .zaco-fe-sticky-lead__inner :is(.zaco-fe-button,.zaco-native-form__button){
  box-sizing:border-box;width:100%;min-width:0;min-height:46px;margin:0;padding:9px 10px;
  display:flex;align-items:center;justify-content:center;
  font-family:var(--zaco-fe-label-font-family,inherit);font-size:var(--zaco-fe-text-sm,.8125rem);
  font-weight:650;line-height:1.3;text-align:center;text-decoration:none;
  border-radius:8px;white-space:normal;overflow-wrap:normal;
  transition:background-color var(--zaco-fe-motion-fast,.18s) var(--zaco-fe-motion-ease,ease),
             border-color var(--zaco-fe-motion-fast,.18s) var(--zaco-fe-motion-ease,ease),
             color var(--zaco-fe-motion-fast,.18s) var(--zaco-fe-motion-ease,ease),
             transform var(--zaco-fe-motion-fast,.18s) var(--zaco-fe-motion-ease,ease),
             box-shadow var(--zaco-fe-motion-fast,.18s) var(--zaco-fe-motion-ease,ease);
}
/* Native enquiry, or WhatsApp if the form is disabled, is the only primary role. */
.zaco-fe .zaco-fe-sticky-lead__inner :is(.zaco-native-form__button,.zaco-fe-button--primary){
  border:1px solid var(--zaco-sticky-primary);
  background:var(--zaco-sticky-primary);
  color:var(--zaco-sticky-on-primary)!important;
}
.zaco-fe .zaco-fe-sticky-lead__inner .zaco-fe-button--ghost{
  border:1px solid var(--zaco-fe-line,color-mix(in srgb,var(--zaco-sticky-ink) 22%,transparent));
  color:var(--zaco-sticky-ink);background:transparent;
}
@media(hover:hover){
 .zaco-fe .zaco-fe-sticky-lead__inner :is(.zaco-native-form__button,.zaco-fe-button--primary):hover{
   background:color-mix(in srgb,var(--zaco-sticky-primary) 88%,var(--zaco-sticky-surface));
   border-color:var(--zaco-sticky-primary);color:var(--zaco-sticky-on-primary)!important;
   transform:translateY(-1px);box-shadow:0 3px 10px rgba(0,0,0,.12);
 }
 .zaco-fe .zaco-fe-sticky-lead__inner .zaco-fe-button--ghost:hover{
   background:color-mix(in srgb,var(--zaco-sticky-primary) 7%,var(--zaco-sticky-surface));
   border-color:var(--zaco-sticky-primary);color:var(--zaco-sticky-ink);
 }
}
.zaco-fe .zaco-fe-sticky-lead__inner :is(a,button):focus-visible{
  outline:3px solid var(--zaco-sticky-primary);outline-offset:2px;
}
.zaco-fe .zaco-fe-sticky-lead__inner :is(.zaco-native-form__button,.zaco-fe-button):active{
  transform:translateY(1px);box-shadow:none;
}
@media(max-width:600px){
 .zaco-fe .zaco-fe-sticky-lead{
   bottom:max(12px,calc(env(safe-area-inset-bottom,0px) + 12px));
   width:calc(100vw - 24px);padding:10px;border-radius:15px;
 }
 .zaco-fe .zaco-fe-sticky-lead__inner{gap:8px}
 .zaco-fe .zaco-fe-sticky-lead__inner :is(.zaco-fe-button,.zaco-native-form__button){
   min-height:44px;font-size:13px;padding:8px 7px;line-height:1.25;
 }
}
@media(max-height:480px){
 .zaco-fe .zaco-fe-sticky-lead{padding:7px;bottom:max(6px,calc(env(safe-area-inset-bottom,0px) + 6px))}
 .zaco-fe .zaco-fe-sticky-lead__inner :is(.zaco-fe-button,.zaco-native-form__button){min-height:40px;padding:6px}
}
@media(prefers-reduced-motion:reduce){
 .zaco-fe .zaco-fe-sticky-lead{transition:none}
 .zaco-fe .zaco-fe-sticky-lead__inner :is(.zaco-fe-button,.zaco-native-form__button){transition:none;transform:none!important}
}
