/**

 * Nerdin — Página individual da vaga

 * Identidade: #10254A · #EF5425 · branco

 */



.vaga-pagina {

    --vaga-blue: #10254A;

    --vaga-blue-light: #3B6DB5;

    --vaga-brand: #EF5425;

    --vaga-brand-hover: #D9481C;

    --vaga-green: #3a876c;

    --vaga-border: #EEF2F7;

    --vaga-shadow: 0 2px 16px rgba(16, 37, 74, 0.06);

    --vaga-shadow-hover: 0 8px 24px rgba(16, 37, 74, 0.1);

    --vaga-transition: 0.22s ease;

    background-color: #f7f9fc;

}



.vaga-pagina .vaga-breadcrumb {

    margin-bottom: 1.15rem;

}



.vaga-breadcrumb__list {

    display: flex;

    flex-wrap: wrap;

    align-items: center;

    gap: 0.2rem 0;

    list-style: none;

    margin: 0;

    padding: 0;

    font-size: 0.8125rem;

    color: #64748b;

    line-height: 1.45;

}



.vaga-breadcrumb__item + .vaga-breadcrumb__item::before {

    content: "›";

    margin: 0 0.4rem;

    color: #94a3b8;

    font-weight: 600;

}



.vaga-breadcrumb__item a {

    color: #475569;

    text-decoration: none;

    transition: color var(--vaga-transition);

}



.vaga-breadcrumb__item a:hover {

    color: var(--vaga-blue);

    text-decoration: underline;

}



.vaga-breadcrumb__item--current {

    color: var(--vaga-blue);

    font-weight: 600;

}



/* Hero banner */

.vaga-pagina .header-degrade .vaga-hero-h1 {

    font-size: clamp(1.35rem, 2.5vw, 1.65rem);

    font-weight: 700;

    letter-spacing: -0.02em;

    line-height: 1.25;

}



/* Bloco principal da vaga */

.vaga-hero-block {

    margin-bottom: 1.5rem;

}



.vaga-pagina-titulo {

    font-size: clamp(1.65rem, 2.8vw, 1.95rem);

    font-weight: 700;

    color: var(--vaga-blue);

    line-height: 1.2;

    letter-spacing: -0.02em;

    margin-bottom: 0.65rem;

}



/* Linha de destaque: local, contratação, salário, candidaturas */

.vaga-destaque-line {

    display: flex;

    flex-wrap: wrap;

    align-items: center;

    gap: 0.65rem 1.5rem;

}



.vaga-destaque-item {

    display: inline-flex;

    align-items: center;

    gap: 0.5rem;

    font-size: 0.9375rem;

    font-weight: 600;

    color: var(--vaga-blue);

    line-height: 1.35;

}



.vaga-destaque-item i {

    color: var(--vaga-blue-light);

    font-size: 0.875rem;

    width: 1.1rem;

    text-align: center;

    flex-shrink: 0;

}



.vaga-destaque-item--muted {

    font-weight: 500;

    color: #64748b;

}



.vaga-destaque-item--muted i {

    color: #94a3b8;

}



/* Badges técnicos */

.vaga-badges-tech .badge-vaga-info {

    background-color: #eef2f7;

    color: #475569;

    font-weight: 500;

    font-size: 0.78rem;

    padding: 0.42rem 0.82rem;

    border-radius: 999px;

    transition: background var(--vaga-transition), transform var(--vaga-transition);

}



.vaga-badges-tech .badge-vaga-info:hover {

    background-color: #e2e8f0;

    transform: translateY(-1px);

}



/* Botão candidatar */

.vaga-pagina .btn-candidatar-vaga {

    font-size: 1.125rem !important;

    font-weight: 700 !important;

    padding: 0.95rem 1.85rem !important;

    min-height: 52px;

    border-radius: 12px !important;

    background-color: var(--vaga-brand) !important;

    border-color: var(--vaga-brand) !important;

    box-shadow: 0 4px 16px rgba(239, 84, 37, 0.22);

    transition: transform var(--vaga-transition), box-shadow var(--vaga-transition), background-color var(--vaga-transition) !important;

}



.vaga-pagina .btn-candidatar-vaga:hover {

    background-color: var(--vaga-brand-hover) !important;

    border-color: var(--vaga-brand-hover) !important;

    transform: translateY(-2px);

    box-shadow: 0 8px 24px rgba(239, 84, 37, 0.32) !important;

}



.vaga-pagina .btn-candidatura-externa-destaque {

    font-size: 1.05rem !important;

    padding: 0.75rem 1.5rem !important;

    border-radius: 12px !important;

}



/* Tabs */

.vaga-tabs-card {

    border: 1px solid var(--vaga-border);

    border-radius: 16px;

    box-shadow: var(--vaga-shadow);

    background: #fff;

    overflow: hidden;

}



.vaga-tabs-card .card-body {

    padding: 1.35rem 1.45rem 1.5rem;

}



.vaga-tabs-card .tab-pane.fade {

    transition: opacity 0.28s ease;

}



.vaga-pagina .nav-tabs.vaga-tabs {

    border-bottom: 2px solid var(--vaga-border);

    gap: 0.15rem;

    margin-bottom: 1.35rem !important;

    padding-bottom: 0;

}



.vaga-pagina .nav-tabs.vaga-tabs .nav-link {

    border: none;

    border-radius: 10px 10px 0 0;

    border-bottom: 5px solid transparent;

    margin-bottom: -3px;

    font-weight: 600;

    font-size: 0.9375rem;

    color: #64748b;

    padding: 0.7rem 1.15rem;

    background: transparent;

    transition: color var(--vaga-transition), border-color var(--vaga-transition), background var(--vaga-transition);

}



.vaga-pagina .nav-tabs.vaga-tabs .nav-link:hover {

    color: var(--vaga-blue);

    background: #f8fafc;

    border-color: transparent;

}



.vaga-pagina .nav-tabs.vaga-tabs .nav-link.active {

    color: var(--vaga-blue) !important;

    background: transparent !important;

    border-color: transparent !important;

    border-bottom-color: var(--vaga-brand) !important;

    box-shadow: none;

}



.vaga-tab-pane-title {

    font-size: 1.125rem;

    font-weight: 700;

    color: var(--vaga-blue);

    margin: 0 0 1rem;

    padding-bottom: 0.5rem;

    border-bottom: 2px solid var(--vaga-border);

}



/* Conteúdo empilhado (sem abas) */

.vaga-tabs-card--stacked {

    overflow: visible;

}



.vaga-tabs-card--stacked .vaga-tab-section {

    padding-top: 1.5rem;

    margin-top: 1.5rem;

    border-top: 1px solid var(--vaga-border);

}



.vaga-tabs-card--stacked .vaga-tab-section:first-child {

    padding-top: 0;

    margin-top: 0;

    border-top: none;

}



.vaga-courses-banner-wrap {

    padding-top: 1.5rem;

    margin-top: 1.5rem;

    border-top: 1px solid var(--vaga-border);

}



.vaga-courses-banner-wrap .nerdin-courses-premium-block {

    margin: 0;

}



.vaga-courses-banner-wrap .nerdin-courses-premium-block .container {

    max-width: 100%;

    padding-left: 0;

    padding-right: 0;

}



.vaga-courses-banner-wrap .nerdin-courses-premium-cta {

    box-shadow: 0 8px 28px rgba(16, 37, 74, 0.1);

}



@media (max-width: 767.98px) {

    .vaga-courses-banner-wrap .nerdin-courses-premium-cta__visual {

        display: none;

    }



    .vaga-courses-banner-wrap .nerdin-courses-premium-cta__layout {

        grid-template-columns: minmax(0, 1fr);

    }

}



.vaga-tests-banner-wrap {

    margin-top: 1.25rem;

    margin-bottom: 0.25rem;

}



.vaga-tests-banner-wrap .nerdin-footer-career-cta {

    margin-top: 0;

    padding: 0;

}



.vaga-tests-banner-wrap .nerdin-footer-promo-block .container {

    max-width: 100%;

    padding-left: 0;

    padding-right: 0;

}



.vaga-tests-banner-wrap .nerdin-footer-cta {

    box-shadow: 0 8px 28px rgba(15, 26, 50, 0.14);

}



/* Conteúdo das abas */

.vaga-tab-conteudo {

    max-width: 65ch;

    font-size: 1rem;

    color: #374151;

    line-height: 1.9;

}



.vaga-tab-conteudo p,

.vaga-secao-paragrafo {

    margin-bottom: 1.35rem;

}



.vaga-bloco-titulo {

    font-size: 1.125rem;

    font-weight: 700;

    color: var(--vaga-blue);

    margin: 2rem 0 1rem;

    padding-bottom: 0.4rem;

    border-bottom: 1px solid var(--vaga-border);

    letter-spacing: -0.01em;

}



.vaga-bloco-titulo:first-child {

    margin-top: 0;

}



.vaga-secao-lista {

    margin: 0.85rem 0 1.5rem;

    padding-left: 0;

    list-style: none;

}



.vaga-secao-lista li {

    position: relative;

    padding-left: 1.75rem;

    margin-bottom: 0.85rem;

    line-height: 1.85;

}



.vaga-tab-requisitos .vaga-secao-lista--bullets li::before,

.vaga-tab-requisitos .vaga-secao-lista li::before {

    content: "✔";

    position: absolute;

    left: 0;

    color: var(--vaga-green);

    font-size: 0.85rem;

    font-weight: 700;

}



.vaga-requisitos-grupos {

    display: flex;

    flex-direction: column;

    gap: 1.35rem;

}



.vaga-requisitos-grupo__titulo {

    font-size: 0.9375rem;

    font-weight: 700;

    color: var(--vaga-blue);

    margin: 0 0 0.6rem;

    letter-spacing: -0.01em;

    line-height: 1.35;

}



.vaga-requisitos-grupo__lista {

    list-style: none;

    margin: 0;

    padding: 0;

    display: grid;

    gap: 0.5rem;

}



.vaga-requisitos-grupo__item {

    position: relative;

    padding-left: 1.55rem;

    margin: 0;

    line-height: 1.65;

    color: #374151;

    font-size: 1rem;

}



.vaga-requisitos-grupo__item::before {

    content: "✔";

    position: absolute;

    left: 0;

    top: 0.12rem;

    color: var(--vaga-green);

    font-size: 0.85rem;

    font-weight: 700;

}



.vaga-beneficios-lista__items {

    list-style: none;

    margin: 0;

    padding: 0;

    display: grid;

    gap: 0.5rem;

}



.vaga-beneficios-lista__item {

    position: relative;

    padding-left: 1.55rem;

    margin: 0;

    line-height: 1.65;

    color: #374151;

    font-size: 1rem;

}



.vaga-beneficios-lista__item::before {

    content: "✔";

    position: absolute;

    left: 0;

    top: 0.12rem;

    color: var(--vaga-green);

    font-size: 0.85rem;

    font-weight: 700;

}



.vaga-tab-beneficios .vaga-secao-lista li {

    display: flex;

    align-items: flex-start;

    gap: 0.65rem;

    padding: 0.75rem 1rem;

    margin-bottom: 0.6rem;

    background: #f8fafc;

    border: 1px solid var(--vaga-border);

    border-radius: 10px;

    padding-left: 1rem;

}



.vaga-tab-beneficios .vaga-secao-lista li::before {

    content: "✓";

    position: static;

    flex-shrink: 0;

    color: var(--vaga-green);

    font-weight: 700;

}



.vaga-secao-lista--numerada {

    padding-left: 1.5rem;

    list-style: decimal;

}



.vaga-secao-lista--numerada li {

    padding-left: 0.35rem;

}



.vaga-secao-lista--numerada li::before {

    content: none;

}



.vaga-salario {

    font-size: 0.9375rem;

    font-weight: 600;

    color: #fff;

    background-color: var(--vaga-green);

    padding: 0.15rem 0.85rem;

    border-radius: 2rem;

    display: inline-block;

}



/* Sidebar Premium */

.vaga-premium-card__link {

    color: inherit;

    display: block;

}



.vaga-premium-card__link:hover {

    color: inherit;

}



.vaga-premium-card {

    background: #fff;

    border: 1px solid #f0ead8 !important;

    border-radius: 16px !important;

    box-shadow: var(--vaga-shadow) !important;

    overflow: hidden;

    margin-bottom: 1rem;

}



.vaga-premium-card__header {

    background: linear-gradient(135deg, #fffdf8 0%, #faf6eb 100%);

    padding: 1.4rem 1.45rem 1.1rem;

    border-bottom: 1px solid #f5f0e4;

}



.vaga-premium-card__title {

    font-size: 1.0625rem;

    font-weight: 700;

    color: var(--vaga-blue);

    margin: 0 0 0.45rem;

    letter-spacing: -0.01em;

}



.vaga-premium-card__subtitle {

    font-size: 0.8125rem;

    color: #64748b;

    line-height: 1.55;

    margin: 0;

}



.vaga-premium-card__body {

    padding: 1.3rem 1.45rem 1.45rem;

}



.vaga-premium-card__list {

    list-style: none;

    padding: 0;

    margin: 0 0 1.2rem;

}



.vaga-premium-card__item {

    font-size: 0.8125rem;

    color: #475569;

    margin-bottom: 0.65rem;

    display: flex;

    align-items: flex-start;

    gap: 0.6rem;

    line-height: 1.5;

}



.vaga-premium-card__item:last-child {

    margin-bottom: 0;

}



.vaga-premium-card__item i {

    color: var(--vaga-green);

    margin-top: 0.15rem;

    font-size: 0.72rem;

    flex-shrink: 0;

    width: 0.85rem;

    text-align: center;

}



.vaga-premium-card__btn {

    display: block;

    width: 100%;

    text-align: center;

    padding: 0.82rem 1rem;

    border-radius: 10px;

    font-weight: 700;

    font-size: 0.9375rem;

    background: linear-gradient(135deg, #f4d03f, #d4ac0d);

    color: #1a1a1a !important;

    border: none;

    box-shadow: 0 4px 14px rgba(212, 172, 13, 0.22);

    transition: transform var(--vaga-transition), box-shadow var(--vaga-transition);

}



.vaga-premium-card__link:hover .vaga-premium-card__btn {

    transform: translateY(-2px);

    box-shadow: 0 6px 20px rgba(212, 172, 13, 0.32);

}



.vaga-sidebar-sticky {

    position: sticky;

    top: 20px;

}



/* AdSense slots */

.vaga-ad-slot {

    position: relative;

    width: 100%;

    margin: 1rem 0;

}



.vaga-ad-slot--vertical {

    width: 100%;

    margin: 0 !important;

}



.vaga-ad-content {

    position: relative;

    z-index: 2;

    min-height: inherit;

    /* AdSense: o <ins> deve permanecer mensurável antes do fill */
    opacity: 1;

    visibility: visible;

    pointer-events: auto;

}

/* Nunca ocultar o conteúdo do anúncio enquanto aguarda filled/unfilled */
.vaga-ad-slot:not(.is-unfilled) .vaga-ad-content,
.vaga-ad-slot:not(.is-unfilled) .vaga-ad-content .adsbygoogle {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
}



.vaga-ad-placeholder {

    position: absolute;

    inset: 0;

    z-index: 1;

    display: flex;

    align-items: center;

    justify-content: center;

    border: 1px dashed rgba(203, 213, 225, 0.9);

    border-radius: 12px;

    background: #fafbfd;

    transition: opacity var(--vaga-transition);

    /* Não bloqueia o clique/medida do AdSense por baixo */
    pointer-events: none;

}

.vaga-ad-slot.is-unfilled {
    display: none !important;
}



.vaga-ad-slot.is-filled .vaga-ad-placeholder {

    opacity: 0;

    pointer-events: none;

    visibility: hidden;

}



.vaga-ad-placeholder__inner {

    text-align: center;

    padding: 1rem;

}



.vaga-ad-placeholder__label {

    display: block;

    font-size: 0.6875rem;

    font-weight: 600;

    letter-spacing: 0.12em;

    text-transform: uppercase;

    color: #b0bcc9;

    margin-bottom: 0.35rem;

}



.vaga-ad-placeholder__text {

    font-size: 0.8125rem;

    color: #94a3b8;

    margin: 0 0 0.65rem;

}



.vaga-ad-placeholder__promo {

    font-size: 0.8125rem;

    font-weight: 600;

    color: var(--vaga-blue-light);

    text-decoration: none;

    transition: color var(--vaga-transition);

}



.vaga-ad-placeholder__promo:hover {

    color: var(--vaga-brand);

}



/* Vagas relacionadas */

.vaga-relacionadas-section .card {

    border: 1px solid var(--vaga-border);

    border-radius: 16px;

    box-shadow: var(--vaga-shadow);

    overflow: hidden;

}



.vaga-relacionadas-section .card-header {

    font-size: 1.125rem;

    font-weight: 700;

    color: var(--vaga-blue);

    background: #fafbfc;

    border-bottom: 1px solid var(--vaga-border);

    padding: 1rem 1.25rem;

}



.vaga-relacionadas-section .card-body {

    padding: 1.25rem;

}



.vaga-relacionada-card {

    border: 1px solid var(--vaga-border);

    border-radius: 14px;

    padding: 1.15rem 1.2rem;

    background: #fff;

    height: 100%;

    box-shadow: var(--vaga-shadow);

    cursor: pointer;

    transition: transform var(--vaga-transition), box-shadow var(--vaga-transition), border-color var(--vaga-transition);

}



.vaga-relacionada-card:hover {

    transform: translateY(-2px);

    box-shadow: var(--vaga-shadow-hover);

    border-color: rgba(16, 37, 74, 0.12);

}



.vaga-relacionada-card__link {

    text-decoration: none;

    color: inherit;

    display: block;

}



.vaga-relacionada-titulo {

    font-size: 1rem;

    font-weight: 700;

    color: var(--vaga-blue);

    margin-bottom: 0.25rem;

    line-height: 1.35;

    transition: color var(--vaga-transition);

}



.vaga-relacionada-card:hover .vaga-relacionada-titulo {

    color: var(--vaga-blue-light);

}



.vaga-relacionada-empresa {

    font-size: 0.85rem;

    color: #64748b;

    margin-bottom: 0.55rem;

}



.vaga-relacionada-info {

    display: flex;

    flex-wrap: wrap;

    gap: 0.45rem 0.75rem;

    font-size: 0.8125rem;

    color: #64748b;

}



.vaga-relacionada-info-item {

    display: inline-flex;

    align-items: center;

    gap: 0.3rem;

}



.vaga-relacionada-info-item i {

    color: var(--vaga-blue-light);

    font-size: 0.78rem;

}



.vaga-relacionada-salario {

    color: var(--vaga-green);

    font-weight: 600;

}



.vaga-relacionada-tags {

    display: flex;

    flex-wrap: wrap;

    gap: 0.35rem;

    margin-top: 0.65rem;

}



.vaga-relacionada-tag {

    font-size: 0.72rem;

    font-weight: 500;

    color: #475569;

    background: #f1f5f9;

    border: 1px solid var(--vaga-border);

    border-radius: 999px;

    padding: 0.2rem 0.55rem;

    text-decoration: none;

    transition: background var(--vaga-transition), color var(--vaga-transition);

}



.vaga-relacionada-tag:hover {

    background: #eef2f7;

    color: var(--vaga-blue);

}



.vaga-relacionada-footer {

    margin-top: 0.85rem;

    padding-top: 0.75rem;

    border-top: 1px solid var(--vaga-border);

}



.vaga-relacionada-btn {

    font-size: 0.8125rem !important;

    font-weight: 600 !important;

    border-radius: 8px !important;

    border-color: var(--vaga-blue-light) !important;

    color: var(--vaga-blue) !important;

    transition: all var(--vaga-transition) !important;

}



.vaga-relacionada-btn:hover {

    background: var(--vaga-blue) !important;

    border-color: var(--vaga-blue) !important;

    color: #fff !important;

    transform: translateY(-1px);

}



.vaga-relacionada-oculta {

    display: none !important;

}



@media (max-width: 991px) {

    .vaga-pagina .btn-candidatar-vaga,

    .vaga-pagina .btn-candidatura-externa-destaque {

        width: 100%;

        display: block;

        text-align: center;

    }



    .vaga-pagina .nav-tabs.vaga-tabs {

        flex-wrap: nowrap;

        overflow-x: auto;

        -webkit-overflow-scrolling: touch;

    }



    .vaga-pagina .nav-tabs.vaga-tabs .nav-link {

        white-space: nowrap;

        font-size: 0.875rem;

        padding: 0.55rem 0.85rem;

    }



    .vaga-destaque-line {

        gap: 0.55rem 1.1rem;

    }

}



@media (prefers-reduced-motion: reduce) {

    .vaga-pagina * {

        transition-duration: 0.01ms !important;

    }

    .vaga-pagina .btn-favoritar-vaga.vaga-favorito-pop {

        animation: none !important;

    }

}



/* —— Polimento fase final —— */

.vaga-pagina-main {

    padding-top: 1.75rem !important;

    padding-bottom: 2.5rem !important;

}



.vaga-pagina-main-row {

    align-items: flex-start;

}



.vaga-ad-top-wrap {

    padding-top: 0.5rem !important;

    padding-bottom: 0.35rem !important;

}



/* Ad topo: reserva min-height; NUNCA max-height/overflow:hidden — isso cortava o criativo
   enquanto o JS ainda não marcava is-filled (AdSense renderiza o iframe antes do status). */

.vaga-ad-slot--top {

    margin: 0.25rem 0 0.5rem !important;

    overflow: visible !important;

}



.vaga-ad-slot--top:not(.is-filled) {

    min-height: var(--vaga-ad-placeholder-h, 120px);

    height: auto;

    max-height: none;

    overflow: visible !important;

}



/* Conteúdo do anúncio permanece VISÍVEL (AdSense exige área mensurável).
   O placeholder fica atrás até data-ad-status=filled — nunca ocultar o <ins>. */
.vaga-ad-slot--top:not(.is-filled) .vaga-ad-content {

    position: relative;

    z-index: 2;

    min-height: inherit;

    max-height: none;

    overflow: visible;

    opacity: 1;

    visibility: visible;

    pointer-events: auto;

}



.vaga-ad-slot--top.is-filled {

    height: auto;

    min-height: 0;

    max-height: none !important;

    overflow: visible !important;

}



.vaga-ad-slot--top.is-filled .vaga-ad-content {

    position: relative;

    z-index: 2;

    opacity: 1;

    visibility: visible;

    pointer-events: auto;

    min-height: 0 !important;

    max-height: none;

    overflow: visible;

}



.vaga-ad-slot.is-filled {

    overflow: visible;

}



.vaga-ad-slot.is-filled .vaga-ad-content {

    max-height: none;

    min-height: 0;

    overflow: visible;

}



.vaga-ad-slot:not(.vaga-ad-slot--vertical):not(.vaga-ad-slot--top) {

    margin: 0.75rem 0;

}



/* Placeholder lateral: reserva min-height sem cortar o criativo */

.vaga-ad-slot--vertical {

    overflow: visible !important;

}



.vaga-ad-slot--vertical:not(.is-filled) {

    min-height: var(--vaga-ad-placeholder-h, 240px);

    height: auto;

    max-height: none;

    overflow: visible !important;

}



.vaga-ad-slot--vertical:not(.is-filled) .vaga-ad-content {

    position: relative;

    z-index: 2;

    min-height: inherit;

    max-height: none;

    overflow: visible;

    opacity: 1;

    visibility: visible;

    pointer-events: auto;

}



.vaga-ad-slot--vertical.is-filled {

    height: auto;

    min-height: 0;

    max-height: none !important;

    overflow: visible !important;

}



.vaga-ad-slot--vertical.is-filled .vaga-ad-content {

    position: relative;

    z-index: 2;

    opacity: 1;

    visibility: visible;

    pointer-events: auto;

    min-height: 0 !important;

    max-height: none;

    overflow: visible;

}



.vaga-ad-slot--vertical .vaga-ad-placeholder {

    display: flex;

    align-items: center;

    justify-content: center;

    padding: 0;

}



.vaga-ad-slot--vertical .vaga-ad-placeholder__inner {

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;

    width: 100%;

    max-width: 100%;

    padding: 0.65rem 0.5rem;

    text-align: center;

    gap: 0.35rem;

    margin: 0;

}



.vaga-ad-slot--vertical .vaga-ad-placeholder__label {

    margin-bottom: 0;

}



.vaga-ad-slot--vertical .vaga-ad-placeholder__text {

    margin: 0;

    max-width: 11rem;

    line-height: 1.45;

}



.vaga-ad-slot--vertical .vaga-ad-placeholder__promo {

    margin-top: 0.15rem;

}



.vaga-ad-placeholder__inner {

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;

}



/* Sidebar Premium alinhada ao hero */

.vaga-sidebar-col {

    align-self: flex-start;

}



.vaga-sidebar-sticky {

    top: 24px;

}



.vaga-sidebar-sticky--premium {

    padding-top: 0;

}



.vaga-sidebar-col--premium .vaga-premium-card {

    margin-top: 0;

    margin-bottom: 0;

}



.vaga-hero-block {

    margin-bottom: 1.65rem;

}



/* Leitura da descrição */

.vaga-tab-conteudo {

    line-height: 2;

}



.vaga-tab-conteudo p,

.vaga-secao-paragrafo {

    margin-bottom: 1.5rem;

}



.vaga-tab-conteudo .vaga-bloco-titulo {

    font-size: 1.2rem;

    font-weight: 700;

    margin: 2.75rem 0 1.15rem;

    padding: 1.15rem 0 0.55rem;

    border-top: 1px solid var(--vaga-border);

    border-bottom: 1px solid rgba(16, 37, 74, 0.08);

    letter-spacing: -0.015em;

}



.vaga-tab-conteudo .vaga-bloco-titulo:first-child {

    margin-top: 0;

    padding-top: 0;

    border-top: none;

}



.vaga-tab-conteudo .vaga-bloco-titulo + p,

.vaga-tab-conteudo .vaga-bloco-titulo + .vaga-secao-paragrafo,

.vaga-tab-conteudo .vaga-bloco-titulo + .vaga-secao-lista {

    margin-top: 0.25rem;

}



.vaga-secao-lista {

    margin: 1rem 0 1.75rem;

}



.vaga-secao-lista li {

    margin-bottom: 0.95rem;

    line-height: 1.95;

}



/* Mensagem de contato Premium */

.vaga-contato-premium-msg {
    display: inline;
    font-size: 0.875rem;
    font-weight: 400;
    color: #64748b;
    line-height: 1.55;
}

.vaga-contato-premium-msg .vaga-contato-premium-link {
    color: #EF5425;
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.vaga-contato-premium-msg .vaga-contato-premium-link:hover {
    color: #D9481C;
}



/* Botão favorito — página da vaga */

.vaga-pagina .vaga-favorito-wrap {

    align-self: stretch;

}



.vaga-pagina .btn-favoritar-vaga {

    min-width: 52px;

    min-height: 52px;

    padding: 0.5rem;

    border-radius: 12px !important;

    transition: color 0.22s ease, transform 0.22s ease, background-color 0.22s ease, box-shadow 0.22s ease;

}



.vaga-pagina .btn-favoritar-vaga:hover {

    background: rgba(232, 62, 140, 0.08) !important;

    transform: scale(1.08);

    box-shadow: 0 2px 10px rgba(232, 62, 140, 0.12);

}



.vaga-pagina .btn-favoritar-vaga.is-favorita {

    background: rgba(232, 62, 140, 0.1) !important;

}



.vaga-pagina .btn-favoritar-vaga.is-favorita:hover {

    background: rgba(232, 62, 140, 0.16) !important;

}



@keyframes vaga-favorito-pop {

    0% { transform: scale(1); }

    35% { transform: scale(1.18); }

    100% { transform: scale(1); }

}



.vaga-pagina .btn-favoritar-vaga.vaga-favorito-pop {

    animation: vaga-favorito-pop 0.38s ease;

}



/* Botão compartilhar — página da vaga */

.vaga-pagina .vaga-compartilhar-wrap {

    position: relative;

    align-self: stretch;

    display: inline-flex;

    align-items: center;

}



.vaga-pagina .btn-compartilhar-vaga {

    display: inline-flex;

    align-items: center;

    justify-content: center;

    gap: 0.45rem;

    min-height: 52px;

    padding: 0.5rem 1rem;

    border-radius: 12px !important;

    border: 1px solid #dbe3ee !important;

    background: #fff !important;

    color: var(--vaga-blue) !important;

    font-size: 0.875rem;

    font-weight: 600;

    line-height: 1;

    box-shadow: none;

    transition: color 0.22s ease, transform 0.22s ease, background-color 0.22s ease, border-color 0.22s ease, box-shadow 0.22s ease;

}



.vaga-pagina .btn-compartilhar-vaga i {

    font-size: 0.9rem;

    opacity: 0.88;

}



.vaga-pagina .btn-compartilhar-vaga:hover {

    color: var(--vaga-blue) !important;

    background: #f8fafc !important;

    border-color: #c9d5e3 !important;

    transform: translateY(-1px);

    box-shadow: 0 4px 14px rgba(16, 37, 74, 0.08);

}



.vaga-pagina .vaga-compartilhar-menu {

    position: absolute;

    top: calc(100% + 0.45rem);

    left: 0;

    z-index: 30;

    min-width: 11.5rem;

    padding: 0.35rem;

    border-radius: 12px;

    border: 1px solid #e2e8f0;

    background: #fff;

    box-shadow: 0 10px 28px rgba(16, 37, 74, 0.12);

}



.vaga-pagina .vaga-compartilhar-menu__item {

    display: flex;

    align-items: center;

    gap: 0.55rem;

    width: 100%;

    padding: 0.62rem 0.75rem;

    border: none;

    border-radius: 8px;

    background: transparent;

    color: #334155;

    font-size: 0.875rem;

    font-weight: 600;

    text-decoration: none;

    text-align: left;

    cursor: pointer;

    transition: background-color 0.18s ease, color 0.18s ease;

}



.vaga-pagina .vaga-compartilhar-menu__item:hover {

    background: #f8fafc;

    color: var(--vaga-blue);

}



.vaga-pagina .vaga-compartilhar-menu__item--whatsapp i {

    color: #25d366;

}



.vaga-pagina .vaga-compartilhar-menu__item.is-copiado {

    color: var(--vaga-green);

}



/* CTA flutuante removido — fallback para cache antigo */
.vaga-floating-cta,
.vaga-pagina .vaga-floating-cta {
    display: none !important;
}

body.vaga-has-floating-cta .vaga-pagina-main {
    padding-bottom: 1.5rem;
}

/* Ritmo visual geral */

.vaga-tabs-card {

    margin-bottom: 0;

}



.vaga-relacionadas-section {

    margin-top: 0.25rem;

}



/* Prepare-se para esta vaga */

.vaga-preparacao-section {

    margin-bottom: 0.25rem;

}



.vaga-preparacao-card {

    border: 1px solid var(--vaga-border);

    border-radius: 14px;

    background: #fff;

    box-shadow: var(--vaga-shadow);

    overflow: hidden;

}



.vaga-preparacao-card__body {

    padding: 1.5rem 1.35rem 1.4rem;

}



.vaga-preparacao-header {

    margin-bottom: 1.35rem;

}



.vaga-preparacao-title {

    font-size: 1.25rem;

    font-weight: 700;

    color: var(--vaga-blue);

    margin: 0 0 0.45rem;

    letter-spacing: -0.02em;

    line-height: 1.35;

}



.vaga-preparacao-subtitle {

    margin: 0;

    color: #64748b;

    font-size: 0.98rem;

    line-height: 1.65;

    max-width: 52rem;

}



.vaga-preparacao-grid {

    margin-top: 0.15rem;

}



.vaga-preparacao-item {

    height: 100%;

    display: flex;

    flex-direction: column;

    border: 1px solid var(--vaga-border);

    border-radius: 14px;

    padding: 1.15rem 1.15rem 1.05rem;

    background: #fff;

    box-shadow: var(--vaga-shadow);

    transition: transform var(--vaga-transition), box-shadow var(--vaga-transition), border-color var(--vaga-transition);

}



.vaga-preparacao-item:hover {

    transform: translateY(-2px);

    box-shadow: var(--vaga-shadow-hover);

    border-color: rgba(16, 37, 74, 0.12);

}



.vaga-preparacao-item__icon {

    font-size: 1.45rem;

    line-height: 1;

    margin-bottom: 0.65rem;

}



.vaga-preparacao-item__title {

    font-size: 1rem;

    font-weight: 700;

    color: var(--vaga-blue);

    margin: 0 0 0.45rem;

    line-height: 1.35;

}



.vaga-preparacao-item__desc {

    margin: 0 0 1rem;

    color: #475569;

    font-size: 0.92rem;

    line-height: 1.6;

    flex: 1 1 auto;

}



.vaga-preparacao-item__btn {

    align-self: flex-start;

    margin-top: auto;

}



.vaga-preparacao-empty {

    text-align: center;

    padding: 1.25rem 0.75rem 0.35rem;

}



.vaga-preparacao-empty__text {

    margin: 0 0 0.35rem;

    font-size: 1.05rem;

    font-weight: 700;

    color: var(--vaga-blue);

}



.vaga-preparacao-empty__subtext {

    margin: 0 0 1.1rem;

    color: #64748b;

    font-size: 0.95rem;

    line-height: 1.65;

    max-width: 34rem;

    margin-left: auto;

    margin-right: auto;

}



.vaga-preparacao-empty__btn {

    font-weight: 600;

}



.vaga-relacionadas-section .card {

    margin-bottom: 0 !important;

}



.vaga-pagina .vaga-relacionada-card {

    transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;

}



/* —— Acabamento premium (fase final) —— */

.vaga-premium-card__title {

    font-size: 1.15rem;

    display: flex;

    align-items: center;

    gap: 0.5rem;

}



.vaga-premium-card__crown {

    color: #c9a227;

    font-size: 0.92rem;

    flex-shrink: 0;

    opacity: 0.92;

}



.vaga-premium-card__link {

    transition: transform var(--vaga-transition);

}



.vaga-premium-card__link:hover .vaga-premium-card {

    box-shadow: 0 8px 28px rgba(16, 37, 74, 0.09) !important;

    border-color: #e8dcc0 !important;

    transform: translateY(-1px);

}



.vaga-premium-card__btn {

    box-shadow: 0 4px 16px rgba(212, 172, 13, 0.26);

}



.vaga-premium-card__link:hover .vaga-premium-card__btn {

    box-shadow: 0 6px 22px rgba(212, 172, 13, 0.36);

}



.vaga-pagina .btn-candidatar-vaga {

    min-height: 52px;

    padding: 1rem 1.9rem !important;

    box-shadow: 0 4px 14px rgba(239, 84, 37, 0.18);

    transition: transform 0.24s ease, box-shadow 0.24s ease, background-color 0.24s ease !important;

}



.vaga-pagina .btn-candidatar-vaga:hover {

    transform: translateY(-3px);

    box-shadow: 0 10px 28px rgba(239, 84, 37, 0.28) !important;

}



.vaga-tab-conteudo {

    line-height: 2.08;

}



.vaga-tab-conteudo p,

.vaga-secao-paragrafo {

    margin-bottom: 1.65rem;

}



.vaga-tab-conteudo .vaga-bloco-titulo {

    font-size: 1.22rem;

    margin: 3rem 0 1.3rem;

    padding: 1.25rem 0 0.6rem;

}



.vaga-tab-conteudo .vaga-bloco-titulo + p,

.vaga-tab-conteudo .vaga-bloco-titulo + .vaga-secao-paragrafo,

.vaga-tab-conteudo .vaga-bloco-titulo + .vaga-secao-lista {

    margin-top: 0.45rem;

}



.vaga-secao-lista li {

    line-height: 2;

    margin-bottom: 1rem;

}



.vaga-relacionada-btn {

    background: var(--vaga-blue) !important;

    border-color: var(--vaga-blue) !important;

    color: #fff !important;

    padding: 0.42rem 1rem !important;

    box-shadow: 0 2px 8px rgba(16, 37, 74, 0.12);

}



.vaga-relacionada-btn:hover {

    background: var(--vaga-blue-light) !important;

    border-color: var(--vaga-blue-light) !important;

    color: #fff !important;

    transform: translateY(-2px);

    box-shadow: 0 6px 18px rgba(16, 37, 74, 0.22) !important;

}



/* —— Respiro do hero, chips e ad topo 120px —— */

.vaga-hero-block .vaga-pagina-titulo {

    margin-bottom: 0.875rem;

}



.vaga-hero-empresa {

    margin-bottom: 1.2rem;

}



.vaga-hero-block .vaga-destaque-line {

    gap: 0.5rem 1.5rem;

    margin-bottom: 1.2rem;

}



.vaga-badges-tech .badge-vaga-info {

    padding-left: calc(0.82rem + 4px);

    padding-right: calc(0.82rem + 4px);

}



.vaga-ad-slot--top:not(.is-filled) {

    min-height: var(--vaga-ad-placeholder-h, 120px);

    max-height: none;

    height: auto;

    overflow: visible !important;

}



.vaga-ad-slot--top.is-filled {

    min-height: 0;

    height: auto;

    max-height: none !important;

    overflow: visible !important;

}



/* —— Refinamentos finais + CTA de conversão —— */

.vaga-destaque-item:not(:last-child)::after {

    content: "•";

    display: inline-block;

    margin: 0 0.5rem 0 0.65rem;

    color: #cbd5e1;

    font-size: 0.72rem;

    vertical-align: middle;

    font-weight: 700;

    line-height: 1;

}



.vaga-premium-card__header {

    padding-left: 18px;

    padding-right: 18px;

}



.vaga-premium-card__body {

    padding-left: 18px;

    padding-right: 18px;

}



.vaga-premium-card__body .btn {

    width: 100%;

}



.vaga-cta-final {

    margin-top: 0.5rem;

}



.vaga-cta-final__inner {

    background: #fff;

    border: 1px solid #e2e8f0;

    border-radius: 14px;

    padding: 1.75rem 1.5rem;

    box-shadow: 0 4px 18px rgba(16, 37, 74, 0.06);

    display: flex;

    flex-wrap: wrap;

    align-items: center;

    justify-content: space-between;

    gap: 1.25rem 1.5rem;

}



.vaga-cta-final__title {

    font-size: 1.25rem;

    font-weight: 700;

    color: var(--vaga-brand);

    margin: 0 0 0.35rem;

    line-height: 1.3;

}



.vaga-cta-final__text {

    margin: 0;

    color: #64748b;

    font-size: 0.98rem;

    line-height: 1.5;

    max-width: 36rem;

}



.vaga-cta-final__actions {

    flex-shrink: 0;

}



.vaga-cta-final__favorito-label {

    font-size: 0.9375rem;

    font-weight: 600;

    color: #64748b;

    user-select: none;

}



@media (max-width: 767.98px) {

    .vaga-cta-final__inner {

        flex-direction: column;

        align-items: stretch;

        text-align: center;

        padding: 1.5rem 1.15rem;

    }



    .vaga-cta-final__actions {

        flex-direction: column;

        width: 100%;

    }



    .vaga-cta-final__actions .btn-candidatar-vaga {

        width: 100%;

    }



    .vaga-cta-final__favorito {

        justify-content: center;

    }

}

/* —— Refinamento UX premium (v19) —— */

.vaga-destaque-item--key {
    background: #f1f5f9;
    border: 1px solid #e2e8f0;
    border-radius: 999px;
    padding: 0.4rem 0.85rem;
    font-weight: 600;
    color: var(--vaga-blue);
    font-size: 0.875rem;
}

.vaga-destaque-item--key i {
    color: var(--vaga-brand, #EF5425);
}

.vaga-destaque-item--key:not(:last-child)::after {
    display: none;
}

.vaga-courses-banner-wrap--compact {
    padding-top: 0.75rem;
    margin-top: 0.75rem;
    border-top: none;
}

.vaga-courses-banner-compact {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 1rem 1.5rem;
    padding: 1.1rem 1.35rem;
    border-radius: 14px;
    background: linear-gradient(135deg, #10254A 0%, #1A3560 55%, #243B6B 100%);
    color: #fff;
    border: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow: 0 8px 24px rgba(16, 37, 74, 0.12);
}

.vaga-courses-banner-compact__eyebrow {
    margin: 0 0 0.25rem;
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.65);
}

.vaga-courses-banner-compact__title {
    margin: 0 0 0.35rem;
    font-size: clamp(1rem, 2vw, 1.2rem);
    font-weight: 700;
    line-height: 1.3;
    color: #fff;
}

.vaga-courses-banner-compact__text {
    margin: 0;
    max-width: 40rem;
    font-size: 0.875rem;
    line-height: 1.45;
    color: rgba(255, 255, 255, 0.82);
}

.vaga-courses-banner-compact__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    min-height: 42px;
    padding: 0 1.25rem;
    border-radius: 999px;
    background: #EF5425;
    color: #fff;
    font-weight: 700;
    font-size: 0.8125rem;
    text-decoration: none;
    box-shadow: 0 4px 16px rgba(239, 84, 37, 0.35);
    transition: background-color 0.2s ease, transform 0.2s ease;
}

.vaga-courses-banner-compact__btn:hover {
    background: #D9481C;
    color: #fff;
    transform: translateY(-1px);
}

.vaga-tests-banner-wrap--compact {
    margin-top: 0.85rem;
    margin-bottom: 0.85rem;
}

.vaga-tests-banner-compact {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.85rem 1.25rem;
    padding: 1rem 1.25rem;
    border-radius: 14px;
    background: #0f172a;
    color: #fff;
    border: 1px solid rgba(255, 255, 255, 0.06);
}

.vaga-tests-banner-compact__icon {
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(239, 84, 37, 0.18);
    color: #EF5425;
    flex-shrink: 0;
}

.vaga-tests-banner-compact__body {
    flex: 1 1 14rem;
    min-width: 0;
}

.vaga-tests-banner-compact__title {
    margin: 0 0 0.25rem;
    font-size: clamp(0.95rem, 1.8vw, 1.1rem);
    font-weight: 700;
    color: #fff;
    line-height: 1.3;
}

.vaga-tests-banner-compact__text {
    margin: 0;
    font-size: 0.8125rem;
    line-height: 1.45;
    color: rgba(255, 255, 255, 0.75);
}

.vaga-tests-banner-compact__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.vaga-tests-banner-compact__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    padding: 0 1rem;
    border-radius: 8px;
    font-size: 0.8125rem;
    font-weight: 600;
    text-decoration: none;
}

.vaga-tests-banner-compact__btn--primary {
    background: #EF5425;
    color: #fff;
}

.vaga-tests-banner-compact__btn--primary:hover {
    background: #D9481C;
    color: #fff;
}

.vaga-tests-banner-compact__btn--outline {
    border: 1px solid rgba(255, 255, 255, 0.35);
    color: #fff;
}

.vaga-tests-banner-compact__btn--outline:hover {
    background: rgba(255, 255, 255, 0.08);
    color: #fff;
}

.vaga-preparacao-item__meta {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem 0.65rem;
    margin: 0 0 0.65rem;
    padding: 0;
}

.vaga-preparacao-item__meta li {
    font-size: 0.75rem;
    font-weight: 600;
    color: #475569;
    background: #f1f5f9;
    border-radius: 999px;
    padding: 0.2rem 0.55rem;
}

.vaga-sidebar-widgets {
    margin-top: 1rem;
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
}

.vaga-sidebar-widget {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 0.95rem 1rem;
    box-shadow: 0 2px 10px rgba(16, 37, 74, 0.04);
}

.vaga-sidebar-widget__eyebrow {
    margin: 0 0 0.3rem;
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #EF5425;
}

.vaga-sidebar-widget__title {
    margin: 0 0 0.35rem;
    font-size: 0.9rem;
    font-weight: 700;
    color: var(--vaga-blue);
    line-height: 1.35;
}

.vaga-sidebar-widget__meta {
    margin: 0 0 0.65rem;
    font-size: 0.75rem;
    color: #64748b;
}

.vaga-sidebar-widget__link {
    font-size: 0.8125rem;
    font-weight: 600;
    color: #EF5425;
    text-decoration: none;
}

.vaga-sidebar-widget__link:hover {
    color: #D9481C;
    text-decoration: underline;
}

.vaga-explore-mais {
    margin-top: 0.5rem;
}

.vaga-explore-mais__inner {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    padding: 1.35rem 1.4rem 1.45rem;
}

.vaga-explore-mais__title {
    margin: 0 0 0.3rem;
    font-size: clamp(1.05rem, 2vw, 1.2rem);
    font-weight: 700;
    color: var(--vaga-blue);
}

.vaga-explore-mais__subtitle {
    margin: 0 0 0.95rem;
    font-size: 0.875rem;
    color: #64748b;
}

.vaga-explore-mais__chips .badge-vaga-info {
    font-size: 0.8125rem;
    padding: 0.45rem 0.8rem;
}

.vaga-mobile-widgets .vaga-sidebar-widgets {
    margin-top: 0;
}

.vaga-mobile-widgets .vaga-sidebar-widget {
    box-shadow: 0 2px 10px rgba(16, 37, 74, 0.05);
}

.vaga-cta-final {
    margin-top: 0.25rem;
    margin-bottom: 0.75rem !important;
}

.vaga-preparacao-section {
    margin-top: 0.5rem;
}

.vaga-relacionadas-section {
    margin-top: 0.35rem;
}

.vaga-hero-block {
    margin-bottom: 1.15rem;
}

.vaga-tabs-card {
    margin-bottom: 1rem !important;
}

@media (max-width: 767.98px) {
    .vaga-courses-banner-compact,
    .vaga-tests-banner-compact {
        flex-direction: column;
        align-items: stretch;
    }

    .vaga-courses-banner-compact__btn,
    .vaga-tests-banner-compact__actions .vaga-tests-banner-compact__btn {
        width: 100%;
    }

    .vaga-destaque-item--key {
        font-size: 0.8125rem;
        padding: 0.35rem 0.7rem;
    }
}

/* —— Refinamento UX premium (v21) —— */

.vaga-tabs-card .tab-content {
    min-height: 14rem;
}

.vaga-tabs-card .tab-pane.fade {
    transition: opacity 0.32s ease;
}

.vaga-pagina .nav-tabs.vaga-tabs .nav-link {
    position: relative;
}

.vaga-pagina .nav-tabs.vaga-tabs .nav-link.active {
    color: var(--vaga-blue) !important;
    font-weight: 700;
    background: rgba(16, 37, 74, 0.03) !important;
    border-bottom-color: var(--vaga-brand) !important;
    border-bottom-width: 4px !important;
}

.vaga-pagina .nav-tabs.vaga-tabs .nav-link.active::after {
    display: none;
}

.vaga-tab-conteudo .vaga-bloco-titulo,
.vaga-bloco-titulo {
    font-size: 1.06rem;
    font-weight: 700;
    color: var(--vaga-blue);
    margin: 1.65rem 0 0.75rem;
    padding: 0.15rem 0 0.45rem;
    border-top: none;
    border-bottom: 2px solid rgba(16, 37, 74, 0.08);
    letter-spacing: -0.01em;
    line-height: 1.35;
}

.vaga-tab-conteudo .vaga-bloco-titulo:first-child,
.vaga-bloco-titulo:first-child {
    margin-top: 0;
    padding-top: 0;
}

.vaga-relacionadas-header {
    background: #fafbfc;
}

.vaga-relacionadas-header .h5 {
    font-weight: 700;
    color: var(--vaga-blue);
}

.vaga-relacionadas-subtitle {
    font-size: 0.8125rem;
    font-weight: 500;
    line-height: 1.45;
    color: #64748b;
    max-width: 40rem;
}

.vaga-pagina .vaga-compartilhar-menu {
    min-width: 13.5rem;
    padding: 0.4rem;
    animation: vaga-share-in 0.16s ease;
}

@keyframes vaga-share-in {
    from {
        opacity: 0;
        transform: translateY(-4px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.vaga-pagina .vaga-compartilhar-menu__item--linkedin i {
    color: #0a66c2;
}

.vaga-pagina .vaga-compartilhar-menu__item--telegram i {
    color: #229ed9;
}

.vaga-pagina .vaga-compartilhar-menu__item--email i {
    color: #64748b;
}

.vaga-pagina .vaga-compartilhar-menu__item--copy i {
    color: var(--vaga-blue);
}

.vaga-pagina .btn-candidatar-vaga,
.vaga-pagina .btn-compartilhar-vaga,
.vaga-pagina .btn-candidatura-externa-destaque {
    transition: transform 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease, border-color 0.2s ease !important;
}

.vaga-pagina .btn-candidatar-vaga:active,
.vaga-pagina .btn-compartilhar-vaga:active {
    transform: translateY(0);
}

.vaga-relacionada-card {
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.vaga-relacionada-card:hover {
    transform: translateY(-3px);
}

.vaga-pagina .vaga-sidebar-widget,
.vaga-pagina .vaga-premium-card {
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.vaga-pagina .vaga-sidebar-widget:hover,
.vaga-pagina .vaga-premium-card__link:hover .vaga-premium-card {
    transform: translateY(-2px);
}

.vaga-cta-principal {
    gap: 0.75rem !important;
}

@media (max-width: 767.98px) {
    .vaga-pagina .vaga-breadcrumb {
        margin-bottom: 0.85rem;
    }

    .vaga-hero-block {
        margin-bottom: 0.9rem;
    }

    .vaga-tabs-card .card-body {
        padding: 1rem 0.95rem 1.15rem;
    }

    .vaga-pagina .nav-tabs.vaga-tabs {
        gap: 0;
        margin-bottom: 1rem !important;
        overflow-x: auto;
        flex-wrap: nowrap;
        -webkit-overflow-scrolling: touch;
    }

    .vaga-pagina .nav-tabs.vaga-tabs .nav-link {
        padding: 0.6rem 0.85rem;
        font-size: 0.875rem;
        white-space: nowrap;
    }

    .vaga-tabs-card .tab-content {
        min-height: 0;
    }

    .vaga-tab-conteudo {
        line-height: 1.52;
        max-width: 100%;
        text-align: justify;
    }

    .vaga-tab-conteudo p,
    .vaga-secao-paragrafo {
        margin-bottom: 0.6rem;
        max-width: 100%;
    }

    .vaga-tab-conteudo .vaga-bloco-titulo,
    .vaga-bloco-titulo {
        margin: 0.95rem 0 0.4rem;
        font-size: 0.975rem;
    }

    .vaga-cta-principal {
        flex-direction: column;
        align-items: stretch !important;
        gap: 0.7rem !important;
    }

    .vaga-cta-principal .btn-candidatar-vaga,
    .vaga-cta-principal .btn-candidatura-externa-destaque,
    .vaga-cta-principal .vaga-compartilhar-wrap,
    .vaga-cta-principal .btn-compartilhar-vaga {
        width: 100%;
    }

    .vaga-pagina .vaga-compartilhar-menu {
        left: 0;
        right: 0;
        width: 100%;
        min-width: 0;
    }

    .vaga-relacionadas-section .card-header {
        padding: 0.9rem 1rem;
    }

    .vaga-relacionadas-subtitle {
        font-size: 0.78rem;
    }

    .vaga-relacionada-card {
        padding: 1rem;
    }

    .vaga-relacionadas-section .card-body {
        padding: 1rem;
    }

    .vaga-cta-final__actions {
        gap: 0.75rem !important;
    }

    .vaga-cta-final__actions .vaga-compartilhar-wrap,
    .vaga-cta-final__actions .btn-compartilhar-vaga {
        width: 100%;
    }
}

@media (prefers-reduced-motion: reduce) {
    .vaga-tabs-card .tab-pane.fade,
    .vaga-pagina .vaga-compartilhar-menu,
    .vaga-relacionada-card,
    .vaga-pagina .btn-candidatar-vaga,
    .vaga-pagina .btn-compartilhar-vaga,
    .vaga-pagina .vaga-sidebar-widget,
    .vaga-pagina .vaga-premium-card {
        transition: none !important;
        animation: none !important;
    }
}

/* —— Texto das abas: justificado, compacto e limpo (menos scroll) —— */
.vaga-pagina .vaga-tab-conteudo {
    max-width: 100%;
    font-size: 0.975rem;
    line-height: 1.55;
    color: #374151;
    text-align: justify;
    text-justify: inter-word;
    hyphens: auto;
    -webkit-hyphens: auto;
    overflow-wrap: break-word;
}

.vaga-pagina .vaga-tab-conteudo p,
.vaga-pagina .vaga-secao-paragrafo {
    margin: 0 0 0.7rem;
    line-height: 1.55;
    text-align: justify;
    text-justify: inter-word;
    hyphens: auto;
    -webkit-hyphens: auto;
}

.vaga-pagina .vaga-tab-conteudo p:last-child,
.vaga-pagina .vaga-tab-conteudo .vaga-secao-paragrafo:last-child {
    margin-bottom: 0;
}

.vaga-pagina .vaga-tab-conteudo .vaga-bloco-titulo,
.vaga-pagina .vaga-bloco-titulo {
    margin: 1.1rem 0 0.45rem;
    padding: 0 0 0.3rem;
    font-size: 1rem;
    line-height: 1.3;
    text-align: left;
    border-top: none;
    border-bottom: 1px solid rgba(16, 37, 74, 0.1);
}

.vaga-pagina .vaga-tab-conteudo .vaga-bloco-titulo:first-child,
.vaga-pagina .vaga-bloco-titulo:first-child {
    margin-top: 0;
}

.vaga-pagina .vaga-tab-conteudo .vaga-bloco-titulo + p,
.vaga-pagina .vaga-tab-conteudo .vaga-bloco-titulo + .vaga-secao-paragrafo,
.vaga-pagina .vaga-tab-conteudo .vaga-bloco-titulo + .vaga-secao-lista {
    margin-top: 0.15rem;
}

.vaga-pagina .vaga-tab-conteudo .vaga-secao-lista,
.vaga-pagina .vaga-secao-lista {
    margin: 0.35rem 0 0.75rem;
    text-align: left;
}

.vaga-pagina .vaga-tab-conteudo .vaga-secao-lista li,
.vaga-pagina .vaga-secao-lista li {
    margin-bottom: 0.35rem;
    line-height: 1.5;
    padding-left: 1.5rem;
    text-align: left;
}

.vaga-pagina .vaga-tab-conteudo .vaga-secao-lista li:last-child,
.vaga-pagina .vaga-secao-lista li:last-child {
    margin-bottom: 0;
}

.vaga-pagina .vaga-tabs-card .tab-content {
    min-height: 0;
}

.vaga-pagina .vaga-tab-sobre .mb-2,
.vaga-pagina .vaga-tab-sobre .mb-1,
.vaga-pagina .vaga-tab-sobre .mb-3 {
    margin-bottom: 0.55rem !important;
}

.vaga-pagina .vaga-tab-conteudo.mb-3 {
    margin-bottom: 0.75rem !important;
}

@media (max-width: 767.98px) {
    .vaga-pagina .vaga-tab-conteudo {
        font-size: 0.95rem;
        line-height: 1.52;
        text-align: justify;
    }

    .vaga-pagina .vaga-tab-conteudo p,
    .vaga-pagina .vaga-secao-paragrafo {
        margin-bottom: 0.6rem;
        max-width: 100%;
    }

    .vaga-pagina .vaga-tab-conteudo .vaga-bloco-titulo,
    .vaga-pagina .vaga-bloco-titulo {
        margin: 0.95rem 0 0.4rem;
        font-size: 0.975rem;
    }

    .vaga-pagina .vaga-tab-conteudo .vaga-secao-lista li,
    .vaga-pagina .vaga-secao-lista li {
        margin-bottom: 0.3rem;
        line-height: 1.45;
    }
}

/* —— Mobile limpo: menos scroll, sem ruído —— */
@media (max-width: 991.98px) {
    .vaga-pagina .vaga-tech-chips,
    .vaga-pagina .vaga-cta-final {
        display: none !important;
    }

    .vaga-pagina .vaga-pagina-main {
        padding-top: 1rem !important;
        padding-bottom: 1.5rem !important;
    }

    .vaga-pagina .vaga-breadcrumb {
        margin-bottom: 0.65rem;
        font-size: 0.8125rem;
    }

    .vaga-pagina .vaga-hero-block {
        margin-bottom: 0.75rem;
    }

    .vaga-pagina .vaga-pagina-titulo {
        font-size: 1.35rem;
        margin-bottom: 0.45rem;
        line-height: 1.25;
    }

    .vaga-pagina .vaga-hero-empresa {
        margin-bottom: 0.65rem;
    }

    .vaga-pagina .vaga-hero-block .vaga-destaque-line,
    .vaga-pagina .vaga-destaque-line {
        gap: 0.4rem 0.65rem;
        margin-bottom: 0.85rem !important;
    }

    .vaga-pagina .vaga-destaque-item {
        font-size: 0.8125rem;
    }

    .vaga-pagina .vaga-destaque-item--key {
        padding: 0.3rem 0.6rem;
    }

    .vaga-pagina .vaga-cta-principal {
        margin-bottom: 0.85rem !important;
        gap: 0.55rem !important;
    }

    .vaga-pagina .vaga-tabs-card {
        margin-bottom: 0.75rem !important;
    }

    .vaga-pagina .vaga-tabs-card .card-body {
        padding: 0.85rem 0.85rem 1rem;
    }

    .vaga-pagina .vaga-tabs-card .tab-content {
        min-height: 0 !important;
    }

    .vaga-pagina .nav-tabs.vaga-tabs {
        margin-bottom: 0.75rem !important;
    }

    .vaga-pagina .vaga-mobile-widgets {
        margin-top: 0.5rem;
        margin-bottom: 0.75rem !important;
    }

    .vaga-pagina .vaga-sidebar-widget {
        margin-bottom: 0.65rem;
        padding: 0.85rem 0.9rem;
    }

    .vaga-pagina .vaga-courses-banner-wrap--compact {
        padding-top: 0.35rem;
        margin-top: 0.35rem;
    }

    .vaga-pagina .vaga-relacionadas-section {
        margin-top: 0.15rem;
    }

    .vaga-pagina .vaga-relacionadas-section .card {
        margin-bottom: 0.75rem !important;
    }

    .vaga-pagina .vaga-ad-top-wrap {
        padding-top: 0.25rem !important;
        padding-bottom: 0.2rem !important;
    }
}

/* —— Vagas semelhantes: card mais enxuto —— */
.vaga-pagina .vaga-relacionadas-section .card-header,
.vaga-pagina .vaga-relacionadas-header {
    padding: 0.7rem 1rem !important;
}

.vaga-pagina .vaga-relacionadas-header .h5 {
    margin-bottom: 0.2rem !important;
    font-size: 1.05rem;
    line-height: 1.3;
}

.vaga-pagina .vaga-relacionadas-subtitle {
    font-size: 0.78rem;
    line-height: 1.35;
    max-width: 36rem;
}

.vaga-pagina .vaga-relacionadas-section .card-body {
    padding: 0.75rem !important;
}

.vaga-pagina .vaga-relacionadas-section .card {
    margin-bottom: 0.85rem !important;
}

.vaga-pagina .vaga-relacionada-card {
    padding: 0.85rem 0.9rem;
}

.vaga-pagina .vaga-relacionada-titulo {
    margin-bottom: 0.25rem;
    line-height: 1.3;
}

.vaga-pagina .vaga-relacionada-empresa {
    margin-bottom: 0.3rem;
}

.vaga-pagina .vaga-relacionada-info {
    margin-bottom: 0.35rem;
    gap: 0.25rem 0.65rem;
}

.vaga-pagina .vaga-relacionada-tags {
    margin-top: 0.35rem;
    margin-bottom: 0.35rem;
}

.vaga-pagina .vaga-relacionada-footer {
    margin-top: 0.45rem;
    padding-top: 0.45rem;
}

.vaga-pagina #vagas-relacionadas-lista.text-center.mt-3,
.vaga-pagina .vaga-relacionadas-section .text-center.mt-3 {
    margin-top: 0.65rem !important;
}

@media (max-width: 767.98px) {
    .vaga-pagina .vaga-relacionadas-section .card-header,
    .vaga-pagina .vaga-relacionadas-header {
        padding: 0.6rem 0.8rem !important;
    }

    .vaga-pagina .vaga-relacionadas-header .h5 {
        font-size: 1rem;
        margin-bottom: 0.15rem !important;
    }

    .vaga-pagina .vaga-relacionadas-subtitle {
        font-size: 0.74rem;
        line-height: 1.3;
    }

    .vaga-pagina .vaga-relacionadas-section .card-body {
        padding: 0.6rem !important;
    }

    .vaga-pagina .vaga-relacionada-card {
        padding: 0.75rem 0.8rem;
    }

    .vaga-pagina .vaga-relacionadas-section .card {
        margin-bottom: 0.65rem !important;
    }

    /* Banner testes: remove o "vão" azul entre texto e botões (só mobile) */
    .vaga-pagina .vaga-tests-banner-compact {
        flex-direction: column;
        align-items: stretch;
        gap: 0.65rem;
        padding: 0.9rem 1rem;
    }

    .vaga-pagina .vaga-tests-banner-compact__body {
        flex: 0 1 auto;
        width: 100%;
    }

    .vaga-pagina .vaga-tests-banner-compact__title {
        margin-bottom: 0.2rem;
    }

    .vaga-pagina .vaga-tests-banner-compact__actions {
        width: 100%;
        margin-top: 0;
        gap: 0.45rem;
    }

    .vaga-pagina .vaga-tests-banner-compact__actions .vaga-tests-banner-compact__btn {
        width: 100%;
    }
}



/* =========================================================
   SaaS polish (LinkedIn/Indeed-like) — só visual/UX
   Não altera markup, SEO, ads ou comportamentos.
   ========================================================= */

.vaga-pagina {
    --vaga-surface: #ffffff;
    --vaga-page-bg: #f5f7fb;
    --vaga-text: #1e293b;
    --vaga-text-muted: #64748b;
    --vaga-text-soft: #94a3b8;
    --vaga-radius: 14px;
    --vaga-radius-sm: 10px;
    --vaga-ease: cubic-bezier(0.2, 0.8, 0.2, 1);
    --vaga-duration: 180ms;
    background-color: var(--vaga-page-bg);
}

/* Hero azul mais compacto — menos “portal antigo” */
.vaga-pagina .header-degrade {
    padding: 1.15rem 0 1.05rem !important;
}

.vaga-pagina .header-degrade .vaga-hero-h1 {
    font-size: clamp(1.15rem, 2.2vw, 1.4rem);
    font-weight: 600;
    letter-spacing: -0.025em;
    line-height: 1.3;
    opacity: 0.96;
}

.vaga-pagina .vaga-pagina-main {
    padding-top: 1.5rem !important;
    padding-bottom: 2.5rem !important;
}

.vaga-pagina .vaga-breadcrumb {
    margin-bottom: 1.35rem;
}

.vaga-pagina .vaga-ad-top-wrap {
    padding-top: 0.65rem !important;
    padding-bottom: 0.35rem !important;
}

/* —— Hero do conteúdo: título em destaque, meta discreta —— */
.vaga-pagina .vaga-hero-block {
    margin-bottom: 1.35rem;
    padding-bottom: 0.15rem;
}

.vaga-pagina .vaga-pagina-titulo {
    font-size: clamp(1.55rem, 2.6vw, 1.85rem);
    font-weight: 700;
    color: var(--vaga-blue);
    line-height: 1.22;
    letter-spacing: -0.03em;
    margin-bottom: 0.45rem;
}

.vaga-pagina .vaga-hero-empresa {
    font-size: 1rem;
    font-weight: 500;
    color: var(--vaga-text-muted);
    margin-bottom: 0.85rem;
    line-height: 1.4;
}

.vaga-pagina .vaga-destaque-line {
    gap: 0.45rem 0.85rem;
    margin-bottom: 1.15rem !important;
}

.vaga-pagina .vaga-destaque-item {
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--vaga-text-muted);
    gap: 0.35rem;
}

.vaga-pagina .vaga-destaque-item i {
    color: var(--vaga-text-soft);
    font-size: 0.8rem;
}

.vaga-pagina .vaga-destaque-item--key {
    background: #f1f5f9;
    border: 1px solid rgba(16, 37, 74, 0.06);
    border-radius: 999px;
    padding: 0.28rem 0.7rem;
    font-weight: 500;
    color: #475569;
    box-shadow: none;
}

.vaga-pagina .vaga-destaque-item--key i {
    color: var(--vaga-brand);
    opacity: 0.9;
}

.vaga-pagina .vaga-destaque-item--muted {
    font-weight: 400;
    color: var(--vaga-text-soft);
}

/* Separadores “·” discretos se existirem via ::after */
.vaga-pagina .vaga-destaque-item + .vaga-destaque-item::before {
    opacity: 0.35;
}

/* Chips técnicos mais leves */
.vaga-pagina .vaga-badges-tech {
    margin-bottom: 1rem;
}

.vaga-pagina .vaga-badges-tech .badge-vaga-info {
    background: #f1f5f9;
    color: #64748b;
    font-size: 0.72rem;
    font-weight: 500;
    padding: 0.28rem 0.65rem;
    border: 1px solid rgba(148, 163, 184, 0.35);
    box-shadow: none;
}

.vaga-pagina .vaga-badges-tech .badge-vaga-info:hover {
    background: #e8eef6;
    color: var(--vaga-blue);
    transform: none;
}

/* —— CTA principal: limpo, um âncora visual —— */
.vaga-pagina .vaga-cta-principal {
    margin-bottom: 1.35rem !important;
    gap: 0.65rem !important;
    align-items: center;
}

.vaga-pagina .btn-candidatar-vaga {
    font-size: 1rem !important;
    font-weight: 600 !important;
    padding: 0.8rem 1.5rem !important;
    min-height: 48px;
    border-radius: var(--vaga-radius-sm) !important;
    letter-spacing: -0.01em;
    box-shadow: 0 2px 8px rgba(239, 84, 37, 0.22) !important;
    transition:
        transform var(--vaga-duration) var(--vaga-ease),
        box-shadow var(--vaga-duration) var(--vaga-ease),
        background-color var(--vaga-duration) var(--vaga-ease),
        filter var(--vaga-duration) var(--vaga-ease) !important;
}

@media (hover: hover) and (pointer: fine) {
    .vaga-pagina .btn-candidatar-vaga:hover {
        transform: translateY(-1px);
        filter: brightness(1.04);
        box-shadow: 0 6px 18px rgba(239, 84, 37, 0.28) !important;
    }
}

.vaga-pagina .btn-candidatar-vaga:active {
    transform: translateY(0);
    filter: none;
}

.vaga-pagina .btn-compartilhar-vaga,
.vaga-pagina .vaga-favorito-wrap .btn-favoritar-vaga {
    border-radius: var(--vaga-radius-sm) !important;
    transition: background-color var(--vaga-duration) var(--vaga-ease), border-color var(--vaga-duration) var(--vaga-ease), transform var(--vaga-duration) var(--vaga-ease);
}

@media (hover: hover) and (pointer: fine) {
    .vaga-pagina .btn-favoritar-vaga:hover {
        transform: scale(1.06);
    }
}

/* —— Painel das abas: card SaaS limpo —— */
.vaga-pagina .vaga-tabs-card {
    border: 1px solid rgba(16, 37, 74, 0.08);
    border-radius: var(--vaga-radius);
    box-shadow: 0 1px 2px rgba(15, 28, 46, 0.03), 0 8px 28px rgba(15, 28, 46, 0.04);
    background: var(--vaga-surface);
    margin-bottom: 1.5rem !important;
}

.vaga-pagina .vaga-tabs-card .card-body {
    padding: 1.15rem 1.35rem 1.4rem;
}

.vaga-pagina .nav-tabs.vaga-tabs {
    border-bottom: 1px solid rgba(16, 37, 74, 0.08) !important;
    margin-bottom: 1.15rem !important;
    gap: 0.15rem;
}

.vaga-pagina .nav-tabs.vaga-tabs .nav-link {
    border: none !important;
    border-radius: 8px 8px 0 0 !important;
    color: var(--vaga-text-muted) !important;
    font-weight: 500 !important;
    font-size: 0.9rem !important;
    padding: 0.65rem 0.95rem !important;
    background: transparent !important;
    position: relative;
}

.vaga-pagina .nav-tabs.vaga-tabs .nav-link:hover {
    color: var(--vaga-blue) !important;
    background: rgba(16, 37, 74, 0.03) !important;
}

.vaga-pagina .nav-tabs.vaga-tabs .nav-link.active {
    color: var(--vaga-blue) !important;
    font-weight: 600 !important;
    background: transparent !important;
}

.vaga-pagina .nav-tabs.vaga-tabs .nav-link.active::after {
    content: "";
    position: absolute;
    left: 0.7rem;
    right: 0.7rem;
    bottom: 0;
    height: 2px;
    border-radius: 2px;
    background: var(--vaga-brand);
}

/* Leitura: alinhamento à esquerda (mais limpo que justify) */
.vaga-pagina .vaga-tab-conteudo,
.vaga-pagina .vaga-tab-conteudo p,
.vaga-pagina .vaga-secao-paragrafo {
    text-align: left;
    text-justify: auto;
    hyphens: manual;
    -webkit-hyphens: manual;
}

.vaga-pagina .vaga-tab-conteudo {
    font-size: 0.9625rem;
    line-height: 1.65;
    color: var(--vaga-text);
    max-width: 42rem;
}

.vaga-pagina .vaga-tab-conteudo p,
.vaga-pagina .vaga-secao-paragrafo {
    margin: 0 0 0.9rem;
    line-height: 1.65;
}

.vaga-pagina .vaga-bloco-titulo,
.vaga-pagina .vaga-tab-conteudo .vaga-bloco-titulo {
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--vaga-blue);
    letter-spacing: -0.01em;
    margin: 1.35rem 0 0.55rem;
    padding-bottom: 0.35rem;
    border-bottom: 1px solid rgba(16, 37, 74, 0.08);
}

.vaga-pagina .vaga-salario {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 1.05rem;
    font-weight: 600;
    color: var(--vaga-blue);
    margin-bottom: 0.85rem;
    letter-spacing: -0.01em;
}

.vaga-pagina .vaga-secao-lista li,
.vaga-pagina .vaga-tab-conteudo .vaga-secao-lista li {
    margin-bottom: 0.45rem;
    line-height: 1.55;
    color: var(--vaga-text);
}

/* —— Premium sidebar: menos “ouro barato”, mais produto —— */
.vaga-pagina .vaga-premium-card {
    border-radius: var(--vaga-radius) !important;
    border: 1px solid rgba(16, 37, 74, 0.1) !important;
    background: linear-gradient(165deg, #fffdf8 0%, #ffffff 55%) !important;
    box-shadow: 0 1px 2px rgba(15, 28, 46, 0.03), 0 10px 28px rgba(15, 28, 46, 0.05) !important;
    overflow: hidden;
}

.vaga-pagina .vaga-premium-card__header {
    background: transparent !important;
    padding: 1.1rem 1.15rem 0.55rem !important;
    border-bottom: none !important;
}

.vaga-pagina .vaga-premium-card__title {
    font-size: 1rem !important;
    font-weight: 600 !important;
    color: var(--vaga-blue) !important;
    letter-spacing: -0.015em;
}

.vaga-pagina .vaga-premium-card__crown,
.vaga-pagina .vaga-premium-card__title .fa-crown {
    color: #d4a017 !important;
}

.vaga-pagina .vaga-premium-card__subtitle {
    font-size: 0.8125rem !important;
    color: var(--vaga-text-muted) !important;
    line-height: 1.45 !important;
    margin-top: 0.25rem !important;
}

.vaga-pagina .vaga-premium-card__body {
    padding: 0.35rem 1.15rem 1.15rem !important;
}

.vaga-pagina .vaga-premium-card__item {
    font-size: 0.8125rem;
    color: #475569;
    line-height: 1.4;
    margin-bottom: 0.45rem !important;
}

.vaga-pagina .vaga-premium-card__item i {
    color: var(--vaga-green) !important;
    font-size: 0.7rem;
}

.vaga-pagina .vaga-premium-card__btn {
    background: var(--vaga-blue) !important;
    border: none !important;
    color: #fff !important;
    font-weight: 600 !important;
    font-size: 0.875rem !important;
    border-radius: var(--vaga-radius-sm) !important;
    box-shadow: none !important;
    padding: 0.65rem 1rem !important;
}

@media (hover: hover) and (pointer: fine) {
    .vaga-pagina .vaga-premium-card__link:hover .vaga-premium-card__btn {
        background: #16305c !important;
        filter: brightness(1.03);
    }

    .vaga-pagina .vaga-premium-card__link:hover .vaga-premium-card {
        transform: translateY(-2px);
        box-shadow: 0 8px 24px rgba(15, 28, 46, 0.08) !important;
    }
}

.vaga-pagina .vaga-sidebar-sticky--premium {
    top: 1.25rem;
}

.vaga-pagina .vaga-sidebar-widget {
    border: 1px solid rgba(16, 37, 74, 0.08);
    border-radius: var(--vaga-radius);
    box-shadow: 0 1px 2px rgba(15, 28, 46, 0.03);
    background: #fff;
    padding: 1rem 1.1rem;
}

/* Ads: placeholder mais neutro (sem mudar slots/markup) */
.vaga-pagina .vaga-ad-placeholder {
    border-radius: var(--vaga-radius-sm);
    border-color: rgba(16, 37, 74, 0.06);
    background: #f8fafc;
}

.vaga-pagina .vaga-ad-placeholder__label {
    color: var(--vaga-text-soft);
    font-weight: 500;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    font-size: 0.65rem;
}

.vaga-pagina .vaga-ad-placeholder__text {
    color: #94a3b8;
    font-size: 0.75rem;
}

.vaga-pagina .vaga-ad-placeholder__promo {
    color: var(--vaga-blue);
    font-weight: 600;
    font-size: 0.75rem;
}

/* —— Relacionadas: lista limpa —— */
.vaga-pagina .vaga-relacionadas-section {
    margin-top: 0.5rem;
}

.vaga-pagina .vaga-relacionadas-section > .card {
    border: 1px solid rgba(16, 37, 74, 0.08) !important;
    border-radius: var(--vaga-radius) !important;
    box-shadow: 0 1px 2px rgba(15, 28, 46, 0.03), 0 8px 28px rgba(15, 28, 46, 0.04) !important;
    overflow: hidden;
    background: #fff;
}

.vaga-pagina .vaga-relacionadas-header {
    background: #fff !important;
    border-bottom: 1px solid rgba(16, 37, 74, 0.06) !important;
    padding: 1rem 1.2rem !important;
}

.vaga-pagina .vaga-relacionadas-header .h5 {
    font-size: 1.1rem !important;
    font-weight: 600 !important;
    color: var(--vaga-blue);
    letter-spacing: -0.02em;
}

.vaga-pagina .vaga-relacionadas-subtitle {
    color: var(--vaga-text-muted);
    font-size: 0.8125rem !important;
    max-width: 40rem;
}

.vaga-pagina .vaga-relacionadas-section .card-body {
    padding: 0.85rem 1rem 1.1rem !important;
    background: #fafbfc;
}

.vaga-pagina .vaga-relacionada-card {
    background: #fff;
    border: 1px solid rgba(16, 37, 74, 0.07);
    border-radius: var(--vaga-radius-sm);
    box-shadow: none;
    padding: 1rem 1.05rem;
    transition:
        border-color var(--vaga-duration) var(--vaga-ease),
        box-shadow var(--vaga-duration) var(--vaga-ease),
        transform var(--vaga-duration) var(--vaga-ease);
}

@media (hover: hover) and (pointer: fine) {
    .vaga-pagina .vaga-relacionada-card:hover {
        border-color: rgba(16, 37, 74, 0.14);
        box-shadow: 0 6px 18px rgba(15, 28, 46, 0.06);
        transform: translateY(-1px);
    }
}

.vaga-pagina .vaga-relacionada-titulo {
    font-size: 0.975rem;
    font-weight: 600;
    color: var(--vaga-blue);
    letter-spacing: -0.015em;
}

.vaga-pagina .vaga-relacionada-empresa,
.vaga-pagina .vaga-relacionada-info {
    font-size: 0.8125rem;
    color: var(--vaga-text-muted);
    font-weight: 400;
}

.vaga-pagina .vaga-relacionada-footer .btn,
.vaga-pagina .vaga-relacionada-card .btn {
    font-size: 0.8125rem;
    font-weight: 600;
    border-radius: 8px;
}

/* Banners auxiliares: menos peso */
.vaga-pagina .vaga-courses-banner-wrap,
.vaga-pagina .vaga-tests-banner-wrap {
    margin-top: 1.25rem;
}

.vaga-pagina .vaga-cta-final {
    margin-top: 1.5rem;
    padding-top: 0.25rem;
}

/* Mobile: ainda mais foco no conteúdo */
@media (max-width: 991.98px) {
    .vaga-pagina .header-degrade {
        padding: 0.95rem 0 0.9rem !important;
    }

    .vaga-pagina .vaga-pagina-main {
        padding-top: 1.1rem !important;
        padding-bottom: 1.75rem !important;
    }

    .vaga-pagina .vaga-pagina-titulo {
        font-size: 1.4rem;
        margin-bottom: 0.35rem;
    }

    .vaga-pagina .vaga-tabs-card .card-body {
        padding: 0.95rem 1rem 1.15rem;
    }

    .vaga-pagina .vaga-tab-conteudo {
        font-size: 0.95rem;
        line-height: 1.6;
        max-width: none;
    }

    .vaga-pagina .btn-candidatar-vaga {
        width: 100%;
        justify-content: center;
    }

    .vaga-pagina .vaga-cta-principal {
        flex-wrap: wrap;
    }
}

@media (prefers-reduced-motion: reduce) {
    .vaga-pagina .btn-candidatar-vaga,
    .vaga-pagina .vaga-relacionada-card,
    .vaga-pagina .vaga-premium-card,
    .vaga-pagina .btn-favoritar-vaga {
        transition: none !important;
        transform: none !important;
    }
}

/* =========================================================
   Hero topo — hierarquia limpa (título → empresa → meta line)
   ========================================================= */

.vaga-pagina .vaga-hero-block {
    margin-bottom: 1.5rem;
    padding: 0;
}

.vaga-pagina .vaga-pagina-titulo {
    font-size: clamp(1.65rem, 2.8vw, 2rem);
    font-weight: 700;
    color: var(--vaga-blue);
    line-height: 1.2;
    letter-spacing: -0.03em;
    margin: 0 0 0.4rem;
}

.vaga-pagina .vaga-hero-empresa {
    margin: 0 0 0.95rem;
    line-height: 1.35;
}

.vaga-pagina .vaga-hero-empresa__nome,
.vaga-pagina .vaga-hero-empresa .vaga-hero-empresa__nome {
    font-size: 1.05rem;
    font-weight: 500;
    color: #64748b;
    text-decoration: none;
}

.vaga-pagina .vaga-hero-empresa__link {
    color: #526074;
    transition: color 160ms ease;
}

.vaga-pagina .vaga-hero-empresa__link:hover {
    color: var(--vaga-blue);
    text-decoration: underline;
    text-underline-offset: 2px;
}

/* Meta: uma linha no desktop; quebra natural no mobile */
.vaga-pagina .vaga-destaque-line {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 0;
    margin: 0 0 1.35rem !important;
    padding: 0;
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
}

.vaga-pagina .vaga-destaque-item,
.vaga-pagina .vaga-destaque-item--key,
.vaga-pagina .vaga-destaque-item--muted {
    display: inline-flex;
    align-items: center;
    flex: 0 0 auto;
    gap: 0.4rem;
    margin: 0;
    padding: 0 !important;
    border: none !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    font-size: 0.875rem;
    font-weight: 400;
    line-height: 1.35;
    color: #64748b;
    white-space: nowrap;
}

.vaga-pagina .vaga-destaque-item i,
.vaga-pagina .vaga-destaque-item--key i,
.vaga-pagina .vaga-destaque-item--muted i {
    color: #94a3b8;
    font-size: 0.8rem;
    width: 0.95rem;
    text-align: center;
    opacity: 1;
}

/* Separador ponto entre itens (sem ::before conflitante) */
.vaga-pagina .vaga-destaque-item + .vaga-destaque-item::before,
.vaga-pagina .vaga-destaque-item--key + .vaga-destaque-item::before,
.vaga-pagina .vaga-destaque-item + .vaga-destaque-item--key::before {
    content: none !important;
    display: none !important;
}

.vaga-pagina .vaga-destaque-item:not(:last-child)::after,
.vaga-pagina .vaga-destaque-item--key:not(:last-child)::after,
.vaga-pagina .vaga-destaque-item--muted:not(:last-child)::after {
    content: "";
    display: inline-block;
    width: 3px;
    height: 3px;
    margin: 0 0.7rem;
    border-radius: 50%;
    background: #cbd5e1;
    vertical-align: middle;
    font-size: 0;
}

@media (max-width: 991.98px) {
    .vaga-pagina .vaga-destaque-line {
        flex-wrap: wrap;
        row-gap: 0.45rem;
        column-gap: 0;
        overflow: visible;
    }

    .vaga-pagina .vaga-pagina-titulo {
        font-size: 1.45rem;
        margin-bottom: 0.35rem;
    }

    .vaga-pagina .vaga-hero-empresa {
        margin-bottom: 0.75rem;
    }

    .vaga-pagina .vaga-hero-empresa__nome {
        font-size: 0.975rem;
    }

    .vaga-pagina .vaga-destaque-item,
    .vaga-pagina .vaga-destaque-item--key,
    .vaga-pagina .vaga-destaque-item--muted {
        font-size: 0.8125rem;
    }

    .vaga-pagina .vaga-destaque-item:not(:last-child)::after {
        margin: 0 0.55rem;
    }
}

/* =========================================================
   Disciplina de cor (premium)
   Azul = interface | Cinza = secundário | Laranja = ações
   ========================================================= */

.vaga-pagina {
    --vaga-ui: #10254A;
    --vaga-ui-soft: #526074;
    --vaga-muted: #64748b;
    --vaga-soft: #94a3b8;
    --vaga-line: rgba(16, 37, 74, 0.08);
    --vaga-line-strong: rgba(16, 37, 74, 0.12);
    --vaga-surface: #ffffff;
    --vaga-surface-soft: #f8fafc;
    --vaga-action: #EF5425;
    --vaga-action-hover: #D9481C;
    --vaga-green: #64748b; /* evita verde competindo com a UI */
    color: #334155;
    background-color: #f5f7fb;
}

/* Interfaces / chrome em azul sóbrio */
.vaga-pagina .vaga-pagina-titulo,
.vaga-pagina .vaga-bloco-titulo,
.vaga-pagina .vaga-relacionada-titulo,
.vaga-pagina .vaga-relacionadas-header .h5,
.vaga-pagina .nav-tabs.vaga-tabs .nav-link.active,
.vaga-pagina .vaga-breadcrumb__item--current {
    color: var(--vaga-ui) !important;
}

.vaga-pagina .nav-tabs.vaga-tabs .nav-link {
    color: var(--vaga-muted) !important;
}

.vaga-pagina .nav-tabs.vaga-tabs .nav-link:hover {
    color: var(--vaga-ui) !important;
}

.vaga-pagina .nav-tabs.vaga-tabs .nav-link.active::after {
    background: var(--vaga-action) !important;
}

/* Secundário em cinza */
.vaga-pagina .vaga-hero-empresa__nome,
.vaga-pagina .vaga-hero-empresa__link,
.vaga-pagina .vaga-destaque-item,
.vaga-pagina .vaga-destaque-item--key,
.vaga-pagina .vaga-destaque-item--muted,
.vaga-pagina .vaga-relacionadas-subtitle,
.vaga-pagina .vaga-relacionada-empresa,
.vaga-pagina .vaga-relacionada-info,
.vaga-pagina .vaga-ad-placeholder__text,
.vaga-pagina .vaga-ad-placeholder__label,
.vaga-pagina .vaga-premium-card__subtitle,
.vaga-pagina .vaga-premium-card__item,
.vaga-pagina .vaga-tab-conteudo,
.vaga-pagina .vaga-tab-conteudo p,
.vaga-pagina .vaga-secao-paragrafo {
    color: var(--vaga-muted);
}

.vaga-pagina .vaga-tab-conteudo {
    color: #475569;
}

.vaga-pagina .vaga-destaque-item i,
.vaga-pagina .vaga-destaque-item--key i,
.vaga-pagina .vaga-destaque-item--muted i,
.vaga-pagina .vaga-ad-placeholder__label {
    color: var(--vaga-soft) !important;
}

/* Laranja só em ações importantes */
.vaga-pagina .btn-candidatar-vaga,
.vaga-pagina .btn-candidatura-externa-destaque.btn-candidatar-vaga {
    background-color: var(--vaga-action) !important;
    border-color: var(--vaga-action) !important;
    color: #fff !important;
}

.vaga-pagina .btn-candidatar-vaga:hover {
    background-color: var(--vaga-action-hover) !important;
    border-color: var(--vaga-action-hover) !important;
}

/* Meta/chips: neutros, sem fundo colorido */
.vaga-pagina .vaga-destaque-item--key {
    background: transparent !important;
    border: none !important;
}

.vaga-pagina .vaga-badges-tech .badge-vaga-info {
    background: var(--vaga-surface-soft) !important;
    color: var(--vaga-muted) !important;
    border: 1px solid var(--vaga-line) !important;
}

.vaga-pagina .vaga-badges-tech .badge-vaga-info:hover {
    background: #eef2f7 !important;
    color: var(--vaga-ui) !important;
}

/* Salário: chip azul discreto (não verde saturado) */
.vaga-pagina .vaga-salario {
    background: rgba(16, 37, 74, 0.08) !important;
    color: var(--vaga-ui) !important;
    border: 1px solid var(--vaga-line);
    font-weight: 600;
}

/* Checks de listas: cinza-azulado, sem verde “sucesso” */
.vaga-pagina .vaga-secao-lista li::before,
.vaga-pagina .vaga-tab-requisitos .vaga-secao-lista li::before,
.vaga-pagina .vaga-tab-beneficios .vaga-secao-lista li::before,
.vaga-pagina .vaga-requisitos-grupo__item::before,
.vaga-pagina .vaga-beneficios-lista__item::before,
.vaga-pagina .vaga-premium-card__item i {
    color: var(--vaga-ui-soft) !important;
}

/* Premium: sem ouro/creme — cartão branco + CTA azul UI */
.vaga-pagina .vaga-premium-card {
    background: var(--vaga-surface) !important;
    border: 1px solid var(--vaga-line) !important;
    box-shadow: 0 1px 2px rgba(15, 28, 46, 0.03), 0 8px 24px rgba(15, 28, 46, 0.04) !important;
}

.vaga-pagina .vaga-premium-card__header {
    background: var(--vaga-surface-soft) !important;
    border-bottom: 1px solid var(--vaga-line) !important;
}

.vaga-pagina .vaga-premium-card__title,
.vaga-pagina .vaga-premium-card__crown,
.vaga-pagina .vaga-premium-card__title .fa-crown,
.vaga-pagina .vaga-premium-card__title .fa-lock {
    color: var(--vaga-ui) !important;
}

.vaga-pagina .vaga-premium-card__crown {
    opacity: 0.75;
}

.vaga-pagina .vaga-premium-card__btn {
    background: var(--vaga-ui) !important;
    background-image: none !important;
    color: #fff !important;
    border: none !important;
    box-shadow: none !important;
}

.vaga-pagina .vaga-premium-card__link:hover .vaga-premium-card {
    border-color: var(--vaga-line-strong) !important;
    box-shadow: 0 8px 24px rgba(15, 28, 46, 0.07) !important;
}

.vaga-pagina .vaga-premium-card__link:hover .vaga-premium-card__btn {
    background: #16305c !important;
    box-shadow: none !important;
    filter: none;
}

/* Cards / bordas: leves */
.vaga-pagina .vaga-tabs-card,
.vaga-pagina .vaga-relacionadas-section > .card,
.vaga-pagina .vaga-relacionada-card,
.vaga-pagina .vaga-sidebar-widget {
    border-color: var(--vaga-line) !important;
    box-shadow: 0 1px 2px rgba(15, 28, 46, 0.03), 0 6px 20px rgba(15, 28, 46, 0.035) !important;
}

.vaga-pagina .vaga-relacionadas-header {
    background: var(--vaga-surface) !important;
    border-bottom-color: var(--vaga-line) !important;
}

.vaga-pagina .vaga-relacionadas-section .card-body {
    background: var(--vaga-surface-soft) !important;
}

.vaga-pagina .vaga-relacionada-card {
    background: var(--vaga-surface) !important;
    box-shadow: none !important;
}

.vaga-pagina .vaga-bloco-titulo,
.vaga-pagina .vaga-tab-conteudo .vaga-bloco-titulo,
.vaga-pagina .nav-tabs.vaga-tabs {
    border-color: var(--vaga-line) !important;
}

/* Placeholders de ad: neutros (sem alterar markup/slots) */
.vaga-pagina .vaga-ad-placeholder {
    background: var(--vaga-surface-soft) !important;
    border-color: var(--vaga-line) !important;
}

.vaga-pagina .vaga-ad-placeholder__promo {
    color: var(--vaga-ui) !important;
}

/* Favorito / compartilhar: secundários, sem rosa/amarelo */
.vaga-pagina .btn-compartilhar-vaga {
    color: var(--vaga-ui-soft) !important;
    border-color: var(--vaga-line-strong) !important;
    background: var(--vaga-surface) !important;
}

.vaga-pagina .btn-compartilhar-vaga:hover {
    color: var(--vaga-ui) !important;
    border-color: var(--vaga-ui-soft) !important;
    background: var(--vaga-surface-soft) !important;
}

.vaga-pagina .btn-favoritar-vaga {
    color: var(--vaga-muted) !important;
}

.vaga-pagina .btn-favoritar-vaga.is-favorita,
.vaga-pagina .btn-favoritar-vaga.is-favorita .vaga-favorito-icone {
    color: var(--vaga-action) !important;
}

/* Alertas informativos da página: menos saturados */
.vaga-pagina .alert-info {
    background: var(--vaga-surface-soft);
    border-color: var(--vaga-line);
    color: var(--vaga-ui-soft);
}

/* Links de conteúdo: azul UI, não arco-íris */
.vaga-pagina .vaga-tab-conteudo a,
.vaga-pagina .vaga-hero-empresa__link {
    color: var(--vaga-ui);
}

.vaga-pagina .vaga-contato-premium-link {
    color: var(--vaga-action) !important;
}

/* =========================================================
   Botões da página da vaga — primary / secondary
   ========================================================= */

.vaga-pagina {
    --vaga-btn-radius: 10px;
    --vaga-btn-height: 48px;
    --vaga-btn-pad-x: 1.35rem;
    --vaga-btn-pad-y: 0.75rem;
    --vaga-btn-transition: 200ms cubic-bezier(0.2, 0.8, 0.2, 1);
    --vaga-btn-shadow: 0 1px 2px rgba(15, 28, 46, 0.04), 0 4px 12px rgba(15, 28, 46, 0.06);
    --vaga-btn-shadow-hover: 0 4px 14px rgba(15, 28, 46, 0.1);
}

/* Grupo de CTAs alinhados */
.vaga-pagina .vaga-cta-principal,
.vaga-pagina .vaga-cta-final__actions {
    align-items: center !important;
    gap: 0.65rem !important;
}

.vaga-pagina .vaga-cta-principal .vaga-compartilhar-wrap,
.vaga-pagina .vaga-cta-principal .vaga-favorito-wrap,
.vaga-pagina .vaga-cta-final__actions .vaga-compartilhar-wrap,
.vaga-pagina .vaga-cta-final__actions .vaga-favorito-wrap,
.vaga-pagina .vaga-cta-final__favorito {
    align-self: center;
    display: inline-flex;
    align-items: center;
}

/* —— Primário (laranja): Enviar candidatura —— */
.vaga-pagina .btn-candidatar-vaga,
.vaga-pagina .btn-candidatura-externa-destaque.btn-candidatar-vaga,
.vaga-pagina .vaga-floating-cta__btn.btn-candidatar-vaga {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0.45rem;
    min-height: var(--vaga-btn-height) !important;
    height: auto !important;
    padding: var(--vaga-btn-pad-y) var(--vaga-btn-pad-x) !important;
    border-radius: var(--vaga-btn-radius) !important;
    font-size: 0.975rem !important;
    font-weight: 600 !important;
    letter-spacing: -0.01em;
    line-height: 1.2 !important;
    background-color: #EF5425 !important;
    border: 1px solid #EF5425 !important;
    color: #fff !important;
    box-shadow: 0 2px 8px rgba(239, 84, 37, 0.22) !important;
    transition:
        background-color var(--vaga-btn-transition),
        border-color var(--vaga-btn-transition),
        box-shadow var(--vaga-btn-transition),
        transform var(--vaga-btn-transition),
        filter var(--vaga-btn-transition) !important;
}

@media (hover: hover) and (pointer: fine) {
    .vaga-pagina .btn-candidatar-vaga:hover,
    .vaga-pagina .btn-candidatura-externa-destaque.btn-candidatar-vaga:hover {
        background-color: #D9481C !important;
        border-color: #D9481C !important;
        color: #fff !important;
        transform: translateY(-1px);
        filter: brightness(1.03);
        box-shadow: 0 6px 16px rgba(239, 84, 37, 0.28) !important;
    }
}

.vaga-pagina .btn-candidatar-vaga:active {
    transform: translateY(0);
    filter: none;
    box-shadow: 0 2px 6px rgba(239, 84, 37, 0.2) !important;
}

/* —— Secundários: Compartilhar / Salvar vaga —— */
.vaga-pagina .btn-compartilhar-vaga,
.vaga-pagina .btn-favoritar-vaga {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0.45rem;
    min-height: var(--vaga-btn-height) !important;
    height: var(--vaga-btn-height) !important;
    padding: var(--vaga-btn-pad-y) 1.15rem !important;
    border-radius: var(--vaga-btn-radius) !important;
    font-size: 0.875rem !important;
    font-weight: 500 !important;
    line-height: 1.2 !important;
    background: #fff !important;
    border: 1px solid rgba(16, 37, 74, 0.14) !important;
    color: #526074 !important;
    box-shadow: var(--vaga-btn-shadow) !important;
    transition:
        background-color var(--vaga-btn-transition),
        border-color var(--vaga-btn-transition),
        color var(--vaga-btn-transition),
        box-shadow var(--vaga-btn-transition),
        transform var(--vaga-btn-transition) !important;
}

.vaga-pagina .btn-favoritar-vaga {
    min-width: var(--vaga-btn-height) !important;
    width: var(--vaga-btn-height);
    padding: 0 !important;
}

.vaga-pagina .btn-compartilhar-vaga i,
.vaga-pagina .btn-favoritar-vaga .vaga-favorito-icone,
.vaga-pagina .btn-favoritar-vaga .vaga-favorito-visual {
    font-size: 1rem;
    opacity: 0.9;
    color: inherit;
}

@media (hover: hover) and (pointer: fine) {
    .vaga-pagina .btn-compartilhar-vaga:hover,
    .vaga-pagina .btn-favoritar-vaga:hover {
        background: #f8fafc !important;
        border-color: rgba(16, 37, 74, 0.22) !important;
        color: #10254A !important;
        transform: translateY(-1px);
        box-shadow: var(--vaga-btn-shadow-hover) !important;
    }

    .vaga-pagina .btn-favoritar-vaga:hover {
        transform: translateY(-1px) scale(1.02);
    }
}

.vaga-pagina .btn-compartilhar-vaga:active,
.vaga-pagina .btn-favoritar-vaga:active {
    transform: translateY(0);
    box-shadow: var(--vaga-btn-shadow) !important;
}

.vaga-pagina .btn-favoritar-vaga.is-favorita {
    background: rgba(239, 84, 37, 0.06) !important;
    border-color: rgba(239, 84, 37, 0.28) !important;
    color: #EF5425 !important;
}

.vaga-pagina .btn-favoritar-vaga.is-favorita:hover {
    background: rgba(239, 84, 37, 0.1) !important;
    border-color: rgba(239, 84, 37, 0.4) !important;
    color: #EF5425 !important;
}

.vaga-pagina .vaga-cta-final__favorito-label {
    font-size: 0.875rem;
    font-weight: 500;
    color: #64748b;
}

/* Botões auxiliares na página (site da empresa etc.): secundário, sem “primary” gritante */
.vaga-pagina .vaga-tab-sobre .btn.btn-primary:not(.btn-candidatar-vaga),
.vaga-pagina .vaga-tabs-card .btn.btn-primary:not(.btn-candidatar-vaga) {
    min-height: var(--vaga-btn-height);
    padding: var(--vaga-btn-pad-y) 1.15rem !important;
    border-radius: var(--vaga-btn-radius) !important;
    background: #fff !important;
    border: 1px solid rgba(16, 37, 74, 0.14) !important;
    color: #10254A !important;
    font-weight: 500 !important;
    box-shadow: var(--vaga-btn-shadow) !important;
    transition:
        background-color var(--vaga-btn-transition),
        border-color var(--vaga-btn-transition),
        color var(--vaga-btn-transition),
        box-shadow var(--vaga-btn-transition),
        transform var(--vaga-btn-transition) !important;
}

@media (hover: hover) and (pointer: fine) {
    .vaga-pagina .vaga-tab-sobre .btn.btn-primary:not(.btn-candidatar-vaga):hover,
    .vaga-pagina .vaga-tabs-card .btn.btn-primary:not(.btn-candidatar-vaga):hover {
        background: #f8fafc !important;
        border-color: rgba(16, 37, 74, 0.24) !important;
        transform: translateY(-1px);
        box-shadow: var(--vaga-btn-shadow-hover) !important;
    }
}

/* Exceção: CTA externo de candidatura mantém laranja (tem classe btn-candidatar-vaga) */
.vaga-pagina .vaga-tabs-card .btn-candidatar-vaga.btn-candidatura-externa-destaque {
    background-color: #EF5425 !important;
    border-color: #EF5425 !important;
    color: #fff !important;
}

@media (max-width: 767.98px) {
    .vaga-pagina .vaga-cta-principal .btn-candidatar-vaga {
        flex: 1 1 auto;
        width: 100%;
    }

    .vaga-pagina .btn-compartilhar-vaga,
    .vaga-pagina .btn-favoritar-vaga {
        min-height: 48px !important;
        height: 48px !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .vaga-pagina .btn-candidatar-vaga,
    .vaga-pagina .btn-compartilhar-vaga,
    .vaga-pagina .btn-favoritar-vaga {
        transition: none !important;
        transform: none !important;
    }
}

/* =========================================================
   Chips estilo LinkedIn — baixos, cinza claro, azul escuro
   ========================================================= */

.vaga-pagina {
    --vaga-chip-bg: #f3f2ef;
    --vaga-chip-bg-hover: #e9e5df;
    --vaga-chip-text: #10254A;
    --vaga-chip-border: rgba(16, 37, 74, 0.1);
    --vaga-chip-radius: 999px;
    --vaga-chip-pad-y: 0.15rem;
    --vaga-chip-pad-x: 0.55rem;
    --vaga-chip-font: 0.75rem;
    --vaga-chip-transition: 160ms ease;
}

/* Meta do topo: chips compactos em linha */
.vaga-pagina .vaga-destaque-line {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem 0.4rem !important;
    overflow: visible;
}

.vaga-pagina .vaga-destaque-item,
.vaga-pagina .vaga-destaque-item--key,
.vaga-pagina .vaga-destaque-item--muted {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.3rem !important;
    min-height: 1.5rem;
    padding: var(--vaga-chip-pad-y) var(--vaga-chip-pad-x) !important;
    border-radius: var(--vaga-chip-radius) !important;
    border: 1px solid var(--vaga-chip-border) !important;
    background: var(--vaga-chip-bg) !important;
    color: var(--vaga-chip-text) !important;
    font-size: var(--vaga-chip-font) !important;
    font-weight: 500 !important;
    line-height: 1.2 !important;
    white-space: nowrap;
    box-shadow: none !important;
    transition: background-color var(--vaga-chip-transition), border-color var(--vaga-chip-transition), color var(--vaga-chip-transition);
}

.vaga-pagina .vaga-destaque-item i,
.vaga-pagina .vaga-destaque-item--key i,
.vaga-pagina .vaga-destaque-item--muted i {
    color: #5c6b7f !important;
    font-size: 0.68rem !important;
    width: auto;
    opacity: 0.9;
}

.vaga-pagina .vaga-destaque-item:not(:last-child)::after,
.vaga-pagina .vaga-destaque-item--key:not(:last-child)::after,
.vaga-pagina .vaga-destaque-item--muted:not(:last-child)::after,
.vaga-pagina .vaga-destaque-item + .vaga-destaque-item::before {
    content: none !important;
    display: none !important;
    margin: 0 !important;
    width: 0 !important;
    height: 0 !important;
}

@media (hover: hover) and (pointer: fine) {
    .vaga-pagina .vaga-destaque-item:hover,
    .vaga-pagina .vaga-destaque-item--key:hover,
    .vaga-pagina .vaga-destaque-item--muted:hover {
        background: var(--vaga-chip-bg-hover) !important;
        border-color: rgba(16, 37, 74, 0.16) !important;
        color: var(--vaga-chip-text) !important;
    }
}

/* Badges técnicos / explorar / tags de relacionadas */
.vaga-pagina .badge-vaga-info,
.vaga-pagina .vaga-badges-tech .badge-vaga-info,
.vaga-pagina .vaga-explore-mais__chips .badge-vaga-info,
.vaga-pagina .vaga-relacionada-tags .badge,
.vaga-pagina .vaga-relacionada-tags .badge-vaga-info,
.vaga-pagina .vaga-relacionada-tags a,
.vaga-pagina .vaga-salario {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 1.5rem;
    padding: var(--vaga-chip-pad-y) var(--vaga-chip-pad-x) !important;
    border-radius: var(--vaga-chip-radius) !important;
    border: 1px solid var(--vaga-chip-border) !important;
    background: var(--vaga-chip-bg) !important;
    color: var(--vaga-chip-text) !important;
    font-size: var(--vaga-chip-font) !important;
    font-weight: 500 !important;
    line-height: 1.2 !important;
    text-decoration: none !important;
    box-shadow: none !important;
    transition: background-color var(--vaga-chip-transition), border-color var(--vaga-chip-transition), color var(--vaga-chip-transition);
}

@media (hover: hover) and (pointer: fine) {
    .vaga-pagina .badge-vaga-info:hover,
    .vaga-pagina .vaga-badges-tech .badge-vaga-info:hover,
    .vaga-pagina .vaga-explore-mais__chips .badge-vaga-info:hover,
    .vaga-pagina .vaga-relacionada-tags a:hover {
        background: var(--vaga-chip-bg-hover) !important;
        border-color: rgba(16, 37, 74, 0.16) !important;
        color: var(--vaga-chip-text) !important;
        transform: none !important;
    }
}

.vaga-pagina .vaga-badges-tech,
.vaga-pagina .vaga-explore-mais__chips,
.vaga-pagina .vaga-relacionada-tags {
    gap: 0.35rem !important;
}

@media (max-width: 767.98px) {
    .vaga-pagina {
        --vaga-chip-pad-x: 0.5rem;
        --vaga-chip-font: 0.72rem;
    }
}

/* =========================================================
   Recursos Premium — elegante, sem caixa amarela
   ========================================================= */
.vaga-pagina .vaga-premium-card {
    background: #ffffff !important;
    background-image: none !important;
    border: 1px solid rgba(184, 148, 50, 0.28) !important;
    border-radius: 12px !important;
    box-shadow: 0 1px 2px rgba(15, 28, 46, 0.03) !important;
    overflow: hidden;
}

.vaga-pagina .vaga-premium-card__header {
    background: #ffffff !important;
    background-image: none !important;
    border-bottom: 1px solid rgba(16, 37, 74, 0.06) !important;
    padding: 1.05rem 1.15rem 0.65rem !important;
}

.vaga-pagina .vaga-premium-card__title {
    color: #5c6b7f !important;
    font-weight: 600 !important;
    font-size: 0.98rem !important;
    letter-spacing: -0.01em;
}

.vaga-pagina .vaga-premium-card__crown,
.vaga-pagina .vaga-premium-card__title .fa-crown,
.vaga-pagina .vaga-premium-card__title .fa-lock {
    color: #b89432 !important;
    opacity: 1 !important;
}

.vaga-pagina .vaga-premium-card__subtitle,
.vaga-pagina .vaga-premium-card__item {
    color: #6b7280 !important;
}

.vaga-pagina .vaga-premium-card__subtitle {
    font-size: 0.8rem !important;
    line-height: 1.45 !important;
}

.vaga-pagina .vaga-premium-card__body {
    background: #ffffff !important;
    padding: 0.55rem 1.15rem 1.15rem !important;
}

.vaga-pagina .vaga-premium-card__item {
    font-size: 0.8rem !important;
    line-height: 1.4 !important;
    margin-bottom: 0.4rem !important;
}

.vaga-pagina .vaga-premium-card__item i {
    color: #b89432 !important;
    opacity: 0.85;
}

.vaga-pagina .vaga-premium-card__btn {
    display: block;
    width: 100%;
    text-align: center;
    background: #f0c419 !important;
    background-image: none !important;
    color: #1f2937 !important;
    border: 1px solid rgba(184, 148, 50, 0.35) !important;
    border-radius: 10px !important;
    font-weight: 600 !important;
    font-size: 0.875rem !important;
    padding: 0.7rem 1rem !important;
    box-shadow: none !important;
    transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease !important;
}

@media (hover: hover) and (pointer: fine) {
    .vaga-pagina .vaga-premium-card__link:hover .vaga-premium-card {
        border-color: rgba(184, 148, 50, 0.42) !important;
        box-shadow: 0 4px 14px rgba(15, 28, 46, 0.05) !important;
        transform: none;
        background: #ffffff !important;
    }

    .vaga-pagina .vaga-premium-card__link:hover .vaga-premium-card__btn {
        background: #e6b800 !important;
        border-color: rgba(184, 148, 50, 0.5) !important;
        color: #1f2937 !important;
        box-shadow: none !important;
        filter: none;
        transform: none;
    }
}

/* =========================================================
   Abas estilo GitHub / Notion — altura, linha e transição
   ========================================================= */
.vaga-pagina .nav-tabs.vaga-tabs {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    gap: 0.15rem;
    border-bottom: 1px solid rgba(16, 37, 74, 0.12) !important;
    margin-bottom: 1.35rem !important;
    padding: 0 !important;
}

.vaga-pagina .nav-tabs.vaga-tabs .nav-item {
    margin-bottom: 0;
}

.vaga-pagina .nav-tabs.vaga-tabs .nav-link {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 2.85rem !important;
    padding: 0.85rem 1.2rem !important;
    margin-bottom: -1px !important;
    border: none !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #656d76 !important;
    font-size: 0.9375rem !important;
    font-weight: 600 !important;
    letter-spacing: -0.01em;
    line-height: 1.25 !important;
    box-shadow: none !important;
    transition:
        color 200ms ease,
        background-color 200ms ease,
        opacity 200ms ease !important;
}

.vaga-pagina .nav-tabs.vaga-tabs .nav-link::after {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    left: 0.85rem !important;
    right: 0.85rem !important;
    bottom: 0 !important;
    height: 2px !important;
    border-radius: 2px 2px 0 0 !important;
    background: transparent !important;
    transform: scaleX(0.55);
    transform-origin: center;
    opacity: 0;
    transition:
        background-color 220ms ease,
        transform 220ms cubic-bezier(0.22, 1, 0.36, 1),
        opacity 220ms ease !important;
}

@media (hover: hover) and (pointer: fine) {
    .vaga-pagina .nav-tabs.vaga-tabs .nav-link:hover {
        color: #10254A !important;
        background: rgba(16, 37, 74, 0.035) !important;
    }

    .vaga-pagina .nav-tabs.vaga-tabs .nav-link:hover::after {
        background: rgba(16, 37, 74, 0.22) !important;
        transform: scaleX(0.85);
        opacity: 1;
    }
}

.vaga-pagina .nav-tabs.vaga-tabs .nav-link:focus-visible {
    outline: 2px solid rgba(16, 37, 74, 0.28);
    outline-offset: 2px;
    color: #10254A !important;
}

.vaga-pagina .nav-tabs.vaga-tabs .nav-link.active,
.vaga-pagina .nav-tabs.vaga-tabs .nav-link.active:hover,
.vaga-pagina .nav-tabs.vaga-tabs .nav-link.active:focus {
    color: #10254A !important;
    background: transparent !important;
    font-weight: 600 !important;
    border: none !important;
    border-bottom-color: transparent !important;
}

.vaga-pagina .nav-tabs.vaga-tabs .nav-link.active::after,
.vaga-pagina .nav-tabs.vaga-tabs .nav-link.active:hover::after {
    background: #10254A !important;
    transform: scaleX(1) !important;
    opacity: 1 !important;
}

.vaga-pagina .vaga-tabs-card .tab-pane.fade {
    transition: opacity 280ms ease !important;
}

@media (max-width: 767.98px) {
    .vaga-pagina .nav-tabs.vaga-tabs .nav-link {
        min-height: 2.65rem !important;
        padding: 0.75rem 0.95rem !important;
        font-size: 0.875rem !important;
    }

    .vaga-pagina .nav-tabs.vaga-tabs .nav-link::after {
        left: 0.65rem !important;
        right: 0.65rem !important;
    }
}

/* =========================================================
   Leitura do conteúdo — escaneamento visual (só apresentação)
   ========================================================= */
.vaga-pagina .vaga-tab-conteudo {
    max-width: 44rem;
    font-size: 0.975rem;
    line-height: 1.72;
    color: #425466;
}

.vaga-pagina .vaga-tab-conteudo p,
.vaga-pagina .vaga-secao-paragrafo {
    margin: 0 0 1.05rem;
    line-height: 1.72;
    color: #425466;
}

.vaga-pagina .vaga-tab-conteudo p + p,
.vaga-pagina .vaga-secao-paragrafo + .vaga-secao-paragrafo {
    margin-top: 0.15rem;
}

/* Subtítulos existentes: mais ar e hierarquia */
.vaga-pagina .vaga-bloco-titulo,
.vaga-pagina .vaga-tab-conteudo .vaga-bloco-titulo {
    margin: 1.85rem 0 0.85rem !important;
    padding: 0 0 0.5rem !important;
    font-size: 0.95rem !important;
    font-weight: 600 !important;
    letter-spacing: -0.01em;
    line-height: 1.35 !important;
    color: #10254A !important;
    border-bottom: 1px solid rgba(16, 37, 74, 0.1) !important;
}

.vaga-pagina .vaga-bloco-titulo:first-child,
.vaga-pagina .vaga-tab-conteudo .vaga-bloco-titulo:first-child {
    margin-top: 0.15rem !important;
}

.vaga-pagina .vaga-bloco-titulo + p,
.vaga-pagina .vaga-bloco-titulo + .vaga-secao-paragrafo,
.vaga-pagina .vaga-bloco-titulo + .vaga-secao-lista,
.vaga-pagina .vaga-tab-conteudo .vaga-bloco-titulo + p,
.vaga-pagina .vaga-tab-conteudo .vaga-bloco-titulo + .vaga-secao-paragrafo,
.vaga-pagina .vaga-tab-conteudo .vaga-bloco-titulo + .vaga-secao-lista {
    margin-top: 0.35rem !important;
}

.vaga-pagina .vaga-requisitos-grupos {
    gap: 1.65rem !important;
    margin: 0.35rem 0 0.5rem;
}

.vaga-pagina .vaga-requisitos-grupo {
    margin: 0;
    padding: 0.15rem 0 0.35rem;
}

.vaga-pagina .vaga-requisitos-grupo__titulo {
    margin: 0 0 0.75rem !important;
    font-size: 0.875rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.01em;
    text-transform: none;
    color: #10254A !important;
    line-height: 1.35 !important;
}

/* Listas: respiro e line-height para escaneamento */
.vaga-pagina .vaga-secao-lista,
.vaga-pagina .vaga-tab-conteudo .vaga-secao-lista {
    margin: 0.65rem 0 1.35rem !important;
    padding-left: 0 !important;
}

.vaga-pagina .vaga-secao-lista li,
.vaga-pagina .vaga-tab-conteudo .vaga-secao-lista li {
    margin-bottom: 0.7rem !important;
    padding-left: 1.55rem !important;
    line-height: 1.65 !important;
    color: #425466 !important;
}

.vaga-pagina .vaga-secao-lista li:last-child,
.vaga-pagina .vaga-tab-conteudo .vaga-secao-lista li:last-child {
    margin-bottom: 0.15rem !important;
}

.vaga-pagina .vaga-requisitos-grupo__lista,
.vaga-pagina .vaga-beneficios-lista__items {
    gap: 0.7rem !important;
    margin: 0 0 0.35rem !important;
}

.vaga-pagina .vaga-requisitos-grupo__item,
.vaga-pagina .vaga-beneficios-lista__item {
    padding-left: 1.45rem !important;
    line-height: 1.65 !important;
    color: #425466 !important;
    font-size: 0.975rem !important;
}

/* Listas longas (6+ itens): mais espaço entre linhas */
.vaga-pagina .vaga-secao-lista:has(> li:nth-child(6)) li,
.vaga-pagina .vaga-tab-conteudo .vaga-secao-lista:has(> li:nth-child(6)) li {
    margin-bottom: 0.9rem !important;
    line-height: 1.7 !important;
}

.vaga-pagina .vaga-secao-lista:has(> li:nth-child(6)),
.vaga-pagina .vaga-tab-conteudo .vaga-secao-lista:has(> li:nth-child(6)) {
    margin-bottom: 1.65rem !important;
}

.vaga-pagina .vaga-requisitos-grupo__lista:has(> li:nth-child(6)),
.vaga-pagina .vaga-beneficios-lista__items:has(> li:nth-child(6)) {
    gap: 0.9rem !important;
    margin-bottom: 0.55rem !important;
}

.vaga-pagina .vaga-requisitos-grupo__lista:has(> li:nth-child(10)),
.vaga-pagina .vaga-beneficios-lista__items:has(> li:nth-child(10)),
.vaga-pagina .vaga-secao-lista:has(> li:nth-child(10)) {
    margin-top: 0.35rem !important;
}

.vaga-pagina .vaga-secao-lista:has(> li:nth-child(10)) li {
    margin-bottom: 1rem !important;
}

.vaga-pagina .vaga-requisitos-grupo__lista:has(> li:nth-child(10)),
.vaga-pagina .vaga-beneficios-lista__items:has(> li:nth-child(10)) {
    gap: 1rem !important;
}

/* Ícones/check menores e mais discretos */
.vaga-pagina .vaga-secao-lista li::before,
.vaga-pagina .vaga-tab-requisitos .vaga-secao-lista li::before,
.vaga-pagina .vaga-tab-requisitos .vaga-secao-lista--bullets li::before,
.vaga-pagina .vaga-requisitos-grupo__item::before,
.vaga-pagina .vaga-beneficios-lista__item::before,
.vaga-pagina .vaga-tab-beneficios .vaga-secao-lista li::before {
    font-size: 0.62rem !important;
    font-weight: 600 !important;
    color: #7a8799 !important;
    top: 0.35em;
    line-height: 1;
    opacity: 0.9;
}

.vaga-pagina .vaga-tab-beneficios .vaga-secao-lista li {
    display: flex !important;
    align-items: flex-start !important;
    gap: 0.55rem !important;
    padding: 0.35rem 0 !important;
    margin-bottom: 0.75rem !important;
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    line-height: 1.65 !important;
}

.vaga-pagina .vaga-tab-beneficios .vaga-secao-lista:has(> li:nth-child(6)) li {
    margin-bottom: 0.95rem !important;
    padding: 0.2rem 0 !important;
}

.vaga-pagina .vaga-tab-beneficios .vaga-secao-lista li::before {
    position: relative !important;
    top: 0.3em !important;
    flex-shrink: 0;
}

.vaga-pagina .vaga-secao-lista--numerada {
    padding-left: 0.15rem !important;
}

.vaga-pagina .vaga-secao-lista--numerada li {
    padding-left: 1.85rem !important;
}

@media (max-width: 767.98px) {
    .vaga-pagina .vaga-tab-conteudo {
        font-size: 0.95rem;
        line-height: 1.68;
    }

    .vaga-pagina .vaga-secao-lista li,
    .vaga-pagina .vaga-tab-conteudo .vaga-secao-lista li,
    .vaga-pagina .vaga-requisitos-grupo__item,
    .vaga-pagina .vaga-beneficios-lista__item {
        line-height: 1.62 !important;
    }

    .vaga-pagina .vaga-bloco-titulo,
    .vaga-pagina .vaga-tab-conteudo .vaga-bloco-titulo {
        margin-top: 1.55rem !important;
    }
}

/* =========================================================
   Bloco da empresa — elegante, pronto para logo
   ========================================================= */
.vaga-pagina .vaga-hero-empresa {
    margin: 0 0 1.1rem !important;
    max-width: 28rem;
}

.vaga-pagina .vaga-hero-empresa__card {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    width: fit-content;
    max-width: 100%;
    padding: 0.55rem 0.85rem 0.55rem 0.55rem;
    border: 1px solid rgba(16, 37, 74, 0.1);
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 1px 2px rgba(15, 28, 46, 0.03);
    text-decoration: none !important;
    color: inherit;
    transition: border-color 180ms ease, box-shadow 180ms ease, background-color 180ms ease;
}

.vaga-pagina a.vaga-hero-empresa__card,
.vaga-pagina a.vaga-hero-empresa__link {
    text-decoration: none !important;
}

.vaga-pagina .vaga-hero-empresa__media {
    flex: 0 0 2.5rem;
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 8px;
    background: #f3f5f8;
    border: 1px solid rgba(16, 37, 74, 0.08);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.vaga-pagina .vaga-hero-empresa__logo {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
    background: #fff;
}

.vaga-pagina .vaga-hero-empresa__icon {
    font-size: 0.85rem;
    color: #7a8799;
}

.vaga-pagina .vaga-hero-empresa__text {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.1rem;
    min-width: 0;
    padding-right: 0.15rem;
}

.vaga-pagina .vaga-hero-empresa__nome,
.vaga-pagina .vaga-hero-empresa .vaga-hero-empresa__nome {
    font-size: 1.05rem !important;
    font-weight: 600 !important;
    letter-spacing: -0.015em;
    line-height: 1.25 !important;
    color: #10254A !important;
    text-decoration: none !important;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.vaga-pagina .vaga-hero-empresa__meta {
    display: block;
    font-size: 0.8125rem;
    font-weight: 500;
    line-height: 1.3;
    color: #6b7280 !important;
    white-space: nowrap;
}

@media (hover: hover) and (pointer: fine) {
    .vaga-pagina a.vaga-hero-empresa__card:hover,
    .vaga-pagina a.vaga-hero-empresa__link:hover {
        border-color: rgba(16, 37, 74, 0.18);
        box-shadow: 0 4px 14px rgba(15, 28, 46, 0.06);
        background: #fafafe;
    }

    .vaga-pagina a.vaga-hero-empresa__card:hover .vaga-hero-empresa__nome {
        color: #10254A !important;
        text-decoration: none !important;
    }
}

.vaga-pagina a.vaga-hero-empresa__card:focus-visible {
    outline: 2px solid rgba(16, 37, 74, 0.3);
    outline-offset: 2px;
}

@media (max-width: 767.98px) {
    .vaga-pagina .vaga-hero-empresa {
        max-width: 100%;
    }

    .vaga-pagina .vaga-hero-empresa__card {
        max-width: 100%;
    }

    .vaga-pagina .vaga-hero-empresa__nome {
        white-space: normal;
    }
}

/* =========================================================
   CTA secundário — só ícones (compartilhar / favoritar)
   ========================================================= */
.vaga-pagina .btn-compartilhar-vaga > span:not(.visually-hidden) {
    display: none !important;
}

.vaga-pagina .vaga-cta-principal .btn-compartilhar-vaga,
.vaga-pagina .vaga-cta-final__actions .btn-compartilhar-vaga,
.vaga-pagina .btn-compartilhar-vaga,
.vaga-pagina .vaga-cta-principal .btn-favoritar-vaga,
.vaga-pagina .vaga-cta-final__actions .btn-favoritar-vaga,
.vaga-pagina .btn-favoritar-vaga {
    width: 2.5rem !important;
    min-width: 2.5rem !important;
    max-width: 2.5rem !important;
    height: 2.5rem !important;
    min-height: 2.5rem !important;
    padding: 0 !important;
    gap: 0 !important;
    border-radius: 10px !important;
    background: transparent !important;
    border: 1px solid rgba(16, 37, 74, 0.12) !important;
    color: #6b7280 !important;
    box-shadow: none !important;
    font-size: 0 !important;
    line-height: 1 !important;
}

.vaga-pagina .btn-compartilhar-vaga i,
.vaga-pagina .btn-favoritar-vaga .vaga-favorito-icone,
.vaga-pagina .btn-favoritar-vaga .vaga-favorito-visual,
.vaga-pagina .btn-favoritar-vaga .vaga-favorito-line,
.vaga-pagina .btn-favoritar-vaga .vaga-favorito-fill {
    font-size: 0.95rem !important;
    line-height: 1 !important;
    opacity: 0.85;
    color: inherit !important;
}

.vaga-pagina .vaga-cta-principal,
.vaga-pagina .vaga-cta-final__actions {
    gap: 0.5rem !important;
}

.vaga-pagina .vaga-cta-principal .vaga-compartilhar-wrap,
.vaga-pagina .vaga-cta-principal .vaga-favorito-wrap,
.vaga-pagina .vaga-cta-final__actions .vaga-compartilhar-wrap,
.vaga-pagina .vaga-cta-final__actions .vaga-favorito-wrap {
    align-self: center;
}

@media (hover: hover) and (pointer: fine) {
    .vaga-pagina .btn-compartilhar-vaga:hover,
    .vaga-pagina .btn-favoritar-vaga:hover {
        background: rgba(16, 37, 74, 0.04) !important;
        border-color: rgba(16, 37, 74, 0.2) !important;
        color: #10254A !important;
        transform: none !important;
        box-shadow: none !important;
    }
}

.vaga-pagina .btn-compartilhar-vaga:focus-visible,
.vaga-pagina .btn-favoritar-vaga:focus-visible {
    outline: 2px solid rgba(16, 37, 74, 0.28);
    outline-offset: 2px;
}

.vaga-pagina .btn-favoritar-vaga.is-favorita,
.vaga-pagina .btn-favoritar-vaga.is-favorita .vaga-favorito-icone {
    color: #c2410c !important;
    background: rgba(239, 84, 37, 0.06) !important;
    border-color: rgba(239, 84, 37, 0.22) !important;
}

/* =========================================================
   Vagas semelhantes — card moderno
   ========================================================= */
.vaga-pagina #vagas-relacionadas-lista {
    --bs-gutter-x: 1rem;
    --bs-gutter-y: 1rem;
}

.vaga-pagina .vaga-relacionadas-section .card-body {
    padding: 1.1rem 1.15rem 1.25rem !important;
}

.vaga-pagina .vaga-relacionada-card {
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: 1.25rem 1.3rem 1.15rem !important;
    border: 1px solid rgba(16, 37, 74, 0.1) !important;
    border-radius: 14px !important;
    background: #fff !important;
    box-shadow: 0 1px 2px rgba(15, 28, 46, 0.03), 0 8px 22px rgba(15, 28, 46, 0.05) !important;
    transition:
        transform 200ms ease,
        box-shadow 200ms ease,
        border-color 200ms ease !important;
}

.vaga-pagina .vaga-relacionada-card__link {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    text-decoration: none !important;
    color: inherit !important;
}

.vaga-pagina .vaga-relacionada-titulo {
    margin: 0 0 0.15rem !important;
    font-size: 1.02rem !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
    letter-spacing: -0.015em;
    color: #10254A !important;
}

.vaga-pagina .vaga-relacionada-empresa {
    margin: 0 0 0.55rem !important;
    font-size: 0.9rem !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
    color: #10254A !important;
    opacity: 0.88;
}

.vaga-pagina .vaga-relacionada-info {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.4rem !important;
    margin: 0.15rem 0 0.55rem !important;
}

.vaga-pagina .vaga-relacionada-info-item {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.8125rem;
    color: #6b7280;
    line-height: 1.35;
}

.vaga-pagina .vaga-relacionada-info-item i {
    font-size: 0.7rem !important;
    color: #8b95a5 !important;
    width: 0.85rem;
    text-align: center;
}

/* Cidade menor */
.vaga-pagina .vaga-relacionada-info-item:has(.fa-map-marker-alt) {
    font-size: 0.75rem !important;
    color: #8b95a5 !important;
    font-weight: 400;
}

.vaga-pagina .vaga-relacionada-info-item:has(.fa-map-marker-alt) i {
    font-size: 0.65rem !important;
}

/* Salário em destaque */
.vaga-pagina .vaga-relacionada-salario,
.vaga-pagina .vaga-relacionada-info-item.vaga-relacionada-salario {
    margin-top: 0.15rem;
    font-size: 0.92rem !important;
    font-weight: 600 !important;
    letter-spacing: -0.01em;
    color: #10254A !important;
}

.vaga-pagina .vaga-relacionada-salario i {
    color: #10254A !important;
    opacity: 0.7;
    font-size: 0.75rem !important;
}

/* Chips menores (LinkedIn-like) */
.vaga-pagina .vaga-relacionada-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.3rem !important;
    margin: 0.35rem 0 0.15rem !important;
}

.vaga-pagina .vaga-relacionada-tags .badge,
.vaga-pagina .vaga-relacionada-tags .badge-vaga-info,
.vaga-pagina .vaga-relacionada-tag {
    min-height: 1.35rem !important;
    padding: 0.1rem 0.45rem !important;
    border-radius: 999px !important;
    border: 1px solid rgba(16, 37, 74, 0.1) !important;
    background: #f3f2ef !important;
    color: #10254A !important;
    font-size: 0.68rem !important;
    font-weight: 500 !important;
    line-height: 1.2 !important;
    text-decoration: none !important;
}

.vaga-pagina .vaga-relacionada-footer {
    margin-top: auto !important;
    padding-top: 0.85rem !important;
    border-top: 1px solid rgba(16, 37, 74, 0.08) !important;
}

.vaga-pagina .vaga-relacionada-btn {
    border-radius: 10px !important;
    font-weight: 600 !important;
    min-height: 2.15rem;
    padding: 0.4rem 0.9rem !important;
}

@media (hover: hover) and (pointer: fine) {
    .vaga-pagina .vaga-relacionada-card:hover {
        transform: translateY(-3px) !important;
        border-color: rgba(16, 37, 74, 0.16) !important;
        box-shadow: 0 6px 18px rgba(15, 28, 46, 0.08), 0 2px 6px rgba(15, 28, 46, 0.04) !important;
    }

    .vaga-pagina .vaga-relacionada-card:hover .vaga-relacionada-titulo {
        color: #10254A !important;
    }

    .vaga-pagina .vaga-relacionada-tag:hover {
        background: #e9e5df !important;
        border-color: rgba(16, 37, 74, 0.16) !important;
        color: #10254A !important;
    }
}

@media (max-width: 767.98px) {
    .vaga-pagina .vaga-relacionadas-section .card-body {
        padding: 0.85rem !important;
    }

    .vaga-pagina .vaga-relacionada-card {
        padding: 1.1rem 1.05rem 1rem !important;
    }
}

/* =========================================================
   AUDITORIA MASTER – FASE 1
   Hero da página da vaga (somente visual)
   Escala: 8 / 16 / 24 / 32px
   ========================================================= */

.vaga-pagina {
    --vaga-hero-space-1: 8px;
    --vaga-hero-space-2: 16px;
    --vaga-hero-space-3: 24px;
    --vaga-hero-space-4: 32px;
    --vaga-hero-title: #0b1f42;
    --vaga-hero-meta: #64748b;
    --vaga-hero-line: rgba(16, 37, 74, 0.08);
    --vaga-hero-chip-bg: #f4f5f7;
    --vaga-hero-chip-text: #3d4f66;
    --vaga-hero-chip-border: rgba(16, 37, 74, 0.07);
    --vaga-hero-cta-h: 52px;
    --vaga-hero-cta-shadow: 0 2px 6px rgba(239, 84, 37, 0.18), 0 8px 20px rgba(239, 84, 37, 0.16);
    --vaga-hero-cta-shadow-hover: 0 4px 10px rgba(239, 84, 37, 0.22), 0 12px 28px rgba(239, 84, 37, 0.22);
    --vaga-hero-ease: 200ms cubic-bezier(0.2, 0.8, 0.2, 1);
}

/* —— 5. Breadcrumb: discreto, sem competir com o título —— */
.vaga-pagina .vaga-breadcrumb {
    margin: 0 0 var(--vaga-hero-space-2) !important;
    padding: 0;
}

.vaga-pagina .vaga-breadcrumb__list {
    font-size: 0.75rem !important;
    line-height: 1.4 !important;
    color: #94a3b8 !important;
    gap: 0 !important;
    letter-spacing: 0.01em;
}

.vaga-pagina .vaga-breadcrumb__item + .vaga-breadcrumb__item::before {
    margin: 0 0.35rem !important;
    color: #cbd5e1 !important;
    font-weight: 500 !important;
    font-size: 0.7rem;
}

.vaga-pagina .vaga-breadcrumb__item a {
    color: #94a3b8 !important;
    font-weight: 400 !important;
    text-decoration: none !important;
}

.vaga-pagina .vaga-breadcrumb__item a:hover {
    color: #64748b !important;
    text-decoration: underline !important;
    text-underline-offset: 2px;
}

.vaga-pagina .vaga-breadcrumb__item--current {
    color: #94a3b8 !important;
    font-weight: 500 !important;
}

/* —— Hero block: compacto + separação elegante → abas —— */
.vaga-pagina .vaga-hero-block {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    margin: 0 0 var(--vaga-hero-space-3) !important;
    padding: 0 0 var(--vaga-hero-space-3) !important;
    border-bottom: 1px solid var(--vaga-hero-line);
    box-shadow: 0 8px 16px -12px rgba(15, 28, 46, 0.08);
}

/* —— 1. Título dominante (~+12% presença) —— */
.vaga-pagina .vaga-hero-block .vaga-pagina-titulo,
.vaga-pagina .vaga-pagina-titulo {
    font-size: clamp(1.85rem, 3.1vw, 2.25rem) !important;
    font-weight: 800 !important;
    color: var(--vaga-hero-title) !important;
    line-height: 1.18 !important;
    letter-spacing: -0.035em !important;
    margin: 0 0 var(--vaga-hero-space-1) !important;
    max-width: 40rem;
}

/* —— 2. Empresa: nome forte, meta secundária, slot de logo —— */
.vaga-pagina .vaga-hero-block .vaga-hero-empresa,
.vaga-pagina .vaga-hero-empresa {
    margin: 0 0 var(--vaga-hero-space-2) !important;
    max-width: 28rem;
}

.vaga-pagina .vaga-hero-empresa__card {
    display: flex !important;
    align-items: center !important;
    gap: 0.75rem !important;
    width: fit-content;
    max-width: 100%;
    min-height: 3rem;
    padding: 0.4rem 0.75rem 0.4rem 0.4rem !important;
    border: 1px solid rgba(16, 37, 74, 0.09) !important;
    border-radius: 12px !important;
    background: #fff !important;
    box-shadow: 0 1px 2px rgba(15, 28, 46, 0.03) !important;
}

.vaga-pagina .vaga-hero-empresa__media {
    flex: 0 0 2.5rem !important;
    width: 2.5rem !important;
    height: 2.5rem !important;
    border-radius: 8px !important;
    background: #f3f5f8 !important;
    border: 1px solid rgba(16, 37, 74, 0.07) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden;
}

.vaga-pagina .vaga-hero-empresa__logo {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
    background: #fff;
}

.vaga-pagina .vaga-hero-empresa__icon {
    font-size: 0.85rem;
    color: #8b95a5;
}

.vaga-pagina .vaga-hero-empresa__text {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 2px !important;
    min-width: 0;
    padding-right: 0.2rem;
}

.vaga-pagina .vaga-hero-empresa__nome,
.vaga-pagina .vaga-hero-empresa .vaga-hero-empresa__nome {
    font-size: 1.125rem !important;
    font-weight: 700 !important;
    letter-spacing: -0.02em !important;
    line-height: 1.25 !important;
    color: var(--vaga-hero-title) !important;
    text-decoration: none !important;
}

.vaga-pagina .vaga-hero-empresa__meta {
    display: block !important;
    font-size: 0.75rem !important;
    font-weight: 500 !important;
    line-height: 1.3 !important;
    color: #8b95a5 !important;
    white-space: nowrap;
}

@media (hover: hover) and (pointer: fine) {
    .vaga-pagina a.vaga-hero-empresa__card:hover {
        border-color: rgba(16, 37, 74, 0.16) !important;
        box-shadow: 0 3px 12px rgba(15, 28, 46, 0.06) !important;
        background: #fafbfd !important;
    }
}

/* —— 3. Faixa de metadados (chips leves, altura uniforme) —— */
.vaga-pagina .vaga-hero-block .vaga-destaque-line,
.vaga-pagina .vaga-destaque-line {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 8px !important;
    margin: 0 0 var(--vaga-hero-space-3) !important;
    padding: 0 !important;
    overflow: visible !important;
}

.vaga-pagina .vaga-hero-block .vaga-destaque-item,
.vaga-pagina .vaga-hero-block .vaga-destaque-item--key,
.vaga-pagina .vaga-hero-block .vaga-destaque-item--muted,
.vaga-pagina .vaga-destaque-item,
.vaga-pagina .vaga-destaque-item--key,
.vaga-pagina .vaga-destaque-item--muted {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.3rem !important;
    box-sizing: border-box;
    height: 1.75rem !important;
    min-height: 1.75rem !important;
    max-height: 1.75rem !important;
    padding: 0 0.65rem !important;
    border-radius: 999px !important;
    border: 1px solid var(--vaga-hero-chip-border) !important;
    background: var(--vaga-hero-chip-bg) !important;
    color: var(--vaga-hero-chip-text) !important;
    font-size: 0.75rem !important;
    font-weight: 500 !important;
    line-height: 1 !important;
    white-space: nowrap;
    box-shadow: none !important;
}

.vaga-pagina .vaga-hero-block .vaga-destaque-item i,
.vaga-pagina .vaga-destaque-item i,
.vaga-pagina .vaga-destaque-item--key i,
.vaga-pagina .vaga-destaque-item--muted i {
    color: #8b95a5 !important;
    font-size: 0.65rem !important;
    width: auto !important;
    opacity: 0.85;
}

.vaga-pagina .vaga-hero-block .vaga-destaque-item:not(:last-child)::after,
.vaga-pagina .vaga-hero-block .vaga-destaque-item + .vaga-destaque-item::before,
.vaga-pagina .vaga-destaque-item:not(:last-child)::after,
.vaga-pagina .vaga-destaque-item + .vaga-destaque-item::before {
    content: none !important;
    display: none !important;
}

@media (hover: hover) and (pointer: fine) {
    .vaga-pagina .vaga-hero-block .vaga-destaque-item:hover,
    .vaga-pagina .vaga-destaque-item:hover {
        background: #eceef2 !important;
        border-color: rgba(16, 37, 74, 0.12) !important;
        color: var(--vaga-hero-chip-text) !important;
    }
}

/* —— 4. CTA: candidatura dominante, compartilhar secundário —— */
.vaga-pagina .vaga-hero-block .vaga-cta-principal,
.vaga-pagina .vaga-cta-principal {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 8px !important;
    margin: 0 !important;
    padding: 0 !important;
}

.vaga-pagina .vaga-hero-block .btn-candidatar-vaga,
.vaga-pagina .vaga-cta-principal .btn-candidatar-vaga,
.vaga-pagina .vaga-cta-principal .btn-candidatura-externa-destaque.btn-candidatar-vaga {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0.5rem !important;
    min-height: var(--vaga-hero-cta-h) !important;
    height: var(--vaga-hero-cta-h) !important;
    padding: 0 1.5rem !important;
    border-radius: 12px !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
    letter-spacing: -0.015em !important;
    line-height: 1.2 !important;
    background-color: #EF5425 !important;
    border: 1px solid #EF5425 !important;
    color: #fff !important;
    box-shadow: var(--vaga-hero-cta-shadow) !important;
    transition:
        background-color var(--vaga-hero-ease),
        border-color var(--vaga-hero-ease),
        box-shadow var(--vaga-hero-ease),
        transform var(--vaga-hero-ease),
        filter var(--vaga-hero-ease) !important;
}

@media (hover: hover) and (pointer: fine) {
    .vaga-pagina .vaga-hero-block .btn-candidatar-vaga:hover,
    .vaga-pagina .vaga-cta-principal .btn-candidatar-vaga:hover {
        background-color: #D9481C !important;
        border-color: #D9481C !important;
        color: #fff !important;
        transform: translateY(-2px);
        filter: brightness(1.03);
        box-shadow: var(--vaga-hero-cta-shadow-hover) !important;
    }
}

.vaga-pagina .vaga-hero-block .btn-candidatar-vaga:active,
.vaga-pagina .vaga-cta-principal .btn-candidatar-vaga:active {
    transform: translateY(0);
    filter: none;
    box-shadow: 0 2px 8px rgba(239, 84, 37, 0.2) !important;
}

.vaga-pagina .vaga-cta-principal .btn-compartilhar-vaga,
.vaga-pagina .vaga-cta-principal .btn-favoritar-vaga {
    width: 2.5rem !important;
    min-width: 2.5rem !important;
    max-width: 2.5rem !important;
    height: 2.5rem !important;
    min-height: 2.5rem !important;
    padding: 0 !important;
    border-radius: 10px !important;
    background: transparent !important;
    border: 1px solid rgba(16, 37, 74, 0.12) !important;
    color: #8b95a5 !important;
    box-shadow: none !important;
    opacity: 0.92;
    transition:
        background-color var(--vaga-hero-ease),
        border-color var(--vaga-hero-ease),
        color var(--vaga-hero-ease),
        opacity var(--vaga-hero-ease) !important;
}

.vaga-pagina .vaga-cta-principal .btn-compartilhar-vaga > span:not(.visually-hidden) {
    display: none !important;
}

@media (hover: hover) and (pointer: fine) {
    .vaga-pagina .vaga-cta-principal .btn-compartilhar-vaga:hover,
    .vaga-pagina .vaga-cta-principal .btn-favoritar-vaga:hover {
        background: rgba(16, 37, 74, 0.04) !important;
        border-color: rgba(16, 37, 74, 0.18) !important;
        color: #526074 !important;
        opacity: 1;
        transform: none !important;
        box-shadow: none !important;
    }
}

.vaga-pagina .vaga-cta-principal .vaga-compartilhar-wrap,
.vaga-pagina .vaga-cta-principal .vaga-favorito-wrap {
    display: inline-flex;
    align-items: center;
    align-self: center;
}

/* Abas: sem “caixa pesada” extra logo após o divisor do hero */
.vaga-pagina .vaga-hero-block + .vaga-tabs-card {
    margin-top: 0 !important;
    box-shadow: 0 1px 2px rgba(15, 28, 46, 0.03), 0 6px 20px rgba(15, 28, 46, 0.035) !important;
}

/* —— 8. Mobile: Cargo → Empresa → Meta → Candidatura → Salvar → Compartilhar —— */
@media (max-width: 767.98px) {
    .vaga-pagina .vaga-breadcrumb {
        margin-bottom: var(--vaga-hero-space-2) !important;
    }

    .vaga-pagina .vaga-breadcrumb__list {
        font-size: 0.6875rem !important;
    }

    .vaga-pagina .vaga-hero-block {
        margin-bottom: var(--vaga-hero-space-3) !important;
        padding-bottom: var(--vaga-hero-space-3) !important;
    }

    .vaga-pagina .vaga-hero-block .vaga-pagina-titulo,
    .vaga-pagina .vaga-pagina-titulo {
        font-size: clamp(1.65rem, 7vw, 1.9rem) !important;
        margin-bottom: var(--vaga-hero-space-1) !important;
        order: 1;
    }

    .vaga-pagina .vaga-hero-block .vaga-hero-empresa {
        margin-bottom: var(--vaga-hero-space-2) !important;
        max-width: 100%;
        order: 2;
    }

    .vaga-pagina .vaga-hero-empresa__card {
        max-width: 100%;
        padding: 0.35rem 0.65rem 0.35rem 0.35rem !important;
    }

    .vaga-pagina .vaga-hero-empresa__nome {
        white-space: normal !important;
        font-size: 1.05rem !important;
    }

    .vaga-pagina .vaga-hero-block .vaga-destaque-line {
        margin-bottom: var(--vaga-hero-space-3) !important;
        gap: 6px 8px !important;
        order: 3;
    }

    .vaga-pagina .vaga-hero-block .vaga-destaque-item,
    .vaga-pagina .vaga-destaque-item {
        height: 1.625rem !important;
        min-height: 1.625rem !important;
        max-height: 1.625rem !important;
        font-size: 0.6875rem !important;
        padding: 0 0.55rem !important;
    }

    .vaga-pagina .vaga-hero-block .vaga-cta-principal,
    .vaga-pagina .vaga-cta-principal {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: wrap !important;
        align-items: center !important;
        gap: 8px !important;
        width: 100%;
        order: 4;
    }

    .vaga-pagina .vaga-cta-principal .btn-candidatar-vaga,
    .vaga-pagina .vaga-cta-principal .btn-candidatura-externa-destaque {
        flex: 1 1 100% !important;
        width: 100% !important;
        order: 1;
        min-height: 52px !important;
        height: 52px !important;
        font-size: 1rem !important;
    }

    .vaga-pagina .vaga-cta-principal .vaga-favorito-wrap {
        order: 2;
        flex: 0 0 auto;
    }

    .vaga-pagina .vaga-cta-principal .vaga-compartilhar-wrap {
        order: 3;
        flex: 0 0 auto;
    }

    .vaga-pagina .vaga-cta-principal .btn-compartilhar-vaga,
    .vaga-pagina .vaga-cta-principal .btn-favoritar-vaga {
        width: 2.75rem !important;
        min-width: 2.75rem !important;
        max-width: 2.75rem !important;
        height: 2.75rem !important;
        min-height: 2.75rem !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .vaga-pagina .vaga-hero-block .btn-candidatar-vaga,
    .vaga-pagina .vaga-cta-principal .btn-candidatar-vaga,
    .vaga-pagina .vaga-cta-principal .btn-compartilhar-vaga,
    .vaga-pagina .vaga-cta-principal .btn-favoritar-vaga {
        transition: none !important;
        transform: none !important;
    }
}

/* =========================================================
   REFINAMENTO PREMIUM — Desktop + Mobile
   Tokens unificados · hierarquia · leitura · acabamento
   ========================================================= */

.vaga-pagina {
    --vaga-space-1: 8px;
    --vaga-space-2: 16px;
    --vaga-space-3: 24px;
    --vaga-space-4: 32px;
    --vaga-space-5: 48px;
    --vaga-space-6: 64px;
    --vaga-radius-card: 12px;
    --vaga-border-card: 1px solid rgba(16, 37, 74, 0.1);
    --vaga-shadow-card: 0 1px 2px rgba(15, 28, 46, 0.03), 0 8px 22px rgba(15, 28, 46, 0.05);
    --vaga-ease-ui: 180ms cubic-bezier(0.2, 0.8, 0.2, 1);
}

/* —— 11. Cards: mesma borda, radius e sombra —— */
.vaga-pagina .vaga-tabs-card,
.vaga-pagina .vaga-relacionada-card,
.vaga-pagina .vaga-premium-card,
.vaga-pagina .vaga-sidebar-widget,
.vaga-pagina .vaga-relacionadas-section > .card,
.vaga-pagina .vaga-cta-final {
    border: var(--vaga-border-card) !important;
    border-radius: var(--vaga-radius-card) !important;
    box-shadow: var(--vaga-shadow-card) !important;
}

.vaga-pagina .vaga-hero-empresa__card {
    border: var(--vaga-border-card) !important;
    border-radius: var(--vaga-radius-card) !important;
    box-shadow: 0 1px 2px rgba(15, 28, 46, 0.03) !important;
}

.vaga-pagina .vaga-premium-card {
    border-color: rgba(184, 148, 50, 0.28) !important;
}

/* —— 1. Compartilhar: ícone quadrado secundário —— */
.vaga-pagina .vaga-cta-principal .btn-compartilhar-vaga,
.vaga-pagina .vaga-cta-final__actions .btn-compartilhar-vaga {
    width: 2.5rem !important;
    min-width: 2.5rem !important;
    max-width: 2.5rem !important;
    height: 2.5rem !important;
    min-height: 2.5rem !important;
    padding: 0 !important;
    border-radius: 10px !important;
    background: transparent !important;
    border: 1px solid rgba(16, 37, 74, 0.1) !important;
    color: #94a3b8 !important;
    box-shadow: none !important;
    font-size: 0 !important;
    opacity: 0.85;
}

.vaga-pagina .vaga-cta-principal .btn-compartilhar-vaga > span:not(.visually-hidden),
.vaga-pagina .vaga-cta-final__actions .btn-compartilhar-vaga > span:not(.visually-hidden) {
    display: none !important;
}

.vaga-pagina .vaga-cta-principal .btn-compartilhar-vaga i,
.vaga-pagina .vaga-cta-final__actions .btn-compartilhar-vaga i {
    font-size: 0.9rem !important;
    color: inherit !important;
    opacity: 0.9;
}

.vaga-pagina .vaga-cta-principal .btn-favoritar-vaga,
.vaga-pagina .vaga-cta-final__actions .btn-favoritar-vaga {
    width: 2.5rem !important;
    min-width: 2.5rem !important;
    height: 2.5rem !important;
    min-height: 2.5rem !important;
}

@media (hover: hover) and (pointer: fine) {
    .vaga-pagina .vaga-cta-principal .btn-compartilhar-vaga:hover,
    .vaga-pagina .vaga-cta-final__actions .btn-compartilhar-vaga:hover {
        background: rgba(16, 37, 74, 0.04) !important;
        border-color: rgba(16, 37, 74, 0.14) !important;
        color: #64748b !important;
        opacity: 1;
        transform: none !important;
        box-shadow: none !important;
    }
}

/* —— 2. Chips: principal vs secundário —— */
.vaga-pagina .vaga-destaque-line {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 8px 12px !important;
}

/* Grupo secundário: salário / candidatos / publicação — sem chip */
.vaga-pagina .vaga-destaque-item:has(.fa-money-bill-wave),
.vaga-pagina .vaga-destaque-item:has(.fa-users),
.vaga-pagina .vaga-destaque-item:has(.fa-clock) {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    padding: 0 !important;
    border: none !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #64748b !important;
    font-size: 0.8125rem !important;
    font-weight: 400 !important;
    gap: 0.35rem !important;
    letter-spacing: 0;
}

.vaga-pagina .vaga-destaque-item:has(.fa-money-bill-wave) i,
.vaga-pagina .vaga-destaque-item:has(.fa-users) i,
.vaga-pagina .vaga-destaque-item:has(.fa-clock) i {
    color: #94a3b8 !important;
    font-size: 0.7rem !important;
    opacity: 0.95;
}

@media (hover: hover) and (pointer: fine) {
    .vaga-pagina .vaga-destaque-item:has(.fa-money-bill-wave):hover,
    .vaga-pagina .vaga-destaque-item:has(.fa-users):hover,
    .vaga-pagina .vaga-destaque-item:has(.fa-clock):hover {
        background: transparent !important;
        border: none !important;
        color: #64748b !important;
    }
}

/* Grupo principal (modalidade / contratação / nível / local): chips leves */
.vaga-pagina .vaga-destaque-item:has(.fa-home),
.vaga-pagina .vaga-destaque-item:has(.fa-map-marker-alt),
.vaga-pagina .vaga-destaque-item:has(.fa-briefcase),
.vaga-pagina .vaga-destaque-item:has(.fa-layer-group) {
    height: 1.7rem !important;
    min-height: 1.7rem !important;
    max-height: 1.7rem !important;
    padding: 0 0.65rem !important;
    background: #f4f5f7 !important;
    border: 1px solid rgba(16, 37, 74, 0.07) !important;
    color: #3d4f66 !important;
    font-weight: 500 !important;
    font-size: 0.75rem !important;
}

/* —— 3. Card empresa —— */
.vaga-pagina .vaga-hero-empresa__card {
    align-items: center !important;
    gap: 0.85rem !important;
    padding: 0.5rem 0.9rem 0.5rem 0.5rem !important;
    background: #fff !important;
}

.vaga-pagina .vaga-hero-empresa__media {
    flex: 0 0 3rem !important;
    width: 3rem !important;
    height: 3rem !important;
    padding: 4px !important;
    border-radius: 10px !important;
    border: 1px solid rgba(16, 37, 74, 0.06) !important;
    background: #f7f8fa !important;
    box-sizing: border-box;
}

.vaga-pagina .vaga-hero-empresa__logo {
    border-radius: 6px;
}

.vaga-pagina .vaga-hero-empresa__icon {
    font-size: 0.95rem;
    color: #94a3b8;
}

.vaga-pagina .vaga-hero-empresa__text {
    gap: 3px !important;
    justify-content: center;
}

.vaga-pagina .vaga-hero-empresa__nome {
    font-weight: 700 !important;
    font-size: 1.125rem !important;
    line-height: 1.2 !important;
    color: #10254A !important;
}

.vaga-pagina .vaga-hero-empresa__meta {
    font-size: 0.75rem !important;
    color: #8b95a5 !important;
}

/* Selo futuro (só aparece se houver conteúdo no markup) */
.vaga-pagina .vaga-hero-empresa__badge {
    display: none;
    align-items: center;
    gap: 0.25rem;
    margin-top: 2px;
    padding: 0.1rem 0.45rem;
    border-radius: 999px;
    border: 1px solid rgba(16, 37, 74, 0.1);
    background: #f8fafc;
    color: #526074;
    font-size: 0.65rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    line-height: 1.3;
}

.vaga-pagina .vaga-hero-empresa__badge:not(:empty) {
    display: inline-flex;
}

.vaga-pagina .vaga-hero-empresa__badge i {
    font-size: 0.6rem;
    color: #3a876c;
}

/* —— 4. Abas premium —— */
.vaga-pagina .nav-tabs.vaga-tabs {
    gap: 0.25rem !important;
    margin-bottom: var(--vaga-space-3) !important;
    border-bottom: 1px solid rgba(16, 37, 74, 0.1) !important;
}

.vaga-pagina .nav-tabs.vaga-tabs .nav-link {
    min-height: 3rem !important;
    padding: 0.95rem 1.35rem !important;
    font-size: 0.9375rem !important;
    font-weight: 500 !important;
    letter-spacing: -0.015em !important;
    color: #64748b !important;
    transition:
        color var(--vaga-ease-ui),
        background-color var(--vaga-ease-ui) !important;
}

.vaga-pagina .nav-tabs.vaga-tabs .nav-link::after {
    left: 1rem !important;
    right: 1rem !important;
    height: 2.5px !important;
    border-radius: 2px 2px 0 0 !important;
    transition:
        background-color 180ms ease,
        transform 180ms cubic-bezier(0.22, 1, 0.36, 1),
        opacity 180ms ease !important;
}

@media (hover: hover) and (pointer: fine) {
    .vaga-pagina .nav-tabs.vaga-tabs .nav-link:hover {
        color: #10254A !important;
        background: rgba(16, 37, 74, 0.03) !important;
    }
}

.vaga-pagina .nav-tabs.vaga-tabs .nav-link.active {
    font-weight: 600 !important;
    color: #10254A !important;
}

.vaga-pagina .vaga-tabs-card .card-body {
    padding: 1.25rem 1.5rem 1.5rem !important;
}

.vaga-pagina .vaga-tabs-card .tab-pane.fade {
    transition: opacity 180ms ease !important;
}

/* —— 5. Leitura da descrição —— */
.vaga-pagina .vaga-tab-conteudo {
    max-width: 42rem;
    font-size: 1rem;
    line-height: 1.75;
    color: #3d4f66;
}

.vaga-pagina .vaga-tab-conteudo p,
.vaga-pagina .vaga-secao-paragrafo,
.vaga-pagina .vaga-tab-conteudo .vaga-reading-p {
    margin: 0 0 var(--vaga-space-2);
    line-height: 1.75;
    color: #3d4f66;
}

.vaga-pagina .vaga-bloco-titulo,
.vaga-pagina .vaga-tab-conteudo .vaga-bloco-titulo,
.vaga-pagina .vaga-tab-conteudo .vaga-reading-heading {
    display: block;
    margin: var(--vaga-space-4) 0 var(--vaga-space-2) !important;
    padding: 0 0 0.45rem !important;
    font-size: 1.05rem !important;
    font-weight: 700 !important;
    letter-spacing: -0.02em !important;
    line-height: 1.3 !important;
    color: #10254A !important;
    border-bottom: 1px solid rgba(16, 37, 74, 0.08) !important;
}

.vaga-pagina .vaga-bloco-titulo:first-child,
.vaga-pagina .vaga-tab-conteudo .vaga-bloco-titulo:first-child,
.vaga-pagina .vaga-tab-conteudo > .vaga-reading-heading:first-child {
    margin-top: 0 !important;
}

.vaga-pagina .vaga-secao-lista,
.vaga-pagina .vaga-tab-conteudo .vaga-secao-lista,
.vaga-pagina .vaga-tab-conteudo .vaga-reading-list {
    list-style: none !important;
    margin: var(--vaga-space-2) 0 var(--vaga-space-3) !important;
    padding: 0 !important;
}

.vaga-pagina .vaga-secao-lista li,
.vaga-pagina .vaga-tab-conteudo .vaga-secao-lista li,
.vaga-pagina .vaga-tab-conteudo .vaga-reading-list li {
    position: relative !important;
    margin: 0 0 0.65rem !important;
    padding-left: 1.55rem !important;
    line-height: 1.65 !important;
    color: #3d4f66 !important;
}

.vaga-pagina .vaga-tab-conteudo .vaga-secao-lista li::before,
.vaga-pagina .vaga-tab-sobre .vaga-secao-lista li::before,
.vaga-pagina .vaga-tab-requisitos .vaga-secao-lista li::before,
.vaga-pagina .vaga-tab-beneficios .vaga-secao-lista li::before,
.vaga-pagina .vaga-tab-conteudo .vaga-reading-list li::before,
.vaga-pagina .vaga-requisitos-grupo__item::before,
.vaga-pagina .vaga-beneficios-lista__item::before {
    content: "✔" !important;
    position: absolute !important;
    left: 0 !important;
    top: 0.15em !important;
    font-size: 0.72rem !important;
    font-weight: 700 !important;
    color: #64748b !important;
    opacity: 0.9;
}

.vaga-pagina .vaga-tab-beneficios .vaga-secao-lista li {
    display: block !important;
    background: transparent !important;
    border: none !important;
    padding: 0 0 0 1.55rem !important;
}

/* —— 6. Premium card ~−10% altura —— */
.vaga-pagina .vaga-premium-card__header {
    padding: 0.85rem 1rem 0.5rem !important;
}

.vaga-pagina .vaga-premium-card__title {
    font-size: 0.9rem !important;
    margin-bottom: 0.25rem !important;
}

.vaga-pagina .vaga-premium-card__subtitle {
    font-size: 0.75rem !important;
    line-height: 1.4 !important;
    margin-bottom: 0 !important;
}

.vaga-pagina .vaga-premium-card__body {
    padding: 0.4rem 1rem 0.95rem !important;
}

.vaga-pagina .vaga-premium-card__item {
    font-size: 0.75rem !important;
    margin-bottom: 0.3rem !important;
    line-height: 1.35 !important;
}

.vaga-pagina .vaga-premium-card__btn {
    padding: 0.55rem 0.9rem !important;
    font-size: 0.8125rem !important;
    border-radius: 10px !important;
}

/* —— 7. Vagas semelhantes —— */
.vaga-pagina .vaga-relacionada-card {
    padding: 1.05rem 1.15rem 0.95rem !important;
    gap: 0;
}

.vaga-pagina .vaga-relacionada-card__link {
    gap: 0.25rem !important;
}

.vaga-pagina .vaga-relacionada-titulo {
    margin-bottom: 0.1rem !important;
}

.vaga-pagina .vaga-relacionada-empresa {
    margin-bottom: 0.4rem !important;
}

.vaga-pagina .vaga-relacionada-info {
    margin: 0.1rem 0 0.4rem !important;
    gap: 0.3rem !important;
}

.vaga-pagina .vaga-relacionada-tags {
    margin: 0.25rem 0 0.1rem !important;
}

.vaga-pagina .vaga-relacionada-footer {
    padding-top: 0.7rem !important;
    margin-top: 0.65rem !important;
}

.vaga-pagina .vaga-relacionada-btn {
    min-width: 70% !important;
    width: auto !important;
    min-height: 2.35rem !important;
    padding: 0.45rem 1.15rem !important;
    font-size: 0.8125rem !important;
}

/* —— 8. Banner Prepare-se: alinhamento vertical —— */
.vaga-pagina .vaga-tests-banner-compact {
    align-items: center !important;
    padding: 0.9rem 1.2rem !important;
    gap: 1rem 1.25rem !important;
    border-radius: var(--vaga-radius-card) !important;
}

.vaga-pagina .vaga-tests-banner-compact__icon {
    align-self: center;
}

.vaga-pagina .vaga-tests-banner-compact__body {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.vaga-pagina .vaga-tests-banner-compact__title {
    margin: 0 0 0.2rem !important;
}

.vaga-pagina .vaga-tests-banner-compact__text {
    margin: 0 !important;
}

.vaga-pagina .vaga-tests-banner-compact__actions {
    align-items: center;
    align-self: center;
}

/* —— 9. Banner Cursos ~−15% altura —— */
.vaga-pagina .vaga-courses-banner-compact {
    padding: 0.85rem 1.15rem !important;
    gap: 0.85rem 1.15rem !important;
    border-radius: var(--vaga-radius-card) !important;
    box-shadow: 0 6px 18px rgba(16, 37, 74, 0.12) !important;
}

.vaga-pagina .vaga-courses-banner-compact__eyebrow {
    margin-bottom: 0.15rem !important;
}

.vaga-pagina .vaga-courses-banner-compact__title {
    margin-bottom: 0.2rem !important;
    font-size: clamp(0.95rem, 1.8vw, 1.1rem) !important;
}

.vaga-pagina .vaga-courses-banner-compact__text {
    font-size: 0.8125rem !important;
    line-height: 1.4 !important;
}

.vaga-pagina .vaga-courses-banner-compact__btn {
    min-height: 38px !important;
    padding: 0 1.1rem !important;
}

/* —— 10. Espaçamentos de seção —— */
.vaga-pagina .vaga-pagina-main {
    padding-top: var(--vaga-space-3) !important;
    padding-bottom: var(--vaga-space-5) !important;
}

.vaga-pagina .vaga-hero-block {
    margin-bottom: var(--vaga-space-3) !important;
    padding-bottom: var(--vaga-space-3) !important;
}

.vaga-pagina .vaga-tabs-card {
    margin-bottom: var(--vaga-space-3) !important;
}

.vaga-pagina .vaga-relacionadas-section {
    margin-top: var(--vaga-space-2);
    margin-bottom: var(--vaga-space-3);
}

.vaga-pagina .vaga-tests-banner-wrap--compact {
    margin-top: var(--vaga-space-2) !important;
    margin-bottom: var(--vaga-space-2) !important;
}

.vaga-pagina .vaga-courses-banner-wrap--compact {
    margin-top: var(--vaga-space-2) !important;
    padding-top: 0 !important;
}

.vaga-pagina .vaga-sidebar-widgets {
    gap: var(--vaga-space-2) !important;
}

/* —— 12. Mobile —— */
@media (max-width: 767.98px) {
    .vaga-pagina .vaga-pagina-main {
        padding-left: 12px !important;
        padding-right: 12px !important;
        padding-top: var(--vaga-space-2) !important;
        padding-bottom: var(--vaga-space-5) !important;
    }

    .vaga-pagina .vaga-tabs-card .card-body {
        padding: 1rem 1rem 1.15rem !important;
    }

    .vaga-pagina .nav-tabs.vaga-tabs {
        flex-wrap: nowrap !important;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        gap: 0 !important;
        margin-bottom: var(--vaga-space-2) !important;
    }

    .vaga-pagina .nav-tabs.vaga-tabs .nav-link {
        min-height: 2.75rem !important;
        padding: 0.75rem 1rem !important;
        font-size: 0.875rem !important;
        white-space: nowrap;
    }

    .vaga-pagina .vaga-destaque-line {
        gap: 8px 10px !important;
        align-items: center !important;
    }

    .vaga-pagina .vaga-destaque-item:has(.fa-home),
    .vaga-pagina .vaga-destaque-item:has(.fa-map-marker-alt),
    .vaga-pagina .vaga-destaque-item:has(.fa-briefcase),
    .vaga-pagina .vaga-destaque-item:has(.fa-layer-group) {
        height: 1.55rem !important;
        min-height: 1.55rem !important;
        max-height: 1.55rem !important;
        font-size: 0.7rem !important;
    }

    /* Compartilhar abaixo do CTA, sem competir */
    .vaga-pagina .vaga-cta-principal {
        gap: 10px !important;
    }

    .vaga-pagina .vaga-cta-principal .btn-candidatar-vaga {
        flex: 1 1 100% !important;
        width: 100% !important;
    }

    .vaga-pagina .vaga-cta-principal .vaga-compartilhar-wrap {
        order: 10 !important;
        flex: 1 1 100% !important;
        width: 100% !important;
        margin-top: 2px;
        justify-content: flex-start;
    }

    .vaga-pagina .vaga-cta-principal .btn-compartilhar-vaga {
        width: 2.5rem !important;
        min-width: 2.5rem !important;
        height: 2.5rem !important;
        opacity: 0.75;
    }

    .vaga-pagina .vaga-cta-principal .vaga-favorito-wrap {
        order: 2 !important;
    }

    .vaga-pagina .vaga-relacionada-card {
        padding: 1rem 1rem 0.9rem !important;
    }

    .vaga-pagina .vaga-relacionada-btn {
        min-width: 75% !important;
    }

    .vaga-pagina .vaga-tests-banner-compact,
    .vaga-pagina .vaga-courses-banner-compact {
        padding: 0.85rem 1rem !important;
    }

    .vaga-pagina .vaga-tab-conteudo {
        font-size: 0.975rem;
        line-height: 1.7;
    }

    .vaga-pagina .vaga-bloco-titulo,
    .vaga-pagina .vaga-tab-conteudo .vaga-reading-heading {
        margin-top: var(--vaga-space-3) !important;
        font-size: 1rem !important;
    }

    .vaga-pagina .vaga-premium-card__header {
        padding: 0.75rem 0.9rem 0.4rem !important;
    }

    .vaga-pagina .vaga-premium-card__body {
        padding: 0.35rem 0.9rem 0.85rem !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .vaga-pagina .nav-tabs.vaga-tabs .nav-link,
    .vaga-pagina .nav-tabs.vaga-tabs .nav-link::after,
    .vaga-pagina .vaga-tabs-card .tab-pane.fade {
        transition: none !important;
    }
}

/* =========================================================
   Acabamento premium — refinamentos finos (UX polish)
   ========================================================= */

.vaga-pagina {
    --vaga-radius-card: 12px;
    --vaga-border-card: 1px solid rgba(16, 37, 74, 0.1);
    --vaga-shadow-card: 0 1px 2px rgba(15, 28, 46, 0.025), 0 6px 18px rgba(15, 28, 46, 0.035);
    --vaga-shadow-card-hover: 0 2px 4px rgba(15, 28, 46, 0.04), 0 10px 24px rgba(15, 28, 46, 0.06);
    --vaga-ease-ui: 200ms cubic-bezier(0.2, 0.8, 0.2, 1);
}

/* —— 6–7. Cards: radius + sombra unificados —— */
.vaga-pagina .vaga-tabs-card,
.vaga-pagina .vaga-relacionada-card,
.vaga-pagina .vaga-premium-card,
.vaga-pagina .vaga-sidebar-widget,
.vaga-pagina .vaga-relacionadas-section > .card,
.vaga-pagina .vaga-cta-final,
.vaga-pagina .vaga-explore-mais__inner {
    border: var(--vaga-border-card) !important;
    border-radius: var(--vaga-radius-card) !important;
    box-shadow: var(--vaga-shadow-card) !important;
}

.vaga-pagina .vaga-premium-card {
    border-color: rgba(184, 148, 50, 0.26) !important;
}

.vaga-pagina .vaga-tests-banner-compact,
.vaga-pagina .vaga-courses-banner-compact {
    border-radius: var(--vaga-radius-card) !important;
    box-shadow: var(--vaga-shadow-card) !important;
}

/* —— 1. Vagas semelhantes: hierarquia mais limpa —— */
.vaga-pagina .vaga-relacionada-card {
    padding: 1.15rem 1.15rem 1rem !important;
    border-color: rgba(16, 37, 74, 0.09) !important;
    box-shadow: 0 1px 2px rgba(15, 28, 46, 0.02), 0 4px 14px rgba(15, 28, 46, 0.03) !important;
    transition:
        transform var(--vaga-ease-ui),
        box-shadow var(--vaga-ease-ui),
        border-color var(--vaga-ease-ui) !important;
}

.vaga-pagina .vaga-relacionada-titulo {
    font-size: 1.02rem !important;
    font-weight: 700 !important;
    color: #10254A !important;
    margin-bottom: 0.2rem !important;
}

.vaga-pagina .vaga-relacionada-empresa {
    font-size: 0.875rem !important;
    font-weight: 500 !important;
    color: #64748b !important;
    opacity: 1 !important;
    margin-bottom: 0.45rem !important;
}

.vaga-pagina .vaga-relacionada-info-item {
    font-size: 0.75rem !important;
    font-weight: 400 !important;
    color: #94a3b8 !important;
}

.vaga-pagina .vaga-relacionada-info-item i {
    color: #a8b3c2 !important;
    font-size: 0.65rem !important;
}

.vaga-pagina .vaga-relacionada-info-item:has(.fa-map-marker-alt),
.vaga-pagina .vaga-relacionada-info-item:has(.fa-home),
.vaga-pagina .vaga-relacionada-info-item:has(.fa-briefcase) {
    font-size: 0.72rem !important;
    color: #94a3b8 !important;
}

.vaga-pagina .vaga-relacionada-salario,
.vaga-pagina .vaga-relacionada-info-item.vaga-relacionada-salario {
    font-size: 0.875rem !important;
    font-weight: 600 !important;
    color: #526074 !important;
}

.vaga-pagina .vaga-relacionada-salario i {
    color: #8b95a5 !important;
}

.vaga-pagina .vaga-relacionada-tags .badge,
.vaga-pagina .vaga-relacionada-tags .badge-vaga-info,
.vaga-pagina .vaga-relacionada-tag {
    min-height: 1.25rem !important;
    padding: 0.08rem 0.4rem !important;
    font-size: 0.625rem !important;
    font-weight: 500 !important;
    color: #64748b !important;
    background: #f6f5f3 !important;
    border-color: rgba(16, 37, 74, 0.07) !important;
}

.vaga-pagina .vaga-relacionada-footer {
    padding-top: 0.65rem !important;
    margin-top: 0.55rem !important;
    border-top: 1px solid rgba(16, 37, 74, 0.08) !important;
}

.vaga-pagina .vaga-relacionada-btn {
    min-width: 72% !important;
    border-radius: 10px !important;
    font-weight: 600 !important;
    transition:
        background-color var(--vaga-ease-ui),
        border-color var(--vaga-ease-ui),
        box-shadow var(--vaga-ease-ui),
        transform var(--vaga-ease-ui) !important;
}

@media (hover: hover) and (pointer: fine) {
    .vaga-pagina .vaga-relacionada-card:hover {
        transform: translateY(-2px) !important;
        border-color: rgba(16, 37, 74, 0.14) !important;
        box-shadow: var(--vaga-shadow-card-hover) !important;
    }

    .vaga-pagina .vaga-relacionada-tag:hover {
        background: #eeece8 !important;
        color: #526074 !important;
        border-color: rgba(16, 37, 74, 0.1) !important;
    }
}

/* —— 2. CTA “Mostrar mais vagas semelhantes” —— */
.vaga-pagina .vaga-relacionadas-more-wrap {
    margin-top: 1rem !important;
}

.vaga-pagina .vaga-relacionadas-more {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0.45rem;
    min-height: 2.5rem;
    padding: 0.5rem 1.15rem !important;
    border-radius: 999px !important;
    border: 1px solid rgba(16, 37, 74, 0.12) !important;
    background: #fff !important;
    color: #526074 !important;
    font-size: 0.875rem !important;
    font-weight: 500 !important;
    letter-spacing: -0.01em;
    line-height: 1.2 !important;
    box-shadow: none !important;
    transition:
        background-color var(--vaga-ease-ui),
        border-color var(--vaga-ease-ui),
        color var(--vaga-ease-ui),
        transform var(--vaga-ease-ui) !important;
}

.vaga-pagina .vaga-relacionadas-more__icon {
    font-size: 0.7rem;
    opacity: 0.75;
    transition: transform var(--vaga-ease-ui);
}

@media (hover: hover) and (pointer: fine) {
    .vaga-pagina .vaga-relacionadas-more:hover {
        background: #f8fafc !important;
        border-color: rgba(16, 37, 74, 0.2) !important;
        color: #10254A !important;
        transform: translateY(-1px);
    }
}

.vaga-pagina .vaga-relacionadas-more:focus-visible {
    outline: 2px solid rgba(16, 37, 74, 0.28);
    outline-offset: 2px;
}

.vaga-pagina .vaga-relacionadas-more[aria-expanded="true"] .vaga-relacionadas-more__icon {
    opacity: 0.85;
}

/* —— 3. Premium: −8~12px padding vertical —— */
.vaga-pagina .vaga-premium-card__header {
    padding: 0.7rem 1rem 0.35rem !important;
}

.vaga-pagina .vaga-premium-card__body {
    padding: 0.25rem 1rem 0.8rem !important;
}

.vaga-pagina .vaga-premium-card__subtitle {
    margin-bottom: 0 !important;
}

.vaga-pagina .vaga-premium-card__item {
    margin-bottom: 0.25rem !important;
}

.vaga-pagina .vaga-premium-card__list {
    margin-bottom: 0.65rem !important;
}

.vaga-pagina .vaga-premium-card__btn {
    padding: 0.5rem 0.9rem !important;
    transition:
        background-color var(--vaga-ease-ui),
        border-color var(--vaga-ease-ui),
        color var(--vaga-ease-ui) !important;
}

/* —— 4. Eyebrows Curso / Teste mais discretos —— */
.vaga-pagina .vaga-sidebar-widget__eyebrow,
.vaga-pagina .vaga-courses-banner-compact__eyebrow {
    font-size: 0.625rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.05em !important;
    color: #94a3b8 !important;
    opacity: 0.95;
    margin-bottom: 0.35rem !important;
}

.vaga-pagina .vaga-sidebar-widget__title {
    font-size: 0.9375rem !important;
    font-weight: 700 !important;
    color: #10254A !important;
    line-height: 1.35 !important;
    margin-bottom: 0.3rem !important;
}

.vaga-pagina .vaga-sidebar-widget {
    padding: 0.85rem 0.95rem !important;
    transition:
        border-color var(--vaga-ease-ui),
        box-shadow var(--vaga-ease-ui),
        transform var(--vaga-ease-ui) !important;
}

.vaga-pagina .vaga-sidebar-widget__link {
    transition: color var(--vaga-ease-ui) !important;
}

@media (hover: hover) and (pointer: fine) {
    .vaga-pagina .vaga-sidebar-widget:hover {
        border-color: rgba(16, 37, 74, 0.14) !important;
        box-shadow: var(--vaga-shadow-card-hover) !important;
        transform: translateY(-1px);
    }
}

/* —— 5. Espaçamentos finos de seção —— */
.vaga-pagina .vaga-relacionadas-section {
    margin-top: 8px;
    margin-bottom: 24px;
}

.vaga-pagina .vaga-relacionadas-section .card-body {
    padding: 1rem 1.15rem 1.15rem !important;
}

.vaga-pagina .vaga-relacionadas-section .card-header {
    padding: 1rem 1.15rem 0.85rem !important;
    border-bottom: 1px solid rgba(16, 37, 74, 0.08) !important;
}

.vaga-pagina .vaga-tests-banner-wrap--compact {
    margin-top: 16px !important;
    margin-bottom: 16px !important;
}

.vaga-pagina .vaga-courses-banner-wrap--compact {
    margin-top: 16px !important;
}

.vaga-pagina .vaga-sidebar-widgets {
    gap: 16px !important;
    margin-top: 16px !important;
}

.vaga-pagina .vaga-tabs-card {
    margin-bottom: 24px !important;
}

/* —— 8. Hovers suaves padronizados —— */
.vaga-pagina .vaga-tabs-card,
.vaga-pagina .vaga-cta-final,
.vaga-pagina .vaga-explore-mais__inner {
    transition: box-shadow var(--vaga-ease-ui), border-color var(--vaga-ease-ui) !important;
}

.vaga-pagina .btn-candidatar-vaga,
.vaga-pagina .btn-compartilhar-vaga,
.vaga-pagina .btn-favoritar-vaga,
.vaga-pagina .vaga-relacionada-btn,
.vaga-pagina .vaga-courses-banner-compact__btn,
.vaga-pagina .vaga-tests-banner-compact__btn {
    transition:
        background-color var(--vaga-ease-ui),
        border-color var(--vaga-ease-ui),
        box-shadow var(--vaga-ease-ui),
        color var(--vaga-ease-ui),
        transform var(--vaga-ease-ui),
        filter var(--vaga-ease-ui) !important;
}

@media (hover: hover) and (pointer: fine) {
    .vaga-pagina .vaga-premium-card__link:hover .vaga-premium-card {
        transform: translateY(-1px);
        box-shadow: var(--vaga-shadow-card-hover) !important;
    }
}

@media (max-width: 767.98px) {
    .vaga-pagina .vaga-relacionada-card {
        padding: 1rem 1rem 0.9rem !important;
    }

    .vaga-pagina .vaga-relacionadas-more {
        width: 100%;
        max-width: 22rem;
    }

    .vaga-pagina .vaga-premium-card__header {
        padding: 0.65rem 0.9rem 0.3rem !important;
    }

    .vaga-pagina .vaga-premium-card__body {
        padding: 0.2rem 0.9rem 0.75rem !important;
    }

    .vaga-pagina .vaga-sidebar-widget__eyebrow {
        font-size: 0.6rem !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .vaga-pagina .vaga-relacionada-card,
    .vaga-pagina .vaga-relacionadas-more,
    .vaga-pagina .vaga-sidebar-widget,
    .vaga-pagina .vaga-premium-card,
    .vaga-pagina .btn-candidatar-vaga,
    .vaga-pagina .vaga-relacionada-btn {
        transition: none !important;
        transform: none !important;
    }
}

/* =========================================================
   Auditoria Master — Refinamentos finais UX/UI
   ========================================================= */

.vaga-pagina {
    --vaga-radius-card: 12px;
    --vaga-radius-btn: 12px;
    --vaga-ease-final: 180ms cubic-bezier(0.2, 0.8, 0.2, 1);
    --vaga-shadow-soft: 0 1px 2px rgba(15, 28, 46, 0.025), 0 6px 16px rgba(15, 28, 46, 0.035);
}

/* —— 1. Compartilhar integrado ao CTA (mesmo eixo / mesma altura) —— */
.vaga-pagina .vaga-cta-principal {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    gap: 8px !important;
}

.vaga-pagina .vaga-cta-principal .btn-candidatar-vaga {
    flex: 1 1 auto;
    height: 52px !important;
    min-height: 52px !important;
    border-radius: var(--vaga-radius-btn) !important;
}

.vaga-pagina .vaga-cta-principal .vaga-compartilhar-wrap {
    flex: 0 0 auto !important;
    width: auto !important;
    margin: 0 !important;
    order: 2 !important;
    display: inline-flex !important;
    align-items: stretch !important;
    align-self: stretch !important;
}

.vaga-pagina .vaga-cta-principal .btn-compartilhar-vaga {
    width: 52px !important;
    min-width: 52px !important;
    max-width: 52px !important;
    height: 52px !important;
    min-height: 52px !important;
    padding: 0 !important;
    border-radius: var(--vaga-radius-btn) !important;
    border: 1px solid rgba(16, 37, 74, 0.14) !important;
    background: #fff !important;
    color: #64748b !important;
    opacity: 1 !important;
    box-shadow: none !important;
    align-self: stretch;
}

@media (hover: hover) and (pointer: fine) {
    .vaga-pagina .vaga-cta-principal .btn-compartilhar-vaga:hover {
        background: #f8fafc !important;
        border-color: rgba(16, 37, 74, 0.22) !important;
        color: #10254A !important;
        transform: none !important;
    }
}

@media (max-width: 767.98px) {
    .vaga-pagina .vaga-cta-principal {
        flex-wrap: nowrap !important;
        gap: 8px !important;
    }

    .vaga-pagina .vaga-cta-principal .btn-candidatar-vaga {
        flex: 1 1 auto !important;
        width: auto !important;
        min-width: 0 !important;
    }

    .vaga-pagina .vaga-cta-principal .vaga-compartilhar-wrap {
        flex: 0 0 52px !important;
        width: 52px !important;
        margin-top: 0 !important;
        order: 3 !important;
    }

    .vaga-pagina .vaga-cta-principal .vaga-favorito-wrap {
        order: 2 !important;
        align-self: stretch !important;
    }

    .vaga-pagina .vaga-cta-principal .btn-favoritar-vaga {
        width: 52px !important;
        min-width: 52px !important;
        height: 52px !important;
        min-height: 52px !important;
        border-radius: var(--vaga-radius-btn) !important;
        border: 1px solid rgba(16, 37, 74, 0.14) !important;
    }
}

/* —— 2. Premium CTA: contraste AA (texto branco) —— */
.vaga-pagina .vaga-premium-card__btn {
    background: #A16207 !important;
    background-image: none !important;
    color: #ffffff !important;
    border: 1px solid #854d0e !important;
    border-radius: 10px !important;
    font-weight: 600 !important;
    box-shadow: 0 1px 2px rgba(120, 53, 15, 0.18) !important;
    transition:
        background-color var(--vaga-ease-final),
        border-color var(--vaga-ease-final),
        box-shadow var(--vaga-ease-final),
        transform var(--vaga-ease-final) !important;
}

@media (hover: hover) and (pointer: fine) {
    .vaga-pagina .vaga-premium-card__link:hover .vaga-premium-card__btn {
        background: #854d0e !important;
        border-color: #713f12 !important;
        color: #ffffff !important;
        box-shadow: 0 4px 12px rgba(120, 53, 15, 0.28) !important;
        transform: translateY(-1px);
        filter: none;
    }
}

/* —— 3. Explore também: distribuição + Ver mais (mobile) —— */
.vaga-pagina .vaga-explore-mais__inner {
    border-radius: var(--vaga-radius-card) !important;
    box-shadow: var(--vaga-shadow-soft) !important;
    padding: 1.25rem 1.3rem 1.3rem !important;
}

.vaga-pagina .vaga-explore-mais__chips {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(10rem, 1fr));
    gap: 8px !important;
    align-items: stretch;
}

.vaga-pagina .vaga-explore-mais__chips .badge-vaga-info,
.vaga-pagina .vaga-explore-mais__chips a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100%;
    text-align: center;
    min-height: 2rem;
    margin: 0 !important;
    transition:
        background-color var(--vaga-ease-final),
        border-color var(--vaga-ease-final),
        color var(--vaga-ease-final),
        transform var(--vaga-ease-final) !important;
}

.vaga-pagina .vaga-explore-mais__chip--hidden {
    display: none !important;
}

.vaga-pagina .vaga-explore-mais__more {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    margin-top: 12px;
    min-height: 2.35rem;
    padding: 0.4rem 0.95rem;
    border-radius: 999px;
    border: 1px solid rgba(16, 37, 74, 0.12);
    background: #fff;
    color: #526074;
    font-size: 0.8125rem;
    font-weight: 500;
    transition:
        background-color var(--vaga-ease-final),
        border-color var(--vaga-ease-final),
        color var(--vaga-ease-final) !important;
}

@media (hover: hover) and (pointer: fine) {
    .vaga-pagina .vaga-explore-mais__more:hover {
        background: #f8fafc;
        border-color: rgba(16, 37, 74, 0.2);
        color: #10254A;
    }

    .vaga-pagina .vaga-explore-mais__chips .badge-vaga-info:hover,
    .vaga-pagina .vaga-explore-mais__chips a:hover {
        transform: translateY(-1px);
    }
}

@media (max-width: 767.98px) {
    .vaga-pagina .vaga-explore-mais__chips {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px !important;
    }

    .vaga-pagina .vaga-explore-mais__more {
        width: 100%;
    }
}

/* —— 4. Placeholder de publicidade —— */
.vaga-pagina .vaga-ad-placeholder {
    border-radius: var(--vaga-radius-card) !important;
    border: 1px dashed rgba(16, 37, 74, 0.1) !important;
    background: linear-gradient(180deg, #fafbfd 0%, #f4f6f9 100%) !important;
}

.vaga-pagina .vaga-ad-placeholder__inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    padding: 1.35rem 1.25rem !important;
    text-align: center;
}

/* Esconde textos do placeholder (não competem com o AdSense) */
.vaga-pagina .vaga-ad-placeholder__inner,
.vaga-pagina .vaga-ad-placeholder__label,
.vaga-pagina .vaga-ad-placeholder__text,
.vaga-pagina .vaga-ad-placeholder__promo {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
}

.vaga-pagina .vaga-ad-placeholder__label {
    margin-bottom: 0 !important;
    letter-spacing: 0.08em;
}

.vaga-pagina .vaga-ad-placeholder__text {
    margin: 0 !important;
    max-width: 16rem;
    line-height: 1.45;
}

.vaga-pagina .vaga-ad-placeholder__promo {
    margin-top: 0.25rem;
    transition: color var(--vaga-ease-final), opacity var(--vaga-ease-final);
}

/* —— 5. Ritmo entre cards semelhantes —— */
.vaga-pagina #vagas-relacionadas-lista {
    --bs-gutter-x: 1rem;
    --bs-gutter-y: 1.15rem;
}

@media (min-width: 768px) {
    .vaga-pagina #vagas-relacionadas-lista {
        --bs-gutter-y: 1.25rem;
    }
}

@media (max-width: 767.98px) {
    .vaga-pagina #vagas-relacionadas-lista {
        --bs-gutter-y: 1rem;
    }

    .vaga-pagina #vagas-relacionadas-lista > [class*="col-"] {
        margin-bottom: 0.15rem;
    }
}

/* —— 7. Abas: fade lateral no scroll mobile —— */
@media (max-width: 767.98px) {
    .vaga-pagina .vaga-tabs-card .card-body {
        position: relative;
    }

    .vaga-pagina .nav-tabs.vaga-tabs {
        position: relative;
        flex-wrap: nowrap !important;
        overflow-x: auto;
        overflow-y: hidden;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        mask-image: linear-gradient(90deg, #000 0%, #000 calc(100% - 28px), transparent 100%);
        -webkit-mask-image: linear-gradient(90deg, #000 0%, #000 calc(100% - 28px), transparent 100%);
    }

    .vaga-pagina .nav-tabs.vaga-tabs::-webkit-scrollbar {
        display: none;
    }

    .vaga-pagina .vaga-tabs-card .card-body::after {
        content: "";
        position: absolute;
        top: 1rem;
        right: 0.35rem;
        width: 28px;
        height: 2.75rem;
        pointer-events: none;
        z-index: 2;
        background: linear-gradient(90deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.92));
        border-radius: 0 8px 8px 0;
    }
}

/* —— 8–9. Microinterações + radius consistente —— */
.vaga-pagina .vaga-tabs-card,
.vaga-pagina .vaga-relacionada-card,
.vaga-pagina .vaga-premium-card,
.vaga-pagina .vaga-sidebar-widget,
.vaga-pagina .vaga-relacionadas-section > .card,
.vaga-pagina .vaga-cta-final,
.vaga-pagina .vaga-explore-mais__inner,
.vaga-pagina .vaga-ad-placeholder,
.vaga-pagina .vaga-tests-banner-compact,
.vaga-pagina .vaga-courses-banner-compact {
    border-radius: var(--vaga-radius-card) !important;
}

.vaga-pagina .btn-candidatar-vaga,
.vaga-pagina .vaga-relacionada-btn,
.vaga-pagina .vaga-courses-banner-compact__btn,
.vaga-pagina .vaga-tests-banner-compact__btn,
.vaga-pagina .vaga-premium-card__btn {
    border-radius: 10px !important;
    transition:
        background-color var(--vaga-ease-final),
        border-color var(--vaga-ease-final),
        box-shadow var(--vaga-ease-final),
        transform var(--vaga-ease-final),
        color var(--vaga-ease-final) !important;
}

@media (hover: hover) and (pointer: fine) {
    .vaga-pagina .vaga-relacionada-card:hover,
    .vaga-pagina .vaga-sidebar-widget:hover {
        transform: translateY(-2px);
        box-shadow: 0 2px 4px rgba(15, 28, 46, 0.04), 0 10px 22px rgba(15, 28, 46, 0.06) !important;
    }

    .vaga-pagina .vaga-destaque-item:hover,
    .vaga-pagina .badge-vaga-info:hover,
    .vaga-pagina .vaga-relacionada-tag:hover {
        transform: translateY(-1px);
    }
}

/* —— 10–12. Ritmo fino hero / seções (sem mudar escala geral) —— */
.vaga-pagina .vaga-hero-block .vaga-pagina-titulo {
    margin-bottom: 8px !important;
}

.vaga-pagina .vaga-hero-block .vaga-hero-empresa {
    margin-bottom: 16px !important;
}

.vaga-pagina .vaga-hero-block .vaga-destaque-line {
    margin-bottom: 24px !important;
}

.vaga-pagina .vaga-hero-block {
    margin-bottom: 24px !important;
    padding-bottom: 24px !important;
}

.vaga-pagina .vaga-tabs-card {
    margin-bottom: 24px !important;
}

.vaga-pagina .vaga-relacionadas-section {
    margin-bottom: 24px;
}

@media (max-width: 767.98px) {
    .vaga-pagina .vaga-pagina-main {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }

    .vaga-pagina .vaga-cta-principal .btn-candidatar-vaga,
    .vaga-pagina .vaga-cta-principal .btn-compartilhar-vaga {
        border-radius: var(--vaga-radius-btn) !important;
    }

    .vaga-pagina .vaga-explore-mais__inner {
        padding: 1.05rem 1rem 1.1rem !important;
    }

    .vaga-pagina .vaga-ad-placeholder__inner {
        padding: 1.15rem 1rem !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .vaga-pagina .vaga-cta-principal .btn-compartilhar-vaga,
    .vaga-pagina .vaga-premium-card__btn,
    .vaga-pagina .vaga-explore-mais__more,
    .vaga-pagina .vaga-explore-mais__chips .badge-vaga-info,
    .vaga-pagina .vaga-relacionada-card,
    .vaga-pagina .vaga-sidebar-widget {
        transition: none !important;
        transform: none !important;
    }
}

/* �ncora de reten��o em vagas hist�ricas */
#vagas-semelhantes-abertas {
    scroll-margin-top: 5.5rem;
}
