/**
 * Layout global — templates partilhados (ex-template.css)
 *
 * Secções, blog, paginação, 404… (Forminator → plugins/ | CF7 contactos → components/forms-contact.css)
 * Header → layout/header.css | Footer → layout/footer.css
 */

/* Tokens (:root) → css/tokens/variables.css */

.white{
    color: var(--color-surface-base);
}

.black {
    color: var(--color-text-primary);
}

.filter-black{
    filter: brightness(0) saturate(100%) invert(14%) sepia(22%) saturate(939%) hue-rotate(174deg) brightness(93%) contrast(95%);
}

.links{
    color: var(--color-link-default);
}

.links-header{
    color: var(--color-primary-dark);
}

.bold{
    font-weight: var(--font-weight-bold);
}

.active-link{color: var(--color-interactive-active) !important;}

/* Tipografia — stack em css/tokens/typography.css (--font-family-base) */
body {
	font-family: var(--font-family-base) !important;
	font-weight: var(--font-weight-base);
	color: var(--color-text-primary);
	font-synthesis: none;
}

/* Destaque — máx. 600 (sem 700/900 em Plus Jakarta) */
body :where(b, strong) {
	font-weight: var(--font-weight-bold);
}

body :where(.fw-bold, .fw-bolder, .fw-black) {
	font-weight: var(--font-weight-bold) !important;
}

/* Plus Jakarta: sem peso 900 (Bootstrap .fw-black já mapeado acima) */
body :where(h1, h2, h3, h4, h5, h6, p, a, li, label, button, .btn):not(.fa):not([class*="fa-"]) {
	font-synthesis: none;
}

.subTitle{
    font-weight: var(--font-weight-bold);
    font-size: var(--font-size-24);
    margin-bottom: .1rem;
}

.link-primary-color:hover{
    color: var(--color-primary-dark);
}


/* reCAPTCHA badge — escondido via CSS (texto legal obrigatório nas páginas com formulários) */
.grecaptcha-badge {
    visibility: hidden !important;
}


/* END Tipografia */

/* Button scroll top */
.wrap-arrows-top {
  width: 45px;
  height: 45px;
  border-radius: 50%;
  background-color: var(--color-primary-light);
  position: fixed;
  bottom: 25px;
  right: 10px;
  z-index: 99999;
  cursor: pointer;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: opacity .5s, visibility .5s;
  -moz-transition: opacity .5s, visibility .5s;
  transition: opacity .5s, visibility .5s; 
  display: flex;
  justify-content: center;
  align-items: center;
  color: var(--color-primary-dark);
}

.showScrollTop {
  opacity: 1;
  visibility: visible; 
}

.center-arrows-goTop{
    display: flex;
    justify-content: center;
    align-items: center;
}
/* END Button scroll top */

a{ cursor: pointer; color: var(--color-link-default); text-decoration: none;}

.link_nav_tax{ color: var(--color-text-primary);}
.link_nav_tax:hover{ color: var(--color-primary-light);}


/* Não fazer opacity no logo no header */
a:hover.not-hover{
  opacity: 1;
  
}

.artigos a:hover{
   opacity: .8;
   color: var(--color-primary-muted);
}

.avatar {
    object-fit: contain !important;
}

img.avatar-big {
    aspect-ratio: 500 / 300;
    object-fit: contain;
}

.img-error404 {
    display: block;
    width: min(188px, 100%);
    height: auto;
    max-width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: contain;
}

/* .img-error404 md+ → bloco Responsive no fim do ficheiro */

/* Tipografia editorial → css/tokens/typography.css */

.not-hover{
    display: flex;
}

a:hover{text-decoration: none; opacity: .8;}


.clearfix::after {
  content: "";
  clear: both;
  display: table;
}

.smaller-to-bigger, .bigger-to-smaller{cursor: pointer;}

/* Fonts -------------------------------------------------------------------------------------------------------*/



/* END Fonts -------------------------------------------------------------------------------------------------------*/


.clearfix::after {
  content: "";
  clear: both;
  display: table;
}





/* Read More */
.wrap-facilitadore-readMore{
    cursor: pointer;
}

.wrap-text-descricao p{
    font-size: var(--font-size-14);
    line-height: 1.7;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    text-overflow: ellipsis;
    word-break: break-word;
    -webkit-line-clamp: 2;
}


.wrap-text-descricao{
    height: 50px;
    overflow: hidden;
}

.wrap-text-descricao.visible{
    height: auto;
}

.wrap-text-descricao.visible p{
    -webkit-line-clamp: initial;
}





/* politica de privacidade ------------------------*/
#site-content{
    width: 90%;
    margin: 50px auto;
    max-width: 1200px;
}

.cookie-bar .ctcc-left-side{
  font-size: var(--font-size-14);
}

/*
 * UK Cookie Consent — posição fixa em baixo (CLS). Layout mobile só < lg.
 * Breakpoints: docs/BREAKPOINTS.md (lg = 992px).
 */
html.has-cookie-bar {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}

#catapult-cookie-bar {
	position: fixed !important;
	top: auto !important;
	bottom: 0 !important;
	left: 0 !important;
	right: 0 !important;
	width: 100% !important;
	box-sizing: border-box;
	z-index: 100000;
}

#catapult-cookie-bar .ctcc-left-side a.ctcc-more-info-link,
#catapult-cookie-bar a.ctcc-more-info-link,
.cookie-bar .ctcc-left-side a,
.cookie-bar a.ctcc-more-info-link {
	color: var(--color-surface) !important;
	font-weight: 600 !important;
	text-decoration: underline !important;
	text-decoration-line: underline !important;
	text-decoration-thickness: max(2px, 0.12em) !important;
	text-underline-offset: 0.15em !important;
	text-decoration-color: currentColor !important;
}

/* até lg-1 | max-width: 991px — texto em cima, botão em baixo */
@media (max-width: 991px) {
	#catapult-cookie-bar {
		padding: 0.75rem 1rem !important;
		min-height: 0 !important;
	}

	#catapult-cookie-bar .ctcc-inner {
		display: flex !important;
		flex-direction: column !important;
		align-items: stretch !important;
		gap: 0.625rem;
	}

	#catapult-cookie-bar .ctcc-left-side,
	#catapult-cookie-bar .ctcc-right-side,
	#catapult-cookie-bar.float-accept .ctcc-right-side,
	#catapult-cookie-bar.float-accept span.ctcc-right-side {
		display: block !important;
		width: 100% !important;
		float: none !important;
		margin: 0 !important;
	}

	#catapult-cookie-bar span {
		margin: 0 !important;
	}

	#catapult-cookie-bar .ctcc-left-side {
		font-size: var(--font-size-14);
		line-height: 1.45;
	}

	#catapult-cookie-bar .ctcc-right-side {
		text-align: center;
	}

	#catapult-cookie-bar button#catapultCookie {
		width: 100%;
		max-width: 12rem;
		margin-inline: auto;
		display: block;
		padding: 0.5rem 1rem;
		font-size: var(--font-size-14);
		font-weight: 600;
		line-height: 1.25;
		cursor: pointer;
	}

	#catapult-cookie-bar .ctcc-left-side a.ctcc-more-info-link,
	#catapult-cookie-bar a.ctcc-more-info-link {
		font-size: var(--font-size-14) !important;
	}
}

/* lg | min-width: 992px — plugin regista flex row; só link + padding */
@media (min-width: 992px) {
	#catapult-cookie-bar .ctcc-left-side a.ctcc-more-info-link,
	#catapult-cookie-bar a.ctcc-more-info-link {
		font-size: var(--font-size-16) !important;
	}
}

.grecaptcha-badge{
    z-index: 999999;
}

/* Listas do editor (wp-block-list) — espaçamento; font-size em typography.css */
.th-page-content ul.wp-block-list,
.single article .subtitle_content ul.wp-block-list,
.single article .subtitle_content ul,
.single article .subtitle_content ol{
    margin-left: 0;
    margin-top: 0.35rem;
    margin-bottom: 0.75rem;
    padding-left: 1rem;
}

.th-page-content ul.wp-block-list > li,
.single article .subtitle_content ul > li,
.single article .subtitle_content ol > li{
    margin-top: 0;
    margin-bottom: 0.2rem;
    line-height: 1.4;
}

.th-page-content ul.wp-block-list > li:last-child,
.single article .subtitle_content ul > li:last-child,
.single article .subtitle_content ol > li:last-child{
    margin-bottom: 0;
}

/* Listas editor md+ → bloco Responsive no fim do ficheiro */

/* END politica de privacidade ------------------------*/


/* Menu Main -------------------------------------------------------------------------------------------------------*/


/* Mudar a cor dos links do menu*/
.nav-link{
    color: var(--color-nav-link-on-dark);
}

.nav-link:focus{
    color: var(--color-nav-link-on-dark);
    opacity: 1 !important;
}

.nav-link:hover{
    opacity: .8 !important;
    color: var(--color-nav-link-on-dark);
    transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out;
}


.text-logo-header {
	font-weight: var(--font-weight-medium); /* 500 */
}

.text-logo-header{
    display: none;
}

.pll-parent-menu-item > a.nav-link{
    border-bottom: none !important;
}

/* menu mobile branco se quiseremos preto retiramos a class "fiter-change-color-svg" button span no navbootstrap */
.fiter-change-color-svg {
    filter: invert(100%) sepia(100%) saturate(0%) hue-rotate(172deg) brightness(110%) contrast(114%);
}

.navbar-toggler:focus {
    box-shadow: -2px -2px var(--color-primary-dark), 2px -2px var(--color-primary-dark), 2px 2px var(--color-primary-dark), -2px 2px var(--color-primary-dark);;
}

.collapsed.navbar-toggler{
    box-shadow: inherit;
    border: 2px solid var(--color-primary-dark);
}

.navbar-toggler {
    border: 2px solid var(--color-primary-dark) !important;
}

.nav-link.active{
    color: var(--color-primary-dark) !important;
    border-bottom:2px solid var(--color-primary-dark) !important;
    font-weight: var(--font-weight-bold) !important;
}

.dropdown-item{
    display: block;
    width: 100%;
    padding: 0.25rem 1rem;
    clear: both;
    font-weight: 400;
    color: #212529;
    text-align: inherit;
    text-decoration: none;
    white-space: nowrap;
    background-color: transparent;
    border: 0;
}

/* Submenu do header: regras finais em css/layout/header.css (depois de EA overrides, vence plugins) */

/* Fim cores do links menu */

.nav-link.active:hover, .nav-link.active:focus{
    opacity: .7 !important;
}

/* controlar o alinhamento do menu - No header.php se quiseremos alinhar a esquerda ou a direita é adicionar as class no ul que estão lá explicadas */
.navbar-collapse{
    justify-content: center;
}

/* Menu mobile: offcanvas ecrã inteiro (override .offcanvas-end width:400px do Bootstrap compilado) */

.dropdown-menu > li{
    margin-bottom: 0.25rem;
}
.dropdown-menu > li:last-child{
    margin-bottom: 0;
}

.navbar .dropdown-menu > li > a{
    color: var(--color-text-primary) !important;
}

.navbar .dropdown-menu > li > a:hover{
    color: var(--bs-dark) !important;
    opacity: 1;
}



.main-menu-offcanvas{
    --bs-offcanvas-width: 100vw;
    inset: 0;
    width: 100vw !important;
    max-width: 100vw !important;
    height: 100vh !important;
    height: 100dvh !important;
    min-height: 100vh;
    min-height: 100dvh;
    border: 0 !important;
}

.main-menu-offcanvas .offcanvas-body{
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
}

.main-menu-offcanvas .dropdown-menu{
    position: static;
    transform: none !important;
    width: 100%;
    text-align: center;
    margin-top: 0.25rem;
}

.main-menu-offcanvas .main-menu-offcanvas-header{
    padding: 0;
    border: 0;
}

body > header .navbar-toggler.main-menu-mobile-toggler,
.main-menu-offcanvas .navbar-toggler.main-menu-mobile-toggler{
    border: 2px solid var(--color-text-primary) !important;
}

body > header .navbar-toggler.main-menu-mobile-toggler:focus,
.main-menu-offcanvas .navbar-toggler.main-menu-mobile-toggler:focus{
    box-shadow: 0 0 0 0.2rem color-mix(in srgb, var(--color-text-primary) 28%, transparent);
}

.main-menu-mobile-toggler .main-menu-toggler-bars{
    display: block;
    width: 1.5em;
    height: 1.5em;
    position: relative;
}

.main-menu-mobile-toggler .main-menu-toggler-bar{
    position: absolute;
    left: 0.125em;
    right: 0.125em;
    height: 2px;
    background-color: var(--color-text-primary);
    border-radius: 1px;
    transition: transform 0.28s ease, opacity 0.2s ease, top 0.28s ease, bottom 0.28s ease;
}

.main-menu-mobile-toggler .main-menu-toggler-bar:nth-child(1){
    top: 0.35em;
}

.main-menu-mobile-toggler .main-menu-toggler-bar:nth-child(2){
    top: 50%;
    margin-top: -1px;
}

.main-menu-mobile-toggler .main-menu-toggler-bar:nth-child(3){
    bottom: 0.35em;
}

body:has(.main-menu-offcanvas.show) .main-menu-mobile-toggler .main-menu-toggler-bar:nth-child(1){
    top: 50%;
    margin-top: -1px;
    transform: rotate(45deg);
}

body:has(.main-menu-offcanvas.show) .main-menu-mobile-toggler .main-menu-toggler-bar:nth-child(2){
    opacity: 0;
    transform: scaleX(0);
}

body:has(.main-menu-offcanvas.show) .main-menu-mobile-toggler .main-menu-toggler-bar:nth-child(3){
    bottom: auto;
    top: 50%;
    margin-top: -1px;
    transform: rotate(-45deg);
}

/* a11y | prefers-reduced-motion (not a width breakpoint) */
@media (prefers-reduced-motion: reduce) {
    .main-menu-mobile-toggler .main-menu-toggler-bar {
        transition: none;
    }
}

.main-menu-offcanvas .main-menu-offcanvas-top{
    min-height: calc(4rem + 1rem);
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
}

.main-menu-offcanvas .main-menu-offcanvas-spacer{
    flex: 1 1 auto;
    min-width: 0;
    min-height: 4rem;
}

.nav-item-70 .nav-link,
#main-menu-desktop .nav-link.th-nav-link--cta {
    border-radius: 999px;
    box-shadow: 2px 1px 10px -1px #0000001f;
    padding-inline: var(--space-nav-item-inline) !important;
    background-color: var(--color-surface-base);
}

.nav-item-70 .nav-link.active,
#main-menu-desktop .nav-link.th-nav-link--cta.active {
    background-color: var(--color-accent-warning-strong);
}

.nav-item-70 .nav-link.active,
#main-menu-desktop .nav-link.th-nav-link--cta.active {
    border-bottom: none !important;
}


/* Logo Vivazmente — medidas só em CSS (sem width/height no HTML) */
img.navbar-brand {
    height: 4rem;
    width: auto;
    object-fit: contain;
}

body > header .navbar{
    padding-left: 0 !important;
    padding-right: 0 !important;
}

body > header .container-fluid{
    padding-left: calc(var(--bs-gutter-x) * .5) !important;
    padding-right: calc(var(--bs-gutter-x) * .5) !important; 
}

/* Menu mobile / offcanvas (< lg); reset no bloco lg | min-width: 992px */
.navbar-collapse {
    text-align: center;
}
.main-menu-offcanvas .main-menu-offcanvas-spacer {
    display: flex;
    justify-content: center;
    padding-left: 60px;
}
.main-menu-offcanvas .nav-link {
    font-size: var(--font-size-18);
    padding-top: 0.65rem;
    padding-bottom: 0.65rem;
    text-align: center;
}
.main-menu-offcanvas .dropdown-menu {
    width: min(100%, 22rem);
    margin-left: auto;
    margin-right: auto;
    text-align: center;
    background-color: var(--color-surface-muted);
    border: 1px solid color-mix(in srgb, var(--color-primary-dark) 10%, transparent);
    border-radius: 12px;
    padding: 0.25rem;
    box-shadow: 0 6px 18px color-mix(in srgb, var(--color-text-primary) 10%, transparent);
}
.main-menu-offcanvas .dropdown-item {
    text-align: center;
    border-radius: 10px;
    padding-inline: 1rem;
}
.main-menu-offcanvas .dropdown-item:hover,
.main-menu-offcanvas .dropdown-item:focus-visible {
    background-color: var(--color-surface-base);
    color: var(--color-primary-dark);
    outline: 0;
}
.not-hover {
    display: flex;
    flex: 1;
    justify-content: center;
    padding-left: 60px;
}
.navbar > .container-fluid {
    justify-content: end;
}
.navbar-brand {
    margin-right: 0;
}


/* END Menu Main -------------------------------------------------------------------------------------------------------*/


/* Pagination -------------------------------------------------------------------------------------------------------*/

.navigation.pagination .nav-links{width: 100%;}

.navigation.pagination ul.page-numbers{
        text-align: center;
        display: flex;
        justify-content: center;
        align-items: center;
}


.navigation.pagination ul.page-numbers > li.linkPaginationPrev { 
    position: absolute; 
    left: 0; 
    max-width: 30px; 
    white-space: nowrap; 
    overflow: hidden;
}

.navigation.pagination ul.page-numbers > li.linkPaginationNext{
    position: absolute;
    right: 0;
    max-width: 30px;
    white-space: nowrap;
    overflow: hidden;
    direction: rtl;
    text-align: left;
}

.navigation.pagination ul.page-numbers > li.linkPaginationPrev a{
     background-color: inherit;
     border: 0;
     color: var(--color-text-primary);
     font-weight: 400; 
     padding-left: 0;
     font-size: var(--font-size-30);
     font-weight: var(--font-weight-bold);  
}
.navigation.pagination ul.page-numbers > li.linkPaginationNext a{
    background-color: inherit;
    border: 0;
    color: var(--color-text-primary);
    padding-right: 0;
    font-size: var(--font-size-30);
    font-weight: var(--font-weight-bold);
}

.navigation.pagination ul.page-numbers > li.linkPaginationPrev a,
.navigation.pagination ul.page-numbers > li.linkPaginationNext a{
    transition: color 0.15s ease;
}

.navigation.pagination ul.page-numbers > li.linkPaginationPrev a:hover,
.navigation.pagination ul.page-numbers > li.linkPaginationPrev a:focus-visible,
.navigation.pagination ul.page-numbers > li.linkPaginationNext a:hover,
.navigation.pagination ul.page-numbers > li.linkPaginationNext a:focus-visible{
    opacity: 1;
    color: var(--color-primary-light);
    background-color: inherit;
    text-decoration: none;
}

nav.pagination {
    padding-left: 0;
    padding-right: 0;
    margin-top: 0rem;
}

.nav-links {
    position: relative;
}

.nav-links ul {
    margin: 0;
    padding: 0;
}

.nav-links ul li {
    list-style: none;
    padding:0;
    width: auto;
    display: inline-block;
}

.nav-links ul li span.current {
    padding: 10px 12px;
    border: 0;
    display: block;
    line-height: 1;
    border-radius: var(--font-size-4);
    background-color: var(--primary-light-less);
    color: var(--color-primary-muted);
    font-weight: 400;
}

.nav-links ul li a {
    padding: 10px 12px;
    color: var(--color-text-primary);
    text-decoration: none;
    border: 0;
    border-radius: 3px;
    display: block;
    line-height: 1;
}

.nav-links ul li a:hover {
    background: var(--color-primary-light);
    color: var(--color-primary-dark);
}


/* Pagination single.php -------------------------------------------------- */

.wrap_pagination_single{
    position: relative;
    display: inline-block;
    width: 100%;
}

.wrap_pagination_single a{
    color: var(--color-primary-muted);
    overflow: hidden;
    max-width: 30px;
    white-space: nowrap;
    font-size: var(--font-size-30);
    font-weight: var(--font-weight-bold);
    padding: 2.51px 0; /* Assim fica com height: 50px  */
    transition: color 0.15s ease;
}

/* Hover: sem opacity global (a:hover { opacity: .8 }) — alinhado a «Ler mais» / .link_nav_tax */
.wrap_pagination_single a:hover,
.wrap_pagination_single a:focus-visible{
    opacity: 1;
    color: var(--color-primary-light);
    text-decoration: none;
}

.wrap_pagination_single a[rel="next"]{
    float: right;
}

.wrap_pagination_single a[rel="prev"]{
    float: left;
}
/* END single.php -------------------------------------------------- */


/* END Pagination -------------------------------------------------------------------------------------------------------*/






/* Footer → css/layout/footer.css */

/* index.php, archive.php, single.php, page.php, blog */
   .index .img-fluid, .archive .img-fluid, .single .img-fluid, .page .img-fluid, .blog .img-fluid {
    max-height: 450px;
}
 
/* Imagem em destaque: sempre completa (sem crop); centrada se portrait */
.single article a.thickbox{
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    max-width: 100%;
    background-color: var(--color-muted);
    border-radius: var(--radius-lg);
    overflow: hidden;
    line-height: 0;
}

.single article .imgPosts{
    display: block;
    width: auto;
    max-width: 100%;
    height: auto;
    margin-inline: auto;
    object-fit: contain;
    object-position: center center;
    /* Mobile: ~40–45% do ecrã ou 300px — título + imagem + início do texto visíveis */
    max-height: min(45vh, 300px);
}

/* xs: listagens — altura de imagem; md+ no bloco Responsive */
.index .img-fluid,
.archive .img-fluid,
.single .img-fluid,
.page .img-fluid,
.blog .img-fluid {
    max-height: 280px;
    object-fit: cover;
    object-position: top center;
}

/* Homepage  -------------------------------------------------------------------------------------------------------------*/

.cta-agenda{
    position: absolute;
    background-color: var(--color-primary-muted);
    color: var(--color-surface-base);
    width: 170px;
    height: 170px;
    transform: scale(.5);
    top: -120px;
    right: -24px;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    gap: 2px;
    box-shadow: 0 0 0 15px rgba(127, 248, 207, 0.7);
    box-sizing: content-box;
    animation: pulse-border 2.5s infinite ease-in-out;
}
.cta-agenda > *{
    margin: 0;
    padding: 0;
}

.cta-agenda > h3{
  color: var(--color-accent-warning-strong); 
}

@keyframes pulse-border {

    0%{
        box-shadow: 0 0 0 15px rgba(127, 248, 207, 0.7);
        background-color: rgba(50, 120, 120, .9);
    }

    50%{
        box-shadow: 0 0 0 18px rgba(127, 248, 207, 0.2);
        background-color: rgba(32, 99, 117, 1);
    }

    100%{
        box-shadow: 0 0 0 15px rgba(127, 248, 207, 0.7);
        background-color: rgba(50, 120, 120, .9);
    }

}
/* .cta-agenda sm/md/lg → bloco Responsive no fim do ficheiro */

.page .img-fluid {
    width: 100%;
    height: auto;
    min-height: 280px;
    max-height: 450px;
    object-position: top center;
    object-fit: cover;
}

/* .page h3 → typography.css (.th-page-content h3) */

/* END Homepage --------------------------------------------------------------------------------------------------------- */



/* Forminator quiz → css/plugins/forminator-overrides.css (só página quiz; enqueue condicional) */



/* Contact Form 7 (.wrap-contact-form) → css/components/forms-contact.css */

/* Agenda (EA) styles migrated to css/plugins/easy-appointments-overrides.css */


/* index.php - Filters Posts ---------------------------------------------------------------------------------------------------------*/
.card img{
    height: 250px;
    object-fit: cover;
}

.card {
    border: 0;
    background-color: var(--color-surface-muted);
}

.card.mb-2.mb-md-1{
    border-radius: var(--radius-lg);
    overflow: hidden;
}

.card-title{
    color: var(--primary-dark) !important;
    font-size: var(--font-size-22);
    font-weight: var(--font-weight-bold);
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    word-break: break-word;
    -webkit-line-clamp: 1;    
}


.card-text{
    height: 45px;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    word-break: break-word;
    -webkit-line-clamp: 2;
}


.dataCards{
    font-size: var(--font-size-16);
}

/* Cards listagem (artigos, categoria, etiqueta) — hover UX */
a[id^="post-"]:hover {
	opacity: 1;
}

a[id^="post-"]:hover .card-img-top,
a[id^="post-"]:hover .card-title,
a[id^="post-"]:hover .card-text,
a[id^="post-"]:hover .dataCards {
	opacity: 0.8;
	transition: opacity 0.15s ease;
}

/* «Ler mais +» nos cards de artigos */
.card-read-more {
	color: var(--color-primary-muted);
	transition: color 0.15s ease;
}

.artigos a[id^="post-"]:hover .card-read-more,
.tax a[id^="post-"]:hover .card-read-more,
a[id^="post-"]:hover .card-read-more {
	color: var(--color-primary-light);
	opacity: 1;
}

.bg-gray-light{
    background-color: var(--bg-gray-light);
}

.single article .subtitle_content .bg-gray-light a:hover{
    opacity: 1;
    color: var(--color-primary-light);
}

.No_Hover_Opacity{
    opacity: 1 !important;
}


.nomeAutor{
    font-size: var(--font-size-16);
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    word-break: break-word;
    -webkit-line-clamp: 1;
}


.wrap-filters {
    --filter-control-height: var(--size-form-submit-min-height);
}

.wrap-filters .input-group{
    border-radius: 999px !important;
    overflow: hidden;
    align-items: stretch;
}

.wrap-filters .input-group > .form-control,
.wrap-filters .input-group > .input-group-append,
.wrap-filters .input-group > span:last-child,
.wrap-filters .input-group .btn{
    border-radius: 0 !important;
    min-height: var(--filter-control-height);
}

.wrap-filters .input-group > .form-control{
    height: var(--filter-control-height);
    padding-block: 0.5rem;
    font-size: var(--font-size-16);
    line-height: 1.4;
}

/* Ícone lupa — sem fundo (não é botão de acção) */
.wrap-filters .input-group .btn.search,
.wrap-filters .input-group button.search {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: var(--filter-control-height);
    padding-inline: 0.85rem;
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
    color: var(--color-primary-dark) !important;
}

.wrap-filters .input-group .btn.search:hover,
.wrap-filters .input-group .btn.search:focus-visible,
.wrap-filters .input-group button.search:hover,
.wrap-filters .input-group button.search:focus-visible {
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
    color: var(--color-primary-dark) !important;
    opacity: 0.75;
}

.wrap-filters .form-select{
    border-radius: 999px;
    min-height: var(--filter-control-height);
    height: var(--filter-control-height);
    padding-block: 0.5rem;
    font-size: var(--font-size-16);
    line-height: 1.4;
}

.wrap-filters .wrap-tags .btn{
    border-radius: 999px;
    min-height: var(--filter-control-height);
    padding-block: 0.5rem;
    padding-inline: 1rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: var(--font-size-16);
    line-height: 1.4;
}

/* Procurar — cores em --btn-action-* acima */


.bg-no-found-artigos{
    background-color: var(--bg-gray-card);
}

/* END index.php - Filters Posts */

/* ==========================================================================
   Responsive — ver css/tokens/breakpoints.css
   xs: default | sm: 576px | md: 768px | lg: 992px | xl: 1200px | xxl: 1400px
   ========================================================================== */

/* sm | min-width: 576px */
@media (min-width: 576px) {
    .cta-agenda {
        transform: scale(0.6);
        top: -20vw;
    }
}

/* md | min-width: 768px */
@media (min-width: 768px) {
    .img-error404 {
        width: min(246px, 100%);
        max-width: 246px;
    }

    .th-page-content ul.wp-block-list,
    .single article .subtitle_content ul.wp-block-list,
    .single article .subtitle_content ul,
    .single article .subtitle_content ol {
        margin-top: 0.5rem;
        margin-bottom: 1rem;
        padding-left: 1.125rem;
    }

    .th-page-content ul.wp-block-list > li,
    .single article .subtitle_content ul > li,
    .single article .subtitle_content ol > li {
        margin-bottom: 0.35rem;
        line-height: 1.45;
    }

    .single article .imgPosts {
        max-height: min(55vh, 480px);
    }

    .index .img-fluid,
    .archive .img-fluid,
    .single .img-fluid,
    .page .img-fluid,
    .blog .img-fluid {
        max-height: 450px;
    }

    .cta-agenda {
        transform: scale(0.75);
        top: -146px;
    }

    footer {
        font-size: inherit;
    }

    .navigation.pagination ul.page-numbers > li.linkPaginationPrev {
        max-width: initial;
        white-space: normal;
        overflow: initial;
    }

    .navigation.pagination ul.page-numbers > li.linkPaginationNext {
        max-width: initial;
        white-space: normal;
        overflow: initial;
    }

    .wrap_pagination_single a[rel="next"] {
        overflow: initial;
        max-width: initial;
        white-space: initial;
        direction: rtl;
        text-align: right;
    }

    .wrap_pagination_single a[rel="prev"] {
        overflow: initial;
        max-width: initial;
        white-space: initial;
    }

    .wrap_pagination_single a {
        font-size: initial;
        max-width: initial;
        font-weight: initial;
    }

    .navigation.pagination ul.page-numbers > li.linkPaginationNext a,
    .navigation.pagination ul.page-numbers > li.linkPaginationPrev a {
        font-size: initial;
        color: var(--primary);
        font-weight: initial;
    }

    .navigation.pagination ul.page-numbers > li.linkPaginationNext a > img,
    .navigation.pagination ul.page-numbers > li.linkPaginationPrev a > img,
    .wrap_pagination_single img {
        width: 25px;
        vertical-align: baseline;
    }

    #main-menu-desktop .navbar-nav {
        flex-wrap: nowrap;
        column-gap: var(--font-size-4);
    }

    #main-menu-desktop .navbar-nav .nav-link {
        white-space: nowrap;
    }
}

/* lg | min-width: 992px */
@media (min-width: 992px) {
    .navbar-collapse {
        text-align: inherit;
    }

    .navbar > .container-fluid {
        justify-content: space-between;
    }

    .navbar-brand {
        margin-right: 1rem;
    }

    .not-hover {
        padding-left: 0;
        justify-content: flex-start;
    }

    .cta-agenda {
        transform: scale(0.8);
        top: -146px;
    }

    .navbar .dropdown-menu {
        background-color: var(--color-surface-base);
        border: 1px solid color-mix(in srgb, var(--color-primary-dark) 12%, transparent);
        border-radius: 12px;
        box-shadow: 0 10px 28px color-mix(in srgb, var(--color-primary-dark) 12%, transparent);
        padding: 0.35rem;
        margin-top: 0.5rem;
    }

    .navbar .dropdown-menu > li > a {
        font-weight: inherit;
        font-size: inherit;
        width: inherit;
    }

    .navbar-collapse ul li a.nav-link {
        font-weight: 400;
        color: inherit;
        width: inherit;
    }

    .navbar-expand-lg .navbar-nav .dropdown-menu {
        margin-top: 5px;
    }

    li.menu-item-has-children.dropdown-menu-child-item > a {
        width: 100%;
        border-radius: 0.5rem !important;
        background-color: transparent;
    }

    .dropdown-menu-end.at_depth_1 .dropdown-toggle::after,
    .dropdown-menu-end.at_depth_2 .dropdown-toggle::after {
        transform: rotate(-90deg);
    }

    .dropdown-menu.dropdown-submenu.depth_1.show,
    .dropdown-menu.dropdown-submenu.depth_2.show {
        width: auto;
        position: absolute;
        left: 100%;
        top: 0;
        display: block;
        background-color: var(--color-surface-muted);
        margin: 0;
        border-radius: 0 0.5rem 0.5rem 0;
    }

    nav.pagination {
        margin-top: 3rem;
    }

    .btn-outline-secondary:hover {
        background-color: var(--primary-dark);
        border-color: var(--primary-dark);
        color: var(--white);
    }

    .wrap-tags .btn-check:checked + .btn:hover {
        background-color: var(--primary-dark);
        border-color: var(--primary-dark);
        color: var(--white);
    }
}

/* xl | min-width: 1200px */
@media (min-width: 1200px) {
    .text-logo-header {
        display: inline-flex;
        align-items: center;
        color: var(--color-primary-dark);
        margin: 0;
        font-size: 2rem;
        line-height: 1.2;
    }

    #main-menu-desktop .navbar-nav {
        column-gap: var(--space-nav-inline-lg);
    }

    p {
        font-size: 1rem;
    }

    h5,
    .h5 {
        font-size: 1.25rem;
    }

    .subtitle_content :is(h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6) {
        font-size: 1.25rem;
    }
}

/* xxl | min-width: 1400px */
@media (min-width: 1400px) {
}

/* Bridge Bootstrap — migrado de bootstrap5.3.3/scss/custom.css (após refactor, linhas 8408+) */
a:hover {
	color: var(--primary-light-less);
}

.btn-check:checked + .btn-outline-secondary,
.btn-check:active + .btn-outline-secondary,
.btn-outline-secondary:active,
.btn-outline-secondary.active,
.btn-outline-secondary.dropdown-toggle.show {
	background-color: var(--primary-dark);
}

.btn-outline-secondary:hover {
	background-color: transparent;
	border-color: var(--bs-border-color);
	color: var(--black);
}

.wrap-tags .btn-check:checked + .btn:hover {
	background-color: var(--primary);
	border-color: var(--primary);
}

.btn-outline-secondary {
	border-color: var(--bs-border-color);
}

.btn-check:focus + .btn-outline-secondary,
.btn-outline-secondary:focus,
.btn-check:checked + .btn-outline-secondary:focus,
.btn-check:active + .btn-outline-secondary:focus,
.btn-outline-secondary:active:focus,
.btn-outline-secondary.active:focus,
.btn-outline-secondary.dropdown-toggle.show:focus {
	box-shadow: none;
}

.form-control:focus,
.form-select:focus {
	color: initial;
	background-color: initial;
	border-color: initial;
	outline: 0;
	box-shadow: none;
}

.wrap-filters .border,
.wrap-filters .form-select {
	border: 1px solid var(--bs-border-color) !important;
}

.btn-check:focus + .btn,
.btn:focus {
	box-shadow: none;
}

button.search:hover {
	color: var(--primary);
}

.wrap-tags .btn-check:checked + .btn {
	background-color: var(--primary-color-light);
	border-color: var(--primary-color-light);
}

.input-group .form-control::placeholder {
	color: var(--black);
}

.form-control {
	padding: 0.5rem 0.75rem;
}

p {
	font-size: 0.9rem;
}

h5,
.h5 {
	font-size: calc(1rem + 0.3vw);
}

.subtitle_content :is(h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6) {
	font-size: calc(1rem + 0.3vw);
}

