/* ==========================================================================
   Donuz Vagas — página da vaga e formulário de candidatura.
   Prefixo .dzv- para não colidir com o CSS do site.
   ========================================================================== */

.dzv-vaga {
    padding-bottom: 80px;
}

.dzv-voltar {
    margin-bottom: 24px;
}

.dzv-voltar a {
    font-size: 15px;
    font-weight: 600;
    color: #465ff1;
    text-decoration: none;
}

.dzv-voltar a:hover {
    text-decoration: underline;
}

/* Cabeçalho ---------------------------------------------------------------- */
.dzv-cabecalho {
    padding-bottom: 20px;
    border-bottom: 1px solid #e7e9ee;
    margin-bottom: 32px;
}

.dzv-area {
    display: inline-block;
    margin-bottom: 10px;
    padding: 5px 12px;
    border-radius: 20px;
    background: #eef1fe;
    color: #465ff1;
    font-size: 13px;
    font-weight: 600;
}

.dzv-cabecalho h1 {
    margin: 0 0 14px;
}

.dzv-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 22px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.dzv-meta li {
    position: relative;
    color: #646b7c;
    font-size: 15px;
}

.dzv-meta li:not(:last-child)::after {
    content: '•';
    position: absolute;
    right: -14px;
    color: #c6cbd8;
}

/* Conteúdo ----------------------------------------------------------------- */
.dzv-conteudo p {
    font-size: 16px;
    line-height: 1.7;
    color: #414652;
    margin-bottom: 16px;
}

.dzv-conteudo h2 {
    margin: 34px 0 14px;
}

/* O CSS do site zera list-style nas listas; aqui o marcador precisa aparecer. */
.dzv-conteudo ul {
    margin: 0 0 20px;
    padding-left: 22px;
    list-style: disc outside;
}

.dzv-conteudo li::marker {
    color: #465ff1;
}

.dzv-conteudo li {
    font-size: 16px;
    line-height: 1.7;
    color: #414652;
    margin-bottom: 8px;
}

.dzv-aviso {
    padding: 16px 20px;
    margin-bottom: 28px;
    border-radius: 10px;
    background: #fff6e5;
    color: #6b4e00;
    font-size: 15px;
    line-height: 1.6;
}

/* Formulário --------------------------------------------------------------- */
.dzv-form-area {
    margin-top: 48px;
    padding: 36px;
    border-radius: 14px;
    background: #f7f8fa;
}

.dzv-form-area h2 {
    margin: 0 0 8px;
}

.dzv-form-texto {
    margin-bottom: 26px;
    color: #646b7c;
    font-size: 15px;
    line-height: 1.6;
}

.dzv-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 18px;
}

.dzv-campo {
    flex: 1 1 calc(50% - 9px);
    min-width: 240px;
    display: flex;
    flex-direction: column;
}

.dzv-campo--full {
    flex: 1 1 100%;
}

.dzv-campo label {
    margin-bottom: 7px;
    font-size: 14px;
    font-weight: 600;
    color: #2f3542;
}

/* Cidade + UF dividem uma coluna da grade */
.dzv-campo--par {
    flex-direction: row;
    gap: 12px;
}

.dzv-sub {
    display: flex;
    flex-direction: column;
}

.dzv-sub--cidade {
    flex: 1 1 auto;
    min-width: 0;
}

.dzv-sub--uf {
    flex: 0 0 96px;
}

.dzv-sub select {
    height: 47px;
    padding: 0 10px;
    border: 1px solid #dfe2ea;
    border-radius: 8px;
    background: #fff;
    font-family: inherit;
    font-size: 16px;
    color: #2f3542;
    appearance: none;
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath fill='%238b92a3' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 12px center;
    background-size: 11px;
}

.dzv-sub select:focus {
    outline: 0;
    border-color: #465ff1;
    box-shadow: 0 0 0 3px rgba(70, 95, 241, .15);
}

.dzv-sub.tem-erro input,
.dzv-sub.tem-erro select {
    border-color: #e5484d;
}

.dzv-op {
    font-weight: 400;
    color: #8b92a3;
}

.dzv-campo input[type=text],
.dzv-campo input[type=email],
.dzv-campo input[type=url],
.dzv-campo textarea {
    padding: 12px 14px;
    border: 1px solid #dfe2ea;
    border-radius: 8px;
    background: #fff;
    font-family: inherit;
    font-size: 16px;
    /* 16px evita o zoom automático do iOS */
    color: #2f3542;
}

.dzv-campo input:focus,
.dzv-campo textarea:focus {
    outline: 0;
    border-color: #465ff1;
    box-shadow: 0 0 0 3px rgba(70, 95, 241, .15);
}

.dzv-campo input[type=file] {
    padding: 11px;
    border: 1px dashed #c3c9d8;
    border-radius: 8px;
    background: #fff;
    font-size: 14px;
}

.dzv-campo.tem-erro input,
.dzv-campo.tem-erro textarea {
    border-color: #e5484d;
}

.dzv-erro {
    margin-top: 6px;
    color: #e5484d;
    font-size: 13px;
}

.dzv-consent label {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    font-weight: 400;
    font-size: 14px;
    line-height: 1.5;
    color: #414652;
}

.dzv-consent input {
    margin-top: 3px;
    flex: 0 0 auto;
}

/* Armadilha de robô: invisível para gente */
.dzv-hp {
    position: absolute;
    left: -9999px;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

.dzv-acoes {
    margin-top: 26px;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 16px;
}

.dzv-acoes button[disabled] {
    opacity: .6;
    cursor: progress;
}

.dzv-retorno {
    margin: 0;
    font-size: 15px;
    line-height: 1.5;
}

.dzv-retorno.ok {
    color: #1d8a4e;
    font-weight: 600;
}

.dzv-retorno.falhou {
    color: #e5484d;
}

/* Confirmação de envio ------------------------------------------------------ */
.dzv-sucesso {
    text-align: center;
    padding: 20px 10px 10px;
}

.dzv-sucesso-icone {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 64px;
    height: 64px;
    margin-bottom: 20px;
    border-radius: 50%;
    background: #e3f6ea;
    color: #1d8a4e;
    animation: dzv-surge .35s ease;
}

@keyframes dzv-surge {
    from {
        opacity: 0;
        transform: scale(.8);
    }

    to {
        opacity: 1;
        transform: none;
    }
}

.dzv-sucesso h2 {
    margin: 0 0 12px;
}

.dzv-sucesso-texto {
    max-width: 480px;
    margin: 0 auto 10px;
    font-size: 16px;
    line-height: 1.6;
    color: #414652;
}

.dzv-sucesso-detalhe {
    max-width: 480px;
    margin: 0 auto 26px;
    font-size: 15px;
    line-height: 1.6;
    color: #646b7c;
}

.dzv-sucesso-acoes {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 10px 24px;
}

.dzv-sucesso-link {
    font-size: 15px;
    font-weight: 600;
    color: #465ff1;
    text-decoration: none;
}

.dzv-sucesso-link:hover {
    text-decoration: underline;
}

@media (prefers-reduced-motion: reduce) {
    .dzv-sucesso-icone {
        animation: none;
    }
}

/* Cards na página trabalhe-conosco ------------------------------------------ */
.dzv-sem-vagas {
    padding: 22px;
    border-radius: 10px;
    background: #f7f8fa;
    color: #646b7c;
    font-size: 16px;
    line-height: 1.6;
}

@media (max-width: 767px) {
    .dzv-form-area {
        padding: 24px 18px;
    }

    .dzv-campo {
        flex: 1 1 100%;
    }
}
