/* Cor para os links 'Ver mais oportunidades' e 'Ver mais matérias especiais' */
.ver-mais-oportunidades-link,
.ver-mais-oportunidades-link .destaque,
.ver-mais-oportunidades-link i.material-icons,
.ver-mais-materiais-link,
.ver-mais-materiais-link .destaque,
.ver-mais-materiais-link i.material-icons {
    color: #465564 !important;
}

/* Centraliza e colore apenas o link 'Ler boletim' */
.for-you-card--last-boletim .ver-mais-link.ler-boletim-link {
    color: #1B7727;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    text-align: center;
}

.for-you-card--last-boletim .ver-mais-link.ler-boletim-link .destaque,
.for-you-card--last-boletim .ver-mais-link.ler-boletim-link i.material-icons {
    color: #1B7727;
}

/* Controles do carrossel de notícias (setas) */
#cc-home-news .carousel-control-prev .material-symbols-outlined,
#cc-home-news .carousel-control-next .material-symbols-outlined {
    font-size: 2rem;
    line-height: 1;
    color: var(--color-gray-300);
    transition: color 0.2s ease-in-out;
    margin-top: 0;
}

/* Setas do carrossel centralizadas verticalmente no desktop */
@media (min-width: 62rem) {

    #cc-home-news .carousel-control-prev .material-symbols-outlined,
    #cc-home-news .carousel-control-next .material-symbols-outlined {
        margin-top: 0rem;
        margin-left: 0.5rem;
    }
}

/* Setas do carrossel centralizadas no mobile - DENTRO DO BANNER */
@media (max-width: 61.9988rem) {

    #cc-home-news .carousel-control-prev,
    #cc-home-news .carousel-control-next {
        width: auto;
        position: absolute;
        bottom: auto;
        top: 50%;
        transform: translateY(-50%);
        background: transparent;
        opacity: 0.8;
    }

    #cc-home-news .carousel-control-prev {
        left: 0.75rem;
        justify-content: center;
    }

    #cc-home-news .carousel-control-next {
        right: 0.75rem;
        justify-content: center;
    }

    #cc-home-news .carousel-control-prev .material-symbols-outlined,
    #cc-home-news .carousel-control-next .material-symbols-outlined {
        font-size: 1.75rem;
    }
}

/* Setas muito pequenas em telas extra small */
@media (max-width: 35.9988rem) {

    #cc-home-news .carousel-control-prev {
        left: 0.5rem;
        right: auto;
    }

    #cc-home-news .carousel-control-next {
        right: 0.5rem;
        left: auto;
    }

    #cc-home-news .carousel-control-prev .material-symbols-outlined,
    #cc-home-news .carousel-control-next .material-symbols-outlined {
        font-size: 1.5rem;
    }
}

/* Categoria do carrossel de notícias (home-news) */
.cc-news-category {
    color: #FEFEFE !important;
    font-family: 'Kanit', Arial, sans-serif;
    font-weight: 500 !important;
    font-style: normal;
    font-size: 1rem;
    line-height: 100%;
    letter-spacing: 0;
    display: inline-block;
}

/* Ajuste de altura do carrossel de notícias na home (Últimas Notícias) */
@media (min-width: 62rem) {
    #cc-home-news .carousel-item .ratio {
        min-height: 37.5rem;
        max-height: 37.5rem;
        height: 104%;
    }
}

@media (min-width: 62rem) {}

/*
 * Arquivo CSS para a seção "Para você" da página inicial.
 * Contém estilos para o título, lista de serviços e links de serviço individuais.
 */

/* Estilos para o título de seção dentro de "Para você" */
#cc-for-you h3.titulo,
#cc-for-you h4.titulo {
    color: var(--color-gray-600);
    /* Cor do texto */
    font-weight: 500;
    /* Peso da fonte */
    margin-bottom: 1.125rem;
    /* Margem inferior */
}

/* Mais Acessados Header - Estilo Radar */
.mais-acessados-header.px-4.pt-4.pb-2 {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
}

.mais-acessados-title {
    font-family: 'Kanit', sans-serif;
    font-weight: 500;
    font-size: 24px;
    line-height: 100%;
    color: #757575;
}

/* Estilos para a lista não ordenada de serviços */
#cc-for-you ul {
    padding-left: 0;
    /* Remove o preenchimento padrão da lista */
    list-style: none;
    /* Remove os marcadores de lista */
    display: flex;
    /* Usa flexbox para o layout dos itens */
    flex-direction: column;
    /* Itens em coluna */
    gap: 0.875rem;
    /* Espaçamento entre os itens da lista */
    margin-bottom: 1.625rem;
}

/* Estilos para os links de serviço dentro da lista */
#cc-for-you ul li a {
    color: var(--color-gray-700);
    /* Cor do texto */
    display: flex;
    /* Usa flexbox para o conteúdo do link */
    flex-direction: row;
    /* Conteúdo em linha */
    align-items: center;
    /* Alinha itens verticalmente */
    justify-content: space-between;
    /* Espaça o conteúdo horizontalmente */
    padding: 0.75rem 0.25rem 0.75rem 1rem;
    /* Preenchimento interno */
    text-decoration: none;
    /* Remove sublinhado */
    border: 0.0625rem solid var(--color-gray-700);
    /* Borda */
    border-radius: 0.5rem;
    /* Cantos arredondados */
    font-family: var(--font-primary);
    /* Fonte */
    font-weight: 500;
    /* Peso da fonte */
    font-size: 1rem;
    /* Tamanho da fonte */
    height: 4rem;
    /* Altura fixa */
    max-height: 4rem;
    /* Altura máxima fixa */
}

/* Estilos para o ícone Material Symbols Outlined dentro do link */
#cc-for-you ul li a .material-symbols-outlined {
    color: var(--color-primary-700);
    /* Cor do ícone */
}

/* Estilos para o ícone Material Symbols Outlined dentro de uma div no link */
#cc-for-you ul li a div .material-symbols-outlined {
    font-size: 1.875rem;
    /* Tamanho da fonte do ícone */
    padding: 0.3125rem;
    /* Preenchimento interno do ícone */
    color: var(--color-gray-700);
    /* Cor do ícone */
}

/* Estilos para o container interno do link (ícone + texto) */
#cc-for-you ul li a>div {
    display: flex;
    /* Usa flexbox */
    flex-direction: row;
    /* Itens em linha */
    gap: 0.5rem;
    /* Espaçamento entre os itens */
    align-items: center;
    /* Alinha itens verticalmente */
}

/* Estilos para o container interno do link (ícone + texto) - reforço */
#cc-for-you ul li a>div {
    flex: 1 1 auto;
    /* Permite que o item cresça e encolha */
    min-width: 0;
    /* ESSENCIAL para truncar texto dentro de flex */
    gap: 0.5rem;
    /* Espaçamento entre os itens */
}

/* Estilos para o texto do serviço (o segundo span dentro do div) */
#cc-for-you ul li a>div>span:last-child {
    line-height: 1.2;
    /* Altura da linha (permite 2 linhas dentro de 4rem de altura total) */
    overflow: hidden;
    /* Esconde o conteúdo que transborda */
    text-overflow: ellipsis;
    /* Adiciona reticências (...) para texto truncado */

    /* Propriedades para truncar texto em navegadores modernos */
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    /* Limita o texto a 2 linhas */

    /* Fallback para navegadores mais antigos (sem reticências garantidas) */
    max-height: calc(1.2em * 2);
    /* Altura máxima para 2 linhas */
    white-space: normal;
    /* Permite que o texto quebre */
    word-wrap: break-word;
    /* Garante que palavras longas quebrem */
}

/* Garante que o ícone da direita não encolha */
#cc-for-you ul li a>.material-symbols-outlined {
    flex: 0 0 auto;
    /* Não permite que o ícone encolha ou cresça */
}

/* Efeito de hover para o link de serviço */
#cc-for-you ul li a:hover {
    background-color: var(--color-primary-50);
    /* Cor de fundo ao passar o mouse */
}

/* Estilos para o link de serviço quando focado (acessibilidade) */
#cc-for-you ul li a:focus,
#cc-for-you ul li a::focus-visible {
    outline: 0.0625rem solid var(--color-primary-focus) !important;
    /* Contorno de foco */
    outline-color: var(--color-primary-focus) !important;
    /* Cor do contorno de foco */
}

/* Efeito de clique (ativo) para o link de serviço */
#cc-for-you ul li a:active {
    background: #EEEEEE;
    background: -webkit-linear-gradient(90deg, rgba(238, 238, 238, 1) 50%, rgba(217, 242, 239, 1) 100%);
    background: -moz-linear-gradient(90deg, rgba(238, 238, 238, 1) 50%, rgba(217, 242, 239, 1) 100%);
    background: linear-gradient(90deg, rgba(238, 238, 238, 1) 50%, rgba(217, 242, 239, 1) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#EEEEEE",
            endColorstr="#D9F2EF",
            GradientType=1);
}

/* Sublinha o texto do serviço ao passar o mouse */
#cc-for-you ul li a:hover div span:last-child {
    text-decoration: underline;
    /* Adiciona sublinhado ao texto */
}

/* Cartão com altura fixa para combinar com o Radar de Oportunidades */
.for-you-card--fixed-height {
    min-height: 32.75rem;
    height: 100%;
    max-height: none;
    /* Limite máximo da altura */
    overflow: visible;
    /* Sem rolagem interna; a página fará o scroll */
    box-sizing: border-box;
    /* Inclui padding na contagem de altura */
}

/* Garante que o card do boletim tenha altura igual aos demais no desktop */
.for-you-card--last-boletim {
    max-height: none;
    overflow: visible;
    box-sizing: border-box;
    height: 100%;
    min-height: 32.75rem;
}

/* Alinha e define cor do link 'Ver mais serviços' dentro do cartão 'Mais acessados' */
.for-you-card--fixed-height .ver-mais-link {
    display: flex;
    justify-content: flex-end;
    /* Alinha à direita */
    align-items: center;
    width: 100%;
    color: #465564;
    /* Cor solicitada */
    text-decoration: none;
}

.for-you-card--fixed-height .ver-mais-link .destaque,
.for-you-card--fixed-height .ver-mais-link i.material-icons {
    color: inherit;
    /* Herdar a cor definida no link */
}

/* Evita que o Radar master comprima o swiper e corte o conteúdo em telas menores */
.radar-master {
    justify-content: flex-start !important;
    gap: 0rem !important;
    min-height: 0;
}

.radar-master .cegovbr-opp-wrapper {
    flex: 1 1 auto;
    min-height: 0;
    height: auto;
}

.radar-master .cegovbr-opp-swiper,
.radar-master .swiper,
.radar-master .swiper-wrapper,
.radar-master .swiper-slide {
    min-height: 0;
    height: 100%;
}

.radar-master .swiper-pagination {
    margin-top: 0.25rem !important;
    margin-bottom: 0 !important;
}

.radar-master .swiper-pagination.position-relative.mt-3.mb-2 {
    margin-top: 0.25rem !important;
}

.radar-master .radar-master-pagination {
    margin-top: 0.25rem !important;
}

@media (max-width: 36rem) {
    .radar-master .swiper-pagination.position-relative.mt-3.mb-2 {
        margin-top: 1rem !important;
    }

    .radar-master .radar-master-pagination {
        margin-top: 1rem !important;
    }
}

.radar-master .ver-mais-oportunidades-link {
    margin-top: 0 !important;
}

/* Cor para o link 'Acessar todas as edições' no cartão do boletim */
.for-you-card--last-boletim .ver-mais-link {
    color: #465564;
}

.for-you-card--last-boletim .ver-mais-link .destaque,
.for-you-card--last-boletim .ver-mais-link i.material-icons {
    color: inherit;
}

/* Responsividade do cartão de boletim - reduz padding em telas menores */
@media (max-width: 74.9988rem) {
    .for-you-card--last-boletim {
        padding: 1rem !important;
        max-height: 51.5625rem;
        overflow: visible;
        box-sizing: border-box;
    }

    .for-you-card--last-boletim .img-fluid {
        margin-bottom: 0.5rem !important;
    }

    .for-you-card--last-boletim .text-center {
        padding: 0.75rem 0.5rem !important;
    }
}

@media (max-width: 35.9988rem) {
    .for-you-card--last-boletim {
        padding: 0.75rem !important;
        max-height: 51.5625rem;
        overflow: visible;
        box-sizing: border-box;
    }

    .for-you-card--last-boletim .img-fluid {
        margin-bottom: 0.25rem !important;
    }

    .for-you-card--last-boletim .text-center {
        padding: 0.5rem 0.25rem !important;
    }

    .for-you-card--last-boletim .ver-mais-link {
        font-size: 0.875rem;
    }

    .for-you-card--last-boletim .material-icons {
        font-size: 1.125rem !important;
    }
}

/* Garantir estilo do rodapé de boletim com bg-active e borda inferior arredondada */
#cc-for-you .for-you-card--last-boletim .text-center.py-3.bg-active.rounded-bottom-3 {
    background: linear-gradient(90deg, rgba(238, 238, 238, 1) 50%, rgba(217, 242, 239, 1) 100%);
    border-bottom-left-radius: var(--bs-border-radius-lg) !important;
    border-bottom-right-radius: var(--bs-border-radius-lg) !important;
}

body.contrast-active #cc-for-you .for-you-card--last-boletim .text-center.py-3.bg-active.rounded-bottom-3 {
    background: #111 !important;
    background-image: none !important;
    border: 0.0625rem solid #fff !important;
}

body.contrast-active #cc-for-you .for-you-card--last-boletim .text-center.py-3.bg-active.rounded-bottom-3 .text-secondary,
body.contrast-active #cc-for-you .for-you-card--last-boletim .text-center.py-3.bg-active.rounded-bottom-3 .text-gray-700,
body.contrast-active #cc-for-you .for-you-card--last-boletim .text-center.py-3.bg-active.rounded-bottom-3 .ver-mais-link.ler-boletim-link,
body.contrast-active #cc-for-you .for-you-card--last-boletim .text-center.py-3.bg-active.rounded-bottom-3 .ver-mais-link.ler-boletim-link .destaque,
body.contrast-active #cc-for-you .for-you-card--last-boletim .text-center.py-3.bg-active.rounded-bottom-3 .material-icons,
body.contrast-active #cc-for-you .for-you-card--last-boletim .text-center.py-3.bg-active.rounded-bottom-3 h5.titulo {
    color: #fff !important;
}

@media (max-width: 47.9988rem) {

    .for-you-card--fixed-height,
    .for-you-card--last-boletim {
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
    }
}

@media (max-width: 74.9988rem) {

    .for-you-card--fixed-height,
    .for-you-card--last-boletim {
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
    }
}

/* Decorator card ::before dentro da sessão "Para você" */
#cc-for-you {
    position: relative;
    overflow: visible;
    isolation: isolate;
    clip-path: inset(0 -50vw 0 -50vw);
}

#cc-for-you .for-you-cegovbr-wrapper {
    position: relative;
    overflow: hidden;
    z-index: 1;
}

#cc-for-you::before {
    content: "";
    position: absolute;
    top: 10.875rem;
    /* alinha ao topo da seção */
    left: 50%;
    transform: translateX(-50%) rotate(-3.45deg);
    /* centra horizontalmente e aplica rotação invertida */
    transform-origin: center center;
    width: 100vw;
    /* mantém o efeito visual sem extrapolar a largura útil da seção */
    height: 100%;
    /* não ultrapassa a altura da seção */
    background: linear-gradient(90deg, #EEEEEE 0%, #D9F2EF 100%);
    /* gradiente solicitado */
    box-shadow: none;
    /* sem sombra conforme solicitado */
    z-index: 0;
    /* fica atrás do conteúdo */
    pointer-events: none;
    /* não atrapalha cliques */
    border: none;
}



/* Garante que o conteúdo da seção fique acima do decorador */
#cc-for-you .for-you-cegovbr-wrapper>* {
    position: relative;
    z-index: 1;
}

/* Adapta o decorador para telas menores */
@media (max-width: 74.9988rem) {

    #cc-for-you::before {
        top: 80%;
        /* Reduz o espaçamento do topo para telas menores */
        transform: translateX(-48%) rotate(-2.5deg);
        /* Suaviza a rotação */
        width: 100vw;
        height: 30%;
        /* Ajusta a altura para 40% no mobile */
    }
}

/* ====== Alto Contraste ====== */
body.contrast-active #cc-for-you::before {
    background: #222 !important;
    opacity: 0.5;
}

body.contrast-active #cc-for-you .bg-white,
body.contrast-active .for-you-card--last-boletim,
body.contrast-active .for-you-card--fixed-height {
    background-color: #000 !important;
    color: #fff !important;
    border-color: #fff !important;
    outline: 0.125rem solid #fff !important;
}

body.contrast-active #cc-for-you h3.titulo,
body.contrast-active #cc-for-you h4.titulo,
body.contrast-active #cc-for-you .titulo,
body.contrast-active #cc-for-you .material-symbols-outlined {
    color: #fff !important;
}

body.contrast-active #cc-for-you ul li a {
    background-color: #000 !important;
    border-color: #fff !important;
    color: #fff !important;
}

body.contrast-active #cc-for-you ul li a:hover {
    background-color: #222 !important;
    border-color: #fff !important;
    color: #fff !important;
}

body.contrast-active #cc-for-you .ver-mais-link,
body.contrast-active .ver-mais-oportunidades-link,
body.contrast-active .ver-mais-materiais-link {
    color: #fff !important;
}

body.contrast-active #cc-for-you .ver-mais-link .destaque {
    color: #fff !important;
}

body.contrast-active .bg-active {
    background: #222 !important;
    background-image: none !important;
    border: 0.0625rem solid #fff !important;
}

body.contrast-active .text-secondary,
body.contrast-active .text-gray-700 {
    color: #fff !important;
}

body.contrast-active .opp-card {
    background-color: #000 !important;
    color: #fff !important;
}

body.contrast-active .cegovbr-opp-wrapper {
    background-color: #000 !important;
    border: 0.0625rem solid #fff !important;
}

body.contrast-active .opp-card:hover {
    background-color: #222 !important;
}

body.contrast-active .opp-card:hover .opp-title,
body.contrast-active .opp-card:hover .opp-meta,
body.contrast-active .opp-card:hover .opp-meta strong {
    color: #fff !important;
}

body.contrast-active .mat-especiais-card {
    background-color: transparent !important;
    color: #fff !important;
}

body.contrast-active .badge-status {
    background-color: #fff !important;
    color: #000 !important;
    font-weight: bold;
}

body.contrast-active .cegovbr-opp-wrapper button,
body.contrast-active .cegovbr-mat-especiais-wrapper button {
    color: #fff !important;
}

body.contrast-active .opp-meta hr {
    border-color: #fff !important;
    opacity: 1;
}

body.contrast-active .opp-title,
body.contrast-active .opp-meta,
body.contrast-active .opp-meta strong,
body.contrast-active .mat-especiais-title {
    color: #fff !important;
}

body.contrast-active .cegovbr-mat-especiais-wrapper .position-absolute {
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.5) 0%, #000000 100%) !important;
}
