/* ==========================================================
   CAÇA LEILÕES — PÁGINA PÚBLICA DE CADASTRO
   ----------------------------------------------------------
   Card central "suspenso" no mesmo padrão dos cards do
   dashboard admin e da página de preços: sombra profunda,
   filete laranja no topo, tipografia Poppins do restante do
   site. Não depende de login.css nem altera global.css.
========================================================== */

.cadastro-page{
    min-height:calc(100vh - 90px);
    display:flex;
    align-items:flex-start;
    justify-content:center;
    padding:48px 20px 64px;
    background:var(--cor-fundo,#f7f8fc);
}

.cadastro-card{
    position:relative;
    width:100%;
    max-width:600px;
    background:#fff;
    border:1px solid #eef1f6;
    border-radius:18px;
    padding:40px 44px 36px;
    box-shadow:0 20px 44px -16px rgba(15,23,42,.24),
               0 8px 18px -8px rgba(15,23,42,.12),
               0 1px 2px rgba(15,23,42,.04);
}

.cadastro-card::before{
    content:"";
    position:absolute; top:0; left:0; right:0; height:4px;
    border-radius:18px 18px 0 0;
    background:linear-gradient(90deg,#ff6b00,#fb923c);
}

.cadastro-card h1{
    font-size:26px;
    font-weight:700;
    color:#1f2937;
    letter-spacing:-.01em;
    margin:4px 0 8px;
}

.cadastro-sub{
    font-size:15px;
    line-height:1.6;
    color:var(--cor-texto-claro,#6b7280);
    margin:0 0 8px;
}

/* ---------------- seções ---------------- */

.cadastro-secao{
    margin-top:26px;
    padding-top:22px;
    border-top:1px solid #eef1f6;
}
.cadastro-secao:first-of-type{
    border-top:0;
    padding-top:6px;
}

.cadastro-secao-titulo{
    font-size:12px;
    font-weight:700;
    letter-spacing:.09em;
    text-transform:uppercase;
    color:var(--cor-principal,#ff6b00);
    margin:0 0 16px;
}

/* ---------------- grid de campos ---------------- */

.cadastro-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:16px 18px;
}
.campo-full{ grid-column:1 / -1; }

.campo{ display:flex; flex-direction:column; }

.campo label{
    font-size:14px;
    font-weight:600;
    color:#374151;
    margin-bottom:7px;
}

.obrigatorio{ color:#dc2626; font-weight:700; }

.campo input,
.campo select{
    width:100%;
    padding:12px 14px;
    border:1px solid #dcdfe4;
    border-radius:10px;
    background:#fff;
    font-family:'Poppins',sans-serif;
    font-size:15px;
    color:var(--cor-texto,#2d3748);
    outline:0;
    transition:border-color .18s ease, box-shadow .18s ease;
}
.campo select{ -webkit-appearance:none; -moz-appearance:none; appearance:none; cursor:pointer;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%236b7280' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");
    background-repeat:no-repeat;
    background-position:right 14px center;
    padding-right:38px;
}

.campo input:focus,
.campo select:focus{
    border-color:var(--cor-principal,#ff6b00);
    box-shadow:0 0 0 3px rgba(255,107,0,.15);
}

.campo input:disabled,
.campo select:disabled{ background:#f3f4f6; cursor:not-allowed; }

.campo.tem-erro input,
.campo.tem-erro select{
    border-color:#dc2626;
    box-shadow:0 0 0 3px rgba(220,38,38,.12);
}

.campo-erro{
    display:none;
    margin-top:6px;
    font-size:12.5px;
    color:#dc2626;
}
.campo.tem-erro .campo-erro{ display:block; }

/* ---------------- checkboxes de consentimento ---------------- */

.campo-checkbox{
    display:flex;
    align-items:flex-start;
    gap:10px;
    font-size:14px;
    line-height:1.5;
    color:#374151;
    margin-bottom:12px;
}
.campo-checkbox:last-of-type{ margin-bottom:0; }

.campo-checkbox input{
    flex:0 0 auto;
    width:18px; height:18px;
    margin:1px 0 0;
    accent-color:var(--cor-principal,#ff6b00);
    cursor:pointer;
}
.campo-checkbox input:focus-visible{
    outline:2px solid rgba(255,107,0,.55);
    outline-offset:2px;
}
.campo-checkbox label{ cursor:pointer; }
.campo-checkbox a{
    color:var(--cor-principal,#ff6b00);
    font-weight:600;
    text-decoration:none;
}
.campo-checkbox a:hover{ text-decoration:underline; }

.consentimentos.tem-erro .campo-checkbox{ color:#b91c1c; }
.consentimentos .campo-erro{ margin-top:2px; }
.consentimentos.tem-erro .campo-erro{ display:block; }

/* ---------------- botão + rodapé ---------------- */

.btn-cadastro{
    width:100%;
    margin-top:26px;
    display:flex; align-items:center; justify-content:center; gap:9px;
    padding:14px 20px;
    border:0;
    border-radius:11px;
    background:var(--cor-principal,#ff6b00);
    color:#fff;
    font-family:'Poppins',sans-serif;
    font-size:15.5px;
    font-weight:600;
    cursor:pointer;
    transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.btn-cadastro:hover:not(:disabled){
    transform:translateY(-2px);
    box-shadow:0 12px 24px -8px rgba(255,107,0,.45);
}
.btn-cadastro:disabled{ opacity:.65; cursor:not-allowed; }

.btn-cadastro .spinner{
    width:16px; height:16px;
    border:2px solid rgba(255,255,255,.45);
    border-top-color:#fff;
    border-radius:50%;
    animation:cadastro-girar .7s linear infinite;
}
@keyframes cadastro-girar{ to{ transform:rotate(360deg); } }

.cadastro-mensagem{
    display:none;
    margin-top:16px;
    padding:12px 14px;
    border-radius:10px;
    font-size:14px;
    font-weight:500;
    text-align:center;
}
.cadastro-mensagem.erro{
    display:block;
    background:#fef2f2;
    border:1px solid #fecaca;
    color:#b91c1c;
}
.cadastro-mensagem.sucesso{
    display:block;
    background:#f0fdf4;
    border:1px solid #bbf7d0;
    color:#15803d;
}

.cadastro-rodape{
    margin-top:22px;
    text-align:center;
    font-size:14px;
    color:var(--cor-texto-claro,#6b7280);
}
.cadastro-rodape a{
    color:var(--cor-principal,#ff6b00);
    font-weight:600;
    text-decoration:none;
}
.cadastro-rodape a:hover{ text-decoration:underline; }

/* ---------------- responsivo ---------------- */

@media(max-width:560px){
    .cadastro-page{ padding:28px 14px 48px; }
    .cadastro-card{ padding:28px 22px 26px; border-radius:16px; }
    .cadastro-card h1{ font-size:23px; }
    .cadastro-grid{ grid-template-columns:1fr; gap:14px; }
    .campo-full{ grid-column:auto; }
}
