.elementor-4291 .elementor-element.elementor-element-c8e2e7c{--display:flex;}.elementor-widget-form .elementor-field-group > label, .elementor-widget-form .elementor-field-subgroup label{color:var( --e-global-color-text );}.elementor-widget-form .elementor-field-group > label{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .elementor-field-type-html{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .elementor-field-group .elementor-field{color:var( --e-global-color-text );}.elementor-widget-form .elementor-field-group .elementor-field, .elementor-widget-form .elementor-field-subgroup label{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .elementor-button{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-form .e-form__buttons__wrapper__button-next{background-color:var( --e-global-color-accent );}.elementor-widget-form .elementor-button[type="submit"]{background-color:var( --e-global-color-accent );}.elementor-widget-form .e-form__buttons__wrapper__button-previous{background-color:var( --e-global-color-accent );}.elementor-widget-form .elementor-message{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .e-form__indicators__indicator, .elementor-widget-form .e-form__indicators__indicator__label{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-form{--e-form-steps-indicator-inactive-primary-color:var( --e-global-color-text );--e-form-steps-indicator-active-primary-color:var( --e-global-color-accent );--e-form-steps-indicator-completed-primary-color:var( --e-global-color-accent );--e-form-steps-indicator-progress-color:var( --e-global-color-accent );--e-form-steps-indicator-progress-background-color:var( --e-global-color-text );--e-form-steps-indicator-progress-meter-color:var( --e-global-color-text );}.elementor-widget-form .e-form__indicators__indicator__progress__meter{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-4291 .elementor-element.elementor-element-1a543ed{width:var( --container-widget-width, 96.998% );max-width:96.998%;--container-widget-width:96.998%;--container-widget-flex-grow:0;--e-form-steps-indicators-spacing:20px;--e-form-steps-indicator-padding:30px;--e-form-steps-indicator-inactive-secondary-color:#ffffff;--e-form-steps-indicator-active-secondary-color:#ffffff;--e-form-steps-indicator-completed-secondary-color:#ffffff;--e-form-steps-divider-width:1px;--e-form-steps-divider-gap:10px;}.elementor-4291 .elementor-element.elementor-element-1a543ed.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-4291 .elementor-element.elementor-element-1a543ed .elementor-field-group{padding-right:calc( 10px/2 );padding-left:calc( 10px/2 );margin-bottom:10px;}.elementor-4291 .elementor-element.elementor-element-1a543ed .elementor-form-fields-wrapper{margin-left:calc( -10px/2 );margin-right:calc( -10px/2 );margin-bottom:-10px;}.elementor-4291 .elementor-element.elementor-element-1a543ed .elementor-field-group.recaptcha_v3-bottomleft, .elementor-4291 .elementor-element.elementor-element-1a543ed .elementor-field-group.recaptcha_v3-bottomright{margin-bottom:0;}body.rtl .elementor-4291 .elementor-element.elementor-element-1a543ed .elementor-labels-inline .elementor-field-group > label{padding-left:0px;}body:not(.rtl) .elementor-4291 .elementor-element.elementor-element-1a543ed .elementor-labels-inline .elementor-field-group > label{padding-right:0px;}body .elementor-4291 .elementor-element.elementor-element-1a543ed .elementor-labels-above .elementor-field-group > label{padding-bottom:0px;}.elementor-4291 .elementor-element.elementor-element-1a543ed .elementor-field-type-html{padding-bottom:0px;}.elementor-4291 .elementor-element.elementor-element-1a543ed .elementor-field-group .elementor-field, .elementor-4291 .elementor-element.elementor-element-1a543ed .elementor-field-subgroup label{font-family:"Poppins", Sans-serif;font-size:18px;font-weight:400;}.elementor-4291 .elementor-element.elementor-element-1a543ed .e-form__buttons__wrapper__button-next{background-color:var( --e-global-color-primary );color:#ffffff;}.elementor-4291 .elementor-element.elementor-element-1a543ed .elementor-button[type="submit"]{background-color:var( --e-global-color-primary );color:#ffffff;}.elementor-4291 .elementor-element.elementor-element-1a543ed .elementor-button[type="submit"] svg *{fill:#ffffff;}.elementor-4291 .elementor-element.elementor-element-1a543ed .e-form__buttons__wrapper__button-previous{color:#ffffff;}.elementor-4291 .elementor-element.elementor-element-1a543ed .e-form__buttons__wrapper__button-next:hover{color:#ffffff;}.elementor-4291 .elementor-element.elementor-element-1a543ed .elementor-button[type="submit"]:hover{color:#ffffff;}.elementor-4291 .elementor-element.elementor-element-1a543ed .elementor-button[type="submit"]:hover svg *{fill:#ffffff;}.elementor-4291 .elementor-element.elementor-element-1a543ed .e-form__buttons__wrapper__button-previous:hover{color:#ffffff;}.elementor-4291 .elementor-element.elementor-element-cd27437{width:var( --container-widget-width, 96.998% );max-width:96.998%;--container-widget-width:96.998%;--container-widget-flex-grow:0;--e-form-steps-indicators-spacing:20px;--e-form-steps-indicator-padding:30px;--e-form-steps-indicator-inactive-secondary-color:#ffffff;--e-form-steps-indicator-active-secondary-color:#ffffff;--e-form-steps-indicator-completed-secondary-color:#ffffff;--e-form-steps-divider-width:1px;--e-form-steps-divider-gap:10px;}.elementor-4291 .elementor-element.elementor-element-cd27437.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-4291 .elementor-element.elementor-element-cd27437 .elementor-field-group{padding-right:calc( 10px/2 );padding-left:calc( 10px/2 );margin-bottom:10px;}.elementor-4291 .elementor-element.elementor-element-cd27437 .elementor-form-fields-wrapper{margin-left:calc( -10px/2 );margin-right:calc( -10px/2 );margin-bottom:-10px;}.elementor-4291 .elementor-element.elementor-element-cd27437 .elementor-field-group.recaptcha_v3-bottomleft, .elementor-4291 .elementor-element.elementor-element-cd27437 .elementor-field-group.recaptcha_v3-bottomright{margin-bottom:0;}body.rtl .elementor-4291 .elementor-element.elementor-element-cd27437 .elementor-labels-inline .elementor-field-group > label{padding-left:0px;}body:not(.rtl) .elementor-4291 .elementor-element.elementor-element-cd27437 .elementor-labels-inline .elementor-field-group > label{padding-right:0px;}body .elementor-4291 .elementor-element.elementor-element-cd27437 .elementor-labels-above .elementor-field-group > label{padding-bottom:0px;}.elementor-4291 .elementor-element.elementor-element-cd27437 .elementor-field-type-html{padding-bottom:0px;}.elementor-4291 .elementor-element.elementor-element-cd27437 .elementor-field-group .elementor-field, .elementor-4291 .elementor-element.elementor-element-cd27437 .elementor-field-subgroup label{font-family:"Poppins", Sans-serif;font-size:18px;font-weight:400;}.elementor-4291 .elementor-element.elementor-element-cd27437 .e-form__buttons__wrapper__button-next{background-color:var( --e-global-color-primary );color:#ffffff;}.elementor-4291 .elementor-element.elementor-element-cd27437 .elementor-button[type="submit"]{background-color:var( --e-global-color-primary );color:#ffffff;}.elementor-4291 .elementor-element.elementor-element-cd27437 .elementor-button[type="submit"] svg *{fill:#ffffff;}.elementor-4291 .elementor-element.elementor-element-cd27437 .e-form__buttons__wrapper__button-previous{color:#ffffff;}.elementor-4291 .elementor-element.elementor-element-cd27437 .e-form__buttons__wrapper__button-next:hover{color:#ffffff;}.elementor-4291 .elementor-element.elementor-element-cd27437 .elementor-button[type="submit"]:hover{color:#ffffff;}.elementor-4291 .elementor-element.elementor-element-cd27437 .elementor-button[type="submit"]:hover svg *{fill:#ffffff;}.elementor-4291 .elementor-element.elementor-element-cd27437 .e-form__buttons__wrapper__button-previous:hover{color:#ffffff;}.elementor-4291 .elementor-element.elementor-element-676480a{width:var( --container-widget-width, 95.143% );max-width:95.143%;--container-widget-width:95.143%;--container-widget-flex-grow:0;}.elementor-4291 .elementor-element.elementor-element-676480a.elementor-element{--align-self:flex-start;--flex-grow:0;--flex-shrink:0;}@media(max-width:1366px){.elementor-4291 .elementor-element.elementor-element-1a543ed{width:var( --container-widget-width, 697.542px );max-width:697.542px;--container-widget-width:697.542px;--container-widget-flex-grow:0;}.elementor-4291 .elementor-element.elementor-element-cd27437{width:var( --container-widget-width, 697.542px );max-width:697.542px;--container-widget-width:697.542px;--container-widget-flex-grow:0;}.elementor-4291 .elementor-element.elementor-element-676480a{width:var( --container-widget-width, 909.266px );max-width:909.266px;--container-widget-width:909.266px;--container-widget-flex-grow:0;}}@media(max-width:1024px){.elementor-4291 .elementor-element.elementor-element-1a543ed{width:var( --container-widget-width, 720.539px );max-width:720.539px;--container-widget-width:720.539px;--container-widget-flex-grow:0;}.elementor-4291 .elementor-element.elementor-element-cd27437{width:var( --container-widget-width, 720.539px );max-width:720.539px;--container-widget-width:720.539px;--container-widget-flex-grow:0;}}@media(max-width:767px){.elementor-4291 .elementor-element.elementor-element-1a543ed{width:var( --container-widget-width, 844.465px );max-width:844.465px;--container-widget-width:844.465px;--container-widget-flex-grow:0;}.elementor-4291 .elementor-element.elementor-element-cd27437{width:var( --container-widget-width, 844.465px );max-width:844.465px;--container-widget-width:844.465px;--container-widget-flex-grow:0;}.elementor-4291 .elementor-element.elementor-element-676480a{width:var( --container-widget-width, 770.128px );max-width:770.128px;--container-widget-width:770.128px;--container-widget-flex-grow:0;}}/* Start custom CSS for form, class: .elementor-element-1a543ed */#btn_form{
    margin-top: -5px !important;
}


/* =============================== AJUSTES GERAIS DE CACHE E ERRO =============================== */
.elementor-message.elementor-message-danger {
    margin-top: 20px !important;
    margin-bottom: 20px !important;
}

/* Oculta o erro geral de falha do Elementor ("Seu envio falhou...") */
.elementor-message.elementor-message-danger:contains("Seu envio falhou devido a um erro.") {
    display: none !important;
}

/* =============================== LABELS VISUAIS =============================== */
.elementor-4291 .elementor-element.elementor-element-1a543ed form label {
    display: none !important;
}

.elementor-4291 .elementor-element.elementor-element-1a543ed .elementor-field-type-upload label {
    display: block !important;
}

.elementor-4291 .elementor-element.elementor-element-1a543ed .elementor-field-type-checkbox .elementor-field-option label {
    display: flex !important;
}

/* =============================== CHECKBOXES DE INTERESSE (VAGAS) =============================== */

/* TÍTULO DA PERGUNTA - CHECKBOX */
.elementor-4291 .elementor-element.elementor-element-1a543ed .elementor-field-type-checkbox > label {
    font-size: 2rem;
    font-style: normal;
    font-weight: 600;
    line-height: 120%;
    letter-spacing: -0.08rem;
    color: #fff !important;
    text-align: center !important;
    width: 100% !important;
    margin-bottom: 32px;
    text-wrap: balance;
}

/* ESCONDE CHECKBOX NATIVO */
.elementor-4291 .elementor-element.elementor-element-1a543ed .elementor-field-option input[type="checkbox"] {
    opacity: 0;
    position: absolute;
    pointer-events: none;
}

/* ESTILO DOS CHECKBOXES */
.elementor-4291 .elementor-element.elementor-element-1a543ed .elementor-field-type-checkbox .elementor-field-option label {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px 15px;
    width: 104%;
    text-align: center;
    border: 1px solid #0000FF;
    border-radius: 5px;
    font-size: 12px !important;
    color: #0000FF !important;
    font-weight: 600 !important;
    transition: background-color 0.4s ease, color 0.4s ease;
    min-height: 78px;
    background: transparent;
    cursor: pointer;
    position: relative;
    overflow: hidden;
}

/* CHECKBOX MARCADO */
.elementor-4291 .elementor-element.elementor-element-1a543ed .elementor-field-type-checkbox .elementor-field-option input[type="checkbox"]:checked + label {
    background-color: #0000FF !important;
    color: #fff !important;
    border-color: #0000FF !important;
}

/* ANIMAÇÃO DE HOVER */
.elementor-4291 .elementor-element.elementor-element-1a543ed .elementor-field-type-checkbox .elementor-field-option label::before {
    content: "";
    position: absolute;
    inset: 0;
    background-color: #0000FF;
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.3s ease;
    z-index: 0;
    border-radius: 5px;
    opacity: 0.15;
}

.elementor-4291 .elementor-element.elementor-element-1a543ed .elementor-field-type-checkbox .elementor-field-option label:hover::before {
    transform: scaleX(1);
}

.elementor-4291 .elementor-element.elementor-element-1a543ed .elementor-field-type-checkbox .elementor-field-option label > * {
    position: relative;
    z-index: 1;
}

/* GRID DE CHECKBOXES */
.elementor-4291 .elementor-element.elementor-element-1a543ed .elementor-field-type-checkbox .elementor-field-subgroup {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
}

/* RESPONSIVO CHECKBOX */
@media (max-width: 767px) {
    .elementor-4291 .elementor-element.elementor-element-1a543ed .elementor-field-type-checkbox .elementor-field-subgroup {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .elementor-4291 .elementor-element.elementor-element-1a543ed .elementor-field-type-checkbox .elementor-field-option label {
        width: 101.8% !important;
        box-sizing: border-box !important;
        min-height: 60px;
    }
}

/* =============================== UPLOAD (CORREÇÃO DE POSICIONAMENTO DO ERRO) =============================== */
.elementor-field-group-enviar_curriculo_pdf {
    display: flex;
    flex-direction: column;
}

/* ESTADO INICIAL (sem arquivo) */
.elementor-4291 .elementor-element.elementor-element-1a543ed .elementor-field-type-upload {
    min-height: 60px;
    height: auto;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #666;
    border-radius: 5px;
    width: 98% !important;
    margin: 0 auto !important;
    margin-bottom: 10px !important;
    flex-direction: column;
    text-align: center;
    box-sizing: border-box;
    transition: all 0.2s ease;
    cursor: pointer;
    background-color: transparent;
}

/* Input escondido */
.elementor-4291 .elementor-element.elementor-element-1a543ed .elementor-field-type-upload input[type="file"] {
    display: none;
}

/* Label centralizado quando sem arquivo */
.elementor-4291 .elementor-element.elementor-element-1a543ed .elementor-field-type-upload label {
    position: static !important;
    width: 100%;
    height: auto;
    padding: 4px 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: transparent;
    color: #666 !important;
    font-size: 16px;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    z-index: 2;
    transition: all 0.2s ease;
    text-align: center;
    line-height: normal;
}

.elementor-4291 .elementor-element.elementor-element-1a543ed .elementor-field-type-upload label::before {
    content: "📎";
    margin-right: 8px;
    font-size: 16px;
    vertical-align: middle;
}

/* Hover quando ainda não tem arquivo */
.elementor-4291 .elementor-element.elementor-element-1a543ed .elementor-field-type-upload:hover {
    border-color: #0000FF;
    background-color: #0000FF;
}

.elementor-4291 .elementor-element.elementor-element-1a543ed .elementor-field-type-upload:hover label {
    color: #fff !important;
}

/* Esconde o nome do arquivo inicialmente */
.elementor-4291 .elementor-element.elementor-element-1a543ed .elementor-field-type-upload .file-name-display {
    display: none;
}

/* ESTADO COM ARQUIVO SELECIONADO */
.elementor-4291 .elementor-element.elementor-element-1a543ed .elementor-field-type-upload.file-selected {
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 10px;
    background-color: #ffffff20;
    border-color: #0044ff;
    padding: 10px 15px;
}

.elementor-4291 .elementor-element.elementor-element-1a543ed .elementor-field-type-upload.file-selected .file-name-display {
    display: block;
    font-size: 12px;
    margin-bottom: 0;
    max-width: 30%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    flex-shrink: 1;
}

/* Label (botão) alinhado ao centro */
.elementor-4291 .elementor-element.elementor-element-1a543ed .elementor-field-type-upload.file-selected label {
    position: static;
    width: auto;
    padding: 6px 16px !important;
    background-color: #0000FF;
    color: #fff !important;
    border-radius: 25px;
    text-align: center;
    flex-shrink: 0;
}

/* Hover com arquivo */
.elementor-4291 .elementor-element.elementor-element-1a543ed .elementor-field-type-upload.file-selected:hover label {
    background-color: #0000FF;
    color: #fff !important;
}

/* RESPONSIVO UPLOAD */
@media (max-width: 768px) {
    .elementor-4291 .elementor-element.elementor-element-1a543ed .elementor-field-type-upload {
        width: 98.8% !important;
        margin: 0 auto !important;
        margin-bottom: 10px !important;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        text-align: center;
    }

    .elementor-4291 .elementor-element.elementor-element-1a543ed .elementor-field-type-upload.file-selected {
        flex-direction: row;
        justify-content: center;
        align-items: center;
        gap: 10px;
        flex-wrap: nowrap;
    }

    .elementor-4291 .elementor-element.elementor-element-1a543ed .elementor-field-type-upload.file-selected .file-name-display {
        font-size: 12px;
        max-width: 60%;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        text-align: center;
    }

    .elementor-4291 .elementor-element.elementor-element-1a543ed .elementor-field-type-upload.file-selected label {
        font-size: 13px !important;
        white-space: nowrap;
    }
}

/* =============================== AJUSTES DE ERRO E POSICIONAMENTO DA PRIVACIDADE =============================== */
.elementor-field-group-enviar_curriculo_pdf .elementor-message-danger:not(.validation-custom-error-final) {
    display: none !important;
}

.elementor-field-group-enviar_curriculo_pdf .validation-custom-error-final {
    order: 2;
    width: 100%;
    margin-top: 10px !important;
    margin-bottom: 20px !important;
    text-align: center !important;
}

.elementor-field-group-area_interesse .validation-custom-error-final {
    margin-top: 15px !important;
    margin-bottom: 10px !important;
}

/* CHECKBOX PRIVACIDADE (#container-checkbox-final) */
#container-checkbox-final {
    margin-top: -5px !important;
    margin-bottom: 5px !important;
}

@media (max-width: 767px) {
    #container-checkbox-final {
        margin-top: -5px !important;
    }
}

.elementor-field-group button[type="submit"] {
    margin-top: 0px !important;
}

/* Mantém todos os checkboxes como botão */
.elementor-4291 .elementor-element.elementor-element-1a543ed .elementor-field-type-checkbox:not(.lgpd-field) .elementor-field-option label {
    /* (Seu CSS original aqui) */
}

/* =============================== CONTROLE FINAL DO ERRO DO UPLOAD (SEM JS) =============================== */

/* 1️⃣ Garante que a box do upload permita saída do erro */
.elementor-4291 .elementor-element.elementor-element-1a543ed .elementor-field-type-upload {
    overflow: visible !important;
    position: relative !important;
}

/* 2️⃣ POSICIONA O ERRO FORA DA BOX */
.elementor-4291 .elementor-element.elementor-element-1a543ed .elementor-field-type-upload .elementor-message-danger,
.elementor-4291 .elementor-element.elementor-element-1a543ed .elementor-field-type-upload .validation-custom-error-final {
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    width: 100% !important;
    margin-top: 12px !important;
    margin-bottom: 25px !important;
    background: transparent !important;
    text-align: left !important;
}

/* 3️⃣ ESCONDE O ERRO NO CARREGAMENTO */
.elementor-field-group-enviar_curriculo_pdf .elementor-message-danger,
.elementor-field-group-enviar_curriculo_pdf .validation-custom-error-final {
    display: none !important;
}

/* 4️⃣ MOSTRA O ERRO APENAS APÓS TENTATIVA DE ENVIO */
.elementor-form-invalid .elementor-field-group-enviar_curriculo_pdf .elementor-message-danger,
.elementor-form-invalid .elementor-field-group-enviar_curriculo_pdf .validation-custom-error-final {
    display: block !important;
}

/* 5️⃣ GARANTE ESPAÇO ENTRE ERRO E BOTÃO */
.elementor-4291 .elementor-element.elementor-element-1a543ed .elementor-field-group button[type="submit"] {
    margin-top: 30px !important;
}

/* =============================== AJUSTES GERAIS DE MENSAGENS =============================== */
/* Esconde todas as mensagens padrão, EXCETO as liberadas abaixo */
.elementor-message.elementor-message-danger {
    display: none !important;
}

/* =============================== ÁREA DE INTERESSE - MOSTRA APENAS A MENSAGEM CUSTOM =============================== */
.elementor-field-group-area_interesse .erro-area-interesse {
    display: block !important;
    width: 100%;
    margin-top: 12px !important;
    margin-bottom: 25px !important;
    text-align: left !important;
    font-size: 14px;
    color: #ff4d4d;
}

.elementor-field-group .erro-area-interesse {
    text-align: left !important;
    margin-left: 0 !important;
    margin-right: auto !important;
}

.erro-area-interesse,
.erro-upload-custom {
    font-size: 16px !important;
    text-align: left !important;
    color: #ff4d4d;
    margin-top: 10px !important;
    margin-bottom: 25px !important;
}

/* Remove erro nativo do HTML5 e Elementor */
input:invalid,
.elementor-message-danger {
    box-shadow: none !important;
    outline: none !important;
}/* End custom CSS */
/* Start custom CSS for form, class: .elementor-element-cd27437 */#btn_form{
    margin-top: -5px !important;
}


/* =============================== AJUSTES GERAIS DE CACHE E ERRO =============================== */
.elementor-message.elementor-message-danger {
    margin-top: 20px !important;
    margin-bottom: 20px !important;
}

/* Oculta o erro geral de falha do Elementor ("Seu envio falhou...") */
.elementor-message.elementor-message-danger:contains("Seu envio falhou devido a um erro.") {
    display: none !important;
}

/* =============================== LABELS VISUAIS =============================== */
.elementor-4291 .elementor-element.elementor-element-cd27437 form label {
    display: none !important;
}

.elementor-4291 .elementor-element.elementor-element-cd27437 .elementor-field-type-upload label {
    display: block !important;
}

.elementor-4291 .elementor-element.elementor-element-cd27437 .elementor-field-type-checkbox .elementor-field-option label {
    display: flex !important;
}

/* =============================== CHECKBOXES DE INTERESSE (VAGAS) =============================== */

/* TÍTULO DA PERGUNTA - CHECKBOX */
.elementor-4291 .elementor-element.elementor-element-cd27437 .elementor-field-type-checkbox > label {
    font-size: 2rem;
    font-style: normal;
    font-weight: 600;
    line-height: 120%;
    letter-spacing: -0.08rem;
    color: #fff !important;
    text-align: center !important;
    width: 100% !important;
    margin-bottom: 32px;
    text-wrap: balance;
}

/* ESCONDE CHECKBOX NATIVO */
.elementor-4291 .elementor-element.elementor-element-cd27437 .elementor-field-option input[type="checkbox"] {
    opacity: 0;
    position: absolute;
    pointer-events: none;
}

/* ESTILO DOS CHECKBOXES */
.elementor-4291 .elementor-element.elementor-element-cd27437 .elementor-field-type-checkbox .elementor-field-option label {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px 15px;
    width: 104%;
    text-align: center;
    border: 1px solid #0000FF;
    border-radius: 5px;
    font-size: 12px !important;
    color: #0000FF !important;
    font-weight: 600 !important;
    transition: background-color 0.4s ease, color 0.4s ease;
    min-height: 78px;
    background: transparent;
    cursor: pointer;
    position: relative;
    overflow: hidden;
}

/* CHECKBOX MARCADO */
.elementor-4291 .elementor-element.elementor-element-cd27437 .elementor-field-type-checkbox .elementor-field-option input[type="checkbox"]:checked + label {
    background-color: #0000FF !important;
    color: #fff !important;
    border-color: #0000FF !important;
}

/* ANIMAÇÃO DE HOVER */
.elementor-4291 .elementor-element.elementor-element-cd27437 .elementor-field-type-checkbox .elementor-field-option label::before {
    content: "";
    position: absolute;
    inset: 0;
    background-color: #0000FF;
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.3s ease;
    z-index: 0;
    border-radius: 5px;
    opacity: 0.15;
}

.elementor-4291 .elementor-element.elementor-element-cd27437 .elementor-field-type-checkbox .elementor-field-option label:hover::before {
    transform: scaleX(1);
}

.elementor-4291 .elementor-element.elementor-element-cd27437 .elementor-field-type-checkbox .elementor-field-option label > * {
    position: relative;
    z-index: 1;
}

/* GRID DE CHECKBOXES */
.elementor-4291 .elementor-element.elementor-element-cd27437 .elementor-field-type-checkbox .elementor-field-subgroup {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
}

/* RESPONSIVO CHECKBOX */
@media (max-width: 767px) {
    .elementor-4291 .elementor-element.elementor-element-cd27437 .elementor-field-type-checkbox .elementor-field-subgroup {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .elementor-4291 .elementor-element.elementor-element-cd27437 .elementor-field-type-checkbox .elementor-field-option label {
        width: 101.8% !important;
        box-sizing: border-box !important;
        min-height: 60px;
    }
}

/* =============================== UPLOAD (CORREÇÃO DE POSICIONAMENTO DO ERRO) =============================== */
.elementor-field-group-enviar_curriculo_pdf {
    display: flex;
    flex-direction: column;
}

/* ESTADO INICIAL (sem arquivo) */
.elementor-4291 .elementor-element.elementor-element-cd27437 .elementor-field-type-upload {
    min-height: 60px;
    height: auto;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #666;
    border-radius: 5px;
    width: 98% !important;
    margin: 0 auto !important;
    margin-bottom: 10px !important;
    flex-direction: column;
    text-align: center;
    box-sizing: border-box;
    transition: all 0.2s ease;
    cursor: pointer;
    background-color: transparent;
}

/* Input escondido */
.elementor-4291 .elementor-element.elementor-element-cd27437 .elementor-field-type-upload input[type="file"] {
    display: none;
}

/* Label centralizado quando sem arquivo */
.elementor-4291 .elementor-element.elementor-element-cd27437 .elementor-field-type-upload label {
    position: static !important;
    width: 100%;
    height: auto;
    padding: 4px 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: transparent;
    color: #666 !important;
    font-size: 16px;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    z-index: 2;
    transition: all 0.2s ease;
    text-align: center;
    line-height: normal;
}

.elementor-4291 .elementor-element.elementor-element-cd27437 .elementor-field-type-upload label::before {
    content: "📎";
    margin-right: 8px;
    font-size: 16px;
    vertical-align: middle;
}

/* Hover quando ainda não tem arquivo */
.elementor-4291 .elementor-element.elementor-element-cd27437 .elementor-field-type-upload:hover {
    border-color: #0000FF;
    background-color: #0000FF;
}

.elementor-4291 .elementor-element.elementor-element-cd27437 .elementor-field-type-upload:hover label {
    color: #fff !important;
}

/* Esconde o nome do arquivo inicialmente */
.elementor-4291 .elementor-element.elementor-element-cd27437 .elementor-field-type-upload .file-name-display {
    display: none;
}

/* ESTADO COM ARQUIVO SELECIONADO */
.elementor-4291 .elementor-element.elementor-element-cd27437 .elementor-field-type-upload.file-selected {
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 10px;
    background-color: #ffffff20;
    border-color: #0044ff;
    padding: 10px 15px;
}

.elementor-4291 .elementor-element.elementor-element-cd27437 .elementor-field-type-upload.file-selected .file-name-display {
    display: block;
    font-size: 12px;
    margin-bottom: 0;
    max-width: 30%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    flex-shrink: 1;
}

/* Label (botão) alinhado ao centro */
.elementor-4291 .elementor-element.elementor-element-cd27437 .elementor-field-type-upload.file-selected label {
    position: static;
    width: auto;
    padding: 6px 16px !important;
    background-color: #0000FF;
    color: #fff !important;
    border-radius: 25px;
    text-align: center;
    flex-shrink: 0;
}

/* Hover com arquivo */
.elementor-4291 .elementor-element.elementor-element-cd27437 .elementor-field-type-upload.file-selected:hover label {
    background-color: #0000FF;
    color: #fff !important;
}

/* RESPONSIVO UPLOAD */
@media (max-width: 768px) {
    .elementor-4291 .elementor-element.elementor-element-cd27437 .elementor-field-type-upload {
        width: 98.8% !important;
        margin: 0 auto !important;
        margin-bottom: 10px !important;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        text-align: center;
    }

    .elementor-4291 .elementor-element.elementor-element-cd27437 .elementor-field-type-upload.file-selected {
        flex-direction: row;
        justify-content: center;
        align-items: center;
        gap: 10px;
        flex-wrap: nowrap;
    }

    .elementor-4291 .elementor-element.elementor-element-cd27437 .elementor-field-type-upload.file-selected .file-name-display {
        font-size: 12px;
        max-width: 60%;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        text-align: center;
    }

    .elementor-4291 .elementor-element.elementor-element-cd27437 .elementor-field-type-upload.file-selected label {
        font-size: 13px !important;
        white-space: nowrap;
    }
}

/* =============================== AJUSTES DE ERRO E POSICIONAMENTO DA PRIVACIDADE =============================== */
.elementor-field-group-enviar_curriculo_pdf .elementor-message-danger:not(.validation-custom-error-final) {
    display: none !important;
}

.elementor-field-group-enviar_curriculo_pdf .validation-custom-error-final {
    order: 2;
    width: 100%;
    margin-top: 10px !important;
    margin-bottom: 20px !important;
    text-align: center !important;
}

.elementor-field-group-area_interesse .validation-custom-error-final {
    margin-top: 15px !important;
    margin-bottom: 10px !important;
}

/* CHECKBOX PRIVACIDADE (#container-checkbox-final) */
#container-checkbox-final {
    margin-top: -5px !important;
    margin-bottom: 5px !important;
}

@media (max-width: 767px) {
    #container-checkbox-final {
        margin-top: -5px !important;
    }
}

.elementor-field-group button[type="submit"] {
    margin-top: 0px !important;
}

/* Mantém todos os checkboxes como botão */
.elementor-4291 .elementor-element.elementor-element-cd27437 .elementor-field-type-checkbox:not(.lgpd-field) .elementor-field-option label {
    /* (Seu CSS original aqui) */
}

/* =============================== CONTROLE FINAL DO ERRO DO UPLOAD (SEM JS) =============================== */

/* 1️⃣ Garante que a box do upload permita saída do erro */
.elementor-4291 .elementor-element.elementor-element-cd27437 .elementor-field-type-upload {
    overflow: visible !important;
    position: relative !important;
}

/* 2️⃣ POSICIONA O ERRO FORA DA BOX */
.elementor-4291 .elementor-element.elementor-element-cd27437 .elementor-field-type-upload .elementor-message-danger,
.elementor-4291 .elementor-element.elementor-element-cd27437 .elementor-field-type-upload .validation-custom-error-final {
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    width: 100% !important;
    margin-top: 12px !important;
    margin-bottom: 25px !important;
    background: transparent !important;
    text-align: left !important;
}

/* 3️⃣ ESCONDE O ERRO NO CARREGAMENTO */
.elementor-field-group-enviar_curriculo_pdf .elementor-message-danger,
.elementor-field-group-enviar_curriculo_pdf .validation-custom-error-final {
    display: none !important;
}

/* 4️⃣ MOSTRA O ERRO APENAS APÓS TENTATIVA DE ENVIO */
.elementor-form-invalid .elementor-field-group-enviar_curriculo_pdf .elementor-message-danger,
.elementor-form-invalid .elementor-field-group-enviar_curriculo_pdf .validation-custom-error-final {
    display: block !important;
}

/* 5️⃣ GARANTE ESPAÇO ENTRE ERRO E BOTÃO */
.elementor-4291 .elementor-element.elementor-element-cd27437 .elementor-field-group button[type="submit"] {
    margin-top: 30px !important;
}

/* =============================== AJUSTES GERAIS DE MENSAGENS =============================== */
/* Esconde todas as mensagens padrão, EXCETO as liberadas abaixo */
.elementor-message.elementor-message-danger {
    display: none !important;
}

/* =============================== ÁREA DE INTERESSE - MOSTRA APENAS A MENSAGEM CUSTOM =============================== */
.elementor-field-group-area_interesse .erro-area-interesse {
    display: block !important;
    width: 100%;
    margin-top: 12px !important;
    margin-bottom: 25px !important;
    text-align: left !important;
    font-size: 14px;
    color: #ff4d4d;
}

.elementor-field-group .erro-area-interesse {
    text-align: left !important;
    margin-left: 0 !important;
    margin-right: auto !important;
}

.erro-area-interesse,
.erro-upload-custom {
    font-size: 16px !important;
    text-align: left !important;
    color: #ff4d4d;
    margin-top: 10px !important;
    margin-bottom: 25px !important;
}

/* Remove erro nativo do HTML5 e Elementor */
input:invalid,
.elementor-message-danger {
    box-shadow: none !important;
    outline: none !important;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-676480a */.elementor-4291 .elementor-element.elementor-element-676480a a{
    color: #0000FF;
}/* End custom CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Poppins';
	font-style: normal;
	font-weight: normal;
	font-display: swap;
	src: url('https://redelesto.com.br/wp-content/uploads/2025/01/Poppins-Regular.eot');
	src: url('https://redelesto.com.br/wp-content/uploads/2025/01/Poppins-Regular.eot?#iefix') format('embedded-opentype'),
		url('https://redelesto.com.br/wp-content/uploads/2025/01/Poppins-Regular.woff2') format('woff2'),
		url('https://redelesto.com.br/wp-content/uploads/2025/01/Poppins-Regular.woff') format('woff'),
		url('https://redelesto.com.br/wp-content/uploads/2025/01/Poppins-Regular.ttf') format('truetype'),
		url('https://redelesto.com.br/wp-content/uploads/2025/01/Poppins-Regular.svg#Poppins') format('svg');
}
@font-face {
	font-family: 'Poppins';
	font-style: normal;
	font-weight: bold;
	font-display: swap;
	src: url('https://redelesto.com.br/wp-content/uploads/2025/01/Poppins-Bold.eot');
	src: url('https://redelesto.com.br/wp-content/uploads/2025/01/Poppins-Bold.eot?#iefix') format('embedded-opentype'),
		url('https://redelesto.com.br/wp-content/uploads/2025/01/Poppins-Bold.woff2') format('woff2'),
		url('https://redelesto.com.br/wp-content/uploads/2025/01/Poppins-Bold.woff') format('woff'),
		url('https://redelesto.com.br/wp-content/uploads/2025/01/Poppins-Bold.ttf') format('truetype'),
		url('https://redelesto.com.br/wp-content/uploads/2025/01/Poppins-Bold.svg#Poppins') format('svg');
}
/* End Custom Fonts CSS */