/* ===== Topbar exclusiva da página de Cadastro ===== */
.cad-topbar{
  background: #fde000;                 /* amarelo Correios */
  border-bottom: 1px solid #e6c700;    /* leve contraste */
}
.cad-topbar__inner{
  max-width: 1200px;
  margin: 0 auto;
  height: 76px;                        /* barra mais grossa */
  padding: 0 16px;

  /* centraliza a marca */
  display: flex;
  align-items: center;
  justify-content: center;
}
.cad-topbar__brand{ display:inline-flex; align-items:center; }
.cad-topbar__logo{
  height: 44px;                        /* logo maior */
  width: auto;
  display: block;
}

/* ===== Layout sticky footer (NÃO fixa, não sobrepõe) ===== */
.page--cadastro{
  min-height: 100svh;
  display: flex;
  flex-direction: column;
}
.page--cadastro .content{
  flex: 1 0 auto;
}
.page--cadastro .footer{
  margin-top: auto;
}

/* ===== Conteúdo da página Cadastro ===== */
.page--cadastro .cad-center{ max-width: 720px; margin: 0 auto; padding: 0 16px; }
.page--cadastro .content{ padding: 24px 0 28px; }

.page--cadastro .cad-title{
  text-align: center;
  font-size: clamp(26px, 4vw, 30px);
  font-weight: 800;
  color: #1f49ff;
}
.page--cadastro .cad-sub{
  margin-top: 8px;
  text-align: center;
  color: #5d7487;
  font-size: 15px;
}

/* Cartão e inputs */
.page--cadastro .cad-form-wrap{ margin-top: 0; }
.page--cadastro .form-card{
  border-radius: 16px;
  border: 1px solid #e5e7eb;
  background: #fff;
  padding: 16px;
  box-shadow: 0 1px 6px rgba(0,0,0,.05);
}
@media (min-width: 768px){ .page--cadastro .form-card{ padding: 22px; } }

.page--cadastro .form-group{ margin: 14px 0; }
.page--cadastro .form-label{ font-size: 14px; font-weight: 600; margin-bottom: 6px; display: block; color: #1d4d70; }
.page--cadastro .req{ color:#d92525; }

.page--cadastro .input{
  width: 100%;
  border: 1px solid #d1d5db;
  border-radius: 8px;
  padding: 10px 12px;
  outline: none;
  font-size: 14px;
  transition: border-color .2s, box-shadow .2s;
  background: #fff;
}
.page--cadastro .input:focus{ border-color:#1f49ff; box-shadow:0 0 0 3px rgba(31,73,255,.12); }
.page--cadastro .input--err{ border-color:#ef4444 !important; box-shadow:0 0 0 3px rgba(239,68,68,.08); }

.page--cadastro .err-msg{ margin-top: 6px; color:#ef4444; font-size: 13px; }

/* ================== CAMPOS EXTRAS ================== */
.page--cadastro .extra-fields{
  display: grid;                /* layout em grid */
  grid-template-columns: 1fr;
  gap: 12px;

  max-height: 0;
  opacity: 0;
  overflow: hidden;
  margin-top: 0;

  transition: max-height .28s ease, opacity .28s ease, margin .28s ease;
}
.page--cadastro .extra-fields--open{
  max-height: 1200px;
  opacity: 1;
  margin-top: 12px;
}
#extra_fields[hidden]{ display:none !important; } /* segurança extra */

/* Valor + botão */
#amount_card[hidden]{ display:none !important; }
.page--cadastro .amount-card{
  margin-top: 16px; border:1px solid #e5e7eb; border-radius:12px; padding:12px; background:#fff;
}
.page--cadastro .amount-row{ display:flex; align-items:center; justify-content:space-between; }
.page--cadastro .amount-label{ font-weight:600; }
.page--cadastro .amount-value{ font-weight:700; color:#1d4d70; }
.page--cadastro .divider{ margin: 12px 0; border:0; border-top:1px solid #e5e7eb; }

.page--cadastro .btn-primary{
  width:100%; height:48px;
  border:0; border-radius:10px;
  background:#1249F5; color:#fff;
  font-weight:700; font-size:14px;
  cursor:pointer;
  transition: transform .1s, filter .15s;
}
.page--cadastro .btn-primary:hover{ filter: brightness(1.03); }
.page--cadastro .btn-primary:active{ transform: translateY(1px); }

/* Link de retorno */
.page--cadastro .back-line{ margin-top: 16px; text-align: center; font-size: 12px; color: #6b7280; }
