/* =========================================================================
   contacto.css — página de pedido de demonstração
   Duas colunas: contexto/garantias à esquerda, formulário à direita.
   Usa .field / .form-msg de components.css.
   ========================================================================= */

.contact-page {
  max-width: 720px;
  margin: 0 auto;
  padding: 128px 40px 88px;
  display: grid;
  grid-template-columns: 1fr;
  gap: 56px;
  align-items: start;
}

.contact-intro h1 {
  font-size: clamp(1.9rem, 3.4vw, 2.7rem);
  font-weight: 700;
  letter-spacing: -.035em;
  line-height: 1.1;
  margin: 6px 0 16px;
}
.contact-intro > p {
  font-size: 1.02rem;
  color: var(--muted);
  line-height: 1.7;
  max-width: 42ch;
  margin-bottom: 30px;
}

.contact-points { list-style: none; display: flex; flex-direction: column; gap: 18px; }
.contact-points li { display: grid; grid-template-columns: 24px 1fr; gap: 13px; align-items: start; }
.contact-points svg {
  width: 21px; height: 21px; margin-top: 1px;
  stroke: var(--c-v); fill: none; stroke-width: 1.75;
  stroke-linecap: round; stroke-linejoin: round;
}
.contact-points span { font-size: .9rem; color: var(--text2); line-height: 1.6; }
.contact-points a { color: var(--accent2); }

/* Formulário num cartão elevado. */
.contact-form-wrap {
  padding: 32px;
  border: 1px solid var(--border);
  border-radius: 14px;
  background: var(--bg1);
  box-shadow: 0 20px 44px -28px rgba(0,0,0,.5);
}
.contact-form-wrap form .btn-primary { width: 100%; justify-content: center; margin-top: 8px; }
.contact-form-wrap button:disabled { opacity: .6; cursor: not-allowed; }

/* Estado de sucesso. :not([hidden]) para o atributo `hidden` continuar a
   esconder — um `#id { display }` venceria a regra UA. */
#demo-success:not([hidden]) {
  padding: 24px;
  border: 1px solid color-mix(in srgb, var(--c-v) 45%, var(--border));
  border-radius: 12px;
  background: color-mix(in srgb, var(--c-v) 8%, var(--bg1));
  display: flex;
  align-items: center;
  gap: 14px;
}
#demo-success svg {
  flex-shrink: 0; width: 26px; height: 26px;
  stroke: var(--c-v); fill: none; stroke-width: 1.6;
  stroke-linecap: round; stroke-linejoin: round;
}
#demo-success p { font-size: .95rem; font-weight: 600; }

@media (max-width: 820px) {
  .contact-page { grid-template-columns: 1fr; gap: 40px; padding: 104px 24px 64px; }
}
