/* 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: 32px;
    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: 992px) {
    #cc-home-news .carousel-control-prev .material-symbols-outlined,
    #cc-home-news .carousel-control-next .material-symbols-outlined {
        margin-top: 384px;
    }
}

/* Setas do carrossel centralizadas no mobile - DENTRO DO BANNER */
@media (max-width: 991.98px) {
    #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: 12px;
        justify-content: center;
    }
    
    #cc-home-news .carousel-control-next {
        right: 12px;
        justify-content: center;
    }
    
    #cc-home-news .carousel-control-prev .material-symbols-outlined,
    #cc-home-news .carousel-control-next .material-symbols-outlined {
        font-size: 28px;
    }
}

/* Setas muito pequenas em telas extra small */
@media (max-width: 575.98px) {
    #cc-home-news .carousel-control-prev,
    #cc-home-news .carousel-control-next {
        left: 8px;
        right: 8px;
    }
    
    #cc-home-news .carousel-control-prev .material-symbols-outlined,
    #cc-home-news .carousel-control-next .material-symbols-outlined {
        font-size: 24px;
    }
}
/* 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: 16px;
    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: 992px) {
    #cc-home-news .carousel-item .ratio {
        min-height: 600px;
        max-height: 600px;
        height: 104%;
    }
}

@media (min-width: 992px) {
    #cc-home-news .carousel-inner {
        min-height: 600px;
        max-height: 600px;
    }
}
/*
 * 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 H4 dentro da seção "Para você" */
#cc-for-you h4.titulo {
    color: var(--color-gray-600); /* Cor do texto */
    font-weight: 500; /* Peso da fonte */
    margin-bottom: 18px; /* Margem inferior */
}

/* 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: 14px; /* Espaçamento entre os itens da lista */
}

/* 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: 12px 4px 12px 16px; /* Preenchimento interno */
    text-decoration: none; /* Remove sublinhado */
    border: 1px solid var(--color-gray-700); /* Borda */
    border-radius: 8px; /* Cantos arredondados */
    font-family: var(--font-primary); /* Fonte */
    font-weight: 500; /* Peso da fonte */
    font-size: 16px; /* Tamanho da fonte */
    height: 64px; /* Altura fixa */
    max-height: 64px; /* 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: 30px; /* Tamanho da fonte do ícone */
    padding: 5px; /* 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: 8px; /* 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: 8px; /* 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 64px 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: 1px 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 {
    max-height: 524px; /* 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: 524px;
    overflow: visible;
    box-sizing: border-box;
    height: 524px;
    min-height: 524px;
}

/* 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 */
}

/* 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: 1199.98px) {
    .for-you-card--last-boletim {
        padding: 16px !important;
        max-height: 825px;
        overflow: visible;
        box-sizing: border-box;
    }
    
    .for-you-card--last-boletim .img-fluid {
        margin-bottom: 8px !important;
    }
    
    .for-you-card--last-boletim .text-center {
        padding: 12px 8px !important;
    }
}

@media (max-width: 575.98px) {
    .for-you-card--last-boletim {
        padding: 12px !important;
        max-height: 825px;
        overflow: visible;
        box-sizing: border-box;
    }
    
    .for-you-card--last-boletim .img-fluid {
        margin-bottom: 4px !important;
    }
    
    .for-you-card--last-boletim .text-center {
        padding: 8px 4px !important;
    }
    
    .for-you-card--last-boletim .ver-mais-link {
        font-size: 14px;
    }
    
    .for-you-card--last-boletim .material-icons {
        font-size: 18px !important;
    }
}

@media (max-width: 767.98px) {
    .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 .for-you-cegovbr-wrapper {
    position: relative; /* necessário para posicionar o ::before */
    clip-path: inset(0 -100vw 0 -100vw); /* Corta o overflow vertical sem cortar o horizontal */
}
#cc-for-you .for-you-cegovbr-wrapper::before {
    content: "";
    position: absolute;
    top: 174px; /* 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; /* preenche toda a largura da janela (pode transbordar) */
    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: 1199.98px) {
    #cc-for-you,
    #cc-for-you .for-you-cegovbr-wrapper {
        overflow-x: visible; /* Garante que o transbordamento lateral seja permitido no mobile */
    }

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