:root{
    --primary-color: #1C3E9D;
    --primary-hover: #4f73d7;
    --secondary-color: #1C3E9D;
    --tertiary-color: #1C3E9D;
    --neutral-color: #D9D9D9;
    --aniversariantes-color: #1C3E9D;
}
#sp-header{
    background: var(--primary-color) !important;
}

/* Rodapé + voltar ao topo na primary */
#sp-footer, #sp-bottom {
    background: var(--primary-color) !important;
}
.sp-scroll-up {
    background: var(--primary-color) !important;
    color: #fff !important;
}
.sp-scroll-up:hover,
.sp-scroll-up:focus,
.sp-scroll-up:active {
    background: var(--primary-hover) !important;
    color: #2b2b2b !important;
}
/* Smart Slider setas / bullets residuais */
#sp-slider .n2-ss-slider .n2-ss-arrow,
#sp-slider .n2-ss-slider [class*="n2-ss-arrow"] svg,
#sp-slider .n2-ss-slider .nextend-arrow,
#sp-slider .nextend-arrow i,
#sp-slider .n2-ss-control-bullet {
    color: var(--primary-color) !important;
    fill: var(--primary-color) !important;
}

html, .login-page, .body-wrapper{
    min-height:  100vh !important;
}

/* testes */

body.view-search .body-wrapper,
body.view-search .body-innerwrapper {
    min-height: 100vh !important;
}

body.view-search #sp-main {
    height: auto !important;
    min-height: 0 !important;
}


body.view-search #sp-main-body {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
}

body.view-search #sp-bottom,
body.view-search #sp-footer {
    margin-bottom: 0 !important;
}


/* Home */
#sp-position2 .sp-column, #sp-position2 .sp-module, #sp-position2 .sp-module-content, #sp-position2 .mod-contatos-cge{
    height: 100%;
}
.offcanvas-menu .offcanvas-inner ul.menu>li a:hover,
.offcanvas-menu .offcanvas-inner ul.mod-menu>li a:hover{
    color: var(--tertiary-color);
}

/* Offcanvas fica no HTML depois do footer; sem left/right fica visível no fluxo.
   Garante que só aparece com body.offcanvas-active (menu hambúrguer aberto). */
body:not(.offcanvas-active) .offcanvas-menu {
    visibility: hidden !important;
    pointer-events: none !important;
}
body.offcanvas-active .offcanvas-menu {
    visibility: visible !important;
}
.offcanvas-menu .offcanvas-inner ul.mod-menu {
    list-style: none;
    margin: 0;
    padding: 0;
}
#sp-main #sp-login .row>div{
    padding: 0;
}
.mod-avatar{
    display: flex;
    gap: 1rem;
    background-color: var(--neutral-color);
    padding: 0.3rem 0.6rem;
    border-radius: 100px 0 0 100px;
} 
.mod-avatar .mod-avatar-body img{
    width: 100px;
    height: 100px;
    border-radius: 100%;
    border: 4px solid var(--primary-color);
    object-fit: cover;
    object-position: center 20%;
}
.mod-avatar .mod-dados{
    display: grid;
    align-content: space-between;
    flex: 1;
}
.mod-avatar .mod-dados p{
    margin: 0;
    color: var(--secondary-color);
}
.mod-avatar .mod-dados .mod-name{
    font-weight: bolder;
    font-size: x-large;
}
.mod-avatar .mod-dados .mod-btns{
    display: flex;
    gap: 10px;
}
.mod-avatar .mod-dados .mod-btns a{
    color: var(--secondary-color);
    background-color: white;
    padding: 0.1rem 0.6rem;
    border-radius: 20px;
}
.mod-avatar .mod-dados .mod-btns a:hover{
    color: var(--primary-hover);
    background-color: rgb(240, 240, 240);
}
#sp-login .row>div{
    width: max-content;
}
#sp-position4, #sp-position5{
    background-color: var(--neutral-color);
}
#sp-position4{
    padding-left: 1rem !important;
}
#sp-position5{
    padding-right: 1rem !important;
}
#sp-position4 .sp-column{
    border-left: 2px solid #A3A3A3;
    padding: 20px;
}
#sp-position5{
    border-radius: 0 50px 50px 0;
}
#sp-position4, #sp-position5{
    display: grid;
    align-content: center;
}
/* Dois itens no mesmo nav (position4): esconde coluna vazia */
body:has(#sp-position4 .mod-menu > li:nth-child(2)) #sp-position5 {
    display: none;
}
body:has(#sp-position4 .mod-menu > li:nth-child(2)) #sp-position4 {
    border-radius: 0 50px 50px 0;
    padding-right: 1rem !important;
}
#sp-position4 ul, #sp-position5 ul{
    list-style: none;
}
#sp-position4 .mod-menu, #sp-position5 .mod-menu{
    margin: 0 !important;
    padding: 0 !important;
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem 1rem;
    align-items: flex-start;
}
#sp-position4 .mod-menu > li, #sp-position5 .mod-menu > li{
    position: relative;
}
#sp-position4 .mod-menu>li>a, #sp-position5 .mod-menu>li>a{
    background-color: var(--primary-color);
    padding: 0.5rem 1rem;
    color: white;
    border-radius: 30px;
    display: inline-block;
    transition: background-color 0.25s ease, transform 0.2s ease, box-shadow 0.25s ease;
}
#sp-position4 .mod-menu .menu-parent-open>a, #sp-position5 .mod-menu .menu-parent-open>a,
#sp-position4 .mod-menu > li.cge-menu-open > a, #sp-position5 .mod-menu > li.cge-menu-open > a{
    background-color: var(--primary-hover);
    color: #2b2b2b;
}
#sp-position4 .mod-menu > li.bloco-clique > a,
#sp-position5 .mod-menu > li.bloco-clique > a{
    animation: cgeBlocoPress 0.35s cubic-bezier(0.22, 1, 0.36, 1);
}
/* Toggle nativo oculto; clique no pill é controlado via JS */
#sp-position4 .mod-menu > li > .mod-menu__toggle-sub,
#sp-position5 .mod-menu > li > .mod-menu__toggle-sub{
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
    opacity: 0;
}
.sp-module ul>li>a{
    white-space: nowrap;
}
#sp-position4 .mod-menu .mod-menu__sub, #sp-position5 .mod-menu .mod-menu__sub{
    margin-top: 1rem;
    background-color: white;
    padding: 14px 6px 14px 16px;
    border: 1px solid var(--primary-color);
    border-radius: 20px;
    position: absolute;
    left: 0;
    z-index: 1000;
    display: none;
    min-width: 220px;
    max-height: min(400px, 70vh);
    overflow-y: auto;
    opacity: 0;
    transform: translateY(-10px) scale(0.98);
    transform-origin: top center;
    transition:
        opacity 0.28s cubic-bezier(0.22, 1, 0.36, 1),
        transform 0.28s cubic-bezier(0.22, 1, 0.36, 1);
    pointer-events: none;
    /* Firefox */
    scrollbar-width: thin;
    scrollbar-color: var(--primary-color) #fff;
}
/* Chrome / Edge / Safari — thumb “flutuando” no branco interno */
#sp-position4 .mod-menu .mod-menu__sub::-webkit-scrollbar,
#sp-position5 .mod-menu .mod-menu__sub::-webkit-scrollbar{
    width: 16px;
}
#sp-position4 .mod-menu .mod-menu__sub::-webkit-scrollbar-track,
#sp-position5 .mod-menu .mod-menu__sub::-webkit-scrollbar-track{
    background: #fff;
    border-radius: 20px;
    margin: 18px 2px;
}
#sp-position4 .mod-menu .mod-menu__sub::-webkit-scrollbar-thumb,
#sp-position5 .mod-menu .mod-menu__sub::-webkit-scrollbar-thumb{
    background-color: var(--primary-color);
    border-radius: 999px;
    border: 5px solid #fff;
    background-clip: padding-box;
    min-height: 40px;
}
#sp-position4 .mod-menu .mod-menu__sub::-webkit-scrollbar-thumb:hover,
#sp-position5 .mod-menu .mod-menu__sub::-webkit-scrollbar-thumb:hover{
    background-color: var(--primary-hover);
    border: 5px solid #fff;
    background-clip: padding-box;
}
#sp-position4 .mod-menu .mod-menu__sub::-webkit-scrollbar-corner,
#sp-position5 .mod-menu .mod-menu__sub::-webkit-scrollbar-corner{
    background: #fff;
}
#sp-position4 .mod-menu .mod-menu__sub::-webkit-scrollbar-button,
#sp-position5 .mod-menu .mod-menu__sub::-webkit-scrollbar-button{
    display: none;
    height: 0;
    width: 0;
}
/* display fica a cargo do JS para permitir animar o fechamento */
#sp-position4 .mod-menu > li.cge-menu-open > .mod-menu__sub,
#sp-position5 .mod-menu > li.cge-menu-open > .mod-menu__sub{
    opacity: 1;
    transform: translateY(0) scale(1);
    pointer-events: auto;
}
#sp-position4 .mod-menu > li.cge-menu-open > .mod-menu__sub > li,
#sp-position5 .mod-menu > li.cge-menu-open > .mod-menu__sub > li{
    animation: cgeDropItemIn 0.3s cubic-bezier(0.22, 1, 0.36, 1) both;
    animation-delay: calc(var(--drop-i, 0) * 22ms);
}
#sp-position4 .mod-menu .mod-menu__sub li, #sp-position5 .mod-menu .mod-menu__sub li{
    padding: 0.2rem 0;
}
#sp-position4 .mod-menu .mod-menu__sub li a:hover, #sp-position5 .mod-menu .mod-menu__sub li a:hover{
    color: var(--primary-hover);
}

@keyframes cgeDropItemIn {
    from { opacity: 0; transform: translateX(-6px); }
    to { opacity: 1; transform: translateX(0); }
}

@media (prefers-reduced-motion: reduce) {
    #sp-position4 .mod-menu .mod-menu__sub,
    #sp-position5 .mod-menu .mod-menu__sub,
    #sp-position4 .mod-menu > li.cge-menu-open > .mod-menu__sub > li,
    #sp-position5 .mod-menu > li.cge-menu-open > .mod-menu__sub > li,
    #sp-position4 .mod-menu > li.bloco-clique > a,
    #sp-position5 .mod-menu > li.bloco-clique > a {
        animation: none !important;
        transition: none !important;
    }
}
#sp-slider .sp-module{
    padding: 0 25px;
    background-color: var(--primary-color);
}
#sp-slider .n2-ss-slide{
    cursor: pointer;
}
.mod-articles-cge .news-title{
    font-size: large;
}
.mod-articles-cge .news-intro, .mod-articles-cge .news-date{
    font-size: small !important;
}
.mod-articles-cge .news-img2,
.news-img2 {
    width: 250px;
    max-width: 100%;
    display: block;
}
.mod-articles-cge .news-img2 img,
.news-img2 img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.mod-articles-cge .news-body,
.news-body {
    min-width: 0;
    flex: 1;
}
.mod-contatos-cge .ctt-list .ctt-item .ctt-dia{
    font-size: x-large !important;
}
.mod-contatos-cge .ctt-list .ctt-item .ctt-data{
    padding: 0.5rem 0.8rem;
}
/* Força aniversariantes na primary nova */
.mod-contatos-cge{
    --aniversariantes-color: var(--primary-color) !important;
}

/* Pages */
.title-page {
    background-color: var(--neutral-color);
    padding: 15px 20px;
    width: 100%;
    margin-bottom: 0;
    text-align: center;
}
.title-page p{
    margin: 0;
    color: var(--secondary-color);
    font-size: 1.75rem;
    font-weight: 700;
}
.migalhas {
    margin-bottom: 1.5rem;
} 
.menu-pages ul{
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 1.3rem;
    list-style: none;
    padding: 0;
}
.menu-pages ul li{
    cursor: pointer;
    background-color: var(--primary-color);
    border-radius: 30px;
    display: grid;
    justify-content: center;
    align-items: center;
    transition: background-color 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease;
}
.menu-pages ul li:hover{
    background-color: var(--primary-hover);
}
.menu-pages ul li:hover > a{
    color: #2b2b2b;
}
.menu-pages ul .menu-ativo{
    background-color: var(--tertiary-color);
}
.menu-pages ul li.bloco-clique{
    animation: cgeBlocoPress 0.38s cubic-bezier(0.22, 1, 0.36, 1);
}
.setoriais-seccionais{
    font-size: 0.7rem;
}
.menu-pages ul li a{
    width: 100%;
    display: block;
    color: white;
    font-size: larger;
    padding: 10px 10px;
    text-align: center;
}
.migalhas ol{
    background-color: var(--neutral-color);
    justify-content: center;
    margin: 0;
}
.migalhas ol li, .migalhas ol li::before{
    padding: 0 !important;
}
.migalhas ol li:first-child{
    display: none;
}
.migalhas ol li span, .migalhas ol li::before{
    color: var(--secondary-color) !important;
    font-weight: bolder;
}
#sp-bottom2 a{
    cursor: pointer;
}

/* menus principais orgão e trilhas  */

.sppb-section.menu-pages ul.mod-menu {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 16px;
}

.sppb-section.menu-pages ul.mod-menu > li {
    width: 180px;
}

.sppb-section.menu-pages ul.mod-menu > li > a {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    width: 100%;
    min-height: 80px;              
    box-sizing: border-box;
    line-height: 1.3;
    font-size: clamp(15px, 1.15vw, 15px);   
    hyphens: auto;
    overflow-wrap: break-word;
    word-break: normal;
}

/* card eventos e calc  */

.card-eventos .sp-module-title,
.card-calculadora .sp-module-title {
    font-size: large;
    font-weight: 400;
    background-color: var(--primary-color) ;
    color: white ;
    text-align: center ;
    padding: 10px ;
    margin: 0 ;
}

/* imagens — preenchem todo o corpo do card */
.card-calculadora img,
.card-eventos img {
    margin: 0;
    display: block;
    width: 100%;
    height: 100%;
    max-width: none;
    max-height: none;
    object-fit: cover;
    object-position: center center;
}

.card-calculadora .sp-module-content,
.card-eventos .sp-module-content {
    background: white;
}

.card-calculadora .conteudo-calculadora,
.card-eventos .conteudo-eventos {
    position: relative;
    width: 100%;
    height: 100%;
    min-height: 250px;
    overflow: hidden;
}

.card-calculadora .icone-calculadora,
.card-eventos .icone-eventos,
.card-eventos .icone-evento {
    position: absolute;
    inset: 0;
    top: 0;
    left: 0;
    transform: none;
    width: 100%;
    height: 100%;
}

.card-calculadora .link-calculadora,
.card-eventos .link-eventos {
    padding: 0;
    position: absolute;
    right: 20px;
    bottom: 5px;
    color: var(--primary-color);
    font-weight: normal;
    font-family: system-ui, -apple-system, "Segoe UI", sans-serif;
    font-size: 1.2rem;
    text-decoration: none;
    line-height: normal;
    z-index: 1;
}

.card-calculadora,
.card-eventos {
    flex: 1;
}

.card-calculadora,
.card-calculadora .sp-module-content,
.card-calculadora .sp-module-content>div,
.card-eventos,
.card-eventos .sp-module-content,
.card-eventos .sp-module-content>div {
    height: 100%;
}

.card-calculadora a,
.card-eventos a {
    color: var(--primary-color);
}

/* Coluna sp-position3  */
#sp-position3 {
    display: flex;
    flex-direction: column;
    align-self: stretch;
}

#sp-position3 .sp-column {
    display: flex;
    flex-direction: column;
    flex: 1;
}

/* Cards sem espaÃ§o entre si */
#sp-position3 .card-eventos.sp-module,
#sp-position3 .card-calculadora.sp-module {
    width: 100% !important;
    display: flex !important;
    flex-direction: column;
    margin: 0 !important;
}

#sp-position3 .card-eventos .sp-module-content,
#sp-position3 .card-calculadora .sp-module-content {
    padding: 0 !important;
    margin: 0 !important;
    flex: 1;
}

@media (max-width: 991.98px) {
    #sp-main-body .container-inner > .row {
        row-gap: 24px;
    }

    #sp-position1,
    #sp-position2,
    #sp-position3 {
        margin-bottom: 24px;
    }

    #sp-position3 .sp-column {
        gap: 24px;
        height: auto;
    }

    #sp-position3 .card-eventos.sp-module,
    #sp-position3 .card-calculadora.sp-module,
    #sp-position3 .card-eventos .sp-module-content,
    #sp-position3 .card-calculadora .sp-module-content {
        flex: 0 0 auto;
        height: auto;
    }

    .card-calculadora .conteudo-calculadora,
    .card-eventos .conteudo-eventos {
        min-height: 220px;
    }

    .card-calculadora img,
    .card-eventos img {
        max-width: none;
        max-height: none;
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    /* Evita scroll horizontal geral */
    body,
    .body-wrapper,
    .body-innerwrapper {
        overflow-x: hidden;
    }

    /* Header mais compacto */
    #sp-header .container,
    #sp-header .container-inner {
        padding-left: 12px;
        padding-right: 12px;
    }

    #sp-header .logo-image {
        max-height: 32px;
        width: auto;
    }

    /* Avatar / saudação */
    #sp-top2,
    #sp-login {
        width: 100%;
        max-width: 100%;
    }

    #sp-top2 .sp-column,
    #sp-top2 .sp-module,
    #sp-top2 .sp-module-content {
        width: 100%;
        display: flex;
        justify-content: center;
    }

    #sp-login .row {
        flex-wrap: wrap;
        width: 100%;
        margin: 0;
        justify-content: center;
    }

    #sp-login .row > div {
        width: 100% !important;
        max-width: 100%;
    }

    .mod-avatar {
        width: 100%;
        box-sizing: border-box;
        gap: 0.75rem;
        padding: 0.5rem 0.75rem;
        border-radius: 16px;
        align-items: center;
        justify-content: center;
        text-align: center;
    }

    .mod-avatar .mod-dados {
        flex: 0 1 auto;
        justify-items: center;
        text-align: center;
    }

    .mod-avatar .mod-avatar-body img {
        width: 64px;
        height: 64px;
        border-width: 3px;
    }

    .mod-avatar .mod-dados .mod-name {
        font-size: 1.1rem;
        line-height: 1.25;
    }

    .mod-avatar .mod-dados p {
        font-size: 0.85rem;
    }

    .mod-avatar .mod-dados .mod-btns {
        flex-wrap: wrap;
        gap: 6px;
        justify-content: center;
    }

    .mod-avatar .mod-dados .mod-btns a {
        font-size: 0.8rem;
        padding: 0.25rem 0.7rem;
    }

    /* Acesso rápido / sistemas — centralizados */
    #sp-position4,
    #sp-position5 {
        padding-left: 0.75rem !important;
        padding-right: 0.75rem !important;
        border-radius: 16px !important;
        justify-items: center;
        justify-content: center;
    }

    #sp-position4 .sp-column,
    #sp-position5 .sp-column {
        border-left: none;
        padding: 12px;
        width: 100%;
        display: flex;
        justify-content: center;
    }

    #sp-position4 .sp-module,
    #sp-position4 .sp-module-content,
    #sp-position5 .sp-module,
    #sp-position5 .sp-module-content {
        width: 100%;
    }

    #sp-position4 .mod-menu,
    #sp-position5 .mod-menu {
        justify-content: center;
        align-items: center;
        width: 100%;
    }

    #sp-position4 .mod-menu > li,
    #sp-position5 .mod-menu > li {
        width: 100%;
        max-width: 320px;
        text-align: center;
    }

    #sp-position4 .mod-menu > li > a,
    #sp-position5 .mod-menu > li > a {
        font-size: 1rem;
        display: block;
        width: 100%;
        text-align: center;
        box-sizing: border-box;
    }

    /* Slider */
    #sp-slider .sp-module {
        padding: 0 10px;
    }

    /* Título de página */
    .title-page {
        padding: 12px 14px;
        font-size: 1rem;
    }

    .title-page p {
        margin: 0;
        font-size: 1rem;
        line-height: 1.35;
        word-break: break-word;
    }

    /* Órgão central / botões de sistema */
    .btn-sistema {
        font-size: 1.15rem !important;
        padding: 0.45rem 0.75rem;
        gap: 8px;
    }

    .btn-sistema-icon {
        width: 48px;
        height: 64px;
        border-radius: 14px;
    }

    .btn-sistema::after {
        left: calc(48px + 8px + 0.75rem) !important;
        right: 0.75rem;
        bottom: 0.4rem;
    }

    #submenu-container {
        padding: 14px;
        gap: 16px;
        margin-top: 16px;
        border-radius: 8px;
    }

    #submenu-container [data-nivel="2"] li,
    #submenu-container [data-nivel="3"] li,
    #submenu-container [data-nivel="4"] li {
        width: 100% !important;
        min-width: 0 !important;
    }

    #submenu-container [data-nivel="2"] a,
    #submenu-container [data-nivel="3"] a,
    #submenu-container [data-nivel="4"] a {
        height: auto;
        min-height: 48px;
        font-size: 0.95rem !important;
        padding: 12px 10px;
    }

    /* Aniversariantes */
    .mod-contatos-cge .ctt-list .ctt-item {
        flex-wrap: nowrap;
    }

    .mod-contatos-cge .ctt-list .ctt-item .ctt-dados p {
        font-size: 0.9rem;
        word-break: break-word;
    }

    .mod-contatos-cge .ctt-list .ctt-item .ctt-dia {
        font-size: 1.4rem !important;
    }

    /* Notícias home */
    .mod-articles-cge .news-title,
    .cge-articles-news .news-title {
        font-size: 1rem;
    }

    /* Notícias: empilha imagem + texto no mobile */
    .news-item,
    .mod-articles-cge .news-item,
    .cge-articles-news .news-item {
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 0.75rem !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    .news-item > div,
    .mod-articles-cge .news-item > div,
    .cge-articles-news .news-item > div {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    .news-img2,
    .mod-articles-cge .news-img2,
    .cge-articles-news .news-img2 {
        width: 100% !important;
        max-width: 100% !important;
        display: block !important;
    }

    .news-img2 img,
    .mod-articles-cge .news-img2 img,
    .cge-articles-news .news-img2 img {
        width: 100% !important;
        max-width: 100% !important;
        height: 180px !important;
        object-fit: cover !important;
    }

    .news-body,
    .mod-articles-cge .news-body,
    .cge-articles-news .news-body {
        width: 100% !important;
        min-width: 0 !important;
    }

    .news-title,
    .news-title a,
    .news-intro,
    .mod-articles-cge .news-title,
    .mod-articles-cge .news-title a,
    .mod-articles-cge .news-intro,
    .cge-articles-news .news-title,
    .cge-articles-news .news-title a,
    .cge-articles-news .news-intro {
        white-space: normal !important;
        overflow-wrap: anywhere;
        word-break: break-word;
    }

    #sp-position1,
    #sp-position1 .sp-column,
    #sp-position1 .sp-module,
    #sp-position1 .sp-module-content,
    #sp-position1 .mod-articles-cge {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    /* Header: evita corte do menu hambúrguer */
    #sp-header .row {
        flex-wrap: nowrap;
        margin-left: 0;
        margin-right: 0;
    }

    #sp-header #sp-logo {
        min-width: 0;
        flex: 1 1 auto;
    }

    #sp-header #sp-menu {
        flex: 0 0 auto;
        max-width: 100%;
    }

    #sp-header .burger-icon,
    #sp-header #offcanvas-toggler {
        flex: 0 0 auto;
        margin-right: 0;
    }

    #sp-header .container,
    #sp-header .container-inner {
        padding-left: 10px !important;
        padding-right: 10px !important;
        overflow: visible;
    }

    /* Slider mobile: proporção do banner (~3:1), sem cortar imagem/texto */
    #sp-slider {
        max-width: 100% !important;
        overflow: hidden !important;
    }

    #sp-slider .sp-module {
        padding: 0 8px !important;
        max-height: none !important;
        overflow: visible !important;
    }

    #sp-slider #n2-ss-2 {
        width: 100% !important;
        max-width: 100% !important;
    }

    /* Altura pela proporção do banner — evita crop horizontal/vertical */
    #sp-slider #n2-ss-2 .n2-ss-slider-1 {
        width: 100% !important;
        max-width: 100% !important;
        aspect-ratio: 3 / 1 !important;
        height: auto !important;
        max-height: none !important;
        min-height: 0 !important;
    }

    #sp-slider #n2-ss-2 .n2-ss-slider-2,
    #sp-slider #n2-ss-2 .n2-ss-slider-3,
    #sp-slider #n2-ss-2 .n2-ss-slider-4,
    #sp-slider #n2-ss-2 .n2-ss-slide,
    #sp-slider #n2-ss-2 .n2-ss-slide-backgrounds,
    #sp-slider #n2-ss-2 .n2-ss-slide-background,
    #sp-slider #n2-ss-2 .n2-ss-slide-background-image,
    #sp-slider #n2-ss-2 .n2-ss-slide-background-image img {
        width: 100% !important;
        height: 100% !important;
        max-height: none !important;
        min-height: 0 !important;
        box-sizing: border-box !important;
    }

    #sp-slider #n2-ss-2 .n2-ss-slide-background-image,
    #sp-slider #n2-ss-2 .n2-ss-slide-background-image img {
        object-fit: contain !important;
        object-position: center center !important;
    }

    /* Evita o wrap do SS que empilhava colunas e deixava o banner altíssimo */
    #sp-slider #n2-ss-2 .n2-ss-layer-row-inner {
        flex-wrap: nowrap !important;
    }

    /* Padding desktop (ex.: 90px) — só reduz laterais grandes */
    #sp-slider #n2-ss-2 .n-uc-1ee574d0dd50b-inner,
    #sp-slider #n2-ss-2 .n-uc-v28lUUx9Kao8-inner {
        padding: 12px 10px 10px 14px !important;
    }

    #sp-slider #n2-ss-2 .n2-ss-layer,
    #sp-slider #n2-ss-2 .n2-ss-layer-content,
    #sp-slider #n2-ss-2 .n2-ss-item-content,
    #sp-slider #n2-ss-2 .n2-font-element {
        max-width: 100% !important;
        box-sizing: border-box !important;
        white-space: normal !important;
        overflow-wrap: break-word !important;
        word-break: normal !important;
        line-height: 1.25 !important;
    }

    /* Reduz fontes % do Smart Slider sem clipar o bloco */
    #sp-slider #n2-ss-2 [class*="n2-font-"],
    #sp-slider #n2-ss-2 [class*="n2-font-"] * {
        font-size: clamp(12px, 3.8vw, 18px) !important;
        line-height: 1.25 !important;
    }

    #sp-slider #n2-ss-2 .n2-font-9b4cddb1e35a6a55b94303e2d76fe9b5-hover,
    #sp-slider #n2-ss-2 .n2-font-9b4cddb1e35a6a55b94303e2d76fe9b5-hover * {
        font-size: clamp(10px, 3vw, 13px) !important;
        line-height: 1.3 !important;
    }

    #sp-slider #n2-ss-2 .nextend-arrow,
    #sp-slider #n2-ss-2 .n2-ss-arrow {
        transform: scale(0.7);
    }

    /* Contatos CTA */
    #sp-position6 {
        margin-left: 0;
        width: 100%;
    }

    /* Oculta VLibras flutuante no mobile/tablet */
    [vw],
    [vw].enabled,
    [vw-access-button],
    .vw-plugin-wrapper,
    .vw-plugin-top-wrapper,
    div[vw],
    #sp-header .cge-vlibras-dropdown {
        display: none !important;
        visibility: hidden !important;
        pointer-events: none !important;
        opacity: 0 !important;
    }
}

@media (max-width: 576px) {
    .mod-avatar {
        gap: 0.6rem;
        padding: 0.45rem 0.6rem;
        border-radius: 14px;
    }

    .mod-avatar .mod-avatar-body img {
        width: 56px;
        height: 56px;
    }

    .mod-avatar .mod-dados .mod-name {
        font-size: 1rem;
    }

    .card-calculadora .conteudo-calculadora,
    .card-eventos .conteudo-eventos {
        min-height: 200px;
    }

    .card-calculadora img,
    .card-eventos img {
        max-width: none;
        max-height: none;
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .card-calculadora .link-calculadora,
    .card-eventos .link-eventos {
        right: 12px;
        font-size: 1rem;
    }

    /* Slider: só afina padding; altura vem do aspect-ratio acima */
    #sp-slider .sp-module {
        padding: 0 6px !important;
        max-height: none !important;
    }

    #sp-slider #n2-ss-2 [class*="n2-font-"],
    #sp-slider #n2-ss-2 [class*="n2-font-"] * {
        font-size: clamp(11px, 3.5vw, 16px) !important;
    }

    #sp-slider #n2-ss-2 .n2-font-9b4cddb1e35a6a55b94303e2d76fe9b5-hover,
    #sp-slider #n2-ss-2 .n2-font-9b4cddb1e35a6a55b94303e2d76fe9b5-hover * {
        font-size: clamp(9px, 2.8vw, 12px) !important;
    }

    .btn-sistema {
        font-size: 1rem !important;
    }

    #jevents .contentpaneopen,
    #jevents .contentheading {
        padding: 12px 8px;
    }

    #jevents .jev_toprow {
        flex-wrap: wrap;
        gap: 8px;
        padding-bottom: 12px;
    }
}


 /* orgao central  */
.sppb-section.menu-pages .menu-parent .mod-menu__sub {
    display: none !important;
}

#submenu-container {
    display: flex;
    flex-direction: column;
    gap: 30px;
    padding: 20px;
    background: #f5f5f5;
    border-radius: 10px;
    justify-content: center;
    max-width: 1000px;
     margin: 24px auto 0;
}

#submenu-container ul {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: center;
    list-style: none;
    padding: 0;
    margin: 0;
}

#submenu-container li a {
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px solid var(--primary-color);
    border-radius: 5px;
    background: white;
    color: rgb(87, 86, 86);
    padding: 30px 5px;
    text-decoration: none;
    text-align: center;
    transition: background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease;
    min-height: 80px;            
    height: auto;                 
    box-sizing: border-box;
    font-size: clamp(12px, 1.2vw, 15x);
    word-break: break-word;
    overflow: hidden;
    width: 100%;
    box-sizing: border-box;
}

#submenu-container li a:hover {
    background: var(--primary-hover);
    border-color: var(--primary-hover);
    color: #2b2b2b;
}

#submenu-container li a.submenu-ativo,
#submenu-container li a.card-ativo {
    background: var(--primary-color);
    border-color: var(--primary-color);
    color: white;
}

#submenu-container li a.bloco-clique {
    animation: cgeBlocoPress 0.38s cubic-bezier(0.22, 1, 0.36, 1);
}

#submenu-container li {
    list-style: none;
}

/* Entrada das linhas / blocos ao abrir um nível */
#submenu-container .submenu-nivel {
    animation: cgeNivelIn 0.4s cubic-bezier(0.22, 1, 0.36, 1) both;
}

#submenu-container .submenu-nivel > li {
    animation: cgeBlocoIn 0.4s cubic-bezier(0.22, 1, 0.36, 1) both;
    animation-delay: calc(var(--bloco-i, 0) * 45ms);
}

@keyframes cgeBlocoPress {
    0% { transform: scale(1); }
    35% { transform: scale(0.94); box-shadow: 0 0 0 0 rgba(19, 87, 116, 0.35); }
    100% { transform: scale(1); box-shadow: 0 0 0 10px rgba(19, 87, 116, 0); }
}

@keyframes cgeNivelIn {
    from { opacity: 0; transform: translateY(14px); }
    to { opacity: 1; transform: translateY(0); }
}

@keyframes cgeBlocoIn {
    from { opacity: 0; transform: translateY(10px) scale(0.96); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}

@media (prefers-reduced-motion: reduce) {
    .menu-pages ul li.bloco-clique,
    #submenu-container li a.bloco-clique,
    #submenu-container .submenu-nivel,
    #submenu-container .submenu-nivel > li {
        animation: none !important;
    }
}

#submenu-container [data-nivel="2"] li { width: calc(25% - 10px); }
#submenu-container [data-nivel="3"] li { width: calc(20% - 10px); }
#submenu-container [data-nivel="4"] li { width: calc(16% - 10px); }

#submenu-container [data-nivel="2"] a { height: 50px; }
#submenu-container [data-nivel="3"] a { height: 50px; }
#submenu-container [data-nivel="4"] a { height: 70px; }

#submenu-container [data-nivel="2"] li { min-width: 180px; }
#submenu-container [data-nivel="3"] li { min-width: 160px; }
#submenu-container [data-nivel="4"] li { min-width: 160px; }

#submenu-container [data-nivel="3"] a {
    font-size: clamp(11px, 1vw, 15px);
}

#submenu-container [data-nivel="4"] a {
    padding: 20px 6px;
    font-size: clamp(10px, 0.9vw, 13px);
}

#submenu-container [data-nivel="2"] a { border-width: 3px; }
#submenu-container [data-nivel="3"] a { border-width: 2px; }
#submenu-container [data-nivel="4"] a { border-width: 2px; border-radius: 3px; }

/* contatos  */
    #sp-login .row {
    display: flex;
    }
    #sp-position6 {
        margin-left: auto;
    }


  .btn-sistema {
    background: transparent;
    color: var(--primary-color) !important;
    border-radius: 50px;
    text-decoration: none !important;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
    box-sizing: border-box;
    padding: 0.5rem 1rem;
    font-family: 'Montserrat', sans-serif;
    font-size: 30px;
    font-weight: 700;
    position: relative;
    }

    /* Linha animada sob o texto (ex.: CONTATOS) */
    .btn-sistema::after {
        content: "";
        position: absolute;
        left: calc(60px + 10px + 1rem);
        right: 1rem;
        bottom: 0.55rem;
        height: 2px;
        background: currentColor;
        border-radius: 1px;
        transform: scaleX(0);
        transform-origin: center;
        transition: transform 0.4s cubic-bezier(0.22, 1, 0.36, 1);
        pointer-events: none;
    }

    .btn-sistema:hover {
        color: var(--primary-color) !important;
        background: transparent;
        text-decoration: none !important;
    }

    .btn-sistema:hover::after,
    .btn-sistema:focus-visible::after {
        transform: scaleX(1);
    }

    @media (prefers-reduced-motion: reduce) {
        .btn-sistema::after {
            transition: none;
        }
    }
    
    .btn-sistema-icon {
        width: 60px;
        height: 80px;
        border-radius: 20px;
    }

    @media (max-width: 991px) {
        .btn-sistema::after {
            left: calc(45px + 10px + 1rem);
            bottom: 0.45rem;
        }
    }

/* mostra artigo embutido abaixo do menu */
#programa-conteudo *,
#cge-menu-conteudo * {
    all: revert !important;
    background: transparent !important;
    color: #333 !important;
    border: none !important;
    box-shadow: none !important;
    font-family: inherit !important;
}
#programa-conteudo .btn,
#programa-conteudo .icons,
#programa-conteudo [class*="social"],
#cge-menu-conteudo .btn,
#cge-menu-conteudo .icons,
#cge-menu-conteudo [class*="social"] {
    display: none !important;
}

#programa-conteudo,
#cge-menu-conteudo {
    max-width: 900px;
    margin: 2rem auto;
    padding: 0 1rem;
    color: #333;
    line-height: 1.7;
    font-size: 1.15rem;
}

#programa-conteudo p,
#cge-menu-conteudo p {
    margin: 0 0 1rem;
}



#programa-conteudo h2,
#programa-conteudo h3,
#cge-menu-conteudo h2,
#cge-menu-conteudo h3 {
    margin: 2rem 0 0.5rem;
    font-size: 1.2rem;
}

#programa-conteudo ul,
#cge-menu-conteudo ul {
    margin: 0 0 1rem 1.5rem;
    list-style: disc;
}
#programa-conteudo li,
#cge-menu-conteudo li {
    margin-bottom: 0.4rem;
}

/* esconde Editar e ícones, caso voltem */
#programa-conteudo .btn,
#programa-conteudo .icons,
#programa-conteudo [class*="social"] {
    display: none !important;
}

.sppb-img-responsive {
    margin-bottom: 20px;
}

/* Pagina de Login */
.login-page{
    background-color: white;
}
.login-page #sp-top1{
    width: 100% !important;
}
.login-page .sp-module-title, .login-page .mod-login__remind{
    display: none;
}
.login-page .body-wrapper{
    display: flex;
    justify-content: center;
    align-items: center;
}
.login-page .logo-image{
    height: 60px;
    margin-bottom: 2rem;
}
.login-page button{
    border-color: var(--primary-color);
    background-color: var(--primary-color);
    color: #fff;
}
.login-page button:hover{
    background-color: var(--primary-hover);
    border-color: var(--primary-hover);
    color: #fff;
}.login-page .mod-login__reset{
    background-color: transparent;
    border: none;
    padding: 0;
}
.login-page .mod-login__reset:hover{
    color: var(--primary-hover);
}
.login-page #sp-login .row{
    justify-content: center;
}


/* some menu search */
.item-212 {
    display: none !important;
}

/* pg search  */
.com-finder .btn-primary {
    background-color: var(--primary-color) !important;
    border-color: var(--primary-color) !important;
    color: white !important;
}

.com-finder .btn-primary:hover {
    background-color: var(--primary-hover) !important;
    border-color: var(--primary-hover) !important;
    color: #2b2b2b !important;
}

.com-finder .btn-secondary {
    background-color: var(--primary-color) !important;
    border-color: var(--primary-color) !important;
    color: white !important;
}

.com-finder .btn-secondary:hover {
    background-color: #0e3f57 !important;
}

.result__title a {
    color: var(--primary-color) !important;
}

.com-finder mark {
    background-color: rgba(0, 135, 135, 0.2) !important;
    color: var(--primary-color) !important;
}

.result__taxonomy {
    display: none !important;
}

.form-inline {
    padding: 20px;
}

.article-info {
    display: none;
}

.article-header {
    background-color: #D9D9D9  !important;
    padding: 15px 20px ;
    width: 100% ;
    margin-bottom: 20px ;
}

.article-header h1 {
    color: var(--primary-color);
}

.social-share-icon a:hover{
    background-color: var(--primary-hover) !important;
}

.article-can-edit a {
    background-color: var(--primary-color) !important;
    color: white !important;
    border-color: var(--primary-color) !important;
}

.article-can-edit a:hover {
    background-color: var(--primary-hover) !important;
    border-color: var(--primary-hover) !important;
    color: #2b2b2b !important;
}


/* forÃ§ando  */
#sp-slider {
    display: block !important;
}

/* Só força flex no desktop — no mobile o Bootstrap d-none deve prevalecer */
@media (min-width: 992px) {
    .header-modules {
        display: flex !important;
    }
}

@media (max-width: 991.98px) {
    #sp-header .header-modules,
    #sp-header .cge-vlibras-dropdown {
        display: none !important;
    }
}

/* =========================================================
Mini calendário JEvents - visual moderno e responsivo
========================================================= */

#flatcal_minical {
--cal-bg: #ffffff;
--cal-text: #1f2937;
--cal-muted: #64748b;
--cal-border: #e5e7eb;
--cal-primary: #ef4444;
--cal-primary-dark: #dc2626;
--cal-hover: #f3f4f6;
--cal-event-bg: #fff7ed;
--cal-weekend: #64748b;

width: 100%;
max-width: none;
margin: 0;
font-family: Inter, "Segoe UI", Roboto, Arial, sans-serif;
color: var(--cal-text);
}

/* Remove limitações antigas das tabelas */
#flatcal_minical table {
width: 100% !important;
border-collapse: separate;
border-spacing: 0;
}

/* Card principal */
#flatcal_minical .flatcal_main_t {
width: 100% !important;
min-width: 100%;
background: var(--cal-bg);
border: 1px solid var(--cal-border);
border-radius: 0;
overflow: hidden;
box-shadow: 0 12px 34px rgba(15, 23, 42, 0.1);
}

/* Barra superior */
#flatcal_minical .flatcal_navbar {
width: 100% !important;
background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
border-bottom: 1px solid var(--cal-border);
}

#flatcal_minical .flatcal_navbar td {
height: 28px;
vertical-align: middle;
}

/* Nome do mês */
#flatcal_minical .flatcal_month_label {
text-align: center;
font-size: 16px;
font-weight: 800;
letter-spacing: 0.01em;
color: #111827;
}

#flatcal_minical .flatcal_month_label a {
color: inherit !important;
text-decoration: none !important;
}

/* Setas de navegação */
#flatcal_minical .link_prev,
#flatcal_minical .link_next {
width: 44px;
text-align: center;
}

#flatcal_minical .mod_events_link {
width: 24px;
height: 24px;
padding: 6px;
border-radius: 999px;
cursor: pointer;
opacity: 0.75;
transition:
    background 0.2s ease,
    opacity 0.2s ease,
    transform 0.2s ease;
}

#flatcal_minical .mod_events_link:hover {
background: var(--cal-hover);
opacity: 1;
transform: scale(1.08);
}

/* Área dos dias */
#flatcal_minical .flatcal_weekdays {
width: 100% !important;
background: #ffffff;
margin-top: 10px;
}

/* Todas as células da grade */
#flatcal_minical .flatcal_weekdays td {
width: 14.285% !important;
height: 42px;
text-align: center;
vertical-align: middle;
}

/* Cabeçalho M T W T F S S */
#flatcal_minical td.flatcal_weekdays {
height: 38px;
padding: 0;
font-size: 12px;
font-weight: 800;
color: var(--cal-muted);
text-transform: uppercase;
letter-spacing: 0.06em;
}

/* Células dos dias */
#flatcal_minical .flatcal_daycell,
#flatcal_minical .flatcal_todaycell,
#flatcal_minical .flatcal_sundaycell,
#flatcal_minical .flatcal_othermonth {
padding: 2px;
}

/* Links dos dias */
#flatcal_minical .flatcal_daylink,
#flatcal_minical .flatcal_sundaylink,
#flatcal_minical .flatcal_busylink {
display: inline-flex;
align-items: center;
justify-content: center;
width: 30px;
height: 30px;
border-radius: 999px;
font-size: clamp(10px, 1vw, 12px) !important;
font-weight: 700;
color: var(--cal-text);
text-decoration: none;
transition:
    background 0.18s ease,
    color 0.18s ease,
    transform 0.18s ease,
    box-shadow 0.18s ease;
}

#flatcal_minical .flatcal_daylink:hover,
#flatcal_minical .flatcal_sundaylink:hover,
#flatcal_minical .flatcal_busylink:hover {
background: var(--cal-hover);
color: #111827;
transform: translateY(-1px);
}

/* Finais de semana */
#flatcal_minical .flatcal_sundaylink,
#flatcal_minical .saturday,
#flatcal_minical .sunday {
color: var(--cal-weekend);
}

/* Dia atual */
#flatcal_minical .flatcal_todaycell a {
background: linear-gradient(135deg, var(--primary-color), var(--primary-hover));
background-color: var(--primary-color);
color: #ffffff;
border: 1px solid var(--primary-color) !important;
font-weight: 900;
box-shadow: 0 7px 16px rgba(13, 183, 158, 0.38);
}

#flatcal_minical .flatcal_todaycell a:hover {
transform: translateY(-1px) scale(1.04);
color: #ffffff !important;
border: 1px solid var(--primary-color) !important;
box-shadow: 0 9px 20px rgba(13, 183, 158, 0.45);

}

#flatcal_minical .flatcal_todaycell .flatcal_daylink {
background: linear-gradient(135deg, var(--primary-color), var(--primary-hover));
color: #ffffff;
border: 1px solid var(--primary-color) !important;
font-weight: 900;
box-shadow: 0 7px 16px rgba(13, 183, 158, 0.38);
}

#flatcal_minical .flatcal_todaycell .flatcal_daylink:hover {
transform: translateY(-1px) scale(1.04);
color: #ffffff !important;
border: 1px solid var(--primary-color) !important;
box-shadow: 0 9px 20px rgba(13, 183, 158, 0.45);

}

/* Dia com evento */
#flatcal_minical .flatcal_busylink {
position: relative;
background: var(--cal-event-bg);
color: #111827;
}

#flatcal_minical .flatcal_busylink::after {
content: "";
position: absolute;
bottom: 5px;
left: 50%;
width: 4px;
height: 4px;
border-radius: 999px;
background: var(--tertiary-color);
transform: translateX(-50%);
}

/* Dias fora do mês */
#flatcal_minical .flatcal_othermonth {
color: transparent;
}

/* Linha final vazia */
#flatcal_minical .full_cal_link {
display: none;
}

/* Esconde o texto original dos dias */
#flatcal_minical .flatcal_weekdays > tbody > tr:first-child > td {
font-size: 0;
}

/* Configuração comum dos novos textos */
#flatcal_minical .flatcal_weekdays > tbody > tr:first-child > td::before {
font-size: 10px;
font-weight: 500;
}

/* Novas abreviações */
#flatcal_minical .flatcal_weekdays > tbody > tr:first-child > td:nth-child(1)::before {
content: "DOM";
}

#flatcal_minical .flatcal_weekdays > tbody > tr:first-child > td:nth-child(2)::before {
content: "SEG";
}

#flatcal_minical .flatcal_weekdays > tbody > tr:first-child > td:nth-child(3)::before {
content: "TER";
}

#flatcal_minical .flatcal_weekdays > tbody > tr:first-child > td:nth-child(4)::before {
content: "QUA";
}

#flatcal_minical .flatcal_weekdays > tbody > tr:first-child > td:nth-child(5)::before {
content: "QUI";
}

#flatcal_minical .flatcal_weekdays > tbody > tr:first-child > td:nth-child(6)::before {
content: "SEX";
}

#flatcal_minical .flatcal_weekdays > tbody > tr:first-child > td:nth-child(7)::before {
content: "SAB";
}

/* Cabeçalhos SÁB e DOM */
#flatcal_minical .flatcal_weekdays > tbody > tr:first-child > td:nth-child(7)::before {
color: #9aa5a6;
}

/* Células de sábado e domingo */
#flatcal_minical .flatcal_weekdays > tbody > tr:not(:first-child) > td:nth-child(7) {
color: #9aa5a6;
}

/* Links dos números de sábado e domingo */
#flatcal_minical .flatcal_weekdays > tbody > tr:not(:first-child) > td:nth-child(7) a {
color: #9aa5a6 !important;
}

/* Responsivo */
@media (max-width: 768px) {
    #flatcal_minical .flatcal_navbar td {
        height: 28px;
    }

    #flatcal_minical .flatcal_month_label {
        font-size: 14px;
    }

    #flatcal_minical .flatcal_weekdays td {
        height: 36px;
    }

    #flatcal_minical td.flatcal_weekdays {
        height: 32px;
        font-size: 11px;
    }

    #flatcal_minical .flatcal_daylink,
    #flatcal_minical .flatcal_sundaylink,
    #flatcal_minical .flatcal_busylink {
        width: 32px;
        height: 32px;
        font-size: 13px;
    }
}

#jevents .actions, #jevents .month_date, #jevents #nav-search, #jevents .ev_adminpanel, #jevents .event_legend_container, #jevents .contentpaneopen br{
    display: none;
} 

#jevents .contentpaneopen{
    padding: 20px;
}

#jevents .jev_toprow{
    display: flex;
    justify-content: center;
    padding-bottom: 20px;
}

#jevents .contentheading{
    padding: 30px 0;
    text-align: center;
    color: var(--secondary-color);
    font-family: Trebuchet MS;
}

#jevents .jev_toprow div.previousmonth, #jevents .jev_toprow div.nextmonth{
    background-color: var(--primary-color);
    border: 1px solid var(--primary-color);
}    

#jevents .jev_toprow div.currentmonth{
    border-top: 1px solid var(--primary-color);
    border-bottom: 1px solid var(--primary-color);
    margin-bottom: -1px;
}

#jevents .nav-items > div{
    border: 1px solid var(--primary-color)
}

#jevents #jevents_body .nav-items div.active a, #jevents .jev_header2 .active a{
    background-color: var(--primary-color);
}

#jevents .nav-items > div a{
    padding: 4px 12px 4px 12px;
}

#jevents_body .cal_today a.cal_daylink{
    background-color: var(--primary-color);

}

#jevents_body .cal_today a.cal_daylink:hover{
    border-left: 1px solid var(--primary-color);
    border: 1px solid var(--primary-color);
    color: var(--primary-color);
}

/* Phoca  */
/* ===== Phoca Download – layout em cartões (estilo foto 1) ===== */

.pd-category .ph-top{
    display: none;
} 

#sp-column .pd-cb, .sp-column > .pd-cb ~ div:last-of-type{
    display: none !important;
}

/* Grid de arquivos/pastas: 2 colunas no desktop, 1 item ocupa a largura toda */
.pd-category {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr));
    gap: 16px 20px;
    align-items: stretch;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    min-width: 0;
}

/* Itens do grid não podem forçar overflow pelo conteúdo */
.pd-category > .row,
.pd-category > .cge-file-row,
.pd-category > .pd-subcategory {
    min-width: 0;
    max-width: 100%;
    width: 100%;
    box-sizing: border-box;
}

/* Elementos que devem ocupar a linha inteira */
.pd-category > .ph-top,
.pd-category > .pd-ctitle,
.pd-category > .modal,
.pd-category > form,
.pd-category > .ph-cb {
    grid-column: 1 / -1;
}

/* Cabeçalho da categoria */
.pd-category > .pd-ctitle {
    color: var(--secondary-color);
    font-family: Trebuchet MS;
    font-weight: 700;
    font-size: 3rem;
    text-align: center;
    padding: 30px !important;
}

/* ---- Cartão (cada arquivo) ---- */
.pd-category > .row {
    display: flex !important;
    flex-wrap: nowrap;
    align-items: center;
    gap: 18px;
    margin: 0 !important;
    padding: 22px 26px;
    background: #fafafb;
    border: 1px solid #e7e7ec;
    border-radius: 12px;
    box-shadow: 0 1px 2px rgba(16, 24, 40, .04);
    transition: border-color .2s ease, box-shadow .2s ease;
    --bs-gutter-x: 0;
    overflow: hidden;
}

/* Esconde a linha de avaliação (rating) */
.pd-category > .pd-row2-bp { display: none !important; }
.pd-category > .row:hover {
    border-color: #d3d3db;
    box-shadow: 0 6px 16px rgba(16, 24, 40, .08);
}

/* Coluna esquerda: texto (cresce) */
.pd-category > .row > .col-sm-6:first-child {
    flex: 1 1 auto;
    min-width: 0;
    max-width: none;
    padding: 0;
}

/* Coluna direita: ícone */
.pd-category > .row > .col-sm-6:last-child {
    flex: 0 0 auto;
    width: auto;
    max-width: none;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

/* Título e nome do arquivo */
.pd-title {
    font-size: 16px;
    font-weight: 600;
    color: #3f3f46;
    line-height: 1.45;
    margin-bottom: 6px;
}
.pd-filename .pd-float a {
    color: #6b7280;
    font-size: 14px;
    text-decoration: none;
    word-break: break-word;
    line-height: 1.4;
}
.pd-filename .pd-float a:hover { color: #4b5563; }

/* Remove o iconezinho de PDF vermelho da esquerda */
.pd-document16 {
    background: none !important;
    padding-left: 0 !important;
}

/* ---- Botões -> transformar Download em ícone e ocultar Details ---- */
.pd-button-box-bt { margin: 0; }
.pd-button-box-bt:empty { display: none; }
.pd-button-box-bt .btn-info { display: none !important; } /* Details oculto */

.pd-button-box-bt .btn-success {
    display: block;
    width: 44px;
    height: 44px;
    padding: 0;
    border: none;
    box-shadow: none;
    border-radius: 8px;
    font-size: 0;
    color: transparent;
    background-color: transparent;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 26px 26px;
    background-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%236b7280'%20stroke-width='1.6'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M14%203v4a1%201%200%200%200%201%201h4'/%3E%3Cpath%20d='M5%2021V5a2%202%200%200%201%202-2h7l5%205v13a2%202%200%200%201-2%202H7a2%202%200%200%201-2-2z'/%3E%3Cpath%20d='M12%2011v6'/%3E%3Cpath%20d='m9%2014%203%203%203-3'/%3E%3C/svg%3E");
    transition: background-color .15s ease;
}
.pd-button-box-bt .btn-success:hover {
    background-color: #ececef;
}

/* Barra de ordenação / paginação em linha cheia, mais discreta */
.pd-category > form .pagination { margin-top: 8px; }

/* ---- Responsivo: 1 coluna no mobile ---- */
@media (max-width: 700px) {
    .pd-category { grid-template-columns: 1fr; }
    .pd-category > .row,
    .pd-category > .cge-file-row { padding: 18px 16px; }
}

/*
Remove o hover do menu de eventos*/
#jevents_body .nav-items div.active a:hover, .jev_header2 .active a:hover{
    border: none;
}

#jevents_body .nav-items > div a:hover{
    border: none;
}

/* Linha do evento (lista diária / semanal / etc.) */
#jevents_body ul.ev_ul {
    margin: 12px 0;
    padding: 12px 0 0 0;
}

#jevents_body ul.ev_ul li.ev_td_li,
#jevents_body .jev_listview .jev_listrow li.ev_td_li {
    position: relative;
    display: block;
    width: 100%;
    box-sizing: border-box;
    margin: 0 0 10px;
    padding: 14px 16px 14px 18px;
    border-width: 0 0 0 4px !important;
    border-style: solid;
    border-radius: 8px;
    background: transparent;
    box-shadow: none;
    color: #6b7280;
    font-size: 14px;
    line-height: 1.5;
    cursor: pointer;
    transition: background-color .15s ease;
}

#jevents_body ul.ev_ul li.ev_td_li:hover,
#jevents_body .jev_listview .jev_listrow li.ev_td_li:hover {
    background: #eff6f4;
}

#jevents_body a.ev_link_row:link,
#jevents_body a.ev_link_row:visited {
    z-index: 1;
    display: inline;
    margin: 0 4px;
    color: #1f2937;
    font-size: 15px;
    font-weight: 600;
    text-decoration: none;
}

/* Expande o link para a área toda do card (ancorado no li) */
#jevents_body ul.ev_ul li.ev_td_li a.ev_link_row::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 8px;
    z-index: 0;
}

#jevents_body ul.ev_ul li.ev_td_li:hover a.ev_link_row {
    color: var(--primary-color);
}

#jevents_body ul.ev_ul li.ev_td_li em,
#jevents_body ul.ev_ul li.ev_td_li i {
    position: relative;
    z-index: 1;
    color: #6b7280;
    font-style: normal;
    font-weight: 500;
}

#jevents_body .jev_listview .jev_listrow {
    border: none;
    float: none;
    margin: 0;
    padding: 8px 0;
    background: transparent;
}

/* =========================================================================
* CGE - Visualizador de arquivos EMBUTIDO na página (Phoca Download)
* ========================================================================= */
.cge-eye-btn {
display: inline-flex;
align-items: center;
gap: 6px;
background: var(--primary-color, #1C3E9D);
border: 1px solid var(--primary-color, var(--primary-color));
color: #fff !important;
border-radius: 6px;
padding: 6px 14px;
font-weight: 600;
text-decoration: none;
transition: background-color .2s ease, filter .2s ease;
}
.cge-eye-btn:hover {
background: var(--primary-color, #1C3E9D);
filter: brightness(.92);
color: #fff !important;
}
.cge-eye-btn svg { flex: 0 0 auto; }
.cge-eye-wrap { display: inline-block; }

.cge-preview-link { cursor: pointer; }

/* ---- Linha de arquivo (estilo das referências) ---- */
.cge-file-row {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 14px 18px;
    margin: 0;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    background: #fff;
    min-width: 0;
    max-width: 100%;
    width: 100%;
    box-sizing: border-box;
    overflow: hidden;
    transition: box-shadow .15s ease, border-color .15s ease;
}
.cge-file-row:hover {
    border-color: #d1d5db;
    box-shadow: 0 4px 14px rgba(0, 0, 0, .06);
}
.cge-file-icon {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #9ca3af;
    margin-top: 2px;
}
.cge-file-info {
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
}
.cge-file-name {
    display: block;
    font-weight: 700;
    color: #1f2937;
    line-height: 1.35;
    overflow: hidden;
    word-break: break-word;
    overflow-wrap: anywhere;
    /* até 2 linhas; não estoura o card */
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
}
.cge-file-ext {
    display: inline;
    margin-left: 6px;
    font-weight: 600;
    font-size: .72em;
    letter-spacing: .04em;
    color: #9ca3af;
    white-space: nowrap;
}
.cge-file-meta {
    margin-top: 3px;
    font-size: .85rem;
    color: #9ca3af;
}
.cge-file-actions {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    gap: 6px;
    margin-top: 0;
}
.cge-file-act {
display: inline-flex;
align-items: center;
justify-content: center;
width: 38px;
height: 38px;
border-radius: 8px;
color: #6b7280 !important;
cursor: pointer;
text-decoration: none;
transition: background-color .15s ease, color .15s ease;
}
.cge-file-act:hover {
color: var(--primary-color, #1C3E9D) !important;
background: #f1f5f9;
}

/* ---- Oculta o "excesso" padrão do Phoca (para bater com as referências) ---- */
.pd-category-view .ph-top,
.pd-category-view .pd-ctitle,
.pd-category-view form[name="adminForm"],
.pd-category-view .pd-cv-paginaton,
.pd-category-view .pagination,
.pd-category-view .ph-cb,
.pd-category-view a[href*="phoca.cz"] {
display: none !important;
}

/* Estado de carregamento ao trocar de pasta/categoria (AJAX) */
.cge-cat-loading { opacity: .5; transition: opacity .15s ease; pointer-events: none; }

/* Seção embutida onde a lista de arquivos é carregada (páginas SP Page Builder) */
.cge-cat-panel {
    display: none;
    width: 100%;
    max-width: 1000px; /* alinhado ao #submenu-container */
    margin: 8px auto 32px;
    padding: 0 20px;
    box-sizing: border-box;
    min-width: 0;
}
.cge-cat-panel.is-open { display: block; animation: cgeIvIn .2s ease-out; }
.cge-cat-panel .pd-category-view,
.cge-cat-panel #phoca-dl-category-box {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 20px;
    box-shadow: 0 6px 20px rgba(0, 0, 0, .06);
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    overflow: hidden; /* contém grid/títulos longos */
    min-width: 0;
}

/* Pastas (subcategorias) em card alinhado à largura do painel */
.cge-cat-panel .pd-subcategory,
#phoca-dl-category-box .pd-subcategory {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 14px 18px;
    margin: 0;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    background: #fff;
    box-sizing: border-box;
    min-width: 0;
    max-width: 100%;
    width: 100%;
}
.cge-cat-panel .pd-subcategory a,
#phoca-dl-category-box .pd-subcategory a {
    display: block;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: #1f2937;
    font-weight: 600;
    text-decoration: none;
}

/* Painel embutido (parte da página) */
.cge-iv {
display: none;
width: 100%;
margin: 16px 0 24px;
background: #fff;
border: 1px solid #e2e8f0;
border-radius: 12px;
overflow: hidden;
box-shadow: 0 10px 30px rgba(0, 0, 0, .12);
animation: cgeIvIn .2s ease-out;
}
.cge-iv.is-open { display: block; }
@keyframes cgeIvIn {
from { opacity: 0; transform: translateY(-8px); }
to   { opacity: 1; transform: none; }
}

.cge-iv-header {
display: flex;
align-items: center;
justify-content: space-between;
gap: 16px;
padding: 10px 16px;
background: var(--primary-color, #1C3E9D);
color: #fff;
}
.cge-iv-title {
font-weight: 700;
font-size: 1rem;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.cge-iv-actions {
display: flex;
align-items: center;
gap: 8px;
flex: 0 0 auto;
}
.cge-iv-btn {
display: inline-flex;
align-items: center;
gap: 6px;
height: 36px;
padding: 0 14px;
border: 1px solid rgba(255, 255, 255, .55);
border-radius: 8px;
background: rgba(255, 255, 255, .14);
color: #fff !important;
font-weight: 600;
text-decoration: none;
cursor: pointer;
transition: background-color .15s ease;
}
.cge-iv-btn:hover { background: rgba(255, 255, 255, .28); }
.cge-iv-close { font-size: 1.4rem; line-height: 1; }
.cge-iv-close span { font-size: 1rem; }

.cge-iv-body {
position: relative;
background: #525659;
height: min(78vh, 900px);
}
.cge-iv-frame {
width: 100%;
height: 100%;
border: 0;
display: block;
}
.cge-iv-loading {
position: absolute;
inset: 0;
display: none;
align-items: center;
justify-content: center;
color: #fff;
font-weight: 600;
letter-spacing: .02em;
}
.cge-iv.is-loading .cge-iv-loading { display: flex; }
.cge-iv.is-loading .cge-iv-frame { visibility: hidden; }

/* Aviso quando a categoria não possui documentos */
.cge-cat-empty {
display: block !important;
padding: 28px 20px;
text-align: center;
color: #9ca3af;
font-size: .95rem;
font-style: italic;
}

@media (max-width: 576px) {
.cge-iv-body { height: 70vh; }
.cge-iv-btn span, .cge-eye-btn span { display: none; }
}

/* Listagem de artigos (/artigo) – estilo módulo de notícias */
.cge-articles-news {
margin-top: 1rem;
}

.cge-articles-news__list {
--cge-cor: var(--primary-color);
}

.cge-articles-news .news-item {
align-items: stretch;
}

.cge-articles-news .news-img2 {
overflow: hidden;
border-radius: 4px;
}

.cge-articles-news .news-img2 img {
width: 100%;
max-width: 250px;
height: 140px;
object-fit: cover;
display: block;
transition: transform 0.4s ease;
}

.cge-articles-news .news-item:hover .news-img2 img {
transform: scale(1.05);
}

.cge-articles-news .news-body {
flex: 1;
min-width: 0;
margin-top: 0;
display: flex;
flex-direction: column;
}

.cge-articles-news .news-title {
font-size: large;
margin: 0 0 0.4rem;
}

.cge-articles-news .news-title a {
color: var(--primary-color) !important;
text-decoration: none;
}

.cge-articles-news .news-title a:hover {
color: var(--primary-hover) !important;
}

.cge-articles-news .news-intro,
.cge-articles-news .news-date {
font-size: small !important;
}

.cge-articles-news .news-intro {
color: #4b5563;
margin-bottom: 0.5rem;
}

.cge-articles-news .news-date {
margin-top: auto !important;
}

.cge-articles-news__hr {
border: 0;
height: 1px;
padding: 0;
margin: 1rem 0;
opacity: 1;
}

.cge-articles-news .com-content-category__pagination .page-item.active .page-link {
background-color: var(--primary-color);
border-color: var(--primary-color);
color: #fff !important;
}

.cge-articles-news .com-content-category__pagination .page-link {
color: var(--primary-color);
}

/** 
  Counter de itens da categoria (listagem de artigos)
  - Define a cor da borda com a variável --primary-color.
  - Define a cor do texto também usando --primary-color (com !important para sobrepor outros estilos).
  - Deixa o texto em negrito (font-weight: 700).
*/
p.com-content-category__counter.counter.float-end.pt-3.pe-2 {
    border-color: var(--primary-color);
    color: var(--primary-color) !important;
    font-weight: 700;
}

.plg_system_webauthn_login_button {
    display: none !important;
}

a.btn.btn-sm.btn-secondary.next {
    background-color: var(--primary-color) !important;
}

a.btn.btn-sm.btn-secondary.previous {
    background-color: var(--primary-color) !important;
}

/* =========================================================
   VLibras — botão no header (ao lado da pesquisa)
========================================================= */
.header-modules .cge-vlibras-dropdown {
    position: relative;
    display: inline-flex;
    align-items: center;
    margin-left: 10px;
}

.header-modules .cge-vlibras-dropdown .dropbtn-top2 {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    padding: 0;
    border: 1px solid var(--primary-color, #1C3E9D);
    border-radius: 6px;
    background: var(--primary-color, #1C3E9D);
    cursor: pointer;
    transition: background-color 0.25s ease, border-color 0.25s ease;
}

.header-modules .cge-vlibras-dropdown .dropbtn-top2:hover,
.header-modules .cge-vlibras-dropdown .dropbtn-top2:focus,
.header-modules .cge-vlibras-dropdown.is-open .dropbtn-top2 {
    background: var(--primary-hover, #FECA0A);
    border-color: var(--primary-hover, #FECA0A);
    outline: none;
}

.header-modules .cge-vlibras-dropdown .dropbtn-top2 img {
    width: 22px;
    height: 22px;
    object-fit: contain;
    display: block;
}

.header-modules .cge-vlibras-dropdown .dropdown-content {
    display: none;
    position: absolute;
    top: calc(100% + 8px);
    right: 0;
    z-index: 1050;
    min-width: 260px;
    max-width: min(320px, 90vw);
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.18);
    overflow: hidden;
}

.header-modules .cge-vlibras-dropdown.is-open .dropdown-content,
.header-modules .cge-vlibras-dropdown:hover .dropdown-content,
.header-modules .cge-vlibras-dropdown:focus-within .dropdown-content {
    display: block;
}

.header-modules .cge-vlibras-dropdown .dropdown-top2 {
    list-style: none;
    margin: 0;
    padding: 0;
}

.header-modules .cge-vlibras-dropdown .dropdown-top2 li {
    margin: 0;
    padding: 0;
    border: 0;
}

.header-modules .cge-vlibras-dropdown .dropdown-top2 img {
    display: block;
    margin: 12px auto 0;
    max-width: 132px;
    height: auto;
}

.header-modules .cge-vlibras-dropdown .dropdown-top2 p {
    margin: 0;
    padding: 14px 16px 16px;
    text-align: justify;
    color: #252525;
    font-size: 0.9rem;
    line-height: 1.45;
}

.header-modules .cge-vlibras-dropdown .dropdown-top2 a {
    color: var(--primary-color, #1C3E9D);
    font-weight: 700;
    text-decoration: none;
}

.header-modules .cge-vlibras-dropdown .dropdown-top2 a:hover {
    color: var(--primary-hover, #FECA0A);
}

/* Google Calendar — página Eventos */
.itemid-255 iframe[src*="calendar.google.com"],
.sppb-addon-content iframe[src*="calendar.google.com"],
#sp-component iframe[src*="calendar.google.com"] {
    width: 100% !important;
    max-width: 100% !important;
    display: block;
    border: 0;
    box-sizing: border-box;
}

@media (max-width: 991.98px) {
    .itemid-255 iframe[src*="calendar.google.com"],
    .sppb-addon-content iframe[src*="calendar.google.com"],
    #sp-component iframe[src*="calendar.google.com"] {
        height: 360px !important;
        max-height: 45vh !important;
    }
}

@media (max-width: 576px) {
.cge-articles-news .news-item {
    flex-direction: column !important;
}

.cge-articles-news .news-img2 {
    width: 100% !important;
    max-width: 100% !important;
}

.cge-articles-news .news-img2 img {
    max-width: 100% !important;
    width: 100% !important;
    height: 180px !important;
}

.news-item,
.mod-articles-cge .news-item {
    flex-direction: column !important;
}

.news-img2,
.mod-articles-cge .news-img2 {
    width: 100% !important;
    max-width: 100% !important;
}

    .itemid-255 iframe[src*="calendar.google.com"],
    .sppb-addon-content iframe[src*="calendar.google.com"],
    #sp-component iframe[src*="calendar.google.com"] {
        height: 300px !important;
        max-height: 40vh !important;
    }
}

/* reset senha */
.com-users-reset {
    max-width: 480px;
    margin: 3rem auto;
    padding: 2.5rem;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 2px 16px rgba(0,0,0,0.08);
}

.com-users-reset .control-group {
    display: block;
    margin-bottom: 1.2rem;
}
.com-users-reset .control-label,
.com-users-reset .controls {
    display: block;
    width: 100%;
    margin: 0;
}

/* label */
.com-users-reset .control-label label {
    font-weight: 600;
    color: #333;
    margin-bottom: 0.4rem;
}
.com-users-reset .control-label .star {
    color: var(--primary-color);
}

.com-users-reset input[type="email"],
.com-users-reset input[type="text"] {
    width: 100%;
    padding: 0.7rem 0.9rem;
    border: 1px solid #ccc;
    border-radius: 8px;
    box-sizing: border-box;
    font-size: 1rem;
}
.com-users-reset input:focus {
    border-color: var(--primary-color);
    outline: none;
}

.com-users-reset__submit {
    margin-top: 1rem;
}
.com-users-reset__submit .btn {
    background: var(--primary-color);
    color: #fff;
    border: none;
    padding: 0.7rem 1.5rem;
    border-radius: 30px;
    cursor: pointer;
    font-size: 1rem;
    width: 100%;
}
.com-users-reset__submit .btn:hover {
    background: var(--primary-hover);
}

.com-users-reset .form-control-feedback {
    color: #c00;
    font-size: 0.85rem;
    margin-top: 0.3rem;
    display: block;
}

/* ===== Home: border-radius em todas as divs ===== */
body.itemid-101 div {
    border-radius: 8px;
}

/* Cantos arredondados só em cards/slider — NÃO no header (corta dropdowns) */
body.itemid-101 #sp-slider .sp-module,
body.itemid-101 #sp-slider .n2-ss-slider,
body.itemid-101 #sp-position1 .sp-module,
body.itemid-101 #sp-position2 .sp-module,
body.itemid-101 #sp-position3 .sp-module,
body.itemid-101 .card-eventos,
body.itemid-101 .card-calculadora {
    overflow: hidden;
}

/* Dropdowns / menus: nunca clipar */
body.itemid-101 #sp-header,
body.itemid-101 #sp-header .container,
body.itemid-101 #sp-header .container-inner,
body.itemid-101 #sp-header .header-modules,
body.itemid-101 #sp-header .cge-vlibras-dropdown,
body.itemid-101 #sp-position4,
body.itemid-101 #sp-position5,
body.itemid-101 #sp-position4 .sp-module,
body.itemid-101 #sp-position5 .sp-module,
body.itemid-101 #sp-position4 .mod-menu,
body.itemid-101 #sp-position5 .mod-menu,
body.itemid-101 #sp-position4 .mod-menu > li,
body.itemid-101 #sp-position5 .mod-menu > li {
    overflow: visible !important;
}

/* Exceções: wrappers de layout (não arredondar a grade) */
body.itemid-101 .body-wrapper,
body.itemid-101 .body-innerwrapper,
body.itemid-101 .container,
body.itemid-101 .container-fluid,
body.itemid-101 .container-inner,
body.itemid-101 .row,
body.itemid-101 [class*="col-"],
body.itemid-101 .sp-column {
    border-radius: 0;
}

/* Exceções: formas já definidas (avatar / pills / círculo) */
body.itemid-101 .mod-avatar {
    border-radius: 100px 0 0 100px;
}
body.itemid-101 .mod-avatar .mod-avatar-body img {
    border-radius: 100%;
}
body.itemid-101 .mod-avatar .mod-dados .mod-btns a {
    border-radius: 20px;
}
body.itemid-101 #sp-position4 .mod-menu > li > a,
body.itemid-101 #sp-position5 .mod-menu > li > a {
    border-radius: 30px;
}
body.itemid-101 #sp-position5 {
    border-radius: 0 50px 50px 0;
}
body.itemid-101:has(#sp-position4 .mod-menu > li:nth-child(2)) #sp-position4 {
    border-radius: 0 50px 50px 0;
}
body.itemid-101 .header-modules .cge-vlibras-dropdown .dropbtn-top2 {
    border-radius: 6px;
}
body.itemid-101 .header-modules .cge-vlibras-dropdown .dropdown-content {
    border-radius: 8px;
}
