/* Candidate registration: approved type, white controls and soft panel. */
.candidate-section{padding-block:var(--space-9);color:var(--text);background:var(--surface)}
.candidate-inner{display:flex;flex-direction:column;gap:var(--space-5)}
.candidate-heading{display:flex;flex-direction:column;gap:var(--space-5)}
.candidate-heading h1{margin:0;font-family:var(--heading-family);font-size:38px;line-height:1.23;font-weight:var(--heading-weight)}
.candidate-heading p{margin:0;font-size:var(--body);line-height:var(--body-line-height)}
.candidate-panel{padding:56px 58px;border-radius:20px;background:#EDF5FA}
.candidate-panel h2{margin:0 0 28px;font-family:var(--body-family);font-size:20px;font-weight:400;line-height:1.4}
.candidate-fields{display:flex;flex-wrap:wrap;gap:32px 24px}
.candidate-field{display:flex;min-width:0;flex-direction:column;gap:12px}
.candidate-field-full{width:100%}.candidate-field-half{width:calc((100% - 24px)/2)}.candidate-field-third{width:calc((100% - 48px)/3)}
.candidate-field>label{font-size:14px;line-height:1.5}
.candidate-field input:not([type=file]),.candidate-field select{width:100%;min-height:46px;padding:12px 18px;border:1px solid transparent;border-radius:var(--radius-button);background:var(--surface);color:var(--text);font:400 14px/1.5 var(--body-family)}
.candidate-field input::placeholder{color:var(--text);opacity:1}
.candidate-field select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23393C3D' stroke-width='1.5'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 18px center;background-repeat:no-repeat;padding-right:42px}
.candidate-field input:focus-visible,.candidate-field select:focus-visible{outline:2px solid var(--text);outline-offset:3px}
.candidate-resume{margin-top:12px}
.candidate-upload{display:flex;align-items:center;gap:20px;position:relative;flex-wrap:wrap}
.candidate-file-input{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}
.candidate-file-button{display:inline-flex;align-items:center;gap:16px;background:var(--brand);color:var(--surface);border-radius:var(--radius-button);padding:9px 16px;min-height:40px;font-size:14px;font-weight:700;line-height:1.5;cursor:pointer}
.candidate-file-icon{width:16px;height:18px;flex-shrink:0;fill:currentColor}.candidate-file-input:focus-visible+.candidate-file-button{outline:2px solid var(--text);outline-offset:3px}
#candidate-file-name{font-size:14px;line-height:1.5;overflow-wrap:anywhere;max-width:100%}
#candidate-file-help{margin:32px 0 0;font-size:12px;line-height:1.5;color:#777}
@media(max-width:1032px){.candidate-panel{padding:40px}.candidate-heading h1{font-size:clamp(28px,3.5vw,38px)}}
@media(max-width:768px){.candidate-section{padding-block:var(--space-7)}.candidate-heading h1{font-size:clamp(30px,5vw,38px)}.candidate-panel{padding:32px 24px}.candidate-field-third{width:100%}}
@media(max-width:540px){.candidate-field-half{width:100%}.candidate-panel{padding:24px 20px}}

/* Privacy panel and explicit talent-pool choice; the reading button opens the privacy policy in a new tab. */
.candidate-form{display:flex;flex-direction:column;gap:var(--space-5);margin:0}
.candidate-privacy h2{margin-bottom:28px}.candidate-privacy p{margin:0;font-size:var(--body);line-height:var(--body-line-height)}
.candidate-privacy button:disabled,.candidate-submit:disabled{opacity:1;cursor:default}
.candidate-talent-option input{appearance:none;display:block;flex-shrink:0;width:24px;height:24px;margin:0;border:1px solid var(--brand);background:var(--surface);border-radius:6px;cursor:pointer}
.candidate-privacy input:focus-visible{outline:2px solid var(--text);outline-offset:4px}
.candidate-talent{min-width:0;margin:0;padding:0;border:0}
.candidate-talent legend{padding:0;margin:0 0 28px;font-size:20px;line-height:1.4}
.candidate-reading-button,.candidate-submit{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:var(--radius-button);background:var(--brand);color:var(--surface);padding:12px 18px;min-height:44px;font:700 14px/1.5 var(--body-family)}
.candidate-reading-button{margin-block:var(--space-5)}
.candidate-talent-options{display:flex;flex-direction:column;gap:18px;margin-top:var(--space-5)}
.candidate-talent-option{display:flex;align-items:flex-start;gap:18px;border:1px solid #CEDADD;border-radius:20px;padding:24px;font-size:var(--body);line-height:var(--body-line-height);cursor:pointer}
.candidate-talent-option>span{display:flex;flex-direction:column;min-width:0}.candidate-talent-option input{border-radius:50%;margin-top:3px}.candidate-talent-option input:checked{background:var(--brand);box-shadow:inset 0 0 0 5px var(--surface)}
.candidate-submit-row{padding-inline:58px;padding-top:20px}
@media(max-width:1032px){.candidate-submit-row{padding-inline:40px}}
@media(max-width:768px){.candidate-submit-row{padding-inline:24px}.candidate-talent-option{padding:20px;gap:14px}}
@media(max-width:540px){.candidate-submit-row{padding-inline:20px}.candidate-talent-option{padding:16px}}
/* Envio pelo WP FormVault: avisos e erros por campo no padrão do cadastro. */
.candidate-reading-button{text-decoration:none}
.candidate-status,.candidate-section .candidate-inner .wpfv-form-notice{margin:0;padding:var(--space-3);border:0;border-left:3px solid var(--brand);border-radius:0;background:#EDF5FA;color:var(--text);font-size:14px}
.candidate-status.is-error,.candidate-section .candidate-inner .wpfv-form-notice.is-error{border-left-color:#b32d2e}
.candidate-form .wpfv-field-error{margin-top:0;font-size:13px}
.candidate-upload .wpfv-field-error{flex-basis:100%}
.candidate-talent-option .wpfv-field-error{display:none}
.candidate-form[aria-busy=true] .candidate-submit{cursor:wait;opacity:.7}
