/* Formulário de candidatura (compartilhado pela página de vagas e pela página da empresa) */
.apply { background: #F7F4EC; padding: 22px; border-radius: 12px; display: grid; gap: 16px; color: #1E1E1E; font-family: var(--font, "Hanken Grotesk", Arial, sans-serif); }
.apply h3 { font-size: 1.375rem; margin: 0; letter-spacing: -0.015em; }
.apply .fld { display: grid; gap: 6px; margin: 0; border: 0; padding: 0; min-width: 0; }
.apply .fld > label, .apply .fld > legend { font-weight: 700; padding: 0; font-size: 1rem; }
.apply .two { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.apply input:not([type=radio]):not([type=checkbox]):not([type=file]) { width: 100%; min-height: 52px; padding: 0 14px; border: 2px solid #1E1E1E; border-radius: 8px; background: #fff; font-size: 16px; color: #1E1E1E; }
.apply input[type=file] { min-height: 52px; padding: 12px 0; font-size: 16px; max-width: 100%; }
.apply [aria-invalid="true"] { border-color: #B3261E !important; }
.apply .err { color: #B3261E; font-weight: 500; font-size: 0.9375rem; }
.apply .hint { color: #5B5B5B; font-size: 0.9375rem; }
.apply .radios { display: flex; gap: 8px 22px; flex-wrap: wrap; }
.apply .radios.col { flex-direction: column; }
.apply .radios label, .apply .chk { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; }
.apply .radios input, .apply .chk input { width: 22px; height: 22px; accent-color: #1E1E1E; flex-shrink: 0; }
.apply .chk { align-items: flex-start; padding-top: 4px; }
.apply .qbox { background: #fff; border-radius: 10px; padding: 16px 18px; display: grid; gap: 14px; }
.apply .qt { font-weight: 700; font-size: 1.0625rem; margin: 0; }
.apply .req { display: inline-block; margin-left: 6px; padding: 1px 8px; border-radius: 20px; background: #FFC72C; color: #1E1E1E; font-size: 0.75rem; font-weight: 700; vertical-align: 1px; }
.apply .req.opt { background: #EFEADC; }
.apply .btn { background: #1E1E1E; color: #fff; justify-self: start; }
.apply .ok-msg { background: #FFC72C; padding: 18px; border-radius: 10px; font-weight: 700; margin: 0; }
@media (max-width: 640px) { .apply .two { grid-template-columns: 1fr; } }
