/* F2 — estilos exclusivos da zona central do formulário. */
.contact-panel { background: #fcfbfa; border: 1px solid #e0dad6; border-top: 3px solid #961e1b; border-radius: 9px; padding: 25px 22px 20px; color: #34302e; font-size: 14px; line-height: 1.55; box-shadow: 0 3px 12px rgb(55 35 25 / 4%); }
.contact-panel .contact-panel-heading h1 { margin: 0 0 12px; color: #77231f; font-size: 23px; line-height: 1.25; font-weight: normal; }
.contact-panel-heading p { margin: 0 0 20px; }
.contact-panel .contact-required { margin: 0 0 20px; color: #68605b; font-size: 12px; }
.contact-panel .contact-required span, .contact-field > label > span { color: #941d19; }
.contact-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 16px; }
.contact-field, .contact-options { min-width: 0; }
.contact-field--wide { grid-column: 1 / -1; }
.contact-field > label, .contact-options > legend { display: block; padding: 0; margin: 0 0 7px; font-size: 14px; font-weight: bold; color: #34302e; }
.contact-field input, .contact-field textarea { display: block; width: 100%; min-width: 0; max-width: 100%; border: 1px solid #bdb6b0; border-radius: 5px; padding: 10px 11px; background: #fff; color: #292522; font: inherit; font-size: 16px; line-height: 1.4; }
.contact-field input { min-height: 44px; }
.contact-field textarea { resize: vertical; min-height: 145px; }
.contact-field input:hover, .contact-field textarea:hover { border-color: #81736a; }
.contact-field input:focus-visible, .contact-field textarea:focus-visible, .contact-panel a:focus-visible, .contact-panel button:focus-visible, .contact-choices input:focus-visible { outline: 2px solid #8c2520; outline-offset: 3px; }
.contact-field [aria-invalid='true'] { border-color: #a12922; background: #fffafa; }
.contact-options { border: 0; padding: 0; margin: 0; }
.contact-options legend { float: left; width: 100%; }
.contact-options legend + * { clear: both; }
.contact-choices { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 5px 12px; }
.contact-choices label { display: flex; align-items: flex-start; gap: 8px; min-height: 40px; padding: 8px 0; cursor: pointer; line-height: 1.4; }
.contact-choices input { accent-color: #8e251f; flex: 0 0 18px; width: 18px; height: 18px; margin: 1px 0 0; }
.contact-choices span { min-width: 0; overflow-wrap: anywhere; }
.contact-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; padding-top: 25px; }
.contact-send, .contact-clear { display: inline-flex; justify-content: center; align-items: center; min-height: 44px; border: 1px solid #8e251f; border-radius: 5px; padding: 10px 24px; font: inherit; font-weight: bold; cursor: pointer; }
.contact-send { color: #fff; background: #8e251f; }
.contact-send:hover { background: #6f1c18; border-color: #6f1c18; }
.contact-clear { color: #5b4d45; border-color: #c8bfb9; background: #fff; }
.contact-clear:hover { color: #3b2f29; background: #f1ece8; text-decoration: none; }
.contact-panel .contact-response { border-top: 1px solid #e4ddd8; margin: 22px 0 0; padding-top: 16px; color: #6c625c; font-size: 12px; }
.contact-panel .contact-error { margin: 6px 0 0; color: #98231d; font-size: 12px; overflow-wrap: anywhere; }
.contact-notice { border: 1px solid; border-left-width: 4px; border-radius: 5px; padding: 12px 13px; margin-bottom: 22px; overflow-wrap: anywhere; }
.contact-notice p { margin: 0; }
.contact-notice ul { margin: 8px 0 0; padding-left: 18px; }
.contact-notice a { color: inherit; text-decoration: underline; }
.contact-notice--error { background: #fff4f2; border-color: #a64638; color: #782519; }
.contact-notice--success { background: #f1f6f0; border-color: #6a8561; color: #324d2b; }
.contact-notice--warning { background: #fff9eb; border-color: #a18037; color: #69501b; }
.contact-result-anchor, .contact-field input, .contact-field textarea, .contact-options { scroll-margin-top: 20px; }
@media (max-width: 989px) { .contact-fields { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 767px) {
  .contact-panel { padding: 22px 18px 18px; }
  .contact-panel .contact-panel-heading h1 { font-size: 23px; }
  .contact-choices { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .contact-choices--inline { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .contact-actions > * { flex: 1 1 110px; padding-left: 16px; padding-right: 16px; }
}
@media (prefers-reduced-motion: no-preference) {
  .contact-field input, .contact-field textarea, .contact-send, .contact-clear { transition: border-color .15s ease, background-color .15s ease; }
}

/* F4 — apenas os dois layouts de formulário. A ordem DOM segue o mobile. */
@media (max-width: 767px) {
  .page-layout--forms > .page-main { order: 1; }
  .page-layout--forms > .modules-bottom { order: 2; }
  .page-layout--forms > .sidebar-left { order: 3; }
}
