/* Contato & Ouvidoria — contact block + form, Ouvidoria flow + form. Components from
 * components.css (.facts, .form, .field, .flow, .done, .chips); layout only here. */

/* ── 01 contato: info column + form ──────────────────────────────────── */
.contact { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); gap: var(--space-7) clamp(2rem, 6vw, 6rem); align-items: start; }
.contact__facts dd { max-width: 60%; }                    /* long address lines wrap under their label */
.contact__mail { font-family: var(--font-mono); font-size: var(--fs-small); overflow-wrap: normal; }   /* breaks only at the <wbr> after «@» */
.contact .note { margin-top: var(--space-3); }
.contact__form { border-top: 1px solid var(--color-ink); padding-top: var(--space-5); }
.contact__sub { margin: var(--space-2) 0 var(--space-5); font-size: var(--fs-small); color: var(--color-ink-2); }
.req { color: var(--color-accent-text); }
.form__foot .btn { flex: none; }
.done a { color: var(--color-brand-ink); }

/* ── 02 ouvidoria ────────────────────────────────────────────────────── */
.ouv__head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); gap: var(--space-5) clamp(2rem, 6vw, 6rem); align-items: end; }
.ouv__head .lead { margin: 0; }
.ouv__flow { margin-top: var(--space-7); }
.ouv__body { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); gap: var(--space-7) clamp(2rem, 6vw, 6rem); align-items: start; margin-top: var(--space-7); }
.ouv__body > .form, .ouv__body > .done { grid-column: 1; grid-row: 1; }
.ouv__aside { grid-column: 2; grid-row: 1; border-top: 1px solid var(--color-ink); padding-top: var(--space-4); }
.ouv__aside ul { margin-top: var(--space-3); }
.ouv__aside li { padding: var(--space-3) 0; border-bottom: 1px solid var(--color-line); font-size: var(--fs-small); color: var(--color-ink-2); }
.ouv__tipo { border: 0; padding: 0; margin: 0; min-width: 0; }
.ouv__tipo legend { padding: 0; margin-bottom: .45rem; }

@media (max-width: 1080px) {
  .contact, .ouv__head { grid-template-columns: 1fr; }
  .ouv__body { grid-template-columns: 1fr; }
  .ouv__aside { grid-column: 1; grid-row: auto; }
}
@media (max-width: 640px) {
  .contact__facts dd { max-width: 65%; }
  .form__foot .btn { flex: 1 1 100%; }
}

/* consent checkbox: 24px tap target (components.css draws 20px) */
.contact__form .field--check input, .ouv__body .field--check input { width: 24px; height: 24px; margin-top: 0; }
/* inline link in the consent label: taller hit area without moving the line (inline padding) */
.field--check .field__label a { padding-block: 4px; }
