/* V1221 — Cadastro de cliente: CNPJ com busca, mensagens inline, grades de contato/endereço e rodapé fixo.
   Mantém o padrão compacto V1218 (campos de 35px, tooltips). Escopo: .cliente-form-v1221. */

/* Erro só depois de interagir: remove o vermelho "de fábrica" dos campos obrigatórios vazios (V1207). */
.cliente-form-v1207.cliente-form-v1221 .cliente-cadastro-grid input:required:invalid,
.cliente-form-v1207.cliente-form-v1221 .cliente-cadastro-grid select:required:invalid {
  border-color: var(--border-strong, #c9d3e4) !important;
  box-shadow: none !important;
}
.cliente-form-v1207.cliente-form-v1221 .field.is-touched input:required:invalid,
.cliente-form-v1207.cliente-form-v1221 .field.is-touched select:required:invalid,
.cliente-form-v1207.cliente-form-v1221 .cliente-cadastro-grid input[aria-invalid="true"] {
  border-color: #dc2626 !important;
  box-shadow: 0 0 0 3px rgba(220, 38, 38, .10) !important;
}

/* CNPJ/CPF com lupa de busca */
.cliente-form-v1221 .cliente-cnpj-wrap-v1221 { position: relative; }
.cliente-form-v1207.cliente-form-v1221 .cliente-cnpj-wrap-v1221 input { padding-right: 38px !important; }
.cliente-form-v1221 .cliente-cnpj-buscar-v1221 {
  position: absolute !important; top: 50% !important; right: 4px !important; transform: translateY(-50%);
  width: 27px !important; height: 27px !important; min-height: 0 !important; min-width: 0 !important; padding: 0 !important; margin: 0 !important;
  display: inline-flex !important; align-items: center; justify-content: center;
  border: 0 !important; border-radius: 6px !important; box-shadow: none !important;
  background: #edf5ff !important; color: var(--mp-action-blue, #1766b3) !important; cursor: pointer;
  transition: background-color .15s ease;
}
.cliente-form-v1221 .cliente-cnpj-buscar-v1221:hover { background: #d8e9ff !important; }
.cliente-form-v1221 .cliente-cnpj-buscar-v1221:focus-visible { outline: 2px solid #2679d8; outline-offset: 1px; }
.cliente-form-v1221 .cliente-cnpj-buscar-v1221[hidden] { display: none !important; }
.cliente-form-v1221 .cliente-cnpj-buscar-v1221:disabled { opacity: .6; cursor: progress; }
.cliente-form-v1221 .cliente-cnpj-buscar-v1221.is-loading svg { animation: cliente-spin-v1221 .8s linear infinite; }
@keyframes cliente-spin-v1221 { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .cliente-form-v1221 .cliente-cnpj-buscar-v1221.is-loading svg { animation: none; } }

/* Mensagens inline (erro, aviso, info, ok) */
.cliente-form-v1221 .cliente-msg-v1221 { display: block; margin-top: 4px; font-size: 11px; line-height: 1.35; }
.cliente-form-v1221 .cliente-msg-v1221:empty { display: none; }
.cliente-form-v1221 .cliente-msg-v1221.is-erro,
.cliente-form-v1221 .is-erro { color: #c02626; }
.cliente-form-v1221 .cliente-msg-v1221.is-aviso,
.cliente-form-v1221 .cliente-msg-extra-v1221.is-aviso { color: #92400e; }
.cliente-form-v1221 .cliente-msg-v1221.is-info { color: var(--text-secondary, #5e6c82); }
.cliente-form-v1221 .cliente-msg-extra-v1221 { display: block; }
.cliente-form-v1221 .cliente-msg-extra-v1221.is-ok { color: #176c38; }
.cliente-form-v1221 .cliente-msg-link-v1221 {
  margin-left: 4px; font-weight: 700; color: var(--mp-action-blue, #1766b3); text-decoration: underline; cursor: pointer;
}
.cliente-form-v1221 .cliente-msg-link-v1221:hover { color: var(--mp-action-blue-hover, #12558f); }

/* Subtítulos dentro de "Contato e condições comerciais" */
.cliente-form-v1221 .cliente-subtitulo-v1221 {
  margin: 2px 0 6px; font-size: 10.5px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--text-muted, #94a1b5);
}
.cliente-form-v1221 .cliente-cadastro-grid + .cliente-subtitulo-v1221 { margin-top: 10px; }

/* Condições comerciais: 5 campos na mesma linha */
.cliente-form-v1207.cliente-form-v1221 .cliente-grid-comercial-v1221 { grid-template-columns: repeat(5, minmax(0, 1fr)) !important; }

/* Endereço: CEP primeiro, grade de 12 colunas */
.cliente-form-v1207.cliente-form-v1221 .cliente-grid-endereco-v1221 { grid-template-columns: repeat(12, minmax(0, 1fr)) !important; }
.cliente-form-v1221 .cliente-field-cep-v1221 { grid-column: span 2 !important; }
.cliente-form-v1221 .cliente-field-logradouro-v1221 { grid-column: span 5 !important; }
.cliente-form-v1221 .cliente-field-numero-v1221 { grid-column: span 1 !important; }
.cliente-form-v1221 .cliente-field-bairro-v1221 { grid-column: span 4 !important; }
.cliente-form-v1221 .cliente-field-cidade-v1221 { grid-column: span 5 !important; }
.cliente-form-v1221 .cliente-field-uf-v1221 { grid-column: span 2 !important; }

/* Rodapé de ações fixo: Salvar / Salvar e novo / Cancelar sempre visíveis ao rolar */
.cliente-form-v1207.cliente-form-v1221 .cliente-cadastro-acoes {
  position: sticky; bottom: 0; z-index: 5;
  margin: 9px -15px -12px !important; padding: 9px 15px !important;
  background: var(--bg-panel, #fff);
  border-top: 1px solid var(--border, #e2e8f3) !important;
  border-radius: 0 0 10px 10px;
  box-shadow: 0 -6px 10px -8px rgba(16, 24, 40, .25);
}

@media (max-width: 1100px) {
  .cliente-form-v1207.cliente-form-v1221 .cliente-grid-comercial-v1221 { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
  .cliente-form-v1207.cliente-form-v1221 .cliente-grid-endereco-v1221 { grid-template-columns: repeat(6, minmax(0, 1fr)) !important; }
  .cliente-form-v1221 .cliente-field-cep-v1221 { grid-column: span 2 !important; }
  .cliente-form-v1221 .cliente-field-logradouro-v1221 { grid-column: span 4 !important; }
  .cliente-form-v1221 .cliente-field-numero-v1221 { grid-column: span 2 !important; }
  .cliente-form-v1221 .cliente-field-bairro-v1221 { grid-column: span 4 !important; }
  .cliente-form-v1221 .cliente-field-cidade-v1221 { grid-column: span 4 !important; }
  .cliente-form-v1221 .cliente-field-uf-v1221 { grid-column: span 2 !important; }
}
@media (max-width: 760px) {
  .cliente-form-v1207.cliente-form-v1221 .cliente-grid-comercial-v1221 { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .cliente-form-v1207.cliente-form-v1221 .cliente-grid-endereco-v1221 { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .cliente-form-v1221 .cliente-grid-endereco-v1221 > .field { grid-column: span 1 !important; }
  .cliente-form-v1221 .cliente-field-logradouro-v1221 { grid-column: span 2 !important; }
  .cliente-form-v1207.cliente-form-v1221 .cliente-cadastro-acoes { margin-left: -14px !important; margin-right: -14px !important; }
}
@media (max-width: 480px) {
  .cliente-form-v1207.cliente-form-v1221 .cliente-grid-comercial-v1221,
  .cliente-form-v1207.cliente-form-v1221 .cliente-grid-endereco-v1221 { grid-template-columns: minmax(0, 1fr) !important; }
  .cliente-form-v1221 .cliente-grid-endereco-v1221 > .field,
  .cliente-form-v1221 .cliente-field-logradouro-v1221 { grid-column: span 1 !important; }
}
