/* Contact (PCGBUR-4, Fase 2c): formulário no Contact Form 7 (08/11/2026), sem o CSS do CF7 (wpcf7_load_css = false).
   Campos grandes (>=52px), rótulo sempre visível, erro em texto. O bloco "CF7" no fim repõe o que o CSS dele fazia. */
/* Uma coluna centrada (08/11/2026): titulo em cima, formulario num painel. O painel tira os campos da borda da tela
   no celular (antes encostavam no gutter de 16px) e da ao desktop um bloco unico, sem o h2 solto numa coluna. */
.pcg-contato { display: grid; justify-items: center; gap: clamp(28px, 4vw, 48px); }
.pcg-contato__intro { display: grid; gap: 20px; justify-items: center; text-align: center; max-width: 44rem; }
.pcg-contato__intro p { color: var(--texto-2); font-size: 1.1875rem; max-width: 46ch; text-wrap: balance; }
.pcg-contato__form {
  width: 100%; max-width: 52rem; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px 20px;
  padding: clamp(20px, 4vw, 48px); background: var(--superficie); border: 1px solid var(--linha); border-top: 2px solid var(--ouro);
  border-radius: var(--raio);
}
.pcg-campo--cheio, .pcg-aviso, .pcg-contato__form > .pcg-btn, .pcg-contato__form > .wpcf7-response-output { grid-column: 1 / -1; }
.pcg-contato__form > .pcg-btn { justify-self: start; }
.pcg-contato__ratoeira { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

.pcg-campo { display: grid; gap: 8px; align-content: start; }
.pcg-campo label { font-weight: 700; color: var(--texto); }
.pcg-campo label span { font-weight: 400; color: var(--texto-mudo); }
.pcg-campo input, .pcg-campo select, .pcg-campo textarea {
  width: 100%; min-height: 52px; padding: 12px 14px;
  background: var(--fundo); color: var(--texto); border: 1px solid rgba(247, 237, 218, .32); border-radius: var(--raio);
  font: 400 1rem/1.4 var(--f-texto); /* 16px: o iOS não dá zoom ao focar */
  transition: border-color .2s var(--ease);
}
.pcg-campo textarea { min-height: 160px; resize: vertical; }
.pcg-campo select {
  appearance: none; padding-right: 44px;
  background-image: linear-gradient(45deg, transparent 50%, var(--ouro) 50%), linear-gradient(135deg, var(--ouro) 50%, transparent 50%);
  background-position: calc(100% - 22px) 50%, calc(100% - 16px) 50%; background-size: 6px 6px; background-repeat: no-repeat;
}
.pcg-campo select option { background: var(--fundo); color: var(--texto); }
/* Data no iPhone: com a aparência nativa o Safari do iOS força box-sizing: content-box e largura mínima no
   input[type=date], e padding + borda empurravam o campo ~30px para fora do painel (Catering, 13/11/2026).
   appearance: none desliga esse ajuste. O iOS também centraliza o valor (::-webkit-date-and-time-value, com margem
   própria): à esquerda, como os outros campos. Regras SEPARADAS: pseudo desconhecido invalida a lista inteira.
   A emulação do Chrome não reproduz nada disso; só iPhone real (vault: "iOS Safari centraliza o valor..."). */
.pcg-campo input[type="date"] { -webkit-appearance: none; appearance: none; text-align: left; }
.pcg-campo input[type="date"]::-webkit-date-and-time-value { margin: 0; text-align: left; }
.pcg-campo input[type="date"]::-webkit-datetime-edit { text-align: left; }
@media (hover: hover) { .pcg-campo input:hover, .pcg-campo select:hover, .pcg-campo textarea:hover { border-color: rgba(247, 237, 218, .55); } }
.pcg-campo input:focus-visible, .pcg-campo select:focus-visible, .pcg-campo textarea:focus-visible { outline: 2px solid var(--ouro-vivo); outline-offset: 2px; border-color: var(--ouro); }
.pcg-campo--erro input, .pcg-campo--erro select, .pcg-campo--erro textarea, .pcg-campo .wpcf7-not-valid { border-color: #f2727f; }
.pcg-campo__erro, .pcg-campo .wpcf7-not-valid-tip { display: block; margin-top: 8px; color: #ffb3bb; font-size: .9375rem; font-weight: 700; }
.pcg-campo__erro:empty { display: none; }

.pcg-aviso, .wpcf7-response-output { padding: 16px 18px; border-radius: var(--raio); border: 1px solid; font-weight: 700; }
.pcg-aviso--ok { border-color: var(--ouro); background: rgba(202, 165, 95, .12); color: var(--ouro-vivo); }
.pcg-aviso--erro { border-color: #f2727f; background: rgba(242, 114, 127, .1); color: #ffb3bb; }

/* CF7: o invólucro .wpcf7 é o item do grid da seção; o form fica dentro dele. */
.pcg-contato > .wpcf7 { width: 100%; max-width: 52rem; }
.pcg-campo[hidden], .pcg-contato .hidden-fields-container { display: none; }
.pcg-campo .wpcf7-form-control-wrap { display: block; }
.pcg-contato .screen-reader-response {
  position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip-path: inset(50%); border: 0; white-space: nowrap;
}
/* Mensagem geral: some sem status (init/enviando) e quando vazia; ok = ouro, o resto = erro. */
.pcg-contato__form.init .wpcf7-response-output, .pcg-contato__form.submitting .wpcf7-response-output,
.pcg-contato__form.resetting .wpcf7-response-output, .wpcf7-response-output:empty { display: none; }
.pcg-contato__form.sent .wpcf7-response-output { border-color: var(--ouro); background: rgba(202, 165, 95, .12); color: var(--ouro-vivo); }
.pcg-contato__form:not(.sent) .wpcf7-response-output { border-color: #f2727f; background: rgba(242, 114, 127, .1); color: #ffb3bb; }
.pcg-contato__form.submitting button[type="submit"] { opacity: .6; cursor: progress; }

.pcg-vias__grade { grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr)); }
.pcg-vias .pcg-cartao { background: var(--fundo); }

@media (max-width: 600px) {
  .pcg-contato__form { grid-template-columns: minmax(0, 1fr); }
  .pcg-contato__form > .pcg-btn { justify-self: stretch; }
}
