/*
 * cursos.css: estilos das páginas de curso (single-cursos.php). Subir no tema do portal, em css/cursos.css.
 *
 * Duas partes:
 *   1. Atualização (e demais categorias que não são pós): o CSS que antes ficava dentro do single-cursos.php.
 *      Todas as regras valem só fora da pós (:where(body:not(.curso-pos-graduacao)), que não altera a especificidade).
 *   2. Pós-graduação: regras sob #pos-graduacao (seção criada pelo single-cursos.php para a categoria).
 *
 * O single-cursos.php acrescenta ao <body> as classes curso-pagina, curso-<slug da categoria> e, quando o campo
 * cor_clara está marcado, curso-clara. As cores e o fundo do banner vêm do PHP como variáveis CSS:
 *   atualização:  --curso-cor-1, --curso-cor-2, --curso-cor-3 (cor_primaria, cor_secundaria, cor_terciaria),
 *                 --curso-cor-btn (cor_btn), --curso-txt-submenu (cor_txt_submenu, padrão #ffffff),
 *                 --curso-sala-h3 (título da sala de aula) e --curso-banner-bg (fundo do banner)
 *   pós:          --pos-azul, --pos-azul-esc, --pos-ouro, --pos-fundo-barra e --pos-fundo-banner
 */

/* =====================================================================
 * 1. ATUALIZAÇÃO (e demais categorias que não são pós)
 * ===================================================================== */
/* o fundo do banner (imagem do curso; nas demais categorias, degradê da cor principal sobre a imagem) vem em --curso-banner-bg */
/* custom para atualização */
* {
    /* sticky fix 
    overflow: visible !important; */
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: 200px;
  overflow: visible !important;
}
:where(body:not(.curso-pos-graduacao)) .h1,
:where(body:not(.curso-pos-graduacao)) .h2,
:where(body:not(.curso-pos-graduacao)) .h3,
:where(body:not(.curso-pos-graduacao)) h1,
:where(body:not(.curso-pos-graduacao)) h2,
:where(body:not(.curso-pos-graduacao)) h3 {
    margin-top: 0px;
}
:where(body:not(.curso-pos-graduacao)) .container {
	width: 100%;
	line-height: 1.66em;
}
:where(body:not(.curso-pos-graduacao)) .container li {
	padding: 4px 0;
}
:where(body:not(.curso-pos-graduacao)) .wpb_text_column p {
    line-height: 1.66em;
	padding: 0;
}
:where(body:not(.curso-pos-graduacao)) #sala-de-aula h3 {
	color: var(--curso-sala-h3)
}
:where(body:not(.curso-pos-graduacao)) .banner-interno h1,
:where(body:not(.curso-pos-graduacao)) .banner-interno .breadcrumb ul li a,
:where(body:not(.curso-pos-graduacao)) .banner-interno .breadcrumb ul {
    color: #fff;
}
:where(body:not(.curso-pos-graduacao)) .banner-interno {
	background-size: cover;
    background-position: center !important;
}
:where(body:not(.curso-pos-graduacao)) .cor_1 {
	color: var(--curso-cor-1);
}
:where(body:not(.curso-pos-graduacao)) .cor_2 {
	color: var(--curso-cor-2);
}
:where(body:not(.curso-pos-graduacao)) .cor_3 {
	color: var(--curso-cor-3);
}
:where(body:not(.curso-pos-graduacao)) .bgcor_1 {
	background-color: var(--curso-cor-1);
}
:where(body:not(.curso-pos-graduacao)) .bgcor_2 {
	background-color: var(--curso-cor-2);
}
:where(body:not(.curso-pos-graduacao)) .bgcor_3 {
	background-color: var(--curso-cor-3);
}
:where(body:not(.curso-pos-graduacao)) .bgcor_neutra {
	background-color: #f8f8f8;
}
:where(body:not(.curso-pos-graduacao)) .bgcor_neutra_dark {
	background-color: #dfe5ed;
}
:where(body:not(.curso-pos-graduacao)) #publico .branco,
:where(body:not(.curso-pos-graduacao)) .banner-interno h1,
:where(body:not(.curso-pos-graduacao)) .banner-interno .breadcrumb ul li a,
:where(body:not(.curso-pos-graduacao)) .banner-interno .breadcrumb ul {
	color: #fff;
}
/* curso com cor_clara: texto escuro (a classe curso-clara é acrescentada ao body pelo PHP) */
:where(body.curso-clara:not(.curso-pos-graduacao)) #publico .branco,
:where(body.curso-clara:not(.curso-pos-graduacao)) .banner-interno h1,
:where(body.curso-clara:not(.curso-pos-graduacao)) .banner-interno .breadcrumb ul li a,
:where(body.curso-clara:not(.curso-pos-graduacao)) .banner-interno .breadcrumb ul {
	color: #111 !important;
}
:where(body:not(.curso-pos-graduacao)) .slide-docente {
	margin: 0 auto;
}
:where(body:not(.curso-pos-graduacao)) .slick-dots li.slick-active button:before,
:where(body:not(.curso-pos-graduacao)) .slick-dots li button:before {
	color: #fff;
}
:where(body:not(.curso-pos-graduacao)) .banner-interno {
	background-color: var(--curso-cor-1);
	display: flex;
    justify-content: flex-start;
    align-items: center;
	position: relative;
	width: 100%;
	
	background-image: var(--curso-banner-bg);
    
	/* Ajustes essenciais para a imagem */
	  background-size: cover;
	  background-position: right;
	  background-repeat: no-repeat;
}
:where(body:not(.curso-pos-graduacao)) .btn-menu {
    display: none;
}
:where(body:not(.curso-pos-graduacao)) #form-interesse {
	background-color: #fff;
	border-radius: 12px;
	box-shadow: rgba(50, 50, 93, 0.15) 0px 30px 60px -12px, rgba(0, 0, 0, 0.2) 0px 18px 36px -18px;
	padding-bottom: 10px;
}
:where(body:not(.curso-pos-graduacao)) #form-interesse input:not([type="checkbox"]),
:where(body:not(.curso-pos-graduacao)) #form-interesse select {
	border-color: #d5d5d5 !important;
	min-height: 35px;
    border-radius: 6px !important;
	box-shadow: 6px 6px 19px -19px rgba(0, 0, 0, 0.61) inset;
	-webkit-box-shadow: 6px 6px 19px -19px rgba(0, 0, 0, 0.61) inset;
	-moz-box-shadow: 6px 6px 19px -19px rgba(0, 0, 0, 0.61) inset;
}
:where(body:not(.curso-pos-graduacao)) #extra .wpb_text_column {
    font-size: 1em !important;
}
:where(body:not(.curso-pos-graduacao)) #extra .container ul,
:where(body:not(.curso-pos-graduacao)) #extra .container ol {
	max-width: 640px;
    margin: 20px auto;
}
:where(body:not(.curso-pos-graduacao)) #barra-topo,
:where(body:not(.curso-pos-graduacao)) header.portal {
    display: none !important;
}
:where(body:not(.curso-pos-graduacao)) #barrafixa {
    justify-content: space-around;
	display: flex;
	align-items: center;
}
:where(body:not(.curso-pos-graduacao)) #barrafixa .wpb_column {
    width: auto;
    max-width: 240px;
    min-width: 160px;
}
:where(body:not(.curso-pos-graduacao)) #barrafixa .wpb_column.invst {
    min-width: 240px !important;
}
:where(body:not(.curso-pos-graduacao)) .vc_btn3 {
	border-radius: 15px;
	font-weight: bold;
	min-width: 170px;
}
:where(body:not(.curso-pos-graduacao)) .vc_btn3:hover {
	filter: brightness(1.1);
}
:where(body:not(.curso-pos-graduacao)) .slick-dots {
	left: 0;
}
:where(body:not(.curso-pos-graduacao)) .dados {
	margin-top: 20px;
}
:where(body:not(.curso-pos-graduacao)) #sobre,
:where(body:not(.curso-pos-graduacao)) #processoSeletivo {
    display: block !important;
}
:where(body:not(.curso-pos-graduacao)) #selos .lista-selos {
	display: flex;
    flex-wrap: wrap;
    align-content: center;
    justify-content: space-around;
    align-items: center !important;
    gap: 35px;
}
:where(body:not(.curso-pos-graduacao)) #selos .img-selo {
    flex: 1 0 0%;
}
:where(body:not(.curso-pos-graduacao)) .fa,
:where(body:not(.curso-pos-graduacao)) .fas {
	color: var(--curso-cor-2);
}
:where(body:not(.curso-pos-graduacao)) .icon-grad .fa {
    font-size: 2.25em;
    float: left;
    margin-right: 15px;
}
:where(body:not(.curso-pos-graduacao)) .rmenu {
    width: 100%;
}
:where(body:not(.curso-pos-graduacao)) .cardcvdoc {
	max-width: 760px;
	background-color: #fff;
	padding: 35px;
	box-sizing: border-box;
	border-radius: 0px;
}
:where(body:not(.curso-pos-graduacao)) .gfx-elemento1 {
    position: absolute;
    right: -400px;
    top: -80px;
    z-index: 0;
	width: 520px;
	height: 280px;
	border-top-left-radius: 100px;
	background-color: var(--curso-cor-1);
}
:where(body:not(.curso-pos-graduacao)) .gfx-elemento1 img {
	opacity: 0;
}	
:where(body:not(.curso-pos-graduacao)) .gfx-elemento2 {
    position: absolute;
    left: -400px;
    top: -80px;
    z-index: 0;
    filter: hue-rotate(190deg) brightness(0.25);
}
:where(body:not(.curso-pos-graduacao)) #headmenu {
    position: fixed;
    width: 100%;
    z-index: 999;
    left: 0;
    top: 0;
    padding: 20px;
    box-sizing: border-box;
    background: #091e3aE0;
    backdrop-filter: blur(48px);
}
:where(body:not(.curso-pos-graduacao)) #lp-top-menu {
    display: flex;
    align-items: center;
}
:where(body:not(.curso-pos-graduacao)) #lp-top-menu ul {
	list-style: none;
    margin: 0;
	display: flex;
    justify-content: flex-end;
    align-items: center;
}
:where(body:not(.curso-pos-graduacao)) #lp-top-menu li a {
    color: #fff;
    padding: 3px 25px;
    text-transform: uppercase;
	font-weight: 600;
	text-decoration: none;
}
:where(body:not(.curso-pos-graduacao)) #lp-top-menu li a:hover {
    color: var(--curso-cor-1);
}

/* reset */
:where(body:not(.curso-pos-graduacao)) .vc_btn3.vc_btn3-shape-rounded {
    border-radius: 15px !important;
}
:where(body:not(.curso-pos-graduacao)) .vc_btn3.vc_btn3-size-md {
    font-size: 15px;
    font-weight: bold;
    padding-right: 45px;
    padding-left: 45px;
    text-align: center;
}
:where(body:not(.curso-pos-graduacao)) #materiais ul {
  columns: 2;
  -webkit-columns: 2;
  -moz-columns: 2;
  list-style: none;
  padding: 0;
  line-height: 1.66rem;
}
:where(body:not(.curso-pos-graduacao)) .cardlink {
	text-decoration: none !important;
}
:where(body:not(.curso-pos-graduacao)) .cardprof .vc_column-inner {
    background-color: #fff;
    color: #111;
    box-sizing: border-box;
    padding: 0 !important;
}
:where(body:not(.curso-pos-graduacao)) .cardprof:hover img {
    filter: grayscale(0);
}
:where(body:not(.curso-pos-graduacao)) .cardprof {
    transition: all 0.5s ease;
	overflow: hidden !important;
	cursor: pointer;
}
:where(body:not(.curso-pos-graduacao)) .cardprof:hover {
    transform: translateY(7px);
}
:where(body:not(.curso-pos-graduacao)) .cardprof img {
    width: 100%;
    height: 215px;
    object-fit: cover;
    transition: all 0.6s ease;
    filter: grayscale(1);
}

:where(body:not(.curso-pos-graduacao)) .cardprof .wpb_text_column {
    padding: 0 25px !important;
	margin-bottom: 20px;
	height: 230px;
	overflow-y: auto;
}
:where(body:not(.curso-pos-graduacao)) .cardprof .wpb_single_image .vc_figure,
:where(body:not(.curso-pos-graduacao)) .cardprof .wpb_single_image .vc_single_image-wrapper {
    width: 100% !important;
}
:where(body:not(.curso-pos-graduacao)) .section-padding {
	padding: 4rem 0;
}
:where(body:not(.curso-pos-graduacao)) #descubra h3 {
    border: 2px solid #00d8ff;
    box-sizing: border-box;
    padding: 6px 10px !important;
    line-height: 1.35em;
    border-radius: 12px;
    margin-bottom: 15px;
}
:where(body:not(.curso-pos-graduacao)) #institucional .vc_custom_heading {
    font-size: 1.86em !important;
}
:where(body:not(.curso-pos-graduacao)) #docentes {
    overflow-y: hidden !important;
}

:where(body:not(.curso-pos-graduacao)) .valores em {
    font-style: normal !important;
    font-size: 1.35rem;
    margin: 10px 0;
    display: inline-block;
}

:where(body:not(.curso-pos-graduacao)) .vc_btn3.vc_btn3-color-orange,
:where(body:not(.curso-pos-graduacao)) .vc_btn3.vc_btn3-color-orange.vc_btn3-style-flat {
    background-color: var(--curso-cor-btn) !important;
}
:where(body:not(.curso-pos-graduacao)) .vc_btn3.vc_btn3-color-info,
:where(body:not(.curso-pos-graduacao)) .vc_btn3.vc_btn3-color-info.vc_btn3-style-flat {
    background-color: var(--curso-cor-btn) !important;
}
:where(body:not(.curso-pos-graduacao)) .tab-content.tab-pucc h3,
:where(body:not(.curso-pos-graduacao)) .tab-content.tab-pucc h2 {
    border-bottom: 0;
}
:where(body:not(.curso-pos-graduacao)) .corners-dir {
    overflow: hidden !important;
    border-radius: 0px 100px 0px 100px;
    object-fit: cover;
    width: 100%;
    max-height: 420px;
}
:where(body:not(.curso-pos-graduacao)) .corners-esq {
    overflow: hidden !important;
    border-radius: 100px 0px 100px 0px;
	object-fit: cover;
    width: 100%;
    max-height: 420px;
}
:where(body:not(.curso-pos-graduacao)) .banner-interno .chamada {
    margin-top: 80px;
}
:where(body:not(.curso-pos-graduacao)) .botao-padrao {
    padding: 2px 36px;
}
:where(body:not(.curso-pos-graduacao)) .coord-pic img {
    width: 130px;
    height: 130px;
    border-radius: 50%;
    border: 1px solid #ced0ce;
    overflow: hidden !important;
}

:where(body:not(.curso-pos-graduacao)) .banner-interno p {
    font-size: 1.2em;
    line-height: 1.4em;
    max-width: 500px;
}
:where(body:not(.curso-pos-graduacao)) .nav.nav-pucc,
:where(body:not(.curso-pos-graduacao)) #corpoDocente {
    display: none !important;
}
:where(body:not(.curso-pos-graduacao)) .select2-choice {
    padding-left: 10px !important;
}
:where(body:not(.curso-pos-graduacao)) #dontGo { display: none;}

:where(body:not(.curso-pos-graduacao)) .owl-carousel .owl-stage-outer {
    overflow: hidden !important;
}
:where(body:not(.curso-pos-graduacao)) #wapp .fa-whatsapp {
    top: 0;
}
:where(body:not(.curso-pos-graduacao)) #wapp {
    overflow: hidden !important;
}
:where(body:not(.curso-pos-graduacao)) .breadcrumb ul {
    position: absolute;
    top: 55px;
}

:where(body:not(.curso-pos-graduacao)) .banner-interno {
    background-position-x: left;
    margin-top: 78px;
}
:where(body:not(.curso-pos-graduacao)) .banner-interno h1 {
    max-width: 570px;
    font-size: 2.75em !important;
}

:where(body:not(.curso-pos-graduacao)) .nav>li>a {
    padding: 16px 13px!important;
}
:where(body:not(.curso-pos-graduacao)) .disciplinas table {
    max-width: 100% !important;
}
:where(body:not(.curso-pos-graduacao)) .disciplinas table strong {
    color: #003383 !important;
}
:where(body:not(.curso-pos-graduacao)) .widget-detalhes-curso li {
    padding: 0;
}

:where(body:not(.curso-pos-graduacao)) #compre {
    position: sticky !important;
    top: 88px;
    z-index: 98;
    left: 0px !important;
	padding: 10px 0;
	color: var(--curso-txt-submenu);
	background-color: var(--curso-cor-2) 
}
:where(body:not(.curso-pos-graduacao)) #compre.active .maxwidth {
    max-width: 1390px;
}
:where(body:not(.curso-pos-graduacao)) #compre p {
	padding: 0 !important;
	margin: 0 !important;
}
:where(body:not(.curso-pos-graduacao)) .tab-content.tab-pucc h3 {
    font-size: 1.75em !important;
    margin: 15px 0;
    font-weight:bold;
}
:where(body:not(.curso-pos-graduacao)) .widget-detalhes-curso li strong {
    color: #fff !important;
    padding-left: 0px !important;
    padding-right: 3px;
    font-size: 1.2em;
}
:where(body:not(.curso-pos-graduacao)) h3.azul,
:where(body:not(.curso-pos-graduacao)) .widget h3 {
    font-size: 2em !important;
    font-weight: bold;
}
:where(body:not(.curso-pos-graduacao)) .tabelaValores {
    background-image: linear-gradient(to right bottom, #d1a54f, #bc9344, #a78138, #92702e, #7e5f23) !important;
    padding: 20px 25px;
    color: #fff;
    text-align: center;
    border-radius: 9px;
}
:where(body:not(.curso-pos-graduacao)) .tabelaValores h3 {
    font-size: 1.8em !important;
    font-weight: bold;
    line-height: 1.3em;
    
}
:where(body:not(.curso-pos-graduacao)) .widget {
    margin-bottom: 1rem !important;
}
:where(body:not(.curso-pos-graduacao)) .widget h3 {
    color: #003383;
}
:where(body:not(.curso-pos-graduacao)) .titulo-more {
    font-size: 0.8em !important;
}

:where(body:not(.curso-pos-graduacao)) #saibamais {
    font-size: 1.25em;
    line-height: 1.5em;
}
:where(body:not(.curso-pos-graduacao)) .widget-detalhes-curso span {
    display: block;
    font-size: 0.9em;
}
:where(body:not(.curso-pos-graduacao)) .widget-detalhes-curso .icons-curso,
:where(body:not(.curso-pos-graduacao)) #compre .icons-curso {
    display: inline-block;
    margin-right: 15px;
    float: left;
    font-size: 32px;
	margin-top: 5px;
    color: var(--curso-cor-1);
}
:where(body:not(.curso-pos-graduacao)) .widget-detalhes-curso li {
    max-width: 240px;
    min-width: 125px;
    margin-right: 40px;
}
:where(body:not(.curso-pos-graduacao)) .banner-interno .breadcrumb {
    z-index: 3;
    position: absolute;
	background-color: transparent !important;
    border-radius: 0;
    width: 100%;
    top: 0;
}
:where(body:not(.curso-pos-graduacao)) .coord {
    background-color: #f4f4f4;
}
:where(body:not(.curso-pos-graduacao)) .icons-curso.fa-phone {
    display: none;
}
:where(body:not(.curso-pos-graduacao)) #botao-folder-inscricao.active {
    display: block !important;
    float: right;
    margin-top: -8px;
    width: 100%;
    max-width: 200px !important;
}
:where(body:not(.curso-pos-graduacao)) #botao-folder-inscricao a {
    display: block;
    margin: 7px auto;
}
:where(body:not(.curso-pos-graduacao)) .preco.inactive {
    display: none !important;
}
:where(body:not(.curso-pos-graduacao)) .inscricao {
    margin-bottom: 0;    
}
:where(body:not(.curso-pos-graduacao)) .inscricao a:hover {
    background: #d4a23f !important;
}
:where(body:not(.curso-pos-graduacao)) .vc_tta-panel.vc_active h4:after {
	transform: rotate(0);
	color: #fff !important;
}

:where(body:not(.curso-pos-graduacao)) .vc_tta-panel h4:after { 
	content: '🢓';
    position: absolute;
    right: 15px;
    top: 35%;
    height: 16px;
	color: #333;
    font-size: 4rem !important;
    transform: rotate(180deg);
	transition: all 0.3s ease;
}
:where(body:not(.curso-pos-graduacao)) .vc_tta-panel h4 {
	position: relative;
	padding: 15px !important;
	box-sizing: border-box;
	margin: 1px 0 !important;
}
:where(body:not(.curso-pos-graduacao)) .vc_tta-panel-body {
	padding: 15px !important;
	box-sizing: border-box;
	background-color: #fafafa;
}
:where(body:not(.curso-pos-graduacao)) .vc_tta-panel h4:hover {
	cursor: pointer;
}
:where(body:not(.curso-pos-graduacao)) .vc_tta-panel:nth-child(odd) h4 {
    background-color: #eeecec !important;
    transition: all 0.3s ease;
}
:where(body:not(.curso-pos-graduacao)) .vc_tta-panel:nth-child(even) h4 {
    background-color: #f4ede5 !important;
    transition: all 0.3s ease;
}
:where(body:not(.curso-pos-graduacao)) .vc_tta-panel h4:hover,
:where(body:not(.curso-pos-graduacao)) .vc_tta-panel.vc_active h4 {
    background-color: #111 !important;
}
:where(body:not(.curso-pos-graduacao)) .vc_tta-panel-heading:hover .vc_tta-title-text,
:where(body:not(.curso-pos-graduacao)) .vc_tta-panel.vc_active .vc_tta-title-text {
    color: #eeeeee !important;
}
:where(body:not(.curso-pos-graduacao)) .vc_tta-panel-heading .vc_tta-title-text {
    color: #091e3a !important;
	max-width: 90%;
    display: block;
}


@media screen and (max-width: 960px) {
    :where(body:not(.curso-pos-graduacao)) #headmenu .vc_column_container {
        padding-left: 0px !important;
        padding-right: 0px !important;
    }
    :where(body:not(.curso-pos-graduacao)) .gfx-elemento1,
:where(body:not(.curso-pos-graduacao)) .gfx-elemento2 {
        display: none;
    }
}

@media screen and (max-width: 1520px) {
    :where(body:not(.curso-pos-graduacao)) .gfx-elemento2 {
        display: none;
    }
}

@media screen and (max-width: 480px) {
   :where(body:not(.curso-pos-graduacao)) .banner-interno .chamada {
       margin-top: 0px !important;
   }
   :where(body:not(.curso-pos-graduacao)) .banner-interno p {
		font-size: 1em;
	}
   :where(body:not(.curso-pos-graduacao)) #barrafixa {
		flex-wrap: wrap;
		flex-direction: column;
	}
	:where(body:not(.curso-pos-graduacao)) #selos .lista-selos {
		gap: 20px;
	}
	:where(body:not(.curso-pos-graduacao)) h2 strong {
		display: inline-block;
	}
	:where(body:not(.curso-pos-graduacao)) h2 {
		font-size: 1.75em !important;
	}
	:where(body:not(.curso-pos-graduacao)) .banner-interno h1 {
		font-size: 1.5em !important;
	}
   :where(body:not(.curso-pos-graduacao)) .banner-interno .chamada .conceito {
       margin-top: 40px !important;
   }
   :where(body:not(.curso-pos-graduacao)) .banner-interno {
       padding-bottom: 0;
	   align-items: center;
	   background-size: 250% !important;
       background-position: 67% bottom !important;
	   min-height: 340px;
   }
   :where(body:not(.curso-pos-graduacao)) .titulo h1 {
	   text-shadow: 2px 2px 8px #0000007a;
   }
   :where(body:not(.curso-pos-graduacao)) #headmenu {
		position: absolute;
   }
   :where(body:not(.curso-pos-graduacao)) .breadcrumb ul {
       position: initial;
       top: auto;
   }
   :where(body:not(.curso-pos-graduacao)) #lp-top-menu li a {
        display: block;
        font-size: 1.5rem;
        padding: 10px 0;
    }
    :where(body:not(.curso-pos-graduacao)) #lp-top-menu {
        position:absolute;
        margin: 0;
    }
    :where(body:not(.curso-pos-graduacao)) .rmenu {
        margin: 15px auto;
        display: none;
    }
   :where(body:not(.curso-pos-graduacao)) .selo-melhor {
       right: 5px;
        left: auto;
        width: 96px;
   }
   
   :where(body:not(.curso-pos-graduacao)) .breadcrumb {
        padding: 20px 0px 0px 20px;
    }
    :where(body:not(.curso-pos-graduacao)) .preco {
        clear: both;
    }
    :where(body:not(.curso-pos-graduacao)) .icon-grad .fa {
        display: block;
        float: none !important;
    }
    :where(body:not(.curso-pos-graduacao)) #barrafixa .wpb_column {
        width: 100% !important;
		margin: 5px;
}
	:where(body:not(.curso-pos-graduacao)) #barrafixa .wpb_column:last-child {
		 width: 80% !important;
		 margin: 16px 0 0 0;
	}
    :where(body:not(.curso-pos-graduacao)) #barrafixa .wpb_column.invst {
        min-width: 50% !important;
    }
    :where(body:not(.curso-pos-graduacao)) #botao-folder-inscricao {
        width: 100% !important;
    }
    :where(body:not(.curso-pos-graduacao)) .btn-menu {
        display: block;
        position: absolute;
        right: 20px;
		font-size: 4rem;
    }
     :where(body:not(.curso-pos-graduacao)) #lp-top-menu li {
        border-right: 0;
    }
    :where(body:not(.curso-pos-graduacao)) .intro,
:where(body:not(.curso-pos-graduacao)) .intro .vc_column-inner {
        padding: 0 !important;
    }
    :where(body:not(.curso-pos-graduacao)) #lp-top-menu ul {
        flex-direction: column;
        padding-left: 0;
    }
    :where(body:not(.curso-pos-graduacao)) #lp-top-menu {
        position: initial !important;
        width: 100% !important;
		align-items: stretch;
		flex-direction: column;
		align-content: space-around;
		justify-content: flex-start;
    }
	:where(body:not(.curso-pos-graduacao)) .breadcrumb {
		display: none;
	}
	:where(body:not(.curso-pos-graduacao)) .row {
        margin: 5px auto !important;
    }
    :where(body:not(.curso-pos-graduacao)) #botao-folder-inscricao.active {
       display: block !important;
       float: none;
       margin: 0 auto;
       width: 100%;
       clear: both;
       max-width: 320px !important;
    }
    :where(body:not(.curso-pos-graduacao)) #selos .img-selo {
        flex: 1 0 16%;
    }
	:where(body:not(.curso-pos-graduacao)) .dados {
        background: #00000095;
        border-radius: 20px;
        padding: 3px 15px;
        max-width: 74%;
        box-sizing: border-box;
    }
   :where(body:not(.curso-pos-graduacao)) .conceito p {
       padding: 15px;
       margin: 0 auto;
    }
    :where(body:not(.curso-pos-graduacao)) .logopuc {
		max-width: 72px;
	}
   :where(body:not(.curso-pos-graduacao)) #compre {
       top: -275px;
   }
}

/* =====================================================================
 * 2. PÓS-GRADUAÇÃO
 * ===================================================================== */
html:has(body.curso-pos-graduacao) {
	scroll-behavior: smooth;
	scroll-padding-top: 180px;
	overflow: visible !important;
}
body.curso-pos-graduacao,
body.curso-pos-graduacao #main_container,
#pos-graduacao {
	overflow: visible !important; /* a barra fixa (sticky) não funciona com ancestrais com overflow */
}

/* ---------- Seções ---------- */
#pos-graduacao .pos-secao {
	padding: 40px 0;
}
#pos-graduacao .tab-content.tab-pucc h3,
#pos-graduacao .tab-content.tab-pucc h2 {
	border-bottom: 0;
}
#pos-graduacao h3.azul,
#pos-graduacao .widget h3 {
	font-size: 2em !important;
	font-weight: bold;
	color: var(--pos-azul-esc, #003383);
}
#pos-graduacao .widget {
	margin-bottom: 1rem !important;
}

/* ---------- Banner ---------- */
#pos-graduacao .banner-interno {
	position: relative;
	display: flex;
	align-items: center;
	width: 100%;
	min-height: 340px;
	padding: 0 0 15px;
	background: var(--pos-fundo-banner, linear-gradient(to right bottom, #0071da, #1855ac, #173a80, #0e2257, #060932));
	background-size: cover;
	background-repeat: no-repeat;
	background-position: right center;
}
#pos-graduacao .banner-interno > .container {
	width: 100%;
}
#pos-graduacao .banner-interno .breadcrumb {
	position: relative;
	z-index: 1;
	background-color: transparent !important;
	border-radius: 0;
	padding-left: 0;
}
#pos-graduacao .banner-interno .breadcrumb ul {
	position: static;
	margin: 0;
	padding: 20px 0 0;
	color: #fff;
}
#pos-graduacao .banner-interno .breadcrumb ul li a {
	color: #fff;
}
#pos-graduacao .banner-interno .chamada {
	margin-top: 40px;
}
#pos-graduacao .banner-interno h1 {
	max-width: 815px;
	margin-top: 0;
	color: #fff;
	font-size: 2.75em !important;
}
#pos-graduacao .banner-interno h1 em {
	display: inline-block;
	box-sizing: border-box;
	margin-top: 0;
	padding: 3px 15px !important;
	border-radius: 35px;
	background-color: var(--pos-azul-esc, #003383);
	color: #fff;
	font-size: 0.55em !important;
	font-style: normal;
	font-weight: bolder;
	line-height: 1.5em;
	text-transform: uppercase;
	transform: translateY(-4px);
}
#pos-graduacao .banner-interno #kv img {
	max-width: 100%;
	height: auto;
}

/* ---------- Barra fixa (#compre) ---------- */
#pos-graduacao #compre {
	position: sticky !important;
	top: 67px;
	z-index: 98;
	padding: 20px 0;
	background: var(--pos-fundo-barra, linear-gradient(to left top, #0076d6, #006cc1, #0062ab, #005796, #014d82));
	color: #fff;
}
#pos-graduacao #compre.active .maxwidth {
	max-width: 1390px;
}
#pos-graduacao .pos-barra__in {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
}
#pos-graduacao #compre .widget,
#pos-graduacao #compre .widget .content {
	margin: 0 !important;
}
#pos-graduacao #compre .widget-detalhes-curso {
	display: flex;
	flex-wrap: wrap;
	margin: 0;
	padding: 0;
	list-style: none;
}
#pos-graduacao .widget-detalhes-curso li {
	max-width: 240px;
	min-width: 125px;
	margin-right: 40px;
	padding: 0;
}
#pos-graduacao .widget-detalhes-curso li strong {
	padding-right: 3px;
	padding-left: 0 !important;
	color: #fff !important;
	font-size: 1.2em;
}
#pos-graduacao .widget-detalhes-curso span {
	display: block;
	font-size: 0.9em;
}
#pos-graduacao .widget-detalhes-curso .icons-curso,
#pos-graduacao #compre .icons-curso {
	display: inline-block;
	float: left;
	margin-right: 15px;
	font-size: 32px;
}
#pos-graduacao .icons-curso.fa-phone {
	display: none;
}
#pos-graduacao #compre .preco strong {
	color: #fff !important;
	font-size: 1.2em;
}
#pos-graduacao #compre .preco span {
	display: block;
	font-size: 0.9em !important;
}
#pos-graduacao #compre .preco a {
	color: #fff;
	text-decoration: underline;
}
#pos-graduacao #compre .preco a:hover {
	opacity: 0.66;
}
/* os botões da barra só aparecem depois de rolar a página (classe .active, ativada pelo script do template) */
#pos-graduacao #botao-folder-inscricao {
	display: none;
	width: 100%;
	max-width: 200px;
}
#pos-graduacao #compre.active #botao-folder-inscricao {
	display: block;
}
#pos-graduacao #botao-folder-inscricao a {
	display: block;
	margin: 7px auto;
}

/* ---------- Botões ---------- */
#pos-graduacao .vc_btn3 {
	border-radius: 15px;
	font-weight: bold;
	min-width: 170px;
}
#pos-graduacao .vc_btn3:hover {
	filter: brightness(1.1);
}
#pos-graduacao .vc_btn3.vc_btn3-color-orange,
#pos-graduacao .vc_btn3.vc_btn3-color-orange.vc_btn3-style-flat {
	background-color: var(--pos-ouro, #D4A23F);
}

/* ---------- Vídeo ---------- */
#pos-graduacao .pos-video {
	padding: 50px 0;
	background-color: #f4f4f4;
}
#pos-graduacao .pos-video__wrap {
	position: relative;
	padding-top: 56.25%;
}
#pos-graduacao .pos-video__wrap iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/* ---------- Institucional (blocos do plugin): sem abas, "Sobre" e "Processo Seletivo" empilhados ---------- */
#pos-graduacao #institucional .nav.nav-pucc,
#pos-graduacao #institucional #corpoDocente {
	display: none !important;
}
#pos-graduacao #institucional #sobre,
#pos-graduacao #institucional #processoSeletivo {
	display: block !important;
}
#pos-graduacao #institucional .tab-content.tab-pucc h3 {
	margin: 15px 0;
	font-size: 1.75em !important;
	font-weight: bold;
}

/* ---------- Programa do curso (trimestres) ---------- */
#pos-graduacao .pos-grade {
	display: flex;
	flex-wrap: wrap;
}
#pos-graduacao .pos-grade:before,
#pos-graduacao .pos-grade:after {
	display: none; /* a limpeza de flutuação do Bootstrap viraria item do flex */
}
#pos-graduacao .pos-grade > div {
	margin-bottom: 15px;
}
#pos-graduacao .disciplinas table {
	width: 100%;
	max-width: 100% !important;
}
#pos-graduacao .disciplinas table strong {
	color: var(--pos-azul-esc, #003383) !important;
}
#pos-graduacao .pos-grade__obs {
	margin-top: 10px;
}

/* ---------- Docentes e coordenador ---------- */
#pos-graduacao .slide-docente-pos .pos-doc {
	padding: 0 10px;
}
#pos-graduacao .cardlink {
	text-decoration: none !important;
}
#pos-graduacao .cardprof {
	margin-bottom: 30px;
	overflow: hidden !important;
	cursor: pointer;
	transition: all 0.5s ease;
}
#pos-graduacao .cardprof:hover {
	transform: translateY(7px);
}
#pos-graduacao .cardprof .vc_column-inner {
	box-sizing: border-box;
	padding: 0 !important;
	background-color: #fff;
	color: #111;
}
#pos-graduacao .cardprof img {
	width: 100%;
	height: 215px;
	object-fit: cover;
	filter: grayscale(1);
	transition: all 0.6s ease;
}
#pos-graduacao .cardprof:hover img {
	filter: grayscale(0);
}
#pos-graduacao .cardprof .wpb_text_column {
	height: 230px;
	margin-bottom: 20px;
	padding: 0 25px !important;
	overflow-y: auto;
}
#pos-graduacao .cardcvdoc {
	max-width: 760px;
	box-sizing: border-box;
	padding: 35px;
	background-color: #fff;
}
#pos-graduacao .slick-dots {
	left: 0;
}
#pos-graduacao .coord-pic img {
	width: 130px;
	height: 130px;
	border: 1px solid #ced0ce;
	border-radius: 50%;
	object-fit: cover;
	overflow: hidden !important;
}
#pos-graduacao .pos-coord {
	text-align: center;
}

/* ---------- Perguntas frequentes ---------- */
#pos-graduacao .pos-faq {
	background-color: #f8f8f8;
}
#pos-graduacao .pos-faq .vc_tta-panel h4 {
	position: relative;
	margin: 1px 0 !important;
	padding: 15px !important;
	box-sizing: border-box;
	background-color: #9b9ba5 !important;
	transition: all 0.3s ease;
	cursor: pointer;
}
#pos-graduacao .pos-faq .vc_tta-panel h4:hover,
#pos-graduacao .pos-faq .vc_tta-panel.vc_active h4 {
	background-color: #111 !important;
}
#pos-graduacao .pos-faq .vc_tta-title-text {
	display: block;
	max-width: 95%;
	color: #fff !important;
}
#pos-graduacao .pos-faq .vc_tta-panel-body {
	box-sizing: border-box;
	padding: 15px !important;
	background-color: #fafafa;
}

/* ---------- Contato ---------- */
#pos-graduacao .pos-contato {
	padding: 25px 0;
}
#pos-graduacao .pos-contato .widget-detalhes-curso li {
	max-width: none;
	margin-right: 0;
}

/* ---------- Faixa "Inscreva-se" ---------- */
#pos-graduacao .pos-inscreva {
	padding: 55px 0 25px;
	background-color: var(--pos-azul, #1e73be);
	color: #fff;
}
#pos-graduacao .pos-inscreva .btn-pos {
	max-width: 420px;
	margin: 0 auto 20px;
}

/* ---------- Investimento e "Tenho interesse" ---------- */
#pos-graduacao .pos-interesse {
	padding: 50px 0;
	background-color: #f4f4f4;
}
#pos-graduacao .tabelaAzul th {
	background-image: linear-gradient(to right bottom, #d1a54f, #bc9344, #a78138, #92702e, #7e5f23) !important;
}
#pos-graduacao .pos-interesse .sombras {
	padding: 20px 25px;
	border-radius: 12px;
	background-color: #fff;
	box-shadow: rgba(50, 50, 93, 0.15) 0 30px 60px -12px, rgba(0, 0, 0, 0.2) 0 18px 36px -18px;
}

/* ---------- Quadro de normas ---------- */
#pos-graduacao .pos-normas {
	padding-top: 35px;
}

/* ---------- Celular ---------- */
@media screen and (max-width: 768px) {
	#pos-graduacao .banner-interno .chamada {
		margin-top: 20px;
	}
	#pos-graduacao .pos-barra__in {
		flex-direction: column;
		align-items: flex-start;
	}
}
@media screen and (max-width: 480px) {
	#pos-graduacao .banner-interno h1 {
		font-size: 1.75em !important;
	}
	#pos-graduacao #compre {
		top: -275px; /* mantém visíveis só os botões, no fim da barra, enquanto rola */
	}
	#pos-graduacao #botao-folder-inscricao,
	#pos-graduacao #compre.active #botao-folder-inscricao {
		max-width: 320px;
		margin: 0 auto;
	}
	#pos-graduacao .banner-interno .breadcrumb {
		display: none;
	}
	#pos-graduacao .widget-detalhes-curso li {
		margin-right: 20px;
	}
}
