/* ==========================================================================
   ESTILOS PREMIUM DO FORMULÁRIO DE CADASTRO (COMPACTO & ULTRA PREMIUM)
   ========================================================================== */

* { 
    box-sizing: border-box; 
    margin: 0; 
    padding: 0; 
}

body { 
    background-color: #f4f6f8; 
    font-family: 'Inter', system-ui, -apple-system, sans-serif; 
    padding-bottom: 0; 
    color: #1a202c; 
}

/* Menu Superior Slim */
.topo-nav { 
    background-color: #111111; 
    padding: 18px 25px; 
    box-shadow: 0 4px 12px rgba(0,0,0,0.08); 
    text-align: center;
}

.topo-nav a { 
    color: #fff; 
    text-decoration: none; 
    font-weight: 800; 
    font-size: 22px; 
    letter-spacing: 2px;
}

/* Container do Bloco */
.form-container {
    width: 100%;             
    max-width: 1200px;        
    margin: 20px auto; /* Reduzido de 40px para 20px para subir o bloco inteiro */         
    padding: 0 20px;         
    box-sizing: border-box;
}

/* O Card do Formulário Amplo */
.form-card {
    background: #ffffff;
    padding: 30px 45px; /* Reduzido o padding vertical de 45px para 30px */          
    border-radius: 16px;     
    box-shadow: 0 10px 35px rgba(0, 0, 0, 0.03); 
    border: 1px solid #e2e8f0;
    width: 100%;             
    box-sizing: border-box;
}

.form-title {
    font-size: 26px;
    font-weight: 700;
    color: #1a202c;
    text-align: center;
    margin-bottom: 6px;
}

.form-title-bar {
    height: 4px;
    background-color: #c5a880; 
    width: 60px;
    margin: 0 auto 20px auto; /* Reduzido drasticamente de 35px para 20px para puxar os campos para cima */
    border-radius: 2px;
}

/* SISTEMA DE GRID NATIVO ULTRA RÁPIDO */
.row {
    display: grid;
    grid-template-columns: repeat(2, 1fr); 
    gap: 15px 25px; /* Diminuído o espaçamento vertical entre as linhas para 15px */
    width: 100%;
}

/* Campos que precisam ocupar a linha inteira */
.row .col-12 {
    grid-column: span 2;
}

/* Em celulares, o Grid quebra automaticamente para um embaixo do outro */
@media (max-width: 768px) {
    .row {
        grid-template-columns: 1fr;
        gap: 15px;
    }
    .row .col-12 {
        grid-column: span 1;
    }
    .form-container {
        padding: 0 15px;
        margin: 15px 0;
    }
    .form-card {
        padding: 25px 20px;
    }
}

.form-group {
    margin-bottom: 4px; /* Reduzido de 5px para 4px para aproximar as linhas */
}

.form-label {
    display: block;
    font-size: 13px; /* Reduzido levemente de 14px para 13px */
    font-weight: 600;
    color: #4a5568;
    margin-bottom: 4px; /* Cortado pela metade de 8px para 4px para colar no input */
}

/* Inputs, Selects e Textarea Modernizados e Mais Compactos */
.form-input {
    width: 100%;
    padding: 10px 14px; /* Reduzido de 14px/16px para 10px/14px deixando os campos mais finos e elegantes */
    font-size: 14px; /* Ajustado de 15px para 14px */
    color: #2d3748;
    background-color: #f8fafc; 
    border: 1px solid #cbd5e0;
    border-radius: 8px; 
    outline: none;
    transition: all 0.2s ease-in-out;
}

.form-input:focus {
    border-color: #c5a880;
    box-shadow: 0 0 0 4px rgba(197, 168, 128, 0.2); 
    background-color: #ffffff; 
}

.form-input::placeholder {
    color: #a0aec0;
}

/* 📸 Estilização moderna e limpa para os botões de FOTO (Input File) */
input[type="file"].form-input {
    padding: 8px; /* Ajustado para acompanhar o tamanho compacto */
    background: #f1f5f9;
    border: 1px dashed #cbd5e0;
    cursor: pointer;
}

input[type="file"].form-input::-webkit-file-upload-button {
    background: #c5a880; 
    color: #ffffff;
    border: none;
    padding: 6px 14px; /* Mais compacto */
    border-radius: 6px;
    cursor: pointer;
    font-weight: 600;
    font-size: 12px;
    margin-right: 12px;
    transition: background 0.2s;
}

input[type="file"].form-input::-webkit-file-upload-button:hover {
    background: #b3956b; 
}

/* Botão Principal de Publicar */
.btn-publicar {
    width: 100%;
    background-color: #111111;
    color: #ffffff;
    border: none;
    padding: 14px; /* Ajustado de 16px para 14px */
    font-size: 16px;
    font-weight: 700;
    border-radius: 8px;
    cursor: pointer;
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
    transition: all 0.2s;
    margin-top: 10px;
    letter-spacing: 1px;
}

.btn-publicar:hover {
    background-color: #c5a880; 
    color: #111111;
    transform: translateY(-1px);
    box-shadow: 0 6px 20px rgba(197, 168, 128, 0.3);
}

/* Link Discreto de Voltar */
.btn-voltar-link {
    display: block;
    text-align: center;
    color: #718096;
    text-decoration: none;
    font-size: 14px;
    font-weight: 500;
    margin-top: 15px;
    transition: color 0.2s;
}

.btn-voltar-link:hover {
    color: #c5a880;
}

/* RODAPÉ DO SITE */
.rodape-site {
    background-color: #111111;
    color: #aaaaaa;
    padding: 35px 20px;
    text-align: center;
    font-family: sans-serif;
    font-size: 14px;
    border-top: 3px solid #c5a880; 
    margin-top: 60px; /* Reduzido de 80px para 60px */
    width: 100%;
}
.rodape-site a {
    color: #ffffff;
    text-decoration: none;
    font-weight: bold;
    margin: 0 10px;
}
.rodape-aviso {
    font-size: 11px;
    color: #666666;
    max-width: 700px;
    margin: 15px auto 0 auto;
    line-height: 1.5;
}
