:root {
    --horizon-gold: #f59e0b;
    --horizon-gold-strong: #d97706;
    --horizon-gold-dark: #92400e;
    --horizon-gold-soft: #fffbeb;
    --horizon-gold-border: #fde68a;
    --horizon-blue: #0145f2;
    --horizon-blue-soft: #eef4ff;
    --horizon-green: #059669;
    --horizon-green-soft: #ecfdf5;
    --horizon-border: #dbe3f0;
    --horizon-text: #0f172a;
    --horizon-muted: #64748b;
    --horizon-premium-fill:
        linear-gradient(
            112deg,
            #0145f2 0%,
            #2563eb 64%,
            #f59e0b 78%,
            #d97706 100%
        );
    --horizon-premium-line:
        linear-gradient(
            90deg,
            #0145f2 0%,
            #2563eb 68%,
            #f59e0b 72%,
            #d97706 100%
        );
    --horizon-premium-text:
        linear-gradient(
            105deg,
            #0145f2 0%,
            #2563eb 64%,
            #f59e0b 78%,
            #d97706 100%
        );
}

/*
    Atalho Horizons compartilhado pelas sidebars internas.
    Mantém a estrutura visual de cada página e adiciona apenas
    a camada premium azul + dourada do produto.
*/

.sidebar .sidebar_link_horizons {
    position: relative;
    min-height: 42px;
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 10px 11px;
    overflow: hidden;
    border: 1px solid transparent;
    border-radius: 11px;
    color: #64748b;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    cursor: pointer;
    transition:
        color 0.18s ease,
        background 0.18s ease,
        border-color 0.18s ease,
        box-shadow 0.18s ease,
        transform 0.18s ease;
}

.sidebar .sidebar_link_horizons::after {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 2px;
    opacity: 0;
    background:
        var(--horizon-premium-line);
    transition: opacity 0.18s ease;
}

.horizon_sidebar_shortcut_icon {
    width: 24px;
    height: 24px;
    flex: 0 0 24px;
    display: inline-grid;
    place-items: center;
    border-radius: 8px;
    background: #eef4ff;
    color: var(--horizon-blue);
    font-size: 12px;
    line-height: 1;
    transition:
        color 0.18s ease,
        background 0.18s ease,
        transform 0.18s ease;
}

.sidebar .sidebar_link_horizons:hover,
.sidebar .sidebar_link_horizons:focus-visible {
    outline: none;
    border-color: var(--horizon-gold-border);
    background:
        linear-gradient(
            135deg,
            var(--horizon-gold-soft),
            #ffffff
        );
    color: var(--horizon-gold-dark);
    box-shadow: 0 10px 24px rgba(245, 158, 11, 0.1);
    transform: translateY(-1px);
}

.sidebar .sidebar_link_horizons:hover::after,
.sidebar .sidebar_link_horizons:focus-visible::after,
.sidebar .sidebar_link_horizons.active::after {
    opacity: 1;
}

.sidebar .sidebar_link_horizons:hover .horizon_sidebar_shortcut_icon,
.sidebar .sidebar_link_horizons:focus-visible .horizon_sidebar_shortcut_icon {
    background: #fef3c7;
    color: var(--horizon-gold-strong);
    transform: rotate(-6deg);
}

.sidebar .sidebar_link_horizons.active,
.sidebar .sidebar_link_horizons[aria-current="page"] {
    border-color: var(--horizon-gold-border);
    background:
        radial-gradient(
            circle at 100% 50%,
            rgba(245, 158, 11, 0.15),
            transparent 38%
        ),
        #f3f7ff;
    color: var(--horizon-blue);
    box-shadow:
        0 10px 25px rgba(1, 69, 242, 0.08),
        0 8px 20px rgba(245, 158, 11, 0.08);
}

.sidebar .sidebar_link_horizons.active .horizon_sidebar_shortcut_icon,
.sidebar .sidebar_link_horizons[aria-current="page"] .horizon_sidebar_shortcut_icon {
    background: var(--horizon-gold-soft);
    color: var(--horizon-gold-strong);
}

.sidebar .sidebar_link_horizons.carregando_horizon {
    pointer-events: none;
    opacity: 0.72;
}

.sidebar .sidebar_link_horizons.carregando_horizon .horizon_sidebar_shortcut_icon {
    animation: horizonShortcutPulse 0.8s ease-in-out infinite alternate;
}

@keyframes horizonShortcutPulse {
    to {
        color: var(--horizon-gold-strong);
        background: var(--horizon-gold-soft);
        transform: scale(1.07);
    }
}

.horizon_badge,
.horizon_badge_inline,
[data-horizon="true"] .horizon_auto_badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    width: fit-content;
    padding: 6px 9px;
    border: 1px solid var(--horizon-gold-border);
    border-radius: 999px;
    background: linear-gradient(135deg, #fff7d6, var(--horizon-gold-soft));
    color: var(--horizon-gold-dark);
    font-size: 10px;
    font-weight: 850;
    letter-spacing: 0.055em;
    text-transform: uppercase;
    box-shadow: 0 8px 18px rgba(245, 158, 11, 0.11);
    white-space: nowrap;
}

.horizon_feed_badge {
    width: fit-content;
    margin-top: 7px;
}

.project_identity_copy .horizon_feed_badge,
.talento_identity_text .horizon_feed_badge,
.vaga_card_top .horizon_feed_badge,
.vacancy_header .horizon_feed_badge,
.projeto_card .horizon_feed_badge {
    display: inline-flex;
    align-self: flex-start;
}

.horizon_badge::before,
.horizon_badge_inline::before,
[data-horizon="true"] .horizon_auto_badge::before {
    content: "";
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--horizon-gold);
    box-shadow: 0 0 0 3px rgba(245, 158, 11, 0.16);
}

.horizon_trust_seal {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    width: fit-content;
    padding: 6px 10px;
    border: 1px solid rgba(1, 69, 242, 0.16);
    border-radius: 999px;
    background: var(--horizon-blue-soft);
    color: var(--horizon-blue);
    font-size: 10px;
    font-weight: 850;
    letter-spacing: 0.045em;
    text-transform: uppercase;
}

.horizon_trust_seal::before {
    content: "✓";
    width: 16px;
    height: 16px;
    display: inline-grid;
    place-items: center;
    border-radius: 50%;
    background: var(--horizon-blue);
    color: #ffffff;
    font-size: 10px;
}

.horizon_gold_text {
    color: var(--horizon-gold-strong) !important;
}

.horizon_gold_gradient_text {
    background: var(--horizon-premium-text);
    background-clip: text;
    color: transparent !important;
}

[data-horizon="true"],
.horizon_item {
    position: relative;
}

[data-horizon="true"]::before,
.horizon_item::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 3px;
    border-radius: inherit;
    background:
        linear-gradient(
            90deg,
            #d97706 0%,
            #f59e0b 52%,
            #facc15 100%
        );
    pointer-events: none;
}

[data-horizon-area="projeto"][data-horizon="true"],
.projeto_horizon {
    border-color: rgba(245, 158, 11, 0.35) !important;
    box-shadow: 0 18px 46px rgba(1, 69, 242, 0.09), 0 10px 28px rgba(245, 158, 11, 0.07) !important;
}

[data-horizon-area="projeto"][data-horizon="true"] .categoria,
.projeto_horizon .categoria {
    border: 1px solid rgba(1, 69, 242, 0.16);
    background: var(--horizon-blue-soft);
    color: var(--horizon-blue);
}

[data-horizon-area="projeto"][data-horizon="true"] .tag,
.projeto_horizon .tag {
    border: 1px solid var(--horizon-gold-border);
    background: var(--horizon-gold-soft);
    color: var(--horizon-gold-dark);
}

[data-horizon-area="vaga"][data-horizon="true"],
.vaga_horizon {
    border-color: rgba(245, 158, 11, 0.35) !important;
    box-shadow: 0 18px 46px rgba(5, 150, 105, 0.08), 0 10px 28px rgba(245, 158, 11, 0.07) !important;
}

[data-horizon-area="vaga"][data-horizon="true"]::before {
    background:
        linear-gradient(
            90deg,
            #d97706 0%,
            #f59e0b 52%,
            #facc15 100%
        );
}

[data-horizon-area="vaga"][data-horizon="true"] .vaga_card_line {
    background:
        linear-gradient(
            90deg,
            #d97706 0%,
            #f59e0b 52%,
            #facc15 100%
        ) !important;
}

[data-horizon-area="vaga"][data-horizon="true"] .tags span,
.vaga_horizon .tags span {
    border: 1px solid rgba(5, 150, 105, 0.18);
    background: var(--horizon-green-soft);
    color: var(--horizon-green);
}

[data-horizon-area="vaga"][data-horizon="true"] .horizon_priority,
.vaga_horizon .horizon_priority {
    color: var(--horizon-gold-dark);
    font-weight: 800;
}

.vacancy_context > div > span,
.vaga_card_top > div,
.perfil_project_header > div {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 7px;
}

.vacancy_context .horizon_auto_badge,
.vaga_card_top .horizon_auto_badge,
.perfil_project_header .horizon_auto_badge {
    padding: 4px 7px;
    font-size: 9px;
}

.vacancy_context > div > span .horizon_auto_badge {
    margin-left: 3px;
}

.project_dossier.projeto_horizon .project_header,
.vantara_panel.vaga_horizon {
    position: relative;
    overflow: hidden;
    border-color: rgba(245, 158, 11, 0.36) !important;
    box-shadow:
        0 22px 54px rgba(1, 69, 242, 0.1),
        0 12px 30px rgba(245, 158, 11, 0.08) !important;
}

.project_dossier.projeto_horizon .project_header::before,
.vantara_panel.vaga_horizon::before {
    content: "";
    position: absolute;
    z-index: 2;
    inset: 0 0 auto;
    height: 4px;
    background:
        linear-gradient(
            90deg,
            #d97706 0%,
            #f59e0b 52%,
            #facc15 100%
        );
    pointer-events: none;
}

.project_dossier.projeto_horizon .project_identity_line,
.vantara_panel.vaga_horizon .vantara_identity_line {
    background:
        linear-gradient(
            90deg,
            #d97706 0%,
            #f59e0b 52%,
            #facc15 100%
        ) !important;
}

.project_dossier.projeto_horizon .project_logo_mark {
    border-color: var(--horizon-gold-border);
    background: var(--horizon-premium-fill);
    color: #ffffff;
    box-shadow:
        0 14px 34px rgba(1, 69, 242, 0.18),
        0 8px 20px rgba(245, 158, 11, 0.14);
}

.project_dossier.projeto_horizon .project_kicker,
.vantara_panel.vaga_horizon .vagas_kicker {
    color: var(--horizon-gold-strong);
}

.project_dossier.projeto_horizon .project_header_badges,
.vantara_panel.vaga_horizon .vaga_detail_header {
    position: relative;
    z-index: 3;
}

[data-horizon-area="perfil"][data-horizon="true"],
.perfil_horizon {
    --talentos-main: var(--horizon-blue);
    --talentos-strong: #0138c7;
    --talentos-dark: #0f172a;
    --talentos-accent: var(--horizon-gold);
    --talentos-soft: var(--horizon-blue-soft);
    --talentos-surface: #eff6ff;
    --talentos-border: #bfdbfe;
    --talentos-ring: rgba(245, 158, 11, 0.28);
}

.perfil_horizon .perfil_avatar,
[data-horizon-area="perfil"][data-horizon="true"] .perfil_avatar {
    border-color: var(--horizon-gold-border) !important;
    background: var(--horizon-premium-fill) !important;
    box-shadow: 0 18px 42px rgba(1, 69, 242, 0.18), 0 8px 24px rgba(245, 158, 11, 0.16) !important;
}

.perfil_page.perfil_horizon .perfil_hero {
    border-color: rgba(245, 158, 11, 0.36);
    box-shadow:
        0 22px 54px rgba(1, 69, 242, 0.11),
        0 12px 30px rgba(245, 158, 11, 0.08);
}

.perfil_page.perfil_horizon .perfil_hero::before {
    content: "";
    position: absolute;
    z-index: 5;
    inset: 0 0 auto;
    height: 4px;
    background: var(--horizon-premium-line);
    pointer-events: none;
}

.perfil_page.perfil_horizon .perfil_banner {
    background:
        radial-gradient(
            circle at 92% 20%,
            rgba(245, 158, 11, 0.35),
            transparent 30%
        ),
        linear-gradient(135deg, #0138c7, #0145f2 68%, #d97706);
}

.perfil_page.perfil_horizon .perfil_banner_overlay {
    background:
        linear-gradient(
            180deg,
            rgba(1, 69, 242, 0.05),
            rgba(15, 23, 42, 0.16)
        );
}

.perfil_page.perfil_horizon .perfil_panel {
    border-top-color: var(--horizon-gold);
}

.perfil_page.perfil_horizon .perfil_public_badge {
    border-color: rgba(1, 69, 242, 0.18);
    background: var(--horizon-blue-soft);
    color: var(--horizon-blue);
}

.horizon_rank_hint {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: var(--horizon-muted);
    font-size: 11px;
    font-weight: 650;
}

.horizon_rank_hint strong {
    color: var(--horizon-gold-dark);
}

@media (prefers-reduced-motion: no-preference) {
    [data-horizon="true"],
    .horizon_item,
    .projeto_horizon,
    .vaga_horizon,
    .perfil_horizon {
        transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
    }
}

@media (prefers-reduced-motion: reduce) {
    .sidebar .sidebar_link_horizons,
    .horizon_sidebar_shortcut_icon {
        transition: none !important;
        animation: none !important;
    }
}
