/* Integra Bem-estar e Saúde — Cadastro de Parceria
   Reaproveita os tokens e o header/rodapé de ../paginas.css.
   Este arquivo cobre só o que é específico do formulário em etapas. */

/* --- Cabeçalho próprio -----------------------------------------------------
   Essa página é um formulário à parte, não uma página institucional — de
   propósito não usa o `.topo` com a trilha e o botão de contato das
   páginas internas (ver pedido do Nicolas, 2026-08-07: não pode "parecer"
   parte do site principal). Fundo continua escuro porque a logo só existe
   em versão branca (ver comentário no topo de paginas.css). */
.topo-parceria {
  background: linear-gradient(135deg, var(--verde-escuro) 0%, #1f4632 100%);
  padding-block: 15px;
  border-bottom: 3px solid var(--verde-claro);
}
.topo-parceria .container { display: flex; justify-content: center; }
.topo-parceria-linha { align-items: center; gap: 14px; }
.topo-parceria img { width: 105px; height: auto; }

/* Título ao lado da logo — funciona como título de seção ("app header"),
   não como uma segunda marca: peso mais leve que o wordmark da logo,
   branco a 88% de opacidade (ainda bem acima do contraste mínimo sobre o
   verde escuro) e separador fino em vez de um bloco próprio. Pedido do
   Nicolas, 2026-08-10. */
.topo-parceria-divisor {
  width: 1px;
  height: 28px;
  background: rgba(255, 255, 255, 0.25);
}
.topo-parceria-titulo {
  font-family: 'Ubuntu', sans-serif;
  font-size: 15px;
  font-weight: 500;
  letter-spacing: 0.2px;
  color: rgba(255, 255, 255, 0.88);
  white-space: nowrap;
}

@media (max-width: 700px) {
  .topo-parceria img { width: 90px; }
  .topo-parceria-titulo { font-size: 14px; }
}

/* Telas bem estreitas: empilha em vez de espremer logo + separador +
   título numa linha só só (evita o texto quebrar ou o header alargar). */
@media (max-width: 420px) {
  .topo-parceria-linha { flex-direction: column; gap: 6px; }
  .topo-parceria-divisor { display: none; }
}

.parceria { padding-block: 32px 72px; }

.parceria-caixa {
  max-width: 640px;
}
.parceria-caixa:has(.parceria-step-larga.ativa) {
  max-width: 820px;
}

/* --- Barra de progresso -------------------------------------------------- */
.parceria-progresso {
  height: 6px;
  background: var(--cinza-claro);
  border-radius: 3px;
  overflow: hidden;
  margin-bottom: 36px;
}
.parceria-progresso-fill {
  height: 100%;
  width: 0%;
  background: var(--verde);
  transition: width 300ms ease;
}

/* --- Aviso de retomada (progresso salvo) ------------------------------------ */
.parceria-retomado {
  display: flex;
  align-items: center;
  gap: 9px;
  background: rgba(120, 204, 139, 0.14);
  border: 1px solid rgba(70, 155, 108, 0.3);
  color: var(--verde-escuro);
  font-family: 'Lato', sans-serif;
  font-size: 14px;
  font-weight: 700;
  padding: 12px 16px;
  border-radius: 10px;
  margin: -12px 0 28px;
}
.parceria-retomado[hidden] { display: none; }
.parceria-retomado::before {
  content: '';
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--verde);
  flex-shrink: 0;
}

/* --- Etapas ---------------------------------------------------------------
   Só a etapa .ativa fica visível; as outras somem do fluxo. O JS controla
   isso trocando a classe — sem JS, todas ficam visíveis (degradação
   razoável, já que os campos continuam preenchíveis e válidos). */
.parceria-step { display: none; }
.parceria-step.ativa {
  display: block;
  animation: parceria-entra 420ms cubic-bezier(0.22, 0.61, 0.36, 1);
}
@keyframes parceria-entra {
  from { opacity: 0; transform: translateY(14px) scale(0.985); }
  to   { opacity: 1; transform: translateY(0) scale(1); }
}
@media (prefers-reduced-motion: reduce) {
  .parceria-step.ativa { animation: none; }
}

/* --- Intro: única tela pensada como hook, não como pergunta ----------------- */
.parceria-step[data-tipo="intro"] h1 {
  font-size: clamp(30px, 4.2vw, 44px);
  letter-spacing: 0;
  margin: 0 0 20px;
}
.parceria-step[data-tipo="intro"] .parceria-sub { margin: 0 0 16px; }
.parceria-step[data-tipo="intro"] .parceria-sub:last-of-type { margin-bottom: 8px; }
.parceria-nav-intro .btn {
  margin-top: 24px;
  padding: 17px 34px;
  font-size: 15px;
}

.parceria-step fieldset { border: none; margin: 0; padding: 0; }

.parceria-step label,
.parceria-step legend {
  display: block;
  font-family: 'Ubuntu', sans-serif;
  font-weight: 400;
  font-size: clamp(21px, 3vw, 26px);
  line-height: 1.35;
  color: var(--texto-forte);
  margin-bottom: 6px;
  text-wrap: balance;
}

.parceria-label-secundario { margin-top: 26px; }

/* Rótulo pequeno pra campos que se repetem dentro de um mesmo fieldset
   (ex.: Grau I/II/III de mensalidade) — o seletor genérico acima deixaria
   cada um do tamanho de uma pergunta inteira. */
.parceria-step .parceria-campo-titulo {
  font-family: 'Lato', sans-serif;
  font-size: 15px;
  font-weight: 700;
  text-wrap: initial;
  margin: 22px 0 0;
}
.parceria-step fieldset .parceria-campo-titulo:first-of-type { margin-top: 0; }

.parceria-opcional {
  font-family: 'Lato', sans-serif;
  font-size: 14px;
  font-weight: 400;
  text-transform: none;
  color: var(--texto);
}

.parceria-ajuda {
  font-size: 15px;
  color: var(--texto);
  margin: 0 0 16px;
}
.parceria-ajuda-campo {
  margin-top: 6px;
  margin-bottom: 14px;
}

.parceria-sub { font-size: 18px; }
.parceria-titulo-longo {
  max-width: 820px;
}
.parceria-titulo-longo strong {
  color: var(--verde-escuro);
}

/* --- Campos --------------------------------------------------------------- */
.parceria-step input[type="text"],
.parceria-step input[type="email"],
.parceria-step input[type="tel"],
.parceria-step input[type="number"],
.parceria-step textarea {
  display: block;
  width: 100%;
  font: inherit;
  font-size: 18px;
  padding: 14px 16px;
  border: 1px solid var(--borda);
  border-radius: 10px;
  margin-top: 12px;
  background: #fff;
  color: var(--texto-forte);
  transition: border-color 160ms ease, box-shadow 160ms ease;
}
.parceria-step input::placeholder,
.parceria-step textarea::placeholder { color: #9a9a9a; opacity: 1; }
.parceria-step input:focus,
.parceria-step textarea:focus {
  outline: none;
  border-color: var(--verde);
  box-shadow: 0 0 0 3px rgba(70, 155, 108, 0.15);
}
.parceria-step textarea { min-height: 120px; resize: vertical; }

.parceria-form-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
}
.parceria-form-grid .parceria-campo-titulo {
  margin-top: 0;
}
.parceria-form-grid-curta {
  max-width: 760px;
}

.parceria-endereco-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
  margin-top: 10px;
}
.parceria-endereco-grid .parceria-campo-titulo {
  margin-top: 0;
}
.parceria-cep-status {
  min-height: 18px;
  margin: 6px 0 0;
  font-size: 13px;
}
.parceria-cep-status:empty { display: none; }
.parceria-cep-link {
  margin: 6px 0 0;
  font-size: 14px;
}
.parceria-cep-link a {
  color: var(--verde);
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.parceria-step input[disabled] {
  background: #f5f5f5;
  color: #6d6d6d;
  cursor: wait;
}
.parceria-condicional {
  margin-top: 14px;
}
.parceria-checkbox-compacta {
  margin-top: 12px;
}
.parceria-privacidade a { color: var(--verde); font-weight: 700; }

.parceria-info-box {
  margin: 0 0 18px;
  padding: 14px 16px;
  border: 1px solid rgba(70, 155, 108, 0.28);
  border-radius: 8px;
  background: rgba(120, 204, 139, 0.1);
  color: var(--texto-forte);
}
.parceria-info-box strong {
  display: block;
  font-family: 'Ubuntu', sans-serif;
  color: var(--verde-escuro);
  margin-bottom: 4px;
}
.parceria-info-box p {
  margin: 0;
  font-size: 14px;
  line-height: 1.55;
}

.parceria-add-unidade {
  margin-top: 14px;
  border-radius: 8px;
}
.parceria-add-unidade.is-ativo {
  background: rgba(70, 155, 108, 0.1);
  border-color: var(--verde);
  color: var(--verde-escuro);
}
.parceria-status-inline {
  margin-top: 10px;
  margin-bottom: 0;
}
.parceria-status-inline[hidden] { display: none; }
.parceria-unidades-extra {
  margin-top: 14px;
}
.parceria-unidades-extra[hidden] { display: none; }
.parceria-outras-unidades-lista {
  display: grid;
  gap: 10px;
  margin-top: 12px;
}
.parceria-outra-unidade-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 44px;
  gap: 10px;
  align-items: center;
}
.parceria-outra-unidade-remover {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: 1px solid var(--borda);
  background: #fff;
  color: var(--texto);
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
}
.parceria-outra-unidade-remover:hover,
.parceria-outra-unidade-remover:focus {
  border-color: var(--verde);
  color: var(--verde-escuro);
}

.parceria-tipos-vaga {
  margin-top: 20px;
  padding-top: 18px;
  border-top: 1px solid var(--borda);
}
.parceria-tipos-vaga h3 {
  margin: 0 0 4px;
  font-family: 'Ubuntu', sans-serif;
  font-size: 18px;
  line-height: 1.35;
  color: var(--texto-forte);
}
.parceria-tipo-vaga-row {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
  margin-top: 12px;
}
.parceria-tipo-vaga-remover {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: 1px solid var(--borda);
  background: #fff;
  color: var(--texto);
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
}
.parceria-tipo-vaga-remover:hover,
.parceria-tipo-vaga-remover:focus-visible {
  border-color: var(--verde);
  color: var(--verde-escuro);
}
.parceria-unidades-cards {
  display: grid;
  gap: 16px;
  margin-top: 18px;
}
.parceria-unidade-card {
  border: 1px solid var(--borda);
  border-radius: 8px;
  padding: 16px;
  background: #fff;
}
.parceria-unidade-card-topo {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  justify-content: space-between;
}
.parceria-unidade-card-topo span,
.parceria-unidade-secao {
  display: block;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.4px;
  text-transform: uppercase;
  color: var(--verde);
}
.parceria-unidade-card-topo strong {
  display: block;
  margin-top: 2px;
  font-family: 'Ubuntu', sans-serif;
  font-size: 18px;
  line-height: 1.25;
  color: var(--texto-forte);
}
.parceria-step .parceria-unidade-depois {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
  width: auto;
  margin: 0;
  padding: 9px 11px;
  border: 1px solid var(--borda);
  border-radius: 999px;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.2;
  color: var(--texto-forte);
  text-wrap: initial;
  cursor: pointer;
}
.parceria-unidade-depois input {
  width: 15px;
  height: 15px;
  margin: 0;
  accent-color: var(--verde);
}
.parceria-unidade-corpo {
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px solid var(--borda);
}
.parceria-unidade-secao {
  margin: 16px 0 8px;
}
.parceria-unidade-secao:first-child {
  margin-top: 0;
}
.parceria-unidade-card label:not(.parceria-unidade-depois) {
  display: block;
  margin-bottom: 5px;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.25;
  color: var(--texto-forte);
  text-wrap: initial;
}
.parceria-unidade-grid {
  gap: 10px;
}

@media (min-width: 360px) and (max-width: 639px) {
  .parceria-endereco-grid {
    grid-template-columns: minmax(0, 112px) minmax(0, 1fr);
  }
  .parceria-campo-cep,
  .parceria-campo-logradouro,
  .parceria-campo-bairro {
    grid-column: 1 / -1;
  }
  .parceria-campo-numero,
  .parceria-campo-cidade {
    grid-column: 1 / 2;
  }
  .parceria-campo-complemento,
  .parceria-campo-uf,
  .parceria-campo-regiao {
    grid-column: 2 / 3;
  }
}

/* --- Erro de campo (texto/número/rádio/comodidades) -------------------------
   Mesma cor terracota (#b3452c) do aviso do checkbox de aceite — única cor
   de erro do projeto, escolhida por não conflitar com o verde da marca.
   `.parceria-campo-erro` marca o elemento problemático (input, o grupo
   `.parceria-radios`, ou o `fieldset` de comodidades); a mensagem em si
   reaproveita o `.parceria-erro` já usado no aceite do contrato. */
.parceria-step input.parceria-campo-erro,
.parceria-step textarea.parceria-campo-erro {
  border-color: #b3452c;
  box-shadow: 0 0 0 3px rgba(179, 69, 44, 0.12);
}
.parceria-radios.parceria-campo-erro,
fieldset.parceria-campo-erro {
  outline: 1px solid #b3452c;
  outline-offset: 8px;
  border-radius: 6px;
}

/* --- Rádios em pílula (Sim/Não) -------------------------------------------- */
.parceria-radios { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 16px; }
.parceria-radios-inline { margin-top: 12px; }
.parceria-radios label {
  font-family: 'Lato', sans-serif;
  font-size: 16px;
  font-weight: 700;
  color: var(--texto-forte);
  margin: 0;
  padding: 12px 26px;
  border: 1px solid var(--borda);
  border-radius: 24px;
  cursor: pointer;
  transition: border-color 160ms ease, background-color 160ms ease, color 160ms ease, transform 120ms ease;
}
.parceria-radios label:active { transform: scale(0.96); }
.parceria-radios input { position: absolute; opacity: 0; pointer-events: none; }
.parceria-radios label:has(input:checked) {
  background: var(--verde);
  border-color: var(--verde);
  color: #fff;
}
.parceria-radios label:has(input:focus-visible) { outline: 2px solid var(--verde); outline-offset: 2px; }

/* --- Matriz de comodidades -------------------------------------------------- */
.comodidade-item { padding-block: 12px; border-bottom: 1px solid var(--borda); }
.comodidade-item:first-child { padding-top: 0; }
.comodidade-item:last-child { border-bottom: none; }
.comodidade-nome {
  font-family: 'Lato', sans-serif;
  font-size: 16px;
  font-weight: 700;
  color: var(--texto-forte);
  margin: 0 0 8px;
}
.comodidade-opcoes {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}
.comodidade-opcoes label:nth-child(3) {
  grid-column: 1 / -1;
}
.comodidade-opcoes label {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 8px;
  min-height: 42px;
  font-size: 14px;
  font-weight: 700;
  color: var(--texto-forte);
  text-align: left;
  padding: 9px 12px;
  border: 1px solid var(--borda);
  border-radius: 8px;
  background: #fff;
  cursor: pointer;
  transition: border-color 160ms ease, background-color 160ms ease, color 160ms ease, transform 120ms ease;
}
.comodidade-opcoes label:active { transform: scale(0.96); }
.comodidade-opcoes input {
  appearance: none;
  -webkit-appearance: none;
  position: static;
  width: 16px;
  height: 16px;
  margin: 0;
  flex-shrink: 0;
  border: 1.5px solid #8f978f;
  border-radius: 50%;
  background: #fff;
  pointer-events: none;
}
.comodidade-opcoes input:checked {
  border-color: #fff;
  background: radial-gradient(circle at center, #fff 0 34%, transparent 38%);
}
.comodidade-opcoes span {
  display: block;
  min-width: 0;
}
.comodidade-opcoes label:has(input:checked) {
  background: var(--verde);
  border-color: var(--verde);
  color: #fff;
}
.comodidade-opcoes label:has(input:focus-visible) { outline: 2px solid var(--verde); outline-offset: 2px; }

/* --- Contrato embutido (aceite de termos) ------------------------------------ */
.parceria-documento {
  max-height: 360px;
  overflow-y: auto;
  margin-top: 18px;
  margin-bottom: 20px;
  padding: 28px 26px;
  background: #fff;
  border: 1px solid var(--borda);
  border-radius: 10px;
  box-shadow: 0 2px 10px -6px rgba(32, 39, 20, 0.25);
  font-family: 'Lato', sans-serif;
  font-size: 14px;
  line-height: 1.65;
  color: var(--texto-forte);
}
.parceria-documento:focus-visible { outline: 2px solid var(--verde); outline-offset: 2px; }
.parceria-documento h3 {
  font-family: 'Ubuntu', sans-serif;
  font-weight: 700;
  font-size: 16px;
  color: var(--texto-forte);
  text-align: center;
  margin: 0 0 18px;
  text-transform: uppercase;
  letter-spacing: 0.3px;
}
.parceria-documento p { margin: 0 0 14px; }
.parceria-documento strong { color: var(--texto-forte); }
.parceria-documento .contrato-clausula-titulo {
  font-weight: 700;
  display: block;
  margin-bottom: 4px;
}
.parceria-documento .contrato-preenchido {
  background: rgba(120, 204, 139, 0.18);
  border-radius: 3px;
  padding: 1px 4px;
  font-weight: 700;
}

/* --- Bloco de assinatura (dentro do contrato) -------------------------------
   CPF, nome de quem assina e o % de comissão só existem aqui — não como
   perguntas separadas antes do contrato (pedido do Nicolas, 2026-08-08).
   Os três campos reaparecem interpolados no documento acima em tempo real
   conforme a pessoa digita. */
.parceria-step .parceria-assinatura-bloco {
  margin: 0 0 20px;
  padding: 22px;
  border: 1px solid var(--borda);
  border-radius: 10px;
  background: var(--cinza-claro);
}
.parceria-assinatura-bloco input { background: #fff; }
.parceria-assinatura-bloco legend {
  font-family: 'Ubuntu', sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0.6px;
  text-transform: uppercase;
  color: var(--verde) !important;
  margin-bottom: 4px !important;
  text-wrap: initial !important;
}

/* --- Anexo de fotos/vídeos --------------------------------------------------- */
.parceria-anexo {
  margin-top: 20px;
  padding: 18px;
  border: 1px dashed var(--borda);
  border-radius: 12px;
}
.parceria-anexo input[type="file"] {
  display: block;
  width: 100%;
  font: inherit;
  font-size: 15px;
  color: var(--texto);
}
.parceria-anexo #fotos-anexo-status { margin: 10px 0 0; }
.parceria-anexo #fotos-anexo-status:empty { display: none; }
.parceria-anexo #fotos-enviar-agora { margin-top: 6px; }

/* --- Checkbox de aceite (assinatura) ---------------------------------------- */
/* `.parceria-step label` (specificidade 0,1,1) venceria o font-size daqui
   (0,1,0) mesmo essa regra vindo depois — por isso o seletor composto
   `.parceria-step .parceria-checkbox` abaixo, mesmo padrão já usado no
   bloco de assinatura. */
.parceria-checkbox {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin-top: 24px;
  font-family: 'Lato', sans-serif;
  font-weight: 400;
  color: var(--texto);
  cursor: pointer;
}
.parceria-step .parceria-checkbox {
  font-size: 13px;
  text-wrap: initial;
  padding: 8px 10px;
  margin-inline: -10px;
  border-radius: 8px;
  border: 1px solid transparent;
  transition: background-color 160ms ease, border-color 160ms ease;
}
.parceria-checkbox input { width: 16px; height: 16px; flex-shrink: 0; margin-top: 2px; accent-color: var(--verde); }

/* --- Aviso de aceite não marcado ---------------------------------------------
   Substitui o balão nativo do navegador (`reportValidity()`) por um aviso
   com o texto e o visual da Integra — pedido do Nicolas, 2026-08-09. */
.parceria-checkbox-erro {
  background: rgba(179, 69, 44, 0.07);
  border-color: rgba(179, 69, 44, 0.35);
}
.parceria-erro {
  display: flex;
  align-items: flex-start;
  gap: 7px;
  margin: 8px 0 0;
  font-family: 'Lato', sans-serif;
  font-size: 13px;
  font-weight: 700;
  color: #b3452c;
}
.parceria-erro[hidden] { display: none; }
.parceria-erro::before {
  content: '!';
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 16px;
  height: 16px;
  margin-top: 1px;
  border-radius: 50%;
  background: #b3452c;
  color: #fff;
  font-size: 11px;
  font-weight: 700;
}
@keyframes parceria-tremer {
  10%, 90% { transform: translateX(-1px); }
  20%, 80% { transform: translateX(2px); }
  30%, 50%, 70% { transform: translateX(-4px); }
  40%, 60% { transform: translateX(4px); }
}
.parceria-checkbox-tremer { animation: parceria-tremer 420ms ease; }
@media (prefers-reduced-motion: reduce) {
  .parceria-checkbox-tremer { animation: none; }
}

/* --- Navegação entre etapas -------------------------------------------------- */
.parceria-nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 32px;
}
.parceria-nav-intro { justify-content: flex-start; }
.parceria-voltar {
  background: none;
  border: none;
  font-family: 'Lato', sans-serif;
  font-size: 15px;
  color: var(--texto);
  cursor: pointer;
  padding: 12px 6px;
}
.parceria-voltar:hover { color: var(--verde-escuro); }

.parceria-nav-final { align-items: flex-start; flex-wrap: wrap; }
.parceria-nav-final-botoes { display: flex; gap: 12px; flex-wrap: wrap; margin-left: auto; }
.parceria-secundario {
  display: inline-flex;
  align-items: center;
  background: none;
  border: 1px solid var(--verde-claro);
  color: var(--texto-forte);
  font-weight: 700;
  font-size: 14px;
  padding: 14px 22px;
  border-radius: 24px;
  cursor: pointer;
  transition: border-color 160ms ease, color 160ms ease;
}
.parceria-secundario:hover { border-color: var(--verde); color: var(--verde); }

/* --- Fechamento / resumo final ---------------------------------------------- */
.parceria-final {
  max-width: 760px;
}
.parceria-final-kicker {
  margin: 0 0 10px;
  font-family: 'Ubuntu', sans-serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.7px;
  text-transform: uppercase;
  color: var(--verde);
}
.parceria-final h2 {
  margin-bottom: 18px;
}
.parceria-resumo-detalhes {
  margin-top: 26px;
  border: 1px solid var(--borda);
  border-radius: 10px;
  background: #fff;
  overflow: hidden;
}
.parceria-resumo-detalhes summary {
  padding: 15px 18px;
  font-family: 'Lato', sans-serif;
  font-size: 15px;
  font-weight: 700;
  color: var(--texto-forte);
  cursor: pointer;
}
.parceria-resumo-detalhes summary:hover { color: var(--verde); }
.parceria-resumo {
  background: var(--cinza-claro);
  border-top: 1px solid var(--borda);
  padding: 20px 22px;
  font-size: 15px;
}
.parceria-resumo p { margin: 0 0 8px; }
.parceria-resumo p:last-child { margin-bottom: 0; }
.parceria-resumo strong { color: var(--texto-forte); }
.parceria-resumo .parceria-resumo-secao {
  font-family: 'Ubuntu', sans-serif;
  color: var(--verde);
  font-weight: 700;
  margin-top: 16px;
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 0.4px;
}
.parceria-resumo .parceria-resumo-secao:first-child { margin-top: 0; }

/* --- Rodapé próprio ---------------------------------------------------------
   Minimalista de propósito, sem colunas institucionais (Serviços/Contato/
   Página inicial) — o CTA de contato mora só aqui, não no cabeçalho. */
.rodape-parceria {
  background: var(--cinza-claro);
  margin-top: 64px;
  padding-block: 44px;
  text-align: center;
}
.rodape-parceria .container {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
}
.rodape-parceria-marca {
  margin: 0;
  font-family: 'Ubuntu', sans-serif;
  font-size: 16px;
  color: var(--texto-forte);
}
.rodape-parceria-copy {
  margin: 6px 0 0;
  font-size: 13px;
  color: #6e6e6e;
}

@media (max-width: 700px) {
  .parceria-step label, .parceria-step legend { font-size: 21px; }
  .parceria-unidade-card-topo {
    flex-direction: column;
  }
  .parceria-step .parceria-unidade-depois {
    width: 100%;
  }
  .parceria-nav-final-botoes { width: 100%; }
  .parceria-nav-final-botoes button { flex: 1; justify-content: center; }
}

@media (min-width: 640px) {
  .parceria-form-grid {
    grid-template-columns: 1fr 1fr;
  }
  .parceria-form-grid > div:only-child {
    grid-column: 1 / -1;
  }
  .parceria-endereco-grid {
    grid-template-columns: 1fr 1fr;
  }
  .parceria-tipo-vaga-row {
    grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr) 44px;
    align-items: center;
  }
  .parceria-campo-cep,
  .parceria-campo-logradouro {
    grid-column: 1 / -1;
  }
  .comodidade-item {
    display: grid;
    grid-template-columns: minmax(150px, 0.9fr) minmax(360px, 1.7fr);
    gap: 14px;
    align-items: center;
  }
  .comodidade-nome {
    margin-bottom: 0;
  }
  .comodidade-opcoes {
    grid-template-columns: minmax(0, 1fr) minmax(0, 0.9fr) minmax(0, 1.2fr);
  }
  .comodidade-opcoes label:nth-child(3) {
    grid-column: auto;
  }
}


/* ------------------------------------------------------------------
   Formulário v2 (15/10/2026). Estava num <style> dentro do index.html, mas
   o servidor tem `Content-Security-Policy: style-src 'self'` (ver
   ~/integra/.htaccess) e bloqueia estilo e script embutidos, então
   TUDO que o formulário usa fica em arquivo: este CSS e o parcerias.js.
   Nada de <style>, <script> inline nem atributo style="" no HTML ou no JS.
   ------------------------------------------------------------------ */
.proto-tag{font:700 10px/1 system-ui,sans-serif;letter-spacing:.05em;padding:3px 7px;border-radius:999px;vertical-align:middle;margin-left:6px}
.proto-novo{background:#e3f4ec;color:#1f8a5b}
.proto-ajuste{background:#fbf0d9;color:#b7791f}
.parceria select,.parceria-unidade-card select{width:100%;padding:14px 16px;border:1px solid rgba(0,0,0,.08);border-radius:10px;font:18px/1.75 Lato,sans-serif;color:#3f3f3f;background:#fff;appearance:auto}
.parceria input[type=time],.parceria-unidade-card input[type=time]{width:100%;padding:14px 16px;border:1px solid rgba(0,0,0,.08);border-radius:10px;font:18px/1.75 Lato,sans-serif;color:#3f3f3f;background:#fff}
.proto-seg,.proto-seg-u{display:flex;width:100%;border:1px solid #c9d2cd;border-radius:999px;overflow:hidden;background:#fff}
.proto-seg button,.proto-seg-u button{font:700 13px/1 system-ui,sans-serif;border:0;background:transparent;color:#6b7a73;padding:10px 0;cursor:pointer;flex:1 1 0;min-width:0;text-align:center}
.proto-seg button.ativo,.proto-seg-u button.ativo{background:#1f8a5b;color:#fff}
.proto-seg button[data-val="OU"].ativo,.proto-seg-u button[data-val="OU"].ativo{background:#b7791f}
.proto-sec-topo{display:flex;justify-content:space-between;align-items:center;gap:12px}
.parceria-campo-uf,.parceria-campo-cidade{grid-column:1/-1!important}
[hidden]{display:none!important}
.parceria-unidade-card .proto-sec-topo{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-bottom:10px;border-bottom:1px solid rgba(0,0,0,.07);margin-bottom:14px}
.parceria-unidade-card .proto-sec-topo{margin-top:52px}
.parceria-unidade-card .parceria-unidade-corpo > .proto-sec-topo:first-child{margin-top:8px}
.parceria-unidade-card .proto-sub-topo{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:22px 0 10px}
.parceria-unidade-card .proto-sub-topo > span{font:700 14px/1.2 Lato,system-ui,sans-serif;color:#3f3f3f}
.parceria-unidade-card .proto-sec-corpo > .proto-sub-topo:first-child{margin-top:4px}
.parceria-unidade-card .proto-igual{display:inline-flex!important;align-items:center;gap:10px;margin:0!important;padding:0;font:600 13px/1 Lato,system-ui,sans-serif;text-transform:none;letter-spacing:0;color:#5b6b64;cursor:pointer;flex:none;white-space:nowrap}
.parceria-unidade-card .proto-igual input{appearance:none;-webkit-appearance:none;width:40px!important;height:24px!important;min-width:40px;padding:0!important;margin:0!important;border:0!important;border-radius:999px!important;background:#c9d2cd!important;position:relative;cursor:pointer;flex:none;transition:background .15s}
.parceria-unidade-card .proto-igual input::after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.25);transition:transform .15s}
.parceria-unidade-card .proto-igual input:checked{background:#2f8a5f!important}
.parceria-unidade-card .proto-igual input:checked::after{transform:translateX(16px)}
.parceria-unidade-card .proto-igual input:focus-visible{outline:2px solid #2f8a5f;outline-offset:2px}
#adicionar-tipo-vaga{margin-top:24px}
#multiplas-unidades-status .parceria-info-box{margin-top:20px}
[data-step="3"] .proto-checks + .parceria-form-grid{margin-top:28px}
.proto-chk-grid + .parceria-form-grid{margin-top:20px}
.proto-chk-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px 14px;margin:6px 0 12px}
.proto-chk{display:flex;gap:8px;align-items:center;font-size:14px;cursor:pointer}
.proto-chk input{width:auto;margin:0}
.proto-tabela-linha.pv-linha{grid-template-columns:1.4fr 1fr 1fr}
.proto-tabela-linha.pq-linha{grid-template-columns:1.4fr 1fr 1.2fr}
.parceria-unidade-card select{width:100%}
.proto-checks{display:grid;grid-template-columns:1fr;gap:6px}
@media(min-width:600px){.proto-checks{grid-template-columns:1fr 1fr}}
.proto-tabela{display:grid;gap:8px;margin:10px 0 16px}
.proto-tabela-linha{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:8px;align-items:center}
.proto-tabela-cab{font-size:12px;font-weight:600;opacity:.7}
.proto-tabela-cab4{display:none}
.proto-vagas{grid-template-columns:1.4fr 1fr 1fr}
.proto-conj,.proto-conj-u{font:700 14px/1 system-ui,sans-serif;border:1px solid #1f8a5b;background:#e3f4ec;color:#1f8a5b;border-radius:999px;padding:10px 0;cursor:pointer}
.proto-conj[data-conj="OU"],.proto-conj-u[data-conj="OU"]{background:#fbf0d9;border-color:#b7791f;color:#b7791f}
@media(min-width:760px){.proto-tabela-cab4{display:grid;grid-template-columns:1.5fr .8fr .8fr 1fr 44px;gap:10px;font-size:12px;font-weight:600;opacity:.7;margin-top:10px}}
.proto-modal{position:fixed;inset:0;z-index:1000;background:rgba(20,30,26,.55);display:flex;align-items:center;justify-content:center;padding:20px}
.proto-modal-caixa{background:#fff;border-radius:16px;max-width:480px;width:100%;padding:32px 28px;box-shadow:0 20px 60px rgba(0,0,0,.25);text-align:center}
.proto-modal-caixa h2{margin:0 0 14px}
.proto-modal-caixa p{margin:0 0 14px;line-height:1.55}
.proto-modal-caixa .btn{margin-top:10px}
.pq-lista{display:grid;gap:10px;margin:14px 0 16px}
.pq-row{border:1px solid rgba(0,0,0,.09);border-radius:12px;padding:12px 14px;background:#fff}
.pq-row.pq-off{background:#f7f8f7}
.pq-topo{display:flex;align-items:center;justify-content:space-between;gap:10px}
.pq-tem{display:flex!important;align-items:center;gap:10px;margin:0!important;cursor:pointer;font:700 16px/1.3 Lato,system-ui,sans-serif;color:#2b2b2b}
.pq-tem input{width:20px!important;height:20px;margin:0!important;accent-color:#2f8a5f;flex:none}
.pq-tem small{font-weight:400;color:#6b7a73;font-size:13px}
.pq-nome-outro{display:flex;gap:8px;flex:1}
.pq-campos{display:grid;grid-template-columns:1fr 1fr;gap:8px 10px;margin-top:10px}
.pq-campos label{display:block;font:600 12px/1.3 Lato,system-ui,sans-serif;color:#5b6b64;margin:0 0 4px!important;text-transform:none;letter-spacing:0}
.pq-row input[type=number],.pq-row input[type=text]{padding:9px 11px!important;font-size:16px!important;min-height:0!important}
.pq-row.pq-off .pq-campos{display:none}
@media(min-width:640px){.pq-campos{grid-template-columns:repeat(4,minmax(0,1fr))}.pq-campos.pq-sem-ala{grid-template-columns:repeat(3,minmax(0,1fr))}.pq-campos.pq-outro{grid-template-columns:repeat(5,minmax(0,1fr))}.pq-campos.pq-outro.pq-sem-ala{grid-template-columns:repeat(4,minmax(0,1fr))}}
.pq-totais{font:600 14px/1.4 Lato,system-ui,sans-serif;color:#2f6b4f;margin:22px 0 0}
.oc-lista{display:grid;gap:8px;margin:12px 0}
.oc-row{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) 44px;gap:8px;align-items:center}
.oc-row input{padding:10px 12px!important;font-size:16px!important}

.pc-mt28{margin-top:28px}
.pc-mt22{margin-top:22px}
.pc-mt14{margin-top:14px}
.pc-linha-inteira{grid-column:1/-1}
