/* P5-D approved design: one secure renderer, compact inline and content-tiered labelled modal.
   The Factory owns the outer card's sole compact inset; native inline has zero inset. */
.zaco-native-form-surface,.zaco-native-form__dialog{
 --zaco-form-accent:var(--theme-link-initial-color,var(--theme-palette-color-1,var(--wp--preset--color--primary,#569542)));
 --zaco-form-title:var(--theme-palette-color-4,var(--zaco-fe-text,#1c3129));
 --zaco-form-text:var(--zaco-fe-text,var(--theme-text-color,#25342e));
 --zaco-form-muted:var(--zaco-fe-text-muted,#687871);
 --zaco-form-border:var(--zaco-fe-border,#d1ddd4);
 --zaco-form-paper:var(--zaco-fe-surface,#fff);
 --zaco-form-soft:var(--zaco-fe-surface-soft,#f3f7f2);
 font-family:var(--zaco-fe-body-font-family,var(--theme-font-family,Arial,sans-serif));color:var(--zaco-form-text)
}
.zaco-native-form,.zaco-native-form *,.zaco-native-form__dialog *{box-sizing:border-box;min-width:0}
.zaco-native-form{display:grid;align-content:start;gap:8px;width:100%;max-width:100%;padding:1rem;border:1px solid var(--zaco-form-border);border-radius:14px;background:var(--zaco-form-paper);box-shadow:0 6px 20px rgba(34,56,101,.04);color:var(--zaco-form-text);font-size:13px;line-height:1.35;text-align:left;container-type:inline-size}
.zaco-native-form :is(h1,h2,h3,p,fieldset,legend){color:inherit;text-align:left;letter-spacing:normal;text-transform:none;max-width:none;margin:0}
.zaco-native-form__header{display:grid;gap:4px;padding-right:45px}
.zaco-native-form .zaco-native-form__heading{font:700 22px/1.24 var(--zaco-fe-label-font-family,var(--zaco-fe-body-font-family,var(--theme-font-family,Arial,sans-serif)));color:var(--zaco-form-title);overflow-wrap:break-word}
.zaco-native-form .zaco-native-form__intro{font-size:12px;line-height:1.35;color:var(--zaco-form-muted)}
.zaco-native-form__fields{display:grid;gap:7px}
.zaco-native-form__pair,.zaco-native-form__qualification-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 9px}
.zaco-native-form__field{display:grid;position:relative;align-content:start;gap:3px;margin:0;font:600 12px/1.3 var(--zaco-fe-body-font-family,var(--theme-font-family,Arial,sans-serif));color:var(--zaco-form-text);text-align:left}
.zaco-native-form__field>span,.zaco-native-form__multi-label{display:block;line-height:1.3}
.zaco-native-form__field :is(input:not([type=checkbox]),select),.zaco-native-form__multi>details>summary{display:block;width:100%;height:36px;min-height:36px;max-height:36px;margin:0;padding:6px 11px;border:1px solid var(--zaco-form-border);border-radius:8px;background:var(--zaco-form-paper);box-shadow:none;color:var(--zaco-form-text);font:400 13px/1.3 var(--zaco-fe-body-font-family,var(--theme-font-family,Arial,sans-serif));text-align:left;letter-spacing:normal}
.zaco-native-form__field :is(input,textarea)::placeholder{color:var(--zaco-form-muted);opacity:1}
.zaco-native-form__field :is(input,textarea)[aria-invalid="true"]{border-color:#a6382f;box-shadow:0 0 0 1px #a6382f}
.zaco-native-form__field-error{display:block;margin-top:2px;color:#942d27;font:500 11px/1.3 var(--zaco-fe-body-font-family,var(--theme-font-family,Arial,sans-serif));overflow-wrap:anywhere}
.zaco-native-form__field-error[hidden]{display:none}
.zaco-native-form__field:has(select)::after{content:"";position:absolute;right:14px;bottom:15px;width:7px;height:7px;border-right:2px solid var(--zaco-form-muted);border-bottom:2px solid var(--zaco-form-muted);transform:rotate(45deg);pointer-events:none}
.zaco-native-form__field select{appearance:none;-webkit-appearance:none;padding-right:35px;text-overflow:ellipsis;cursor:pointer}
.zaco-native-form__field textarea{display:block;width:100%;min-height:59px;max-height:320px;resize:vertical;margin:0;padding:8px 10px;border:1px solid var(--zaco-form-border);border-radius:8px;background:var(--zaco-form-paper);font:400 13px/1.35 var(--zaco-fe-body-font-family,var(--theme-font-family,Arial,sans-serif));color:var(--zaco-form-text)}
.zaco-native-form__channel-identity{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:20px}
.zaco-native-form__same-whatsapp{color:var(--zaco-form-muted)}
.zaco-native-form__different-whatsapp{appearance:none;max-width:48%;border:0;padding:0;background:transparent;color:var(--zaco-form-accent);font:650 11px/1.25 var(--zaco-fe-label-font-family,var(--zaco-fe-body-font-family,var(--theme-font-family,Arial,sans-serif)));text-decoration:underline;text-underline-offset:2px;text-align:right;cursor:pointer;white-space:normal}
.zaco-native-form__different-whatsapp:focus-visible{outline:2px solid var(--zaco-form-accent);outline-offset:2px;border-radius:2px}
.zaco-native-form__whatsapp-field[hidden]{display:none}
/* P5-D owner correction: rows="2" alone is not a height contract. Some theme
   textarea rules override the intrinsic rows sizing and inflate the entire
   three-column Product hero. Scope an explicit, compact starting height to
   this exact Product field. Normal author/visitor drag-resize uses an inline
   height, which takes precedence over this non-important CSS declaration. */
.zaco-native-form[data-form-key="product_enquiry"] .zaco-native-form__message-section textarea[name="message"]{height:59px;min-height:59px;max-height:320px;align-self:start}
/* Header CTA / consultation shortcode: six readable lines, not an oversized
   theme-inherited textarea. Keep resize available to the visitor. */
.zaco-native-form[data-form-key="design_consultation"] textarea[name="message"]{height:125px;min-height:125px;max-height:320px;align-self:start}
/* Compact General Contact, including shortcode modal and Contact page. Keep user resizing available. */
.zaco-native-form[data-form-key="general_contact"] textarea[name="message"]{height:59px;min-height:59px;max-height:320px;align-self:start}

.zaco-native-form :is(input,textarea,select,button,summary,a):focus-visible,.zaco-native-form__close:focus-visible{outline:2px solid var(--zaco-form-accent);outline-offset:2px}
.zaco-native-form__qualification{display:grid;gap:6px;padding-top:8px;border-top:1px solid var(--zaco-form-border)}
.zaco-native-form .zaco-native-form__qualification-heading{font:650 12px/1.3 var(--zaco-fe-label-font-family,var(--zaco-fe-body-font-family,var(--theme-font-family,Arial,sans-serif)));color:var(--zaco-form-muted)}
.zaco-native-form__message-section{display:grid;gap:3px}
.zaco-native-form__check{display:flex;gap:7px;align-items:start;margin:0;font:400 12px/1.3 var(--zaco-fe-body-font-family,var(--theme-font-family,Arial,sans-serif));color:var(--zaco-form-text);cursor:pointer}
.zaco-native-form__check.zaco-native-form__same-whatsapp{font-size:10px;line-height:1.25}
.zaco-native-form__check input[type=checkbox]{appearance:auto;flex:0 0 16px;width:16px;height:16px;margin:0;border:1px solid var(--zaco-form-border);accent-color:var(--zaco-form-accent)}
.zaco-native-form__check span{min-width:0}.zaco-native-form__check a{color:var(--zaco-form-accent);text-decoration:underline;font-weight:600}
.zaco-native-form__marketing{display:flex;flex-wrap:wrap;gap:5px 17px;align-items:center;padding:0;border:0}
.zaco-native-form__marketing legend{width:100%;margin:0 0 5px;font:600 12px/1.25 var(--zaco-fe-label-font-family,var(--zaco-fe-body-font-family,var(--theme-font-family,Arial,sans-serif)));color:var(--zaco-form-muted)}
.zaco-native-form__offers,.zaco-native-form__details{font-size:12px;color:var(--zaco-form-muted)}
.zaco-native-form__details summary{padding:3px 0;cursor:pointer}
.zaco-native-form__sr-only,.zaco-native-form--inline .zaco-native-form__field>span,.zaco-native-form--inline .zaco-native-form__multi-label{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}
.zaco-native-form--modal .zaco-native-form__field>span,.zaco-native-form--modal .zaco-native-form__multi-label{position:static!important;width:auto!important;height:auto!important;margin:0!important;overflow:visible!important;clip-path:none!important}
.zaco-native-form__multi{position:relative;min-width:0}
.zaco-native-form__multi>details{position:relative;width:100%}
.zaco-native-form__multi>details>summary{position:relative;list-style:none;cursor:pointer;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;padding-right:34px}
.zaco-native-form__multi>details>summary::-webkit-details-marker{display:none}
.zaco-native-form__multi>details>summary::after{content:"";position:absolute;right:14px;top:12px;width:7px;height:7px;border-right:2px solid var(--zaco-form-muted);border-bottom:2px solid var(--zaco-form-muted);transform:rotate(45deg)}
.zaco-native-form__multi-body{position:absolute;z-index:30;top:calc(100% + 4px);left:0;width:100%;padding:7px;border:1px solid var(--zaco-form-border);border-radius:9px;background:var(--zaco-form-paper);box-shadow:0 8px 25px rgba(10,30,20,.15)}
.zaco-native-form__multi.is-flipped .zaco-native-form__multi-body{top:auto;bottom:calc(100% + 4px)}
.zaco-native-form__multi-body input[type=search]{width:100%;height:35px;min-height:35px;padding:6px 8px;border:1px solid var(--zaco-form-border);border-radius:7px;font:inherit}
.zaco-native-form__multi-options{display:grid;max-height:calc(8 * 35px);overflow-y:auto;overscroll-behavior:contain;padding:4px 0}
.zaco-native-form__multi-options label{display:flex;align-items:center;gap:8px;min-height:35px;padding:7px 8px;border-radius:6px;cursor:pointer;font-size:12px;font-weight:400}
.zaco-native-form__multi-options label:hover,.zaco-native-form__multi-options label:focus-within{background:var(--zaco-form-soft)}
.zaco-native-form__multi-options label[hidden]{display:none}
.zaco-native-form__multi-count{font-size:11px;color:var(--zaco-form-muted);margin:3px 0 0}
.zaco-native-form__button{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:6px 13px;border:1px solid var(--zaco-form-accent);border-radius:8px;background:var(--zaco-form-accent);color:var(--theme-palette-color-8,#fff);font:650 13px/1.3 var(--zaco-fe-label-font-family,var(--zaco-fe-body-font-family,var(--theme-font-family,Arial,sans-serif)));cursor:pointer;text-decoration:none;text-align:center;transition:background-color .18s,filter .18s,transform .18s}
.zaco-native-form__button:hover{filter:brightness(.93)}.zaco-native-form__button:disabled{opacity:.55;cursor:not-allowed}.zaco-native-form__submit{width:100%;margin:0}
.zaco-native-form__feedback{display:none;margin:0;padding:7px 9px;border-radius:7px;background:var(--zaco-form-soft);color:var(--zaco-form-text);font-size:12px;line-height:1.3}.zaco-native-form__feedback:not(:empty){display:block}.zaco-native-form__feedback.is-error{color:#862a26;background:#fff0ec}
.zaco-native-form__retry{min-height:36px;width:max-content;padding:5px 12px;border:1px solid var(--zaco-form-border);border-radius:8px;background:transparent;color:var(--zaco-form-text);cursor:pointer}
.zaco-native-form__retry[hidden]{display:none}.zaco-native-form__trap{position:absolute!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;height:1px!important;width:1px!important;white-space:nowrap!important}
.zaco-native-form__download{display:block;padding:8px 0;font-weight:700;text-decoration:underline;color:var(--zaco-form-accent)}
.zaco-native-form__success{display:grid;justify-items:start;gap:8px;padding:12px 2px 4px;outline:0}.zaco-native-form__success[hidden]{display:none}.zaco-native-form__success-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--zaco-form-soft);color:var(--zaco-form-accent);font:800 20px/1 var(--zaco-fe-label-font-family,var(--zaco-fe-body-font-family,var(--theme-font-family,Arial,sans-serif)))}.zaco-native-form__success-title{font:700 clamp(19px,2vw,24px)/1.2 var(--zaco-fe-label-font-family,var(--zaco-fe-body-font-family,var(--theme-font-family,Arial,sans-serif)));color:var(--zaco-form-title)}.zaco-native-form__success p{max-width:48ch;font-size:13px;line-height:1.5;color:var(--zaco-form-muted);white-space:pre-line}.zaco-native-form.is-success>:not(.zaco-native-form__success){display:none!important}.zaco-native-form.is-success{align-content:center;min-height:190px}.zaco-native-form--hero.is-success{min-height:150px}.zaco-native-form__success [data-zaco-success-action]:empty{display:none}
/* Shared modal-form width tiers: smaller, focused forms do not inherit the
   720/760px gallery/content widths. Purpose determines complexity, while the
   viewport and existing inner-scroll safeguard govern actual available space.
   These tokens are scoped here because the shortcode can load outside Factory. */
/* Modal moved to body before opening: section-specific headings, alignment and image styles never leak. */
dialog.zaco-native-form__dialog{
 --zaco-fe-form-modal-width-compact:31rem;
 --zaco-fe-form-modal-width-detailed:35rem;
 --zaco-fe-form-modal-width-extended:33rem;
 --zaco-fe-form-modal-width-pdf:29rem;
 --zaco-fe-form-modal-width:var(--zaco-fe-form-modal-width-compact);
 position:fixed;width:min(var(--zaco-fe-form-modal-width),calc(100vw - 24px));max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);margin:auto;padding:0;overflow:hidden;border:0;border-radius:15px;background:var(--zaco-form-paper);box-shadow:0 20px 70px rgba(0,0,0,.3);color:var(--zaco-form-text);text-align:left
}
dialog.zaco-native-form__dialog--detailed{--zaco-fe-form-modal-width:var(--zaco-fe-form-modal-width-detailed)}
dialog.zaco-native-form__dialog--extended{--zaco-fe-form-modal-width:var(--zaco-fe-form-modal-width-extended)}
dialog.zaco-native-form__dialog--pdf{--zaco-fe-form-modal-width:var(--zaco-fe-form-modal-width-pdf)}
dialog.zaco-native-form__dialog::backdrop{background:rgba(5,16,14,.77)}
.zaco-native-form__dialog-inner{position:relative;isolation:isolate;max-height:calc(100dvh - 24px);overflow-y:auto;overscroll-behavior:contain;background:var(--zaco-form-paper)}
dialog.zaco-native-form__dialog .zaco-native-form{width:100%;max-width:none;box-shadow:none;border:0;border-radius:15px;padding:1rem}
.zaco-native-form__close{position:sticky;z-index:4;float:right;top:8px;right:auto;display:grid;place-items:center;width:36px;height:36px;margin:8px 8px -36px 0;padding:0;border:1px solid var(--zaco-form-border);border-radius:50%;background:var(--zaco-form-paper);color:var(--zaco-form-text);font-size:23px;cursor:pointer}
/* Narrow Product hero: one compact .8rem card inset. Form has zero additional inset. */
/* Do not distribute remaining Hero-track height into false top/form gaps.
   One compact outer inset, heading and form remain top-aligned. */
.zaco-fe-stitch-product .zaco-fe-contact-card--native{padding:.8rem;gap:8px;justify-content:flex-start}
.zaco-fe-stitch-product .zaco-fe-contact-card--native>.zaco-fe-contact-card__intro{display:grid;align-content:start;justify-items:start;gap:8px;margin:0;padding:0}
.zaco-fe-stitch-product .zaco-fe-contact-card--native>.zaco-fe-contact-card__intro>.zaco-fe-eyebrow,
.zaco-fe-stitch-product .zaco-fe-contact-card--native>.zaco-fe-contact-card__intro>.zaco-fe-contact-card__title{margin:0}

.zaco-fe-contact-card .zaco-native-form-surface--inline{display:block;width:100%;margin:0}
.zaco-fe-stitch-product .zaco-fe-contact-card .zaco-native-form--hero{border:0;box-shadow:none;border-radius:0;padding:0;background:transparent;gap:7px}
.zaco-fe-contact-card .zaco-native-form--hero .zaco-native-form__header{display:none}
.zaco-native-form--hero.is-unavailable .zaco-native-form__fields,.zaco-native-form--hero.is-unavailable .zaco-native-form__privacy,.zaco-native-form--hero.is-unavailable .zaco-native-form__marketing,.zaco-native-form--hero.is-unavailable .zaco-native-form__submit{display:none}
.zaco-native-form--hero.is-unavailable .zaco-native-form__feedback{font-size:11px;padding:0;background:transparent;color:var(--zaco-form-muted)}
.zaco-fe-contact-card__channels--buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;width:100%}
.zaco-fe-stitch-product .zaco-fe-contact-card .zaco-fe-contact-card__channels.zaco-fe-contact-card__channels--buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;align-items:stretch;width:100%}
.zaco-fe-stitch-product .zaco-fe-contact-card .zaco-fe-contact-card__channels.zaco-fe-contact-card__channels--buttons>a{display:flex;align-items:center;justify-content:center;min-height:40px;min-width:0;width:100%;padding:7px 11px;border:1px solid var(--zaco-fe-border,#d6dfd8);border-radius:8px;background:var(--zaco-fe-surface-soft,#f3f7f2);color:var(--theme-palette-color-4,var(--zaco-fe-text,#25342e));text-decoration:none;text-align:center;font-weight:650;line-height:1.25;transition:background-color .18s,border-color .18s,transform .18s}
.zaco-fe-stitch-product .zaco-fe-contact-card .zaco-fe-contact-card__channels.zaco-fe-contact-card__channels--buttons>a:hover{background:var(--zaco-fe-surface,#fff);border-color:var(--theme-palette-color-4,#25342e);transform:translateY(-1px)}
.zaco-fe-stitch-product .zaco-fe-contact-card .zaco-fe-contact-card__channels.zaco-fe-contact-card__channels--buttons>a:focus-visible{outline:2px solid var(--theme-palette-color-4,#25342e);outline-offset:2px}
.zaco-fe-contact-placement{width:min(100% - 2rem,720px);margin:3rem auto}.zaco-fe-contact-placement .zaco-native-form{max-width:none}
.zaco-fe .zaco-native-form-surface>.zaco-native-form__button{cursor:pointer}
.zaco-fe-document-gate{display:block}.zaco-fe-document-gate .zaco-native-form-surface>.zaco-native-form__button{min-height:40px;padding:5px 0;border:0;background:transparent;color:inherit;font:inherit;text-decoration:underline;text-align:left}
.zaco-native-form__test-notice{padding:5px 9px;border:1px solid var(--zaco-form-border);border-radius:6px;background:var(--zaco-form-soft);font-size:11px;font-weight:650}
@container (max-width:260px){.zaco-native-form__pair,.zaco-native-form__qualification-grid{grid-template-columns:minmax(0,1fr)}.zaco-native-form__channel-identity{align-items:flex-start;flex-direction:column}}
@media(max-width:600px){.zaco-native-form__field :is(input:not([type=checkbox]),select),.zaco-native-form__multi>details>summary{height:42px;min-height:42px;max-height:42px}.zaco-native-form__field:has(select)::after{bottom:18px}.zaco-native-form__multi>details>summary::after{top:16px}.zaco-native-form__button{min-height:44px}dialog.zaco-native-form__dialog{width:min(var(--zaco-fe-form-modal-width),calc(100vw - 20px));max-width:calc(100vw - 20px)}.zaco-fe-contact-card__channels--buttons{gap:7px}}
@media(max-width:350px){.zaco-native-form__pair,.zaco-native-form__qualification-grid{grid-template-columns:minmax(0,1fr)}}
@media(prefers-reduced-motion:reduce){.zaco-native-form__button,.zaco-fe-stitch-product .zaco-fe-contact-card .zaco-fe-contact-card__channels.zaco-fe-contact-card__channels--buttons>a{transition:none;transform:none}}

/* P5-D mobile convergence: only native Product Hero inline forms switch to a
 * shared modal. Existing external-provider, Contact page and Project/Service
 * modal presentation remains untouched. */
.zaco-fe-stitch-product .zaco-native-form-surface--product-mobile,.zaco-fe-stitch-product .zaco-fe-product-closing__mobile-contact{display:none}
@media(max-width:740px){
 .zaco-fe-stitch-product .zaco-fe-contact-card--mobile-modal,
 .zaco-fe-stitch-product .zaco-fe-product-hero__desktop-action{display:none!important}
 .zaco-fe-stitch-product .zaco-native-form-surface--product-mobile{display:contents}
 .zaco-fe-stitch-product .zaco-fe-product-closing__desktop-anchor{display:none!important}
 .zaco-fe-stitch-product .zaco-fe-product-closing__mobile-contact{display:inline-flex}
 .zaco-fe-stitch-product .zaco-native-form-surface--product-mobile>.zaco-native-form__button{min-width:0;width:100%;min-height:44px}
}

/* 0.5.82 common six-form identity and polished dialog geometry. */
.zaco-native-form__whatsapp-pair{width:100%}
.zaco-native-form__whatsapp-pair .zaco-native-form__field input:disabled{background:var(--zaco-form-soft);opacity:.8;cursor:not-allowed}
.zaco-native-form--modal .zaco-native-form__field textarea[name="message"]{height:calc(5 * 1.35em + 16px);min-height:calc(4 * 1.35em + 16px);max-height:320px;resize:vertical}
/* Preserve the approved two-line Product-hero message on the inline card. */
@media(max-width:600px){.zaco-native-form__name-pair,.zaco-native-form__contact-pair,.zaco-native-form__whatsapp-pair{grid-template-columns:minmax(0,1fr)}.zaco-native-form .zaco-native-form__heading{font-size:21px}}
