/* Shared model: Sessão Contato. Uses the approved typography and button. */
.section-contact{--contact-heading:38px;--contact-heading-line:1.23;--contact-column-gap:96px;--contact-field-gap:24px;--contact-control-bg:#EDF5FA;padding-block:var(--space-9);background:var(--surface);color:var(--text);scroll-margin-top:100px}
.section-contact-row{display:flex;align-items:flex-start;gap:var(--contact-column-gap)}
.section-contact-copy{display:flex;flex-direction:column;flex:0 1 384px;min-width:0;gap:var(--space-6)}
.section-contact :is(h1,h2){font-size:var(--contact-heading);line-height:var(--contact-heading-line);font-weight:var(--heading-weight);margin:0}
.section-contact-details{display:flex;flex-direction:column;gap:var(--space-5);margin:0}
.section-contact-details>div{display:flex;flex-direction:column;gap:var(--space-1)}
.section-contact-details dt{font-weight:700}.section-contact-details dd{margin:0}.section-contact-details a{text-decoration:none;overflow-wrap:anywhere}
.section-contact-form-wrap{flex:1 1 0;min-width:0}.section-contact-form{display:flex;width:100%;flex-direction:column;align-items:flex-start;gap:var(--space-5);position:relative}
.section-contact-fields{display:flex;width:100%;flex-wrap:wrap;column-gap:var(--contact-field-gap);row-gap:var(--space-5)}
.contact-field{display:flex;flex-direction:column;gap:var(--space-2);width:calc((100% - var(--contact-field-gap))/2);min-width:0}.contact-field-full{width:100%}
.contact-field label{font-size:14px;line-height:1.7;color:var(--text)}
.contact-field input,.contact-field textarea{width:100%;border:1px solid transparent;border-radius:var(--radius-button);background:var(--contact-control-bg);color:var(--text);font:400 14px/1.5 var(--body-family);padding:12px 18px;min-height:46px;box-shadow:none;box-sizing:border-box}
.contact-field input::placeholder,.contact-field textarea::placeholder{color:var(--text);opacity:1}
.contact-field textarea{min-height:150px;resize:vertical}.contact-field-error{font-size:13px;line-height:1.5}.contact-field-error:empty{display:none}
.contact-field input:focus-visible,.contact-field textarea:focus-visible{outline:2px solid var(--text);outline-offset:3px}.contact-field [aria-invalid=true]{border-color:var(--text)}
.contact-status{padding:var(--space-3);border-left:3px solid var(--brand);background:var(--contact-control-bg);width:100%;font-size:14px}.contact-status[hidden]{display:none}
.contact-trap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);pointer-events:none}
.section-contact-form[aria-busy=true] button{cursor:wait;opacity:.7}
@media(hover:hover) and (pointer:fine){.section-contact-details a:hover{text-decoration:underline;text-underline-offset:4px}}
@media(max-width:1032px){.section-contact{--contact-column-gap:48px;--contact-heading:clamp(28px,3.5vw,38px)}.section-contact-copy{flex-basis:40%}}
@media(max-width:768px){.section-contact{padding-block:var(--space-7);--contact-heading:clamp(28px,5vw,36px)}.section-contact-row{flex-direction:column;gap:var(--space-7)}.section-contact-copy,.section-contact-form-wrap{flex:auto;width:100%}.section-contact-copy{gap:var(--space-5)}}
@media(max-width:480px){.contact-field{width:100%}}

@media(min-width:1033px){.contact-title-line{display:block}}

/* Shared contact model: pale blue section with white form controls. */
.section-contact--soft{--contact-control-bg:var(--surface);background:#EDF5FA}
/* Mensagens do WP FormVault no padrão de .contact-status. */
.section-contact .section-contact-form-wrap .wpfv-form-notice{margin:0 0 var(--space-5);padding:var(--space-3);border:0;border-left:3px solid var(--brand);border-radius:0;background:var(--contact-control-bg);color:inherit;font-size:14px}
.section-contact .section-contact-form-wrap .wpfv-form-notice.is-error{border-left-color:#b32d2e}
.section-contact .contact-field .wpfv-field-error{margin-top:0}
