/* -------------------------------- 

HOME - FSC

-------------------------------- */

/* Ajustes na página para adaptação de layout da página de parceiros */
.inner_page_breadcrumb {
    display: none;
}

.secondary-navigation {
    translate: 0 92px;
    z-index: 2;
    position: relative;
    padding-bottom: 10px;
}

#block-region-fullwidth-top {
    margin-top: -88px;
}

#block-region-fullwidth-top div:first-child .ccnBlockControls {
    margin-top: 88px;
}

/* DECORAÇÃO ANTES DO TÍTULO */
.home-fsc .traco-decorativo {
    display: inline-block;
    width: 48px;
    height: 4px;
    background-color: var(--ifht-sys-cor-secundaria-normal);
    border-radius: 2px;
}

/* TÍTULO DAS SESSÕES */
.home-fsc .titulo-sessao-texto {
    color: var(--ifht-sys-cor-primaria-extradark);
    font-size: var(--ifht-sys-h4);
    letter-spacing: 0.5px;
    margin-bottom: 0;
}

/* SUBTÍTULO DAS SESSÕES */
.home-fsc .subtitulo-sessao-texto {
    font-size: var(--ifht-ref-escala-9);
    line-height: var(--ifht-sys-line-height-title);
    color: var(--ifht-sys-cor-neutra-dark);
}

/* BADGES */
.home-fsc .badge {
    font-size: 0.7rem;
    font-weight: bold;
    padding: 10px 15px;
    border-radius: 50px;
}

.home-fsc .badge.badge-blue {
    background-color: var(--ifht-sys-cor-secundaria-light) !important;
    color: var(--ifht-sys-cor-primaria-extradark);
    text-transform: uppercase;
}

.home-fsc .badge-yellow {
    background-color: #f0ad4e !important;
    color: var(--ifht-sys-cor-primaria-extradark);
}

/* -------------------------------- 
    SESSÃO DO PARCEIRO - DESTAQUE
-------------------------------- */

#page-mod-page-view .parceiro-destaque {
    padding: 0;
}

#page-mod-page-view .parceiro-destaque .page-content {
    margin-top: 0;
}

#page-mod-page-view .parceiro-destaque .home-fsc {
    background-color: var(--ifht-sys-cor-primaria-extradark);
    color: white;
    padding: 230px 0 var(--ifht-sys-spacing-5xl);
}

.parceiro-destaque .home-fsc h1 {
    color: var(--ifht-sys-cor-neutra-branco);
}

.parceiro-destaque .home-fsc .btn-secondary {
    color: var(--ifht-sys-cor-neutra-branco);
    border: 2px solid var(--ifht-sys-cor-neutra-branco) !important;
}

.parceiro-destaque .home-fsc .btn-custom {
    border-radius: 5px;
}

/* CONTAINER DO LOGO COM GRAFISMO DE FUNDO */
.parceiro-destaque .home-fsc .card-custom {
    border: none !important;
    overflow: visible;
}

.parceiro-destaque .home-fsc .card-custom .row {
    position: relative;
    z-index: 2;
    border-radius: 20px;
    background-color: var(--card-background);
    padding: 2.5rem 1.5rem;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
}

/* GRAFISMO */
.parceiro-destaque .home-fsc .card-custom::before {
    content: "";
    position: absolute;
    top: -100px;
    left: 10px;
    width: 120%;
    height: 500px;
    background-image: url(/pluginfile.php/606/mod_folder/content/0/img/extensao/parcerias/fsc/home/parceiro-destaque-grafismo.svg);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    z-index: 0;
}

.parceiro-destaque .home-fsc .card-custom img {
    max-width: 100%;
    height: auto;
    object-fit: contain;
}

/* -------------------------------- 
    SESSÃO SOBRE O PROGRAMA
-------------------------------- */

.sobre-programa {
    background: url('/pluginfile.php/606/mod_folder/content/0/img/extensao/parcerias/fsc/home/bg-sobre-programa.png') no-repeat, transparent;
    background-position: center;
    background-size: contain;
    padding: var(--ifht-sys-spacing-3xl) 0 var(--ifht-sys-spacing-3xl) 0;
    position: relative;
    overflow: hidden;
}

/* CARD DESTAQUE */
.sobre-programa .home-fsc .card-programa {
    background: linear-gradient(135deg, #0052cc 0%, #002d72 100%);
    border: none;
    border-radius: 20px;
}

/* Detalhe decorativo (Círculo no canto) */
.sobre-programa .home-fsc .card-programa::after {
    content: "";
    position: absolute;
    top: -50px;
    right: -50px;
    width: 200px;
    height: 200px;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 50%;
}

.sobre-programa .home-fsc .titulo-programa {
    color: var(--ifht-sys-cor-neutra-branco);
    font-weight: 700;
    margin-top: 15px;
    margin-bottom: 20px;
    line-height: normal;
}

.sobre-programa .home-fsc .texto-programa {
    color: var(--ifht-sys-cor-neutra-branco);
}

.sobre-programa .home-fsc .card-programa a {
    color: var(--ifht-sys-cor-neutra-branco);
    background-color: transparent;
    text-decoration: none;
    letter-spacing: 0.5px;
    transition: opacity 0.2s ease;
}

.sobre-programa .home-fsc .card-programa a:hover {
    opacity: 0.8;
    text-decoration: underline;
}

/* CARDS BRANCOS DAS FRENTES */
.sobre-programa .card-pilar {
    background-color: var(--ifht-sys-cor-neutra-branco);
    border: 1px solid #f0ad4e;
    border-radius: 16px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.03);
    transition: transform 0.2s ease;
}

.sobre-programa .card-pilar:hover {
    transform: translateY(-3px);
}

@media(max-width:991px) {
    .sobre-programa .card-pilar .card-pilar-title {
        display: flex;
        flex-direction: row;
        align-items: center;
        gap: 1rem;
    }
}

.sobre-programa .card-pilar .h6 {
    text-transform: none;
}

.sobre-programa .card-pilar p {
    font-size: var(--ifht-ref-escala-10);
    color: var(--ifht-sys-cor-neutra-dark);
    line-height: var(--ifht-sys-line-height-display);
    margin-bottom: 0;
}

/* Estrutura do Mosaico de Fotos (Padrão Mobile) */
.sobre-programa .galeria-mosaico-wrapper {
    width: 100%;
    padding: 0 15px;
    margin-top: 2rem;
}

.sobre-programa .galeria-mosaico {
    border-radius: 96px 0 0 96px;
    overflow: hidden;
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.1);
}

.sobre-programa .galeria-mosaico .img-mosaico {
    width: 100%;
    height: auto;
    object-fit: cover;
    display: block;
}

/* POSICIONAMENTO DESKTOP (Vaza a grade e encosta na tela) */
@media (min-width: 992px) {
    .sobre-programa .galeria-mosaico-wrapper {
        position: absolute;
        top: 50%;
        right: 0;
        transform: translateY(-50%);
        width: 38vw;
        max-width: 520px;
        padding: 0;
        margin-top: 0;
    }

    .sobre-programa .galeria-mosaico .img-mosaico {
        height: auto;
    }
}

/* -------------------------------- 
    SESSÃO TRANSPARÊNCIA E PROCESSOS SELETIVOS 
-------------------------------- */
.transparencia-processos {
    background-color: var(--ifht-sys-cor-neutra-5);
}

.transparencia-processos .card {
    background-color: var(--ifht-sys-cor-neutra-5);
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    box-shadow: none;
    transition: all 0.25s ease-in-out;
}

.transparencia-processos .card-titulo {
    color: var(--ifht-sys-cor-primaria-extradark);
    margin-bottom: var(--ifht-sys-spacing-xs);
    text-transform: none;
}

/* .transparencia-processos .titulo-sessao-texto {
    color: var(--ifht-sys-cor-primaria-extradark);
    letter-spacing: 0.5px;
    margin-bottom: 0;
} */

/* DIVISOR */
.transparencia-processos .custom-shape-divider-top-inner-page svg,
.transparencia-processos .custom-shape-divider-bottom-inner-page svg {
    background: var(--ifht-sys-cor-neutra-5);
}

.transparencia-processos .custom-shape-divider-bottom-inner-page .shape-fill {
    fill: var(--ifht-sys-cor-neutra-3);
}

/* TRANSPARÊNCIA */
.transparencia-processos .card-transparencia:hover {
    border-color: var(--ifht-sys-cor-secundaria-dark);
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.06);
    transform: translateY(-3px);
}

.transparencia-processos .card-transparencia .icone-card {
    font-size: 1.5rem;
    color: var(--ifht-sys-cor-secundaria-dark);
}

.transparencia-processos .card-transparencia p.card-texto {
    font-size: var(--ifht-ref-escala-10);
    color: var(--ifht-sys-cor-neutra-dark);
    line-height: var(--ifht-sys-line-height-display);
}

/* PROCESSOS SELETIVOS */
.transparencia-processos .list .list-group .list-group-item {
    color: var(--ifht-sys-cor-secundaria-dark);
    font-size: var(--ifht-ref-escala-9);
    line-height: var(--ifht-sys-line-height-display);
    text-decoration: none;
    transition: color 0.2s ease;
}

.transparencia-processos .item-processo:hover {
    color: var(--ifht-sys-cor-primaria-extradark, #002d72);
    text-decoration: underline;
}

/* Garante o controle da lista interna sem estouro vertical */
@media (min-width: 992px) {
    .transparencia-processos .list {
        max-height: 280px;
        /* Ajuste fino conforme a altura real dos 4 cards da esquerda */
        overflow-y: auto;
        padding-right: 5px;
    }

    /* Scrollbar discreto para a lista */
    .transparencia-processos .list::-webkit-scrollbar {
        width: 4px;
    }

    .transparencia-processos .list::-webkit-scrollbar-thumb {
        background: #cbd5e1;
        border-radius: 4px;
    }
}

/* -------------------------------- 
    SESSÃO NOSSA EQUIPE 
-------------------------------- */
.equipe {
    background-color: var(--ifht-sys-cor-neutra-3);
    padding-bottom: var(--ifht-sys-spacing-5xl);
}

/* BASE DOS CARDS DE NÚCLEO */
.equipe .card-nucleo {
    background-color: var(--ifht-sys-cor-neutra-branco);
    border: none;
    border-radius: 16px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.03);
    position: relative;
    overflow: hidden;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.equipe .card-nucleo:hover {
    transform: translateY(-4px);
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.08);
}

.equipe .card-nucleo .card-titulo {
    color: var(--ifht-sys-cor-primaria-extradark);
    margin-bottom: 0.5rem;
    text-transform: none;
}

.equipe .card-nucleo .card-texto {
    font-size: var(--ifht-ref-escala-10);
    color: var(--ifht-sys-cor-neutra-dark);
    line-height: var(--ifht-sys-line-height-display);
}

/* ÍCONES DOS NÚCLEOS */
.equipe .icone-nucleo {
    width: 60px;
    height: 60px;
}

/* DETALHE ORGÂNICO NO CANTO SUPERIOR DIREITO DE CADA CARD */
.equipe .card-nucleo::after {
    content: "";
    position: absolute;
    top: -60px;
    right: -50px;
    width: 150px;
    height: 130px;
    border-radius: 50%;
    opacity: 0.35;
    z-index: 0;
}

/* CORES ESPECÍFICAS DOS NÚCLEOS (ÍCONE + FORMA DE FUNDO) */

/* 1. Coordenação (Lime) */
.equipe .nucleo-lime::after {
    background-color: red;
}

/* 2. Acadêmico (Azul) */
.equipe .nucleo-blue::after {
    background-color: #0088ff;
}

/* 3. Atividades Formativas (Laranja) */
.equipe .nucleo-orange::after {
    background-color: #ff884d;
}

/* 4. Comunicação (Roxo) */
.equipe .nucleo-purple::after {
    background-color: #a388ee;
}

/* 5. Documentação (Verde Água) */
.equipe .nucleo-teal::after {
    background-color: #2ed1b2;
}

/* 6. Eventos (Amarelo/Laranja claro) */
.equipe .nucleo-yellow::after {
    background-color: #f0ad4e;
}

/* 7. Moodle (Rosa) */
.equipe .nucleo-pink::after {
    background-color: #ff7688;
}

/* 8. Pedagógico (Azul Suave) */
.equipe .nucleo-softblue::after {
    background-color: #5c9ce6;
}


/* -------------------------------- 
    BANNER ÁREA EXCLUSIVA
-------------------------------- */
.equipe .banner-area-exclusiva {
    background: linear-gradient(135deg, #0052cc 0%, #003366 100%);
    border-radius: 20px;
    position: relative;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(0, 82, 204, 0.15);
}

/* Grafismo circular decorativo no fundo do banner */
.equipe .banner-area-exclusiva::before {
    content: "";
    position: absolute;
    bottom: -60px;
    right: 15%;
    width: 250px;
    height: 250px;
    background: rgba(255, 255, 255, 0.06);
    border-radius: 50%;
    pointer-events: none;
}

/* Ícone do cadeado com badge amarela */
.equipe .banner-area-exclusiva .icone-cadeado {
    width: 80px;
    height: 80px;
    display: flex;
    align-items: start;
    justify-content: center;
}

/* Título e texto */
.equipe .banner-area-exclusiva h3,
.equipe .banner-area-exclusiva p {
    color: var(--ifht-sys-cor-neutra-branco);
}

/* -------------------------------- 
    SESSÃO ÁGORA MUDAR DE VIDA
-------------------------------- */
.agora-mudar-de-vida {
    background-color: var(--ifht-sys-cor-primaria-extradark, #002d72);
    background-image: url('/pluginfile.php/606/mod_folder/content/0/img/extensao/parcerias/fsc/home/bg-agora-mudar-de-vida.svg');
    background-position: center;
    background-size: cover;
    color: var(--ifht-sys-cor-neutra-branco);
    padding: var(--ifht-sys-spacing-5xl) 0;
    position: relative;
    overflow: hidden;
}

/* TRAÇO DECORATIVO DO TÍTULO */
.agora-mudar-de-vida .home-fsc .traco-decorativo {
    background-color: var(--ifht-sys-cor-apoio-3-light);
}

/* GRID PRINCIPAL DO PLAYER + SIDEBAR */
.agora-mudar-de-vida .yt-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 30px;
}

@media (min-width: 992px) {
    .agora-mudar-de-vida .yt-grid {
        grid-template-columns: 2.2fr 1fr;
        align-items: start;
    }
}

/* PLAYER DE VÍDEO */
.agora-mudar-de-vida .yt-player-container {
    border-radius: 16px;
    overflow: hidden;
    border: none !important;
    outline: none !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
    background-color: #000000;
    /* Evita clarões durante o carregamento do player */
}

.agora-mudar-de-vida .yt-player-container iframe {
    border: 0 !important;
    outline: none !important;
}

/* CAIXA DA SIDEBAR ("OUTROS VÍDEOS") */
.agora-mudar-de-vida .yt-side-container {
    background-color: rgba(255, 255, 255, 0.07);
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 16px;
    padding: 1.5rem;
}

.agora-mudar-de-vida .yt-side-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
    max-height: 480px;
    overflow-y: auto;
}

/* ITEM INDIVIDUAL DA LISTA */
.agora-mudar-de-vida .yt-item {
    display: flex;
    align-items: center;
    gap: 12px;
    background-color: transparent;
    border-radius: 12px;
    padding: 8px;
    cursor: pointer;
    transition: background-color 0.2s ease, transform 0.2s ease;
}

.agora-mudar-de-vida .yt-item:hover {
    background-color: rgba(255, 255, 255, 0.12);
    transform: translateX(3px);
}

/* ESTADO ATIVO DO VÍDEO SELECIONADO */
.agora-mudar-de-vida #yt-active-title {
    color: var(--ifht-sys-cor-neutra-branco);
    text-transform: none;
}

.agora-mudar-de-vida .yt-item.active {
    background-color: var(--ifht-sys-cor-neutra-branco);
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.15);
}

.agora-mudar-de-vida .yt-item.active .yt-title {
    color: var(--ifht-sys-cor-primaria-extradark);
    font-weight: bold;
    text-transform: none;
}

.agora-mudar-de-vida .yt-item.active .yt-date {
    color: #64748b;
}

/* THUMBNAIL */
.agora-mudar-de-vida .yt-thumb-wrapper {
    width: 90px;
    height: 54px;
    flex-shrink: 0;
    border-radius: 8px;
    overflow: hidden;
}

.agora-mudar-de-vida .yt-thumb-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* TÍTULO E DATA DO VÍDEO NA SIDEBAR */
.agora-mudar-de-vida .yt-side-header span,
.agora-mudar-de-vida .yt-side-header .fa-bars:before {
    color: var(--ifht-sys-cor-apoio-3-light);
}

.agora-mudar-de-vida .yt-title {
    font-size: var(--ifht-ref-escala-10);
    line-height: var(--ifht-sys-line-height-title);
    color: var(--ifht-sys-cor-neutra-branco);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.agora-mudar-de-vida .yt-date {
    font-size: 0.7rem;
    color: rgba(255, 255, 255, 0.6);
    margin-top: 3px;
}

/* CUSTOM SCROLLBAR DA SIDEBAR */
.agora-mudar-de-vida .yt-side-list::-webkit-scrollbar {
    width: 4px;
}

.agora-mudar-de-vida .yt-side-list::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.2);
    border-radius: 4px;
}

/* -------------------------------- 
    SESSÃO SEMINÁRIOS E PALESTRAS
-------------------------------- */

.seminarios-e-palestras {
    padding: var(--ifht-sys-spacing-3xl, 3rem) 0;
}

/* CONTAINER DA MÍDIA / VÍDEO COM CANTOS BEM ARREDONDADOS */
.seminarios-e-palestras .media-container {
    border-radius: 20px;
    overflow: hidden;
    background-color: #cccccc;
    /* Cor base do placeholder cinza */
}

/* PLACEHOLDER CINZA (PROPORÇÃO 16:9) */
.seminarios-e-palestras .placeholder-media {
    width: 100%;
    height: 0;
    padding-bottom: 56.25%;
    /* Mantém proporção 16:9 perfeita */
    background-color: #cccccc;
    position: relative;
}

/* IFRAME DE VÍDEO (CASO SUBSTITUA O PLACEHOLDER) */
.seminarios-e-palestras .media-container iframe {
    border: none;
    border-radius: 20px;
}

/* -------------------------------- 
    SESSÃO CURSOS DO PROGRAMA MUDAR DE VIDA
-------------------------------- */

.cursos-programa-mudar-de-vida {
    background-color: var(--ifht-sys-cor-neutra-branco);
    padding: var(--ifht-sys-spacing-3xl, 3rem) 0;
}

/* 1. TÍTULO E SUBTÍTULO DA SEÇÃO */
.cursos-programa-mudar-de-vida .main-title {
    max-width: 100%;
}

.cursos-programa-mudar-de-vida .main-title h3 {
    color: var(--ifht-sys-cor-primaria-extradark, #002d72);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-size: var(--ifht-sys-h4);
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Traço decorativo antes do título "CURSOS OFERECIDOS" */
.cursos-programa-mudar-de-vida .main-title h3::before {
    content: "";
    display: inline-block;
    width: 48px;
    height: 4px;
    background-color: var(--ifht-sys-cor-secundaria-normal);
    border-radius: 2px;
    margin-right: 12px;
}

.cursos-programa-mudar-de-vida .main-title p {
    color: var(--ifht-sys-cor-neutra-dark);
    font-size: var(--ifht-ref-escala-9);
    margin-top: 10px;
}

@media (min-width: 992px) {

    /* Força o container pai da coluna a centralizar o conteúdo */
    .cursos-programa-mudar-de-vida .main-title {
        margin-left: auto;
        margin-right: auto;
    }

    /* Anula o offset original e redefine a largura para equivaler a col-lg-8 */
    .cursos-programa-mudar-de-vida .col-lg-6.offset-lg-3 {
        margin-left: auto !important;
        margin-right: auto !important;
        flex: 0 0 66.666667% !important;
        max-width: 66.666667% !important;
    }
}

/* 2. REGRAS DE ALTURA ENXUTA PARA O OWL CAROUSEL */
.cursos-programa-mudar-de-vida .owl-stage {
    display: flex !important;
    align-items: flex-start !important;
    /* Desativa a sobra branca no fundo */
}

.cursos-programa-mudar-de-vida .owl-item {
    height: auto !important;
}

.cursos-programa-mudar-de-vida .owl-item .item {
    height: auto !important;
}

/* 3. ESTILIZAÇÃO DOS CARDS DOS CURSOS */
.cursos-programa-mudar-de-vida .top_courses {
    display: block !important;
    height: auto !important;
    /* Encolhe até o limite do texto */
    background-color: var(--ifht-sys-cor-neutra-branco);
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: none;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
    margin-bottom: 10px;
}

.cursos-programa-mudar-de-vida .top_courses:hover {
    transform: translateY(-4px);
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.08);
    border-color: var(--ifht-sys-cor-secundaria-normal, #0088ff);
}

/* CONTAINER DA IMAGEM DO CURSO */
.cursos-programa-mudar-de-vida .top_courses .thumb {
    position: relative;
    overflow: hidden;
    border-top-left-radius: 16px;
    border-top-right-radius: 16px;
    height: 170px;
    flex-shrink: 0;
}

.cursos-programa-mudar-de-vida .top_courses .thumb img.img-whp {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Oculta overlay escuro de hover padrão do Edumy */
.cursos-programa-mudar-de-vida .top_courses .thumb .overlay {
    display: none !important;
}

/* CONTEÚDO DO CARD (SÓ TÍTULO DO CURSO) */
.cursos-programa-mudar-de-vida .top_courses .details {
    padding: 1rem 1rem 1.25rem 1rem !important;
    background-color: var(--ifht-sys-cor-neutra-branco);
    height: auto !important;
}

.cursos-programa-mudar-de-vida .top_courses .details .tc_content {
    padding: 0 !important;
}

/* Oculta metadados como 'Updated 13/04/26' */
.cursos-programa-mudar-de-vida .top_courses .details .tc_content p {
    display: none !important;
}

.cursos-programa-mudar-de-vida .top_courses .details h5 {
    color: var(--ifht-sys-cor-primaria-extradark, #002d72);
    font-weight: 700;
    font-size: 0.88rem;
    line-height: 1.35;
    margin-bottom: 0 !important;
    text-transform: none;
    transition: color 0.2s ease;

    /* Reserva a altura de exatas 3 linhas para alinhar todos os cards */
    min-height: calc(0.88rem * 1.35 * 3);

    /* Truncamento para até 3 linhas */
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.cursos-programa-mudar-de-vida .top_courses.ccnWithFoot:not(.list) {
    padding-bottom: var(--ifht-sys-spacing-padding-lg);
}

.cursos-programa-mudar-de-vida .top_courses:hover .details h5 {
    color: var(--ifht-sys-cor-secundaria-normal, #0088ff);
}

/* Oculta o rodapé do card nativo */
.cursos-programa-mudar-de-vida .top_courses .tc_footer {
    display: none !important;
}

/* 4. NAVEGAÇÃO DAS SETAS (OWL CAROUSEL) NAS LATERAIS */
.cursos-programa-mudar-de-vida .shop_product_slider {
    position: relative;
    padding: 0 50px;
    /* Abre espaço lateral para as setas */
}

.cursos-programa-mudar-de-vida .owl-controls {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
}

.cursos-programa-mudar-de-vida .owl-nav {
    display: block !important;
}

.cursos-programa-mudar-de-vida .owl-nav .owl-prev,
.cursos-programa-mudar-de-vida .owl-nav .owl-next {
    position: absolute;
    top: 40%;
    transform: translateY(-50%);
    width: 42px;
    height: 42px;
    background-color: var(--ifht-sys-cor-secundaria-dark, #0072ce) !important;
    color: var(--ifht-sys-cor-neutra-branco) !important;
    border-radius: 8px;
    display: flex !important;
    align-items: center;
    justify-content: center;
    pointer-events: auto;
    transition: background-color 0.2s ease, transform 0.2s ease;
}

.cursos-programa-mudar-de-vida .owl-nav .owl-prev:hover,
.cursos-programa-mudar-de-vida .owl-nav .owl-next:hover {
    background-color: var(--ifht-sys-cor-primaria-extradark, #002d72) !important;
    transform: translateY(-50%) scale(1.05);
}

/* Posiciona a seta esquerda fora dos cards */
.cursos-programa-mudar-de-vida .owl-nav .owl-prev {
    left: 0;
}

/* Posiciona a seta direita fora dos cards */
.cursos-programa-mudar-de-vida .owl-nav .owl-next {
    right: 0;
}

.cursos-programa-mudar-de-vida .owl-nav i {
    font-size: 1rem;
    transform: translate(0px, -5px);
}

/* 5. BOTÃO "VER TODOS OS CURSOS" (INJETADO VIA JS) */
.cursos-programa-mudar-de-vida .btn-ver-todos-cursos {
    border: 2px solid var(--ifht-sys-cor-secundaria-dark);
    background-color: transparent;
    color: var(--ifht-sys-cor-secundaria-dark);
    font-weight: 700;
    font-size: 0.85rem;
    letter-spacing: 0.5px;
    padding: 10px 28px;
    border-radius: 6px;
    text-transform: uppercase;
    transition: all 0.2s ease-in-out;
}

.cursos-programa-mudar-de-vida .btn-ver-todos-cursos:hover {
    background-color: var(--ifht-sys-cor-secundaria-dark);
    color: var(--ifht-sys-cor-secundaria-dark) !important;
    border-color: var(--ifht-sys-cor-secundaria-dark);
    text-decoration: none;
}

/* -------------------------------- 
    SESSÃO ATIVIDADES FORMATIVAS
-------------------------------- */

.atividades-formativas {
    padding: var(--ifht-sys-spacing-3xl, 3rem) 0;
}

.atividades-formativas .icone-formativa {
    width: 80px;
    height: 80px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.atividades-formativas .icone-formativa img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

/* NAV PILLS (ABAS DE ALTERNÂNCIA) */
.atividades-formativas .nav-pills {
    background-color: transparent;
    padding: 4px;
}

.atividades-formativas .nav-pills .nav-item {
    margin-right: 10px;
}

.atividades-formativas .nav-pills .nav-item:last-child {
    margin-right: 0;
}

.atividades-formativas .nav-pills .nav-link {
    color: var(--ifht-sys-cor-primaria-extradark);
    border-radius: 50px;
    padding: 8px 24px;
    font-size: var(--ifht-ref-escala-11);
    font-weight: 500;
    text-transform: uppercase;
    transition: all 0.25s ease;
    background-color: var(--ifht-sys-cor-primaria-extralight);
}

.atividades-formativas .nav-pills .nav-link.active {
    background-color: var(--ifht-sys-cor-primaria-extradark);
    color: var(--ifht-sys-cor-neutra-branco);
    box-shadow: 0 4px 10px rgba(0, 45, 114, 0.2);
    font-weight: 700;
}

@media (max-width: 767.98px) {
    .atividades-formativas .nav-pills .nav-link.active:not(:disabled):not(.disabled).active {
        background-color: var(--ifht-sys-cor-primaria-extradark);
        color: var(--ifht-sys-cor-neutra-branco);
        border-color: transparent;
    }
}

/* CARD DE CONTEÚDO DAS ATIVIDADES */
.atividades-formativas .card-formativa {
    background-color: #ffffff;
    border-radius: 24px;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
}

.atividades-formativas .card-titulo {
    color: var(--ifht-sys-cor-primaria-extradark);
    line-height: 1.3;
}

.atividades-formativas .card-texto {
    /* font-size: 0.92rem;
    line-height: 1.6; */
    font-size: var(--ifht-ref-escala-9);
    color: var(--ifht-sys-cor-neutra-dark);
    line-height: var(--ifht-sys-line-height-display);
}

/* BOTÃO MAIS IMAGENS */
.atividades-formativas .btn-mais-imagens {
    color: var(--ifht-sys-cor-secundaria-dark);
    font-size: 0.85rem;
    letter-spacing: 0.5px;
    text-decoration: none;
    transition: opacity 0.2s ease;
}

.atividades-formativas .btn-mais-imagens:hover {
    color: var(--ifht-sys-cor-primaria-extradark);
    text-decoration: underline;
}

/* FOTO DO CARD (LADO DIREITO) */
.atividades-formativas .foto-formativa-wrapper {
    width: 100%;
    height: 100%;
    min-height: 380px;
    position: relative;
    overflow: hidden;
}

.atividades-formativas .foto-formativa {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
}

@media (min-width:992px){
    .atividades-formativas .foto-formativa {
        border-top-left-radius: 0;
        border-bottom-left-radius: 0;
    }
}

@media (max-width: 991px) {
    .atividades-formativas .foto-formativa-wrapper {
        min-height: 250px;
    }

    .atividades-formativas .foto-formativa {
        position: relative;
        border-bottom-left-radius: 0;
        border-bottom-right-radius: 0;
    }
}

/* AJUSTES DO CARROSSEL DENTRO DO MODAL */
#modalGaleriaOficinas,
#modalGaleriaAulas {
    z-index: 1060 !important;
}

/*  AJUSTE DA GALERIA DO MODAL */

/* 1. Trava o container e previne scrollbar na janela do modal */
.atividades-formativas .modal-dialog {
    max-width: 800px !important;
}

.atividades-formativas .modal-content {
    border-radius: 20px !important;
    overflow: hidden !important;
}

/* 2. Remove paddings excessivos que empurram o conteúdo para baixo */
.atividades-formativas .modal-body,
.eventos .modal-body,
.materiais-informativos .modal-body  {
    padding: 0.75rem 1rem 1.25rem 1rem !important;
    overflow: hidden !important;
}

.atividades-formativas .modal-header,
.eventos .modal-header,
.materiais-informativos .modal-header  {
    padding: 1rem 1.25rem 0.5rem 1.25rem !important;
}

/* 3. Estrutura do Carrossel e dos Itens */
.atividades-formativas .modal .carousel-inner,
.eventos.modal .carousel-inner,
.materiais-informativos.modal .carousel-inner {
    border-radius: 12px;
    background-color: #000000;
    overflow: hidden !important;
}

.atividades-formativas .modal .carousel-item,
.eventos .modal .carousel-item,
.materiais-informativos .modal .carousel-item {
    text-align: center;
    background-color: #000000;
    overflow: hidden !important;
}

/* 4. Trava de altura ajustada para caber junto com o cabeçalho do modal */
.atividades-formativas .modal .img-carousel,
.eventos .modal .img-carousel,
.materiais-informativos .modal .img-carousel {
    border-radius:0;
    max-height: 55vh !important;
    width: auto !important;
    max-width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
    margin: 0 auto !important;
    display: inline-block !important;
    vertical-align: middle;
}

/* 5. Estilização e tamanho do Badge do Contador */
.atividades-formativas .badge.badge-yellow,
.eventos .badge.badge-yellow,
.materiais-informativos .badge.badge-yellow {
    background-color: #f0ad4e !important;
    color: var(--ifht-sys-cor-primaria-extradark);
}

/* -------------------------------- 
    LEGENDA DAS FOTOS NO MODAL
-------------------------------- */

/* Garante o posicionamento da legenda sobre a imagem */
.modal .carousel-item {
    position: relative;
}

/* Estilização da caixa de legenda */
.modal .carousel-caption {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 10;
    padding: 0.75rem 1.25rem;
    color: #ffffff;
    text-align: center;
    background: linear-gradient(180deg, transparent 0%, rgba(0, 0, 0, 0.85) 100%);
    border-bottom-left-radius: 12px;
    border-bottom-right-radius: 12px;
}

.modal .carousel-caption p {
    font-size: 0.85rem;
    line-height: 1.3;
    font-weight: 500;
    color: #ffffff;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8);
}

/* Ajuste na altura da foto para compensar a legenda sem gerar barra de rolagem */
.modal .img-carousel {
    max-height: 52vh !important;
}

/* -------------------------------- 
    SESSÃO EVENTOS
-------------------------------- */

.eventos {
    padding: var(--ifht-sys-spacing-3xl) 0;
}

/* TÍTULO E TRAÇO DECORATIVO */
.eventos .traco-decorativo {
    display: inline-block;
    width: 32px;
    height: 4px;
    background-color: var(--ifht-sys-cor-secundaria-normal);
    border-radius: 2px;
}

.eventos .titulo-sessao-texto {
    color: var(--ifht-sys-cor-primaria-extradark);
}

.eventos .subtitulo-sessao-texto {
    font-size: 0.95rem;
    line-height: 1.5;
}

/* BASE DO CARD DE EVENTO */
.eventos .card-evento {
    position: relative;
    padding: 0 10px;
}

/* WRAPPER DA FOTO E GRAFISMO ORGÂNICO ATRÁS */
.eventos .foto-evento-wrapper {
    position: relative;
    width: 100%;
    border-radius: 20px;
    z-index: 1;
}

/* Forma orgânica/círculo azul suave atrás da foto (::before) */
.eventos .foto-evento-wrapper::before {
    content: "";
    position: absolute;
    top: 50%;
    left: -12%;
    transform: translateY(-50%);
    width: 280px;
    height: 280px;
    background-color: rgba(0, 136, 255, 0.15); /* Tom azul orgânico transparente */
    border-radius: 45% 55% 60% 40% / 50% 45% 55% 50%;
    z-index: -1;
    pointer-events: none;
}

/* FOTO DO EVENTO */
.eventos .foto-evento {
    width: 100%;
    height: 280px;
    object-fit: cover;
    border-radius: 20px;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.06);
    display: block;
}

/* TÍTULO DO EVENTO */
.eventos .card-titulo {
    color: var(--ifht-sys-cor-primaria-extradark);
    text-transform: none;
}

/* TEXTO DESCRITIVO */
.eventos .card-texto {
    font-size: var(--ifht-ref-escala-9);
    line-height: 1.6;
    color: var(--ifht-sys-cor-neutra-dark);
}

/* LINK DAS CHAMADAS */
.eventos .link-evento {
    color: var(--ifht-sys-cor-secundaria-dark);
    font-size: 0.88rem;
    text-decoration: none;
    transition: color 0.2s ease, transform 0.2s ease;
    display: inline-block;
}

.eventos .link-evento:hover {
    color: var(--ifht-sys-cor-primaria-extradark);
    text-decoration: underline;
    transform: translateX(3px);
}

/* -------------------------------- 
   SESSÃO MATERIAIS INFORMATIVOS
-------------------------------- */

.materiais-informativos {
    background-color: #ffffff;
    padding: var(--ifht-sys-spacing-3xl, 3rem) 0;
    overflow: hidden; /* Evita que o semicírculo gere rolagem na página */
}

/* TÍTULO DA SEÇÃO */
.materiais-informativos .traco-decorativo {
    display: inline-block;
    width: 32px;
    height: 4px;
    background-color: var(--ifht-sys-cor-secundaria-normal, #0088ff);
    border-radius: 2px;
}

.materiais-informativos .titulo-sessao-texto {
    color: var(--ifht-sys-cor-primaria-extradark, #002d72);
}

.materiais-informativos .subtitulo-sessao-texto {
    font-size: 0.95rem;
    line-height: 1.5;
}

/* ESTRUTURA DO MOSAICO 3x2 */
.mosaico-materiais-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: repeat(2, 320px);
    gap: 0;
    max-width: 1000px;
    margin: 0 auto;
    position: relative;
}

/* CÉLULAS DO GRID */
.mosaico-materiais-grid .item-grid {
    position: relative;
    width: 100%;
    height: 100%;
}

.mosaico-materiais-grid .foto-box {
    z-index: 2; /* Mantém a imagem na frente do círculo */
}

.mosaico-materiais-grid .texto-box {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: start;
    padding: 1.5rem;
    z-index: 3;
}

.mosaico-materiais-grid .texto-box.cartilhas {
    justify-content: end;
}


/* FOTOS */
.mosaico-materiais-grid .img-mosaico {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 24px;
    background-color: #d1d5db;
    display: block;
    position: relative;
    z-index: 2;
}

/* -------------------------------- 
    CÍRCULOS AZUIS ATRÁS DAS IMAGENS
-------------------------------- */

/* 1. Semicírculo saindo à direita da 1ª imagem (Folders) */
.mosaico-materiais-grid .circulo-direita::after {
    content: "";
    position: absolute;
    top: 50%;
    right: -25%;
    transform: translateY(-50%);
    width: 180px;
    height: 180px;
    background-color: rgba(0, 136, 255, 0.15);
    border-radius: 50%;
    z-index: 1;
    pointer-events: none;
}

/* 2. Semicírculo saindo abaixo da 3ª imagem (Banners) */
.mosaico-materiais-grid .circulo-inferior::after {
    content: "";
    position: absolute;
    bottom: -25%;
    left: 50%;
    transform: translateX(-50%);
    width: 180px;
    height: 180px;
    background-color: rgba(0, 136, 255, 0.15);
    border-radius: 50%;
    z-index: 1;
    pointer-events: none;
}

/* 3. Semicírculo saindo à esquerda da 5ª imagem (Cartilhas) */
.mosaico-materiais-grid .circulo-esquerda::before {
    content: "";
    position: absolute;
    top: 50%;
    left: -25%;
    transform: translateY(-50%);
    width: 180px;
    height: 180px;
    background-color: #dbeafe;
    border-radius: 50%;
    z-index: 1;
    pointer-events: none;
}

/* TIPOGRAFIA DOS TEXTOS */
.mosaico-materiais-grid .card-titulo {
    color: var(--ifht-sys-cor-primaria-extradark);
    font-size: 1.5rem;
}

.mosaico-materiais-grid .link-material {
    color: var(--ifht-sys-cor-secundaria-dark);
    font-size: 0.72rem;
    letter-spacing: 0.5px;
    text-decoration: none;
    transition: color 0.2s ease;
}

.mosaico-materiais-grid .link-material:hover {
    color: var(--ifht-sys-cor-primaria-extradark);
    text-decoration: underline;
}

/* RESPONSIVO PARA SMARTPHONES */
@media (max-width: 991px) {
    .mosaico-materiais-grid {
        grid-template-columns: 1fr;
        grid-template-rows: auto;
        gap: 2rem;
    }

    .mosaico-materiais-grid .foto-box {
        height: 280px;
    }

    .mosaico-materiais-grid .circulo-direita::after,
    .mosaico-materiais-grid .circulo-inferior::after,
    .mosaico-materiais-grid .circulo-esquerda::before {
        display: none;
    }
}

/* FEEDBACK INTERATIVO PARA AS FOTOS CLICÁVEIS */
.mosaico-materiais-grid .foto-box {
    cursor: pointer;
}

.mosaico-materiais-grid .foto-box .img-mosaico {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.mosaico-materiais-grid .foto-box:hover .img-mosaico {
    transform: scale(1.02);
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.12);
}

/* -------------------------------- 
   MODAL DE LISTA DE CARTILHAS
-------------------------------- */

/* Container de cada linha de cartilha */
#modalGaleriaCartilhas .item-cartilha {
    background-color: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    transition: background-color 0.2s ease, border-color 0.2s ease;
}

#modalGaleriaCartilhas .item-cartilha:hover {
    background-color: #f1f5f9;
    border-color: #cbd5e1;
}

/* Placeholder cinza na proporção 1:1 para a thumb */
#modalGaleriaCartilhas .thumb-cartilha-placeholder {
    width: 64px;
    height: 64px;
    min-width: 64px;
    background-color: #cbd5e1;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Estilo para quando a imagem real for inserida */
#modalGaleriaCartilhas .thumb-cartilha {
    width: 64px;
    height: 64px;
    min-width: 64px;
    object-fit: cover;
    border-radius: 8px;
}

/* Título da cartilha */
#modalGaleriaCartilhas .titulo-item-cartilha {
    color: var(--ifht-sys-cor-primaria-extradark, #002d72);
    font-size: 0.95rem;
}

/* Botão de acesso */
#modalGaleriaCartilhas .btn-acessar-cartilha {
    font-size: 0.72rem;
    letter-spacing: 0.5px;
    border-radius: 6px;
    padding: 6px 14px;
    white-space: nowrap;
}

/* Responsivo para celulares */
@media (max-width: 576px) {
    #modalGaleriaCartilhas .item-cartilha {
        flex-direction: column;
        align-items: flex-start !important;
    }
    
    #modalGaleriaCartilhas .btn-acessar-cartilha {
        margin-top: 1rem;
        margin-left: 0 !important;
        align-self: flex-end;
    }
}

/* -------------------------------- 
    CORREÇÃO DE SCROLL PARA MODAL EM LISTA
-------------------------------- */

/* Libera a rolagem vertical exclusivamente para o modal de lista/cartilhas */
#modalGaleriaCartilhas .modal-body.modal-lista-scroll {
    overflow-y: auto !important;
    max-height: 70vh !important; /* Limita a altura a 70% da tela e ativa a barra de rolagem */
    -webkit-overflow-scrolling: touch; /* Garante rolagem suave e nativa no iOS/Android */
}

/* AJUSTE RESPONSIVO PARA OS CARDS DE CARTILHA NO MOBILE */
@media (max-width: 575px) {
    /* Permite que o conteúdo e o botão se acomodem sem quebrar a tela */
    #modalGaleriaCartilhas .item-cartilha {
        flex-direction: column !important;
        align-items: flex-start !important;
    }

    #modalGaleriaCartilhas .item-cartilha > .d-flex {
        width: 100%;
        margin-bottom: 0.75rem;
    }

    #modalGaleriaCartilhas .btn-acessar-cartilha {
        align-self: flex-end;
        margin-left: 0 !important;
        width: 100%;
        text-align: center;
    }
}

/* -------------------------------- 
    SESSÃO CENTRO DE ESTUDOS
-------------------------------- */

.centro-de-estudos {
    background-color: #0056bf; /* Azul royal de fundo */
    background-image: radial-gradient(circle at 10% 20%, rgba(255, 255, 255, 0.08) 0%, transparent 40%), radial-gradient(circle at 90% 80%, rgba(255, 255, 255, 0.08) 0%, transparent 40%);
    padding: var(--ifht-sys-spacing-xl) 0 var(--ifht-sys-spacing-4xl) !important;
    position: relative;
    overflow: hidden;
}

/* Divisor */
.centro-de-estudos-banner .custom-shape-divider-bottom-inner-page svg {
    background: #0056bf;
    background-image: radial-gradient(circle at 10% 20%, rgba(255, 255, 255, 0.08) 0%, transparent 40%), radial-gradient(circle at 90% 80%, rgba(255, 255, 255, 0.08) 0%, transparent 40%);
}

.centro-de-estudos-banner .custom-shape-divider-bottom-inner-page .shape-fill {
    fill: var(--ifht-style-primary-surface-default);
}

/* TÍTULO COM LINHAS HORIZONTAIS NAS LATERAIS */
.centro-de-estudos .linha-decorativa {
    height: 1px;
    background-color: rgba(255, 255, 255, 0.35);
    display: block;
}

.centro-de-estudos .titulo-sessao-texto {
    letter-spacing: 1px;
    font-size: 1.15rem;
}

/* CARD BRANCO DO BANNER */
.centro-de-estudos .banner-area-exclusiva {
    background-color: #ffffff;
    border-radius: 20px;
    position: relative;
    z-index: 1;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
    overflow: hidden; /* Garante o recorte dos semicírculos nos cantos */
}

/* SEMICÍRCULOS AZUIS DECORATIVOS NO CARD (::before e ::after) */
/* Semicírculo inferior/centro */
.centro-de-estudos .banner-area-exclusiva::before {
    content: "";
    position: absolute;
    bottom: -80px;
    left: 35%;
    width: 200px;
    height: 200px;
    background-color: #dbeafe; /* Tom azul claro */
    border-radius: 50%;
    z-index: -1;
    pointer-events: none;
}

/* Semicírculo superior/direito atrás do botão */
.centro-de-estudos .banner-area-exclusiva::after {
    content: "";
    position: absolute;
    top: -50px;
    right: -50px;
    width: 240px;
    height: 240px;
    background-color: #dbeafe; /* Tom azul claro */
    border-radius: 50%;
    z-index: -1;
    pointer-events: none;
}

/* ÍCONE CADEADO */
.centro-de-estudos .icone-cadeado img {
    width: 72px;
    height: auto;
}

/* TIPOGRAFIA INTERNA DO CARD */
.centro-de-estudos .card-titulo-exclusivo {
    color: #002d72; /* Azul escuro */
    font-size: 1.6rem;
}

.centro-de-estudos .destaque-amarelo {
    color: #f59e0b; /* Amarelo/Laranja do layout */
}

.centro-de-estudos .card-descricao {
    font-size: 0.92rem;
    line-height: 1.5;
    color: #334155 !important;
}

.centro-de-estudos .card-aviso {
    font-size: 0.9rem;
    line-height: 1.4;
    color: #1e293b !important;
}

/* BOTÃO ACESSAR AVA */
.centro-de-estudos .btn-acessar-ava {
    background-color: #1d68c4;
    color: #ffffff !important;
    border: none;
    border-radius: 6px;
    font-size: 0.85rem;
    letter-spacing: 0.5px;
    transition: background-color 0.2s ease, transform 0.2s ease;
    display: inline-block;
    z-index: 2;
    position: relative;
}

.centro-de-estudos .btn-acessar-ava:hover {
    background-color: #002d72;
    color: #ffffff !important;
    text-decoration: none;
    transform: translateY(-2px);
}

/* AJUSTES RESPONSIVOS */
@media (max-width: 767px) {
    .centro-de-estudos .banner-area-exclusiva {
        padding: 1.5rem !important;
    }
    
    .centro-de-estudos .btn-container {
        width: 100%;
    }

    .centro-de-estudos .btn-acessar-ava {
        width: 100%;
        text-align: center;
    }

    .centro-de-estudos .banner-area-exclusiva::before,
    .centro-de-estudos .banner-area-exclusiva::after {
        opacity: 0.5; /* Suaviza as bolhas em telas pequenas */
    }
}

.centro-de-estudos-banner .custom-shape-divider-bottom-inner-page .shape-fill {
    fill: var(--ifht-style-primary-surface-default);
}

/* -------------------------------- 
    SESSÃO PROGRAMAS ENCERRADOS
-------------------------------- */
.programas-encerrados .item-programa {
    background-color: #f8fafc;
    /* border: 1px solid #e2e8f0; */
    border: 1px solid var(--ifht-sys-cor-neutra-light);
    border-radius: var(--ifht-sys-raio-borda-md);
    transition: background-color 0.2s ease, border-color 0.2s ease;
}

.programas-encerrados .item-programa:hover {
    background-color: #ffffff;
    border-color: var(--ifht-sys-cor-secundaria-normal);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
}

/* -------------------------------- 
    TABELA E ELEMENTOS DENTRO DO MODAL
-------------------------------- */

/* Container da Tabela Estilizada */
.modal .card-tabela-programa {
    border-radius: var(--ifht-sys-raio-borda-md);
    overflow: hidden;
    border: 1px solid #e2e8f0;
}

.modal .card-tabela-programa td {
    font-size: var(--ifht-sys-paragrafo-small);
}

.modal .table-custom {
    border-collapse: separate;
    border-spacing: 0;
}

/* Badge de Status "Encerrada" */
.modal .badge-status-encerrada {
    background-color: #e2e8f0;
    color: #fff;
    font-size: 0.75rem;
    font-weight: 600;
    padding: 6px 12px;
    border-radius: 50px;
}

/* Caixa de Documentos / Portarias */
.modal .documentos-programa {
    border: 1px solid #e2e8f0;
    border-radius: var(--ifht-sys-raio-borda-md);
}

.modal .link-documento {
    font-size: var(--ifht-sys-paragrafo-small);
    transition: color 0.2s ease;
}

/* Rolagem e limitação de altura para telas pequenas */
.modal-body.modal-lista-scroll {
    max-height: 75vh !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
}

/* Responsividade Mobile */
@media (max-width: 575px) {
    .programas-encerrados .item-programa {
        flex-direction: column !important;
        align-items: flex-start !important;
    }

    .programas-encerrados .btn-saiba-mais {
        margin-left: 0 !important;
        margin-top: 0.75rem;
        width: 100%;
        text-align: center;
    }
}