/* Base herdada do home.css; aqui só refinamos o "modo formulário" */

:root{
  --bg-form: #e9f3ef;     /* verde clarinho do fundo */
  --brand:   #205546;     /* verde institucional para títulos/botões */
  --brand-2: #2b6a59;     /* hover */
  --ink:     #1b1b1b;     /* texto principal */
  --muted:   #5b6b5f;     /* texto secundário */
  --card:    #ffffff;
  --border:  #dfe7e3;
  --radius:  18px;
  --shadow:  0 10px 28px rgba(0,0,0,.08);
}

body.form {
  background: var(--bg-form);
}

/* Cartão central */
.page{ min-height:100dvh; display:grid; place-items:center; padding: 28px 12px; }
.card{ width:min(860px,100%); background:var(--card); border:1px solid var(--border); border-radius:var(--radius); box-shadow:var(--shadow); padding:26px 24px; }

/* Cabeçalho com logo e títulos empilhados (igual ao antigo) */
.card-header{ display:flex; align-items:center; gap:14px; margin-bottom:10px; }
.logo{ width:80px; height:auto; }
.titles h1{ margin:0; font-size:34px; font-weight:800; letter-spacing:.3px; color:#000; }
.titles .subtitle{ margin:2px 0 0; font-weight:700; letter-spacing:.6px; color:#333; }

/* Subtítulo da página (ex.: "FASMO – Processo Seletivo 2025") */
.headline{ margin:8px 0 16px; text-align:center; color:var(--brand); font-weight:800; }

/* Caixa de instrução no topo do formulário */
.notice{
  background:#f2f8f5; border:1px solid var(--border); border-radius:12px;
  padding:14px; color:var(--muted); margin: 0 0 14px 0;
}
.notice .bar{ border-left:4px solid var(--brand); padding-left:10px; }

/* Form */
.form-grid{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }
@media (max-width: 760px){ .form-grid{ grid-template-columns:1fr; } }

label{ font-weight:700; color:var(--brand); display:block; margin: 8px 0 4px; }
input[type=text], input[type=email], input[type=tel], input[type=date], input[type=password],
input:not([type]), select, textarea{
  width:100%; padding:10px 12px; border-radius:10px; border:1px solid #cfd9d4; background:#fff;
  color:var(--ink); font-size:15px; outline:none;
}
input:focus, select:focus, textarea:focus{ border-color:#b7cfc6; box-shadow:0 0 0 3px rgba(32,85,70,.12); }

/* Botões */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  padding:12px 18px; border-radius:12px; border:1px solid transparent;
  font-weight:800; cursor:pointer; text-decoration:none;
}
.btn-primary{ background:var(--brand); color:#fff; }
.btn-primary:hover{ background:var(--brand-2); }
.btn-outline{ background:#fff; color:var(--brand); border-color:#cfe4dc; }
.btn-outline:hover{ background:#eaf4f0; }

/* Seções */
.section-title{ margin:18px 0 6px; font-size:18px; color:#114135; font-weight:800; }
.footer{ margin-top:14px; text-align:center; color:var(--muted); font-size:13px; }

/* Mensagens auxiliares (ex. "CPF somente números") */
.help{ color:#667; font-size:12.5px; }

/* Espaçadores */
.mt-8{ margin-top:8px; } .mt-12{ margin-top:12px; } .mt-16{ margin-top:16px; }

.help.error {
  color: #b91c1c;
  font-weight: 500;
}
