/* =====================================================================
   Tema visual padrão - Formulários Hospital Erasto Gaertner
   (mesmo arquivo nos 3 projetos; carregado depois do style.css)
   ===================================================================== */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&family=Poppins:wght@500;600&display=swap');

:root {
    --azul: #0D4FB0;
    --azul-escuro: #0B2A5B;
    --azul-claro: #C4D6EE;
    --roxo: #7A3FB5;
    --roxo-claro: #DDCBF4;
    --verde: #2E9A5F;
    --verde-claro: #BFE0D2;
    --laranja: #F5A442;
    --laranja-claro: #F6DCC0;
    --fundo-suave: #EDF2F9;
    --borda-suave: #D5E0EE;
    --texto: #333;
}

/* ---------- Página ---------- */
body {
    background: #0A63AD url('../imagens/background-erasto.jpeg') center bottom / cover no-repeat fixed;
    min-height: 100vh;
    height: auto;
    font-family: 'Inter', 'Roboto', sans-serif;
    color: var(--texto);
}

body > .d-flex.m12 {
    margin-top: 48px;
    margin-bottom: 28px;
}

/* ---------- Card principal ---------- */
.card-box {
    width: 92%;
    max-width: 1120px;
    border-radius: 32px;
    padding: 48px 40px;
    margin: 0 0 48px;
    box-shadow: 0 20px 50px rgba(5, 30, 80, .18);
}

.card-box h4,
.card-box h5,
.card-box h6 {
    font-family: 'Poppins', sans-serif;
    font-weight: 600;
    color: var(--azul-escuro);
}

.card-box h4 {
    font-size: 2.3rem;
    text-align: center;
    margin: 0 0 16px;
}

.card-box h5 {
    font-size: 1.5rem;
    margin-bottom: 20px;
}

.card-box p,
.card-box li {
    color: var(--texto);
}

@media only screen and (max-width: 600px) {
    .card-box {
        width: 94%;
        padding: 28px 18px;
        border-radius: 20px;
    }

    .card-box h4 {
        font-size: 1.7rem;
    }
}

/* ---------- Cabeçalho "Quem você é?" ---------- */
.titulo-secao {
    text-align: center;
    margin-bottom: 44px;
}

.titulo-secao p {
    font-family: 'Poppins', sans-serif;
    font-size: 1.05rem;
    color: #444;
    margin: 0 0 18px;
}

.titulo-secao::after {
    content: "";
    display: block;
    width: 86px;
    height: 3px;
    margin: 0 auto;
    border-radius: 2px;
    background: #1E88E5;
}

/* ---------- Cards de opção ---------- */
.opcoes {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 16px;
    width: 100%;
}

.opcao {
    background: var(--fundo-suave);
    border-radius: 16px;
    padding: 32px 18px 18px;
    text-align: center;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    align-items: center;
    transition: transform .2s, box-shadow .2s;
}

.opcao:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 24px rgba(11, 42, 91, .12);
}

.opcao-icone {
    width: 84px;
    height: 84px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 34px;
    margin-bottom: 16px;
}

.card-box .opcao-titulo {
    font-family: 'Poppins', sans-serif;
    font-weight: 500;
    font-size: 1.15rem;
    margin: 0 0 10px;
}

.opcao-desc {
    font-size: 12px;
    line-height: 1.35;
    color: var(--texto);
    margin: 0 0 16px;
    max-width: 170px;
    flex: 1;
}

.opcao-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 142px;
    height: 32px;
    border-radius: 999px;
    color: #fff;
}

.opcao-btn::after {
    content: "\2192";
    font-size: 22px;
    line-height: 1;
}

.opcao-azul .opcao-icone { background: var(--azul-claro); color: var(--azul); }
.opcao-azul .opcao-titulo { color: var(--azul); }
.opcao-azul .opcao-btn { background: var(--azul); }

.opcao-roxo .opcao-icone { background: var(--roxo-claro); color: var(--roxo); }
.opcao-roxo .opcao-titulo { color: var(--roxo); }
.opcao-roxo .opcao-btn { background: var(--roxo); }

.opcao-verde .opcao-icone { background: var(--verde-claro); color: var(--verde); }
.opcao-verde .opcao-titulo { color: var(--verde); }
.opcao-verde .opcao-btn { background: var(--verde); }

.opcao-laranja .opcao-icone { background: var(--laranja-claro); color: var(--laranja); }
.opcao-laranja .opcao-titulo { color: var(--laranja); }
.opcao-laranja .opcao-btn { background: var(--laranja); }

@media only screen and (max-width: 600px) {
    .opcoes {
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
    }

    .opcao {
        padding: 20px 10px 14px;
    }

    .opcao-icone {
        width: 64px;
        height: 64px;
        font-size: 26px;
        margin-bottom: 10px;
    }

    .card-box .opcao-titulo {
        font-size: 1rem;
    }

    .opcao-desc {
        font-size: 11px;
    }

    .opcao-btn {
        width: 100%;
        max-width: 120px;
    }
}

/* ---------- Campos (inputs, selects, textarea) ---------- */
/* Label fica acima do campo, dentro do próprio bloco (não sobrepõe o conteúdo anterior) */
.card-box .input-field {
    margin-top: 14px;
    padding-top: 26px;
}

.card-box .input-field > label,
.card-box .input-field > label:not(.label-icon).active,
.card-box .select-wrapper + label {
    top: 0 !important;
    transform: none !important;
    font-size: .85rem !important;
    font-weight: 500;
    color: var(--azul-escuro) !important;
}

.card-box input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=submit]):not([type=button]),
.card-box textarea,
.card-box .select-wrapper input.select-dropdown {
    background: var(--fundo-suave) !important;
    border: 1px solid var(--borda-suave) !important;
    border-radius: 10px !important;
    height: 48px !important;
    padding: 0 14px !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    box-shadow: none !important;
    color: var(--texto);
    transition: border-color .2s, box-shadow .2s;
}

.card-box textarea,
.card-box textarea.materialize-textarea {
    min-height: 110px !important;
    height: auto !important;
    padding: 12px 14px !important;
}

.card-box input:not([type=checkbox]):not([type=radio]):not([type=file]):focus,
.card-box textarea:focus,
.card-box .select-wrapper input.select-dropdown:focus {
    border-color: var(--azul) !important;
    box-shadow: 0 0 0 3px rgba(13, 79, 176, .12) !important;
    outline: none;
}

.card-box input::placeholder,
.card-box textarea::placeholder {
    color: #8A97AB;
}

.card-box .select-wrapper .caret {
    right: 14px;
    z-index: 1;
    fill: var(--azul);
}

.card-box .file-field .file-path-wrapper {
    padding-left: 12px;
}

ul.dropdown-content.select-dropdown {
    border-radius: 10px;
}

ul.dropdown-content.select-dropdown li span {
    color: var(--azul);
}

/* ---------- Botões ---------- */
.card-box .btn,
.card-box .btn-large {
    background: var(--azul);
    border-radius: 999px;
    box-shadow: none;
    text-transform: none;
    font-family: 'Poppins', sans-serif;
    font-weight: 500;
    padding: 0 28px;
}

.card-box .btn:hover,
.card-box .btn:focus {
    background: #093E8C;
    box-shadow: 0 6px 16px rgba(13, 79, 176, .25);
}

.card-box .file-field .btn {
    border-radius: 10px;
    height: 48px;
    line-height: 48px;
}

.card-box .btn-danger {
    background: #D64545;
}

.card-box .btn-danger:hover,
.card-box .btn-danger:focus {
    background: #A83232;
}

/* ---------- reCAPTCHA ---------- */
.g-recaptcha {
    display: flex;
    justify-content: center;
    width: 100%;
    margin: 8px 0;
}

/* ---------- Alertas ---------- */
.alert-danger {
    background: #FDECEC;
    color: #B42318;
    border-left: 4px solid #D64545;
    border-radius: 10px;
    padding: 12px 16px;
    margin-bottom: 24px;
}

.alert-danger p {
    color: #B42318;
    margin: 0;
}
