@import url('https://fonts.googleapis.com/css2?family=Inter:wght@200;300;400;500&family=Open+Sans:wght@300;400;500;600&display=swap');

* {
    padding: 0;
    margin: 0;
    box-sizing: border-box;
    font-family: 'Inter', sans-serif;
}

body {
    width: 100%;
    height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #0c0ce94d;
}

.container {
    width: 90%;
    max-width: 700px; /* Aumentado para melhor uso do espaço em telas maiores */
    height: auto;
    display: flex;
    flex-direction: column; /* Mudança para coluna */
    box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.212);
    border-radius: 10px;
    overflow: hidden;
}

.form-image {
    width: 100%; /* Alterado para 100% para telas menores */
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #fde3a7d7;
    padding: 1rem;
}

.form-image img {
    width: 90%;
    max-width: 250px;
}

.form {
    width: 100%; /* Mudança para 100% */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background-color: #fff;
    padding: 2rem;
}

.form-header {
    margin-bottom: 2rem;
    display: flex;
    justify-content: space-between;
    width: 100%;
}

.login-button {
    display: flex;
    align-items: center;
}

.login-button button {
    border: none;
    background-color: #6c63ff;
    padding: 0.3rem 0.7rem;
    border-radius: 5px;
    cursor: pointer;
}

.login-button button:hover {
    background-color: #6b63fff1;
}

.login-button button a {
    text-decoration: none;
    font-weight: 500;
    color: #fff;
}

.form-header h1 {
    font-size: 1.5rem;
}

.form-header h1::after {
    content: '';
    display: block;
    width: 4rem;
    height: 0.2rem;
    background-color: #6c63ff;
    margin: 0 auto;
    position: relative;
    top: 0.2rem;
}

.input-group {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding: 1rem 0;
    width: 100%;
}

.input-box {
    display: flex;
    flex-direction: column;
    margin-bottom: 1rem;
    width: 100%;
}

.input-box input {
    margin: 0.4rem 0;
    padding: 0.5rem 1rem;
    border: none;
    border-radius: 10px;
    box-shadow: 1px 1px 6px #0000001c;
    font-size: 0.9rem;
    min-height: 40px; /* Altura mínima para melhorar a usabilidade */
    width: 100%; /* Garante que os inputs ocupem toda a largura disponível */
}

.input-box input:hover {
    background-color: #eeeeee75;
}

.input-box input:focus-visible {
    outline: 1px solid #6c63ff;
}

.input-box label,
.gender-title h6 {
    font-size: 0.75rem;
    font-weight: 600;
    color: #000000c0;
}

.input-box input::placeholder {
    color: #000000be;
}

.gender-inputs {
    width: 100%;
}

.gender-group {
    display: flex;
    justify-content: space-between;
    margin-top: 0.5rem;
    padding: 0 .5rem;
    flex-wrap: wrap;
}

.gender-input {
    display: flex;
    align-items: center;
    width: 48%;
    margin-bottom: 0.5rem;
}

.gender-input input {
    margin-right: 0.35rem;
}

.gender-input label {
    font-size: 0.81rem;
    font-weight: 600;
    color: #000000c0;
}

.terms-box {
    margin: 1rem 0;
    font-size: 0.85rem;
    color: #000000c0;
}

.terms-box input {
    margin-right: 0.5rem;
}

.terms-box a {
    color: #6c63ff;
    text-decoration: underline;
}

.terms-box a:hover {
    color: #6b63fff1;
}

.continue-button {
    width: 100%;
}

.continue-button button {
    width: 100%;
    margin-top: 2rem;
    border: none;
    background-color: #6c63ff;
    padding: 0.5rem;
    border-radius: 5px;
    cursor: pointer;
}

.continue-button button:hover {
    background-color: #6b63fff1;
}

.continue-button button a {
    text-decoration: none;
    font-size: 0.93rem;
    font-weight: 500;
    color: #fff;
}

.signature-pad {
    border: 1px solid #000;
    width: 100%;
    height: 200px;
    margin-top: 10px;
}

button {
    margin-top: 10px;
}

.signature-section {
    margin-top: 20px;
}

.modal {
    display: none;
    position: fixed;
    z-index: 1;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgba(0, 0, 0, 0.4);
}

.modal-content {
    background-color: #fefefe;
    margin: 15% auto;
    padding: 20px;
    border: 1px solid #888;
    width: 80%;
    max-height: 80%;
    overflow-y: auto;
}

.close {
    color: #aaa;
    float: right;
    font-size: 28px;
    font-weight: bold;
}

.close:hover,
.close:focus {
    color: black;
    text-decoration: none;
    cursor: pointer;
}

/* Modal */
.modal {
    display: none; /* Escondido por padrão */
    position: fixed; /* Fixo na tela */
    z-index: 1000; /* Fica acima de outros elementos */
    left: 0;
    top: 0;
    width: 100%; /* Largura total */
    height: 100%; /* Altura total */
    overflow: auto; /* Permite rolagem */
    background-color: rgba(0, 0, 0, 0.7); /* Fundo semi-transparente */
}

.modal-content {
    background-color: #fff; /* Fundo branco */
    margin: 15% auto; /* Margem superior de 15% e centralizado */
    padding: 20px;
    border: 1px solid #888; /* Borda cinza */
    width: 80%; /* Largura do modal */
    max-height: 80%; /* Limita a altura do modal */
    overflow-y: auto; /* Permite rolagem vertical */
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); /* Sombra */
}

.close {
    color: #aaa; /* Cor do botão de fechar */
    float: right; /* Alinha à direita */
    font-size: 28px; /* Tamanho do texto */
    font-weight: bold; /* Negrito */
}

.close:hover,
.close:focus {
    color: black; /* Cor ao passar o mouse */
    text-decoration: none; /* Sem sublinhado */
    cursor: pointer; /* Cursor em forma de ponteiro */
}

/* Media Queries para Mobile */
@media screen and (max-width: 600px) {
    .form-image {
        /* Comentado para exibição do campo Nome Completo */
        /* display: none; */
    }
    .container {
        flex-direction: column; /* Coluna para dispositivos menores */
        width: 100%; /* Largura total */
    }
    .form {
        width: 100%; /* Formulário ocupa toda a largura */
        padding: 1rem; /* Menos padding para melhor uso do espaço */
    }
    .form-header h1 {
        font-size: 1.25rem; /* Tamanho de fonte menor */
    }
    .input-box input {
        font-size: 0.8rem; /* Fonte menor para inputs */
        min-height: 40px; /* Altura mínima para melhorar a usabilidade */
        width: 100%; /* Garante que os inputs ocupem toda a largura disponível */
    }
    .continue-button button {
        padding: 0.5rem; /* Ajuste no padding */
    }
}
