/* static/css/register.css */
/* Estilos gerais para o corpo da página de cadastro (se não houver um background global no layout.css) */
body {
    font-family: 'Poppins', sans-serif;
    background-color: #0f1c2b;
    color: #e0e6ed;
    margin: 0;
    display: flex
;
    flex-direction: column;
}

body.register-page {
    background: linear-gradient(135deg, #f0f2f5 0%, #e0e5ec 100%); /* Gradiente suave */
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 100vh; /* Ocupa a altura total da viewport */
    margin: 0;
    font-family: 'Arial', sans-serif; /* Fonte mais clean */
}

/* Contêiner principal do formulário */
.container-principal.form-container {
    background-color: #ffffff;
    padding: 40px;
    border-radius: 12px; /* Bordas mais arredondadas */
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1); /* Sombra mais pronunciada */
    max-width: 450px; /* Limita a largura do formulário */
    width: 100%;
    box-sizing: border-box; /* Inclui padding e border no width/height */
}

.form-container h2 {
    text-align: center;
    color: #333333;
    margin-bottom: 30px;
    font-weight: 600;
}

/* Estilos para os grupos de formulário */
.form-group {
    margin-bottom: 20px; /* Mais espaçamento entre os campos */
}

/* Labels */
.form-label {
    display: block;
    margin-bottom: 8px;
    color: #555555;
    font-weight: 500;
}

/* Campos de input (text, email, password) */
.form-control {
    width: 100%;
    padding: 12px 15px;
    border: 1px solid #ced4da;
    border-radius: 8px; /* Bordas arredondadas para inputs */
    font-size: 16px;
    color: #333333;
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
    box-sizing: border-box;
}

.form-control:focus {
    border-color: #007bff; /* Azul primário no foco */
    box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
    outline: none; /* Remove outline padrão */
}

/* Estilo para campos inválidos */
.form-control-invalid {
    border-color: #dc3545 !important; /* Vermelho para erro */
}

.invalid-feedback {
    color: #dc3545;
    font-size: 14px;
    margin-top: 5px;
}

/* Botão de submit */
.form-container .btn {
    width: 100%;
    padding: 15px;
    background-color: #282aa7; /* botão de registrar */
    color: #ffffff;
    border: none;
    border-radius: 8px;
    font-size: 18px;
    font-weight: bold;
    cursor: pointer;
    transition: background-color 0.3s ease, transform 0.2s ease;
}

.form-container .btn:hover {
    background-color: #218838; /* Tom mais escuro no hover */
    transform: translateY(-2px); /* Efeito sutil de levantar */
}

/* Link "Já tem uma conta?" */
.bottom-link {
    margin-top: 25px;
    font-size: 16px;
    color: #666666;
}

.bottom-link a {
    color: #007bff; /* Cor do link */
    text-decoration: none;
    font-weight: 600;
}

.bottom-link a:hover {
    text-decoration: underline;
}



/* Ajustes para responsividade */
@media (max-width: 576px) {
    .container-principal.form-container {
        margin: 20px;
        padding: 30px;
    }
}