/**
 * =================================================================
 * AMAM Candidaturas | style.css
 * Estrutura modular e foco na clareza para fácil manutenção.
 * =================================================================
 */

/* -------------------------------------------
 * I. VARIÁVEIS E REGRAS GLOBAIS
 * ------------------------------------------- */

:root {
    /* Paleta de Cores (Baseada nos anexos: Roxo principal) */
    --amam-primary: #69338b; /* Roxo principal (Logotipo) */
    --amam-secondary: #007bff; /* Azul padrão para links/botões/detalhes */
    --amam-success: #28a745;  /* Verde para mensagens de sucesso */
    --amam-error: #dc3545;    /* Vermelho para mensagens de erro */
    --amam-border: #ccc;      /* Cinza claro para bordas de campos */
    --amam-bg-field: #f9f9f9; /* Fundo levemente cinza para inputs */
    --amam-text-color: #333;  /* Cor padrão para textos */
}

/* -------------------------------------------
 * II. LAYOUT E CONTEINER PRINCIPAL
 * ------------------------------------------- */

#amam-trabalhe-conosco-form {
    max-width: 1250px;
    margin: 0 auto;
    padding: 20px;
    border: 1px solid #ddd;
    border-radius: 8px;
    background-color: #fff;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05); /* Sutil Sombra */
}

/* -------------------------------------------
 * III. ESTRUTURA E SEÇÕES (Fieldset/Divisões)
 * ------------------------------------------- */

.form-section {
    border-bottom: 2px solid var(--amam-primary);
    padding-bottom: 20px;
    margin-bottom: 25px; /* Aumentado ligeiramente para melhor espaçamento */
}
/* Remove a borda e margem da última seção */
.form-section:last-child {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
}

.form-section h3 {
    color: var(--amam-primary);
    border-left: 5px solid var(--amam-secondary); /* Barra vertical azul */
    padding-left: 10px;
    margin-top: 0;
    margin-bottom: 15px;
    font-size: 1.5em;
}

.form-group {
    margin-bottom: 15px;
}

/* Layout de Linha para campos lado a lado */
.form-row {
    display: flex;
    gap: 20px;
}
.form-row .half {
    flex: 1;
}

/* -------------------------------------------
 * IV. ESTILOS DE INPUTS E RÓTULOS (Labels)
 * ------------------------------------------- */

label {
    display: block;
    margin-bottom: 5px;
    font-weight: bold;
    color: var(--amam-text-color);
}

input[type="text"],
input[type="email"],
input[type="tel"],
input[type="url"],
select,
textarea {
    width: 100%;
    padding: 10px;
    border: 1px solid var(--amam-border);
    border-radius: 4px;
    background-color: var(--amam-bg-field);
    box-sizing: border-box; /* Garante que padding e borda não aumentem a largura */
    transition: border-color 0.3s, background-color 0.3s;
}

input:focus, select:focus, textarea:focus {
    border-color: var(--amam-primary);
    outline: none;
    background-color: #fff; /* Fundo branco ao focar */
}

/* -------------------------------------------
 * V. LGPD E CHECKBOX (CORREÇÃO DE TAMANHO)
 * ------------------------------------------- */

/* Contêiner do campo de LGPD */
.checkbox-group {
    display: flex;
    align-items: flex-start; /* Alinha o texto do topo com o checkbox */
    margin-top: 20px;
    padding-top: 10px;
    border-top: 1px dashed var(--amam-border);
}

/* CORREÇÃO CRÍTICA: Aumenta o tamanho visual do checkbox */
.checkbox-group input[type="checkbox"] {
    /* Reseta estilos do input:file anterior */
    width: 20px !important; 
    height: 20px !important;
    min-width: 20px; /* Garante que não diminua em layouts flex */
    min-height: 20px; 
    
    margin-right: 15px; /* Aumenta o espaçamento para o texto */
    
    /* Estilos visuais opcionais para melhor contraste */
    border: 2px solid var(--amam-primary); 
    cursor: pointer;
    vertical-align: middle;
}

.checkbox-group label {
    margin-bottom: 0;
    font-weight: normal;
    display: inline;
    font-size: 1em;
    color: var(--amam-primary); /* Destaca o texto de aceite */
    line-height: 20px; /* Alinha o texto com o checkbox */
}

.politica-link a {
    color: var(--amam-secondary);
    text-decoration: none;
    font-weight: bold;
}
.politica-link a:hover {
    text-decoration: underline;
}


/* -------------------------------------------
 * VI. ESTILOS DE UPLOAD
 * ------------------------------------------- */

.file-upload-group input[type="file"] {
    display: block; 
    width: 100%;
    padding: 5px;
}
.file-info {
    font-size: 0.9em;
    color: #666;
    margin-top: 5px;
    padding-left: 5px;
}

/* -------------------------------------------
 * VII. BOTÃO DE ENVIO
 * ------------------------------------------- */

.btn-submit {
    display: block;
    width: 100%;
    padding: 15px;
    background-color: var(--amam-secondary); /* Azul para destaque */
    color: white;
    font-size: 1.1em;
    font-weight: bold;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    transition: background-color 0.3s, opacity 0.3s;
    margin-top: 25px;
}
.btn-submit:hover {
    background-color: #0056b3; 
}
.btn-submit:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

/* Estilos para o ícone de carregamento */
.loading-spinner {
    font-style: italic; /* Apenas para diferenciar, se não for um spinner CSS/ícone */
}

/* -------------------------------------------
 * VIII. MENSAGENS DE STATUS (AJAX)
 * ------------------------------------------- */

.form-message {
    padding: 12px; /* Pouco mais de padding */
    margin-top: 20px;
    border-radius: 4px;
    font-weight: bold;
}
.form-message.success {
    background-color: #d4edda;
    color: var(--amam-success);
    border: 1px solid #c3e6cb;
}
.form-message.error {
    background-color: #f8d7da;
    color: var(--amam-error);
    border: 1px solid #f5c6cb;
}