.sindepo-form-publico {
    --verde: #0A4A2E;
    --verde-escuro: #06331f;
    --amarelo: #E3A93B;
    --texto-suave: #7A7A7A;
    --borda: #e2e4df;
    font-family: 'Roboto', sans-serif;
    max-width: 100%;
    margin: 0 auto;
}

.sindepo-form-publico h3 {
    font-family: 'Roboto Slab', serif;
    color: var(--verde);
    font-weight: 600;
    font-size: 17px;
    margin: 28px 0 14px;
    padding-bottom: 8px;
    border-bottom: 2px solid var(--amarelo);
}

.sindepo-form-publico h3:first-of-type {
    margin-top: 0;
}

.sindepo-opcional {
    font-size: 12px;
    color: var(--texto-suave);
    font-weight: 400;
}

.sindepo-ajuda {
    font-size: 13px;
    color: var(--texto-suave);
    margin: 4px 0 10px;
}

.sindepo-linha {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 14px;
    margin-bottom: 14px;
}

.sindepo-campo-largo {
    grid-column: span 2;
}

.sindepo-campo-estreito {
    max-width: 90px;
}

.sindepo-campo label {
    display: block;
    font-size: 13px;
    color: var(--texto-suave);
    margin-bottom: 5px;
}

.sindepo-campo input,
.sindepo-campo select {
    width: 100%;
    padding: 10px 12px;
    border: 1px solid var(--borda);
    border-radius: 7px;
    font-size: 14.5px;
    font-family: inherit;
    background: #fff;
}

.sindepo-campo input:focus,
.sindepo-campo select:focus {
    outline: none;
    border-color: var(--verde);
}

#sindepo-add-dependente {
    margin-bottom: 10px;
}

.sindepo-adepol {
    background: #fff7e8;
    border: 1px solid #f0dca9;
    border-radius: 8px;
    padding: 16px 18px;
    margin: 24px 0 0;
}

.sindepo-adepol p {
    margin: 0 0 12px;
    font-size: 14px;
    color: #6b4c13;
}

.sindepo-adepol-opcoes {
    display: flex;
    flex-wrap: wrap;
    gap: 18px;
}

.sindepo-adepol-opcoes label {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    font-weight: 500;
    color: #3a3a3a;
    cursor: pointer;
}

.sindepo-adepol-opcoes input {
    margin: 0;
}

.sindepo-declaracao {
    background: #f5f6f4;
    border-radius: 8px;
    padding: 14px 16px;
    margin: 24px 0 18px;
    font-size: 13.5px;
    color: #444;
}

.sindepo-declaracao label {
    display: flex;
    gap: 10px;
    align-items: flex-start;
}

.sindepo-declaracao input {
    margin-top: 3px;
}

.sindepo-btn {
    display: inline-flex;
    align-items: center;
    padding: 11px 22px;
    border-radius: 7px;
    border: none;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    font-family: inherit;
}

.sindepo-btn-primario {
    background: var(--verde);
    color: #fff;
}

.sindepo-btn-primario:hover {
    background: var(--verde-escuro);
}

.sindepo-btn-secundario {
    background: #f5f6f4;
    color: var(--verde);
    border: 1px solid var(--borda);
    font-weight: 500;
    font-size: 13.5px;
    padding: 8px 14px;
}

.sindepo-btn-secundario:hover {
    background: #ebeee8;
}

.sindepo-sucesso {
    background: #e8f3ec;
    border: 1px solid #cfe6d7;
    color: var(--verde);
    padding: 20px;
    border-radius: 10px;
}

.sindepo-sucesso p {
    color: #3a3a3a;
    margin-top: 8px;
    margin-bottom: 0;
}

.sindepo-erro {
    background: #fbeaea;
    border: 1px solid #f0cfcf;
    color: #b23b3b;
    padding: 14px 16px;
    border-radius: 8px;
    margin-bottom: 18px;
    font-size: 14px;
}

@media (max-width: 640px) {
    .sindepo-campo-largo {
        grid-column: span 1;
    }
}