/*
Theme Name: Opa.vc Portal
Description: Tema filho do GeneratePress para os portais locais Opa.vc.
Template: generatepress
Version: 0.5.70
Requires at least: 6.4
Requires PHP: 7.4
Author: Opa.vc
Text Domain: opa-vc-portal
License: GPL v2 or later
*/

body {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
	min-height: 100dvh;
	color: var(--opa-portal-text, #18334f);
	background-color: var(--opa-portal-background, #f8f6f2);
}

body.admin-bar {
	min-height: calc(100vh - var(--wp-admin--admin-bar--height, 32px));
	min-height: calc(100dvh - var(--wp-admin--admin-bar--height, 32px));
}

body > #page {
	flex-grow: 1;
	width: 100%;
}

/* Opa.vc portal header */
#masthead.site-header {
	background: var(--opa-portal-header-background, #fff);
	border-bottom: 1px solid var(--opa-portal-accent, #f45d43);
	box-shadow: 0 3px 16px #15253e06;
}

#masthead .inside-header {
	max-width: 1280px;
	padding-inline: 42px;
	gap: 25px;
}

#masthead .site-logo img {
	display: block;
	width: 88px;
	height: auto;
}

#masthead .inside-header:has(.site-logo) .site-branding {
	display: none;
}

#masthead .main-navigation,
#masthead .main-navigation .main-nav > ul > li > a,
#masthead .main-navigation .menu-toggle,
#masthead .menu-bar-item > a {
	background: transparent;
	color: var(--opa-portal-primary, #153c6d);
}

#masthead .main-navigation .main-nav > ul > li > a,
#masthead .menu-toggle,
#masthead .menu-bar-item > a {
	font-family: Manrope, Arial, Helvetica, sans-serif;
	font-size: 12px;
	font-weight: 750;
	padding-inline: 12px;
}

#masthead .main-navigation .main-nav > ul > li > a:hover,
#masthead .main-navigation .main-nav > ul > li:is(.current-menu-item, .current-menu-ancestor) > a {
	color: var(--opa-portal-primary, #153c6d);
	text-decoration: underline;
	text-underline-offset: 5px;
}

#masthead .menu-bar-item > a {
	border: 1px solid #dce2e9;
	border-radius: 10px;
	font-weight: 650;
}

#masthead :is(a, button):focus-visible {
	outline: 2px solid var(--opa-portal-primary, #153c6d);
	outline-offset: 2px;
}

.opa-portal-compact-header #masthead.site-header {
	border-bottom: 0;
	position: relative;
}

.opa-portal-compact-header #masthead.site-header::after {
	position: absolute;
	inset: 35px 0 auto;
	height: 1px;
	background: var(--opa-portal-accent, #f45d43);
	content: "";
	pointer-events: none;
}

.opa-portal-compact-header #masthead .inside-header {
	min-height: 36px;
	padding-block: 0;
}

.opa-portal-compact-header #masthead .main-navigation .main-nav > ul > li > a,
.opa-portal-compact-header #masthead .menu-bar-item > a {
	line-height: 28px;
}

@media (min-width: 769px) {
	#masthead #site-navigation .main-nav > ul {
		gap: 5px;
		padding-inline: 5px;
	}

	#masthead #site-navigation .menu-bar-items {
		margin-inline-start: 12px;
	}
}

@media (min-width: 1024px) {
	#masthead .inside-header:not(:has(> .header-widget)) {
		padding-inline-end: 87px;
	}
}

@media (max-width: 768px) {
	#masthead .inside-header {
		padding-inline: 20px;
		gap: 0 12px;
	}

	.opa-portal-compact-header #masthead.site-header {
		border-block-end: 1px solid var(--opa-portal-accent, #f45d43);
	}

	.opa-portal-compact-header #masthead.site-header::after {
		content: none;
	}

	#masthead.has-inline-mobile-toggle .inside-header {
		align-items: center;
		display: grid;
		grid-template-columns: minmax(0, 1fr) auto;
		grid-template-rows: minmax(60px, auto);
	}

	#masthead .mobile-menu-control-wrapper {
		gap: 6px;
		grid-column: 2;
		grid-row: 1;
		justify-content: flex-end;
	}

	#masthead.has-inline-mobile-toggle :is(#site-navigation, .header-widget) {
		grid-column: 1 / -1;
	}

	#masthead.has-inline-mobile-toggle #site-navigation:not(.toggled, .has-active-search) {
		display: none;
	}

	#masthead .mobile-menu-control-wrapper :is(.menu-toggle, .menu-bar-item > a) {
		align-items: center;
		border: 1px solid #dce2e9;
		border-radius: 9px;
		display: inline-flex;
		gap: 7px;
		justify-content: center;
		line-height: 1.2;
		min-height: 44px;
		min-width: 44px;
		padding: 6px 10px;
	}

	#masthead .mobile-menu-control-wrapper .menu-toggle {
		background: #f4f7fa;
		font-size: 13px;
		font-weight: 700;
	}

	#masthead .mobile-menu-control-wrapper .menu-toggle[aria-expanded="true"] {
		background: #eaf0f7;
	}

	#masthead .mobile-menu-control-wrapper .menu-toggle .mobile-menu {
		padding: 0;
	}

	#masthead.has-inline-mobile-toggle #site-navigation.toggled {
		background: var(--opa-portal-header-background, #fff);
		border: 1px solid #dce2e9;
		border-radius: 10px;
		margin: 0 0 10px;
		width: 100%;
	}

	#masthead #site-navigation.toggled .main-nav > ul {
		align-items: start;
		display: grid;
		gap: 4px;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		margin: 0;
		padding: 6px;
	}

	#masthead #site-navigation.toggled .main-nav > ul > li:has(> ul.toggled-on) {
		grid-column: 1 / -1;
	}

	#masthead #site-navigation.toggled .main-nav li > a {
		border-radius: 6px;
		font-size: 14px;
		font-weight: 600;
		line-height: 1.4;
		min-height: 44px;
		overflow-wrap: anywhere;
		padding: 12px;
		text-decoration: none;
	}

	#masthead #site-navigation.toggled .main-nav li > a:focus-visible {
		outline-offset: -2px;
	}

	#masthead #site-navigation.toggled .main-nav li:is(.current-menu-item, .current-menu-ancestor, .current_page_item, .current_page_ancestor, .opa-menu-current-section) > a {
		background: #eaf0f7;
		font-weight: 700;
	}
}

/* Shared visual treatment for the editable Guide and News patterns. */
.opa-portal-intro {
	color: var(--opa-portal-text, #18334f);
	font-size: clamp(1.05rem, 2vw, 1.25rem);
	max-width: 65ch;
}

.opa-portal-section-title {
	color: var(--opa-portal-primary, #153c6d);
	margin-block: 2rem 1rem;
}

.opa-portal-topics ul,
.opa-portal-list .wp-block-post-template {
	display: grid;
	gap: 1rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.opa-portal-topics ul {
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 10rem), 1fr));
}

.opa-portal-topics li,
.opa-portal-list .wp-block-post-template > li {
	min-width: 0;
	margin: 0;
	padding: 0;
}

.opa-portal-topics a,
.opa-portal-list .wp-block-post-template > li {
	background: var(--opa-portal-surface, #fff);
	border: 1px solid #d7dfea;
	border-radius: 0.875rem;
}

.opa-portal-topics a {
	display: grid;
	gap: 0.4rem;
	align-content: start;
	box-sizing: border-box;
	height: 100%;
	padding: 1rem;
	text-align: center;
	text-decoration: none;
}

.opa-portal-topics a,
.opa-portal-list .wp-block-post-title a,
.opa-portal-list .wp-block-post-terms a,
.opa-portal-list .wp-block-query-pagination a {
	color: var(--opa-portal-primary, #153c6d);
}

.opa-portal-topics a:hover,
.opa-portal-list .wp-block-post-title a:hover {
	color: var(--opa-portal-primary, #153c6d);
	text-decoration: underline;
	text-decoration-color: var(--opa-portal-accent, #f45d43);
	text-underline-offset: 0.2em;
}

.opa-portal-topics a:focus-visible,
.opa-portal-list a:focus-visible {
	outline: 2px solid var(--opa-portal-primary, #153c6d);
	outline-offset: 2px;
}

.opa-portal-topic-count {
	color: var(--opa-portal-primary, #153c6d);
	font-size: 1.5rem;
	font-variant-numeric: tabular-nums;
	font-weight: 750;
}

.opa-portal-topic-count::after {
	background: var(--opa-portal-accent, #f45d43);
	border-radius: 1rem;
	content: "";
	display: block;
	height: 0.2rem;
	margin: 0.15rem auto 0.35rem;
	width: 1.5rem;
}

.opa-portal-topics small,
.opa-portal-list {
	color: var(--opa-portal-text, #18334f);
}

.opa-portal-list .wp-block-post-template {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.opa-portal-list .wp-block-post-template > li {
	display: flex;
	flex-direction: column;
}

.opa-portal-list .wp-block-post-featured-image {
	margin: 0;
}

.opa-portal-list .wp-block-post-featured-image img {
	aspect-ratio: 16 / 10;
	border-radius: 0.8rem 0.8rem 0 0;
	display: block;
	height: auto;
	object-fit: cover;
	width: 100%;
}

.opa-portal-list .wp-block-post-featured-image figcaption {
	font-size: 0.75rem;
	margin: 0;
	padding: 0.45rem 0.8rem 0;
}

.opa-portal-list-guide .opa-portal-guide-cover > a,
.opa-portal-list-guide .opa-portal-guide-cover figcaption a {
	height: auto;
}

.opa-portal-list-guide .opa-portal-guide-cover figcaption a {
	display: inline;
}

.opa-portal-list .opa-portal-card-copy {
	margin: 0;
	padding: clamp(0.85rem, 1.8vw, 1.25rem);
}

.opa-portal-list .opa-portal-card-copy > .wp-block-group__inner-container {
	padding: 0;
}

.opa-portal-list .wp-block-post-title {
	font-size: 1.1rem;
	line-height: 1.35;
	margin: 0 0 0.4rem;
	overflow-wrap: anywhere;
}

.opa-portal-list .wp-block-post-excerpt p {
	font-size: 0.9rem;
	line-height: 1.55;
	margin: 0;
}

.opa-portal-list .wp-block-post-date,
.opa-portal-list .wp-block-post-terms {
	font-size: 0.78rem;
	margin: 0 0 0.35rem;
}

.opa-portal-list .wp-block-query-pagination {
	margin: 1.5rem 0 0;
}

.opa-portal-list .page-numbers {
	padding: 0.35rem 0.45rem;
}

.opa-portal-list .page-numbers.current {
	font-weight: 750;
}

.opa-portal-guide-archive .entry-header {
	margin-bottom: 1.5rem;
}

.opa-portal-archive-back {
	margin-bottom: 0.75rem;
}

.opa-portal-empty {
	border: 1px dashed #d7dfea;
	border-radius: 0.875rem;
	margin: 0;
	padding: 1rem 1.25rem;
}

@media (min-width: 1024px) {
	.opa-portal-list-news .wp-block-post-template:has(> li:nth-child(5)) {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.opa-portal-list-news .wp-block-post-template:has(> li:nth-child(5)) > li:first-child {
		grid-column: span 2;
		grid-row: span 2;
	}

	.opa-portal-list-news .wp-block-post-template:has(> li:nth-child(5)) > li:first-child .wp-block-post-title {
		font-size: clamp(1.45rem, 2.5vw, 2.15rem);
	}
}

@media (max-width: 900px) {
	.opa-portal-list .wp-block-post-template {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 540px) {
	.opa-portal-topics ul {
		gap: 0.65rem;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.opa-portal-topics li:last-child:nth-child(odd) {
		grid-column: 1 / -1;
	}

	.opa-portal-topics a {
		padding: 0.75rem;
	}

	.opa-portal-list .wp-block-post-template {
		grid-template-columns: minmax(0, 1fr);
	}
}

.opa-portal-institutional #content :is(.entry-title, .entry-content),
.opa-portal-footer {
	font-family: Manrope, Arial, Helvetica, sans-serif;
}

.opa-portal-institutional #content .entry-title {
	font-weight: 750;
}

.opa-guide-view,
.opa-guide-view #page {
	background: var(--opa-portal-surface, #fff);
}

.opa-guide-view #main .inside-article {
	background: transparent;
}

/* News index shared by the city portals. */
.opa-news-page,
.opa-news-single {
	background-color: var(--opa-portal-header-background, #fff);
}

.opa-news-page #page,
.home #page,
#page:has(:is(.opa-history-index, .opa-guide-index, .opa-agenda-index)) {
	max-width: 1280px;
}

.opa-news-single #main.site-main {
	font-family: Manrope, Arial, Helvetica, sans-serif;
	margin-inline: auto;
	max-width: 828px;
}

.opa-news-single #main .inside-article {
	padding-block-start: clamp(1.25rem, 2.5vw, 2rem);
	padding-inline: clamp(1.25rem, 4vw, 2.5rem);
}

.opa-news-index {
	color: var(--opa-portal-text, #18334f);
	font-family: Manrope, Arial, Helvetica, sans-serif;
	margin-inline: auto;
	max-width: 1280px;
	padding: var(--opa-page-top-space) 42px 44px;
}

.opa-news-article-header {
	padding-block-end: 4px;
	width: 100%;
}

.opa-news-heading {
	color: var(--opa-portal-primary, #153c6d);
	font-size: clamp(23px, 2.5vw, 33px);
	font-weight: 750;
	letter-spacing: -0.03em;
	line-height: 1.18;
	margin: 0 0 12px;
}

:is(.opa-news-index, .opa-news-related) a {
	text-decoration: none;
}

.opa-news-sections,
.opa-news-group-header {
	border-block-start: 1px solid #b9c5d3;
	border-block-start-color: color-mix(in srgb, var(--opa-portal-primary, #153c6d) 30%, var(--opa-portal-surface, #fff));
}

.opa-news-sections {
	border-block-end: 1px solid #dce2e9;
	display: flex;
	flex-wrap: wrap;
	gap: 10px 24px;
	list-style: none;
	margin: 0;
	padding: 9px 0;
}

.opa-news-sections a {
	color: var(--opa-portal-footer-background, #15253e);
	font-size: 11px;
	font-weight: 650;
	letter-spacing: 1px;
	line-height: 1.6;
	text-decoration: none;
	text-transform: uppercase;
}

.opa-news-sections a[aria-current] {
	color: var(--opa-portal-primary, #153c6d);
}

.opa-news-mobile-sections {
	display: none;
}

@media (max-width: 768px) {
	.opa-news-sections {
		display: none;
	}

	.opa-news-mobile-sections {
		display: block;
	}
}

.opa-news-mobile-sections {
	background: var(--opa-portal-header-background, #fff);
	border: 1px solid #dce2e9;
	border-radius: 10px;
}

.opa-news-mobile-sections summary {
	align-items: center;
	background: #f4f7fa;
	border-radius: 9px;
	color: var(--opa-portal-primary, #153c6d);
	cursor: pointer;
	display: flex;
	gap: 12px;
	justify-content: space-between;
	list-style: none;
	min-height: 52px;
	padding: 6px 12px;
}

.opa-news-mobile-sections summary::-webkit-details-marker {
	display: none;
}

.opa-news-mobile-sections summary svg {
	flex: none;
}

.opa-news-mobile-sections[open] summary {
	border-radius: 9px 9px 0 0;
}

.opa-news-mobile-sections[open] summary svg {
	transform: rotate(180deg);
}

.opa-news-mobile-label,
.opa-news-mobile-current {
	display: block;
}

.opa-news-mobile-label {
	color: #506175;
	font-size: 0.67rem;
	font-weight: 650;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.opa-news-mobile-current {
	font-size: 0.875rem;
	font-weight: 700;
	line-height: 1.35;
	overflow-wrap: anywhere;
}

.opa-news-mobile-links {
	border-block-start: 1px solid #dce2e9;
	display: grid;
	gap: 4px;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 9.5rem), 1fr));
	list-style: none;
	margin: 0;
	padding: 6px;
}

.opa-news-mobile-links a {
	align-items: center;
	border-radius: 6px;
	color: var(--opa-portal-text, #18334f);
	display: flex;
	font-size: 0.875rem;
	line-height: 1.4;
	min-height: 44px;
	overflow-wrap: anywhere;
	padding: 6px 8px;
}

.opa-news-mobile-links a[aria-current] {
	background: #eaf0f7;
	color: var(--opa-portal-primary, #153c6d);
	font-weight: 700;
}

.opa-news-mobile-sections summary:focus-visible,
.opa-news-mobile-links a:focus-visible {
	outline: 2px solid var(--opa-portal-primary, #153c6d);
	outline-offset: 2px;
}


.opa-news-breadcrumb {
	color: #617084;
	font-size: 12px;
	line-height: 1.6;
	margin: 14px 0 8px;
}

.opa-news-breadcrumb ol,
.opa-news-breadcrumb li {
	align-items: center;
	display: flex;
	gap: 6px;
}

.opa-news-breadcrumb ol {
	flex-wrap: wrap;
	list-style: none;
	margin: 0;
	padding: 0;
}

.opa-news-breadcrumb svg {
	display: block;
	flex: none;
}

.opa-news-breadcrumb a {
	color: inherit;
}

.opa-news-breadcrumb a:is(:hover, :focus-visible) {
	color: var(--opa-portal-primary, #153c6d);
}

.opa-news-card-title a {
	color: inherit;
}

.opa-news-card-title a:is(:hover, :focus-visible) {
	color: var(--opa-portal-primary, #153c6d);
}

.opa-news-featured,
.opa-news-featured-side,
.opa-news-more {
	display: grid;
	gap: 1.5rem;
}

.opa-news-featured-side {
	align-content: start;
	gap: 1rem 1.25rem;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.opa-news-more {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.opa-news-group,
.opa-news-featured ~ .opa-news-remaining {
	margin-top: 2rem;
}

.opa-news-group-header {
	align-items: baseline;
	color: var(--opa-portal-primary, #153c6d);
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem 1rem;
	justify-content: space-between;
	margin-bottom: 1rem;
	padding-top: 0.6rem;
}

.opa-news-group-header h2 {
	font-size: 0.875rem;
	font-weight: 700;
	margin: 0;
	text-transform: uppercase;
}

.opa-news-group-header a {
	color: inherit;
	font-size: 0.8rem;
}

.opa-news-card {
	min-width: 0;
}

.opa-news-cover {
	display: block;
	margin-bottom: 0.8rem;
}

.opa-guide-card-image {
	margin: 0 0 0.8rem;
	min-width: 0;
}

.opa-guide-card-image .opa-news-cover {
	margin: 0;
}

.opa-news-cover img {
	aspect-ratio: 16 / 9;
	border-radius: 4px;
	display: block;
	height: auto;
	object-fit: cover;
	width: 100%;
}

.opa-news-kicker {
	color: var(--opa-portal-primary, #153c6d);
	display: inline-block;
	font-size: 0.65rem;
	font-weight: 650;
	letter-spacing: 0.09em;
	margin-bottom: 0.4rem;
	text-transform: uppercase;
}

.opa-news-card-title {
	font-size: 1.05rem;
	font-weight: 675;
	letter-spacing: -0.015em;
	line-height: 1.32;
	margin: 0;
	overflow-wrap: anywhere;
}

.opa-news-card time {
	color: #506175;
	font-size: 0.69rem;
	font-weight: 650;
	line-height: 1.55;
	display: block;
	margin-top: 0.6rem;
}

:is(.opa-news-lead, .opa-history-lead) .opa-news-card-title {
	font-size: clamp(1.35rem, 2.5vw, 2rem);
	font-weight: 725;
	line-height: 1.2;
}

.opa-news-index .opa-news-more .opa-news-card-title {
	font-size: 1.1rem;
}

.opa-news-excerpt {
	color: #506175;
	font-size: 0.875rem;
	line-height: 1.6;
	margin: 0.65rem 0 0;
}

.opa-news-lead .opa-news-excerpt {
	font-size: 0.95rem;
}

.opa-news-single .entry-header .entry-title,
.opa-history-story-header h1,
.opa-guide-profile .opa-guide-hero h1 {
	font-family: Manrope, Arial, Helvetica, sans-serif;
	font-size: clamp(1.65rem, 3.1vw, 2.375rem);
	font-weight: 725;
	letter-spacing: -0.03em;
	line-height: 1.2;
}

.opa-news-article-excerpt {
	color: #506175;
	font-size: clamp(1.0625rem, 1.8vw, 1.25rem);
	font-weight: 400;
	line-height: 1.65;
	margin: 0.8rem 0 0;
}

.opa-news-single .entry-header .entry-meta {
	align-items: baseline;
	color: #506175;
	display: flex;
	flex-wrap: wrap;
	font-size: 0.75rem;
	font-weight: 500;
	gap: 0.35rem;
	line-height: 1.55;
	margin-top: 1rem;
}

.opa-news-single .entry-header .byline a {
	color: var(--opa-portal-primary, #153c6d);
	font-weight: 650;
	text-decoration: none;
}

.opa-news-single .entry-header .entry-meta time {
	font: inherit;
}

.opa-news-article-rule,
.opa-news-single .entry-content hr {
	background: transparent;
	border: 0;
	border-block-start: 1px solid #e1e6eb;
	height: 0;
	margin-block: 1.15rem;
}

.opa-news-article-cover,
.opa-news-article-cover .page-header-image-single {
	margin: 0;
}

.opa-news-article-cover figcaption {
	color: #506175;
	font-size: 0.75rem;
	line-height: 1.6;
	margin-top: 0.5rem;
}

.opa-news-image-zoom {
	cursor: zoom-in;
	display: block;
}

.opa-news-image-dialog {
	background: #182337;
	border: 0;
	border-radius: 10px;
	color: #fff;
	max-height: calc(100% - 24px);
	max-width: calc(100% - 24px);
	min-height: 60px;
	min-width: 64px;
	overflow: auto;
	padding: 0;
}

.opa-news-image-dialog::backdrop {
	background: rgba(12, 18, 28, 0.88);
}

.opa-news-image-dialog > div {
	min-height: 60px;
	position: relative;
}

.opa-news-image-dialog figure {
	margin: 0;
}

.opa-news-image-dialog img {
	display: block;
	max-height: calc(100vh - 92px);
	max-width: 100%;
	object-fit: contain;
}

.opa-news-image-dialog figcaption {
	font-size: 0.8rem;
	line-height: 1.5;
	max-width: 75ch;
	padding: 0.6rem 0.85rem;
}

.opa-news-image-dialog button {
	background: #182337;
	border: 1px solid #b4c2d0;
	border-radius: 50%;
	color: #fff;
	cursor: pointer;
	font-size: 1.45rem;
	height: 44px;
	inset: 8px 8px auto auto;
	line-height: 1;
	padding: 0;
	position: absolute;
	width: 44px;
	z-index: 1;
}

.opa-news-image-dialog button:focus-visible {
	outline: 2px solid #fff;
	outline-offset: 2px;
}

.opa-news-single .entry-content {
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.78;
	margin-top: 1.25rem;
}

.opa-news-single .entry-content :is(p, ul, ol) {
	margin-block-end: 1.15em;
}

.opa-news-single .entry-content :is(h2, h3, h4, h5, h6) {
	font-family: inherit;
	font-weight: 675;
	letter-spacing: -0.015em;
	line-height: 1.32;
	margin-block: 1.4em 0.55em;
}

.opa-news-single .entry-content h2 {
	font-size: clamp(1.25rem, 2vw, 1.5rem);
}

.opa-news-single .entry-content h3 {
	font-size: clamp(1.1rem, 1.65vw, 1.25rem);
}

.opa-news-single .entry-content :is(h4, h5, h6) {
	font-size: 1rem;
}

.opa-news-single .entry-content > :not(hr) + h2 {
	border-block-start: 1px solid #e1e6eb;
	padding-block-start: 0.8em;
}

.opa-news-single .entry-content :is(strong, b) {
	font-weight: 650;
}

.opa-news-share {
	border-block: 1px solid #e6ebf0;
	color: #506175;
	font: 0.8rem/1.5 Manrope, Arial, Helvetica, sans-serif;
	margin-block: 1.5rem;
	padding-block: 0.75rem;
}

.opa-news-share p {
	margin: 0 0 0.65rem;
}

.opa-news-share .a2a_kit {
	display: flex;
	flex-wrap: wrap;
	gap: 0.55rem;
}

.opa-news-share .a2a_kit a {
	align-items: center;
	background-color: var(--opa-share-surface, #edf1f4);
	border-radius: 50%;
	color: var(--opa-share-ink, #46586a);
	display: inline-flex;
	float: none;
	height: 38px;
	justify-content: center;
	padding: 0;
	width: 38px;
}

.opa-news-share .a2a_button_whatsapp {
	--opa-share-surface: #e7f5eb;
	--opa-share-ink: #087940;
}

.opa-news-share .a2a_button_facebook {
	--opa-share-surface: #eaf2ff;
	--opa-share-ink: #1064cb;
}

.opa-news-share .a2a_button_x {
	--opa-share-ink: #222b34;
}

.opa-news-share .a2a_button_linkedin {
	--opa-share-surface: #e9f2fa;
	--opa-share-ink: #075eaa;
}

.opa-news-share .a2a_kit .a2a_svg {
	background-color: transparent !important;
	height: 16px;
	width: 16px;
}

.opa-news-share .a2a_kit .a2a_svg path {
	fill: currentColor;
}

.opa-news-share .a2a_kit a:is(:hover, :focus-visible) {
	outline: 1px solid currentColor;
	outline-offset: 2px;
}

.opa-news-author,
.opa-news-related {
	font-family: Manrope, Arial, Helvetica, sans-serif;
}

.opa-news-author {
	align-items: start;
	background: #f3f6f8;
	border: 1px solid #dce5ed;
	border-radius: 6px;
	display: grid;
	gap: 0.85rem 1rem;
	grid-template-columns: auto minmax(0, 1fr);
	margin-block: 2rem;
	padding: clamp(1rem, 3vw, 1.65rem);
}

.opa-news-author img {
	border-radius: 50%;
	height: 56px;
	object-fit: cover;
	width: 56px;
}

.opa-news-author p {
	color: #506175;
	font-size: 0.875rem;
	line-height: 1.65;
	margin: 0 0 0.55rem;
	overflow-wrap: anywhere;
}

.opa-news-author .opa-news-author-label {
	font-size: 0.68rem;
	font-weight: 550;
	letter-spacing: 0.065em;
	text-transform: uppercase;
}

.opa-news-author h2 {
	font-size: 1.2rem;
	font-weight: 700;
	line-height: 1.3;
	margin: 0 0 0.4rem;
}

.opa-news-author h1 {
	font: 750 clamp(1.45rem, 3vw, 1.9rem)/1.2 Manrope, Arial, Helvetica, sans-serif;
	margin: 0 0 0.4rem;
	overflow-wrap: anywhere;
}

.opa-news-author a {
	color: var(--opa-portal-primary, #153c6d);
	font-size: 0.75rem;
	font-weight: 650;
	text-decoration: none;
}

.opa-news-author-page {
	margin-inline: auto;
	max-width: 840px;
}

.opa-news-author-list .opa-news-card {
	padding-block: 1rem;
}

.opa-news-author-list .opa-news-card + .opa-news-card {
	border-block-start: 1px solid #e1e6eb;
}

.opa-news-author-list .opa-news-card:has(> .opa-news-cover) {
	align-items: start;
	display: grid;
	gap: clamp(0.75rem, 2vw, 1.25rem);
	grid-template-columns: clamp(80px, 24vw, 150px) minmax(0, 1fr);
}

.opa-news-author-list .opa-news-cover {
	margin: 0;
}

.opa-news-author-list .opa-news-cover img {
	aspect-ratio: 4 / 3;
}

.opa-news-author-list .opa-news-excerpt {
	margin-block-start: 0.4rem;
	overflow-wrap: anywhere;
}

.opa-news-related {
	margin-block-start: 2rem;
}

.opa-news-related .opa-news-card-title {
	font-size: 1rem;
}

@media (min-width: 920px) {
	.opa-news-featured {
		align-items: start;
		grid-template-columns: minmax(0, 2.85fr) minmax(0, 2fr);
	}

	.opa-news-lead:only-child {
		grid-column: 1 / -1;
		max-width: 760px;
	}
}

@media (max-width: 1000px) {
	.opa-news-index {
		padding-inline: 26px;
	}
}

@media (max-width: 520px) {
	.opa-news-index {
		padding-inline: 20px;
	}
}

@media (max-width: 700px) {
	.opa-news-more {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 480px) {
	.opa-news-more {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (max-width: 768px) {
	.opa-news-breadcrumb ol,
	.opa-news-breadcrumb li,
	.opa-news-breadcrumb a {
		display: inline;
	}

	.opa-news-breadcrumb li:not(:last-child) {
		white-space: nowrap;
	}

	.opa-news-breadcrumb svg {
		display: inline-block;
		vertical-align: -0.12em;
	}

	.opa-news-breadcrumb-separator {
		margin-inline: 3px 2px;
	}

	.opa-news-featured {
		gap: 1.25rem;
	}

	:is(.opa-news-lead, .opa-history-lead) .opa-news-card-title {
		font-size: clamp(1.45rem, 5vw, 1.85rem);
	}

	.opa-news-featured-side {
		border-block-start: 1px solid #e1e6eb;
		gap: 1rem 0.75rem;
		padding-block-start: 0.9rem;
	}

	.opa-news-featured-side .opa-news-card-title,
	.opa-news-index .opa-news-more .opa-news-card-title,
	.opa-home :is(.opa-home-news-entry, .opa-home-guide-entry, .opa-home-event) .opa-news-card-title {
		font-size: 0.95rem;
		line-height: 1.35;
	}

	.opa-news-featured-side .opa-news-card > :is(.opa-news-cover, .opa-guide-card-image) {
		margin-bottom: 0.4rem;
	}

	.opa-news-index .opa-news-more {
		gap: 0;
		grid-template-columns: minmax(0, 1fr);
	}

	.opa-news-index .opa-news-more .opa-news-card {
		padding-block: 0.75rem;
	}

	.opa-news-index .opa-news-more .opa-news-card + .opa-news-card {
		border-block-start: 1px solid #e1e6eb;
	}

	.opa-news-index .opa-news-more .opa-news-card:has(> .opa-news-cover, > .opa-guide-card-image) {
		align-items: start;
		display: grid;
		gap: 0.75rem;
		grid-template-columns: clamp(78px, 24vw, 126px) minmax(0, 1fr);
	}

	.opa-news-index .opa-news-more .opa-news-card > :is(.opa-news-cover, .opa-guide-card-image) {
		margin: 0;
	}

	.opa-news-index .opa-news-more .opa-news-cover img {
		aspect-ratio: 4 / 3;
	}

	.opa-news-index .opa-news-more .opa-news-kicker {
		display: block;
		line-height: 1.2;
		width: fit-content;
	}

	.opa-news-page .opa-news-group .opa-news-excerpt {
		display: none;
	}
}

body.search,
body.search #page {
	background: #fff;
}

.search #main.site-main {
	color: var(--opa-portal-text, #18334f);
	font-family: Manrope, Arial, Helvetica, sans-serif;
	margin: 0 auto;
	max-width: 860px;
	padding: var(--opa-page-top-space) clamp(1.25rem, 4vw, 2.625rem) clamp(1.25rem, 4vw, 2.625rem);
}

.search #main .page-header,
.search #main .no-results .inside-article {
	background: transparent;
	margin: 0;
	padding: 0;
}

.search #main h1 {
	color: var(--opa-portal-primary, #153c6d);
	font: 750 clamp(1.45rem, 3vw, 2rem)/1.2 Manrope, Arial, Helvetica, sans-serif;
	margin-block-end: 1rem;
	overflow-wrap: anywhere;
}

.opa-search-result {
	padding-block: 1rem;
}

.opa-search-result + .opa-search-result {
	border-block-start: 1px solid #e1e6eb;
}

.opa-search-result h2 {
	font: 700 1.1rem/1.35 Manrope, Arial, Helvetica, sans-serif;
	margin: 0;
	overflow-wrap: anywhere;
}

.opa-search-result h2 a {
	color: var(--opa-portal-primary, #153c6d);
	text-decoration: none;
}

.opa-search-result h2 a:is(:hover, :focus-visible) {
	text-decoration: underline;
}

.opa-search-result p {
	color: #506175;
	font-size: 0.9rem;
	line-height: 1.65;
	margin: 0.4rem 0 0;
	overflow-wrap: anywhere;
}

.search #main .paging-navigation {
	border-block-start: 1px solid #e1e6eb;
	margin: 1.25rem 0 0;
	padding: 1rem 0 0;
}

.search #main .paging-navigation .nav-links {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
	justify-content: center;
}

.search #main .paging-navigation :is(a.page-numbers, .current) {
	align-items: center;
	border: 1px solid #dce2e9;
	border-radius: 6px;
	color: var(--opa-portal-primary, #153c6d);
	display: inline-flex;
	font-size: 0.85rem;
	font-weight: 700;
	gap: 0.35rem;
	justify-content: center;
	min-block-size: 44px;
	min-inline-size: 44px;
	padding: 0 0.65rem;
	text-decoration: none;
}

.search #main .paging-navigation .page-numbers.current {
	background: var(--opa-portal-primary, #153c6d);
	border-color: transparent;
	color: #fff;
}

.search #main .paging-navigation a.page-numbers:is(:hover, :focus-visible) {
	background: #f3f6f8;
	border-color: currentColor;
}

.opa-portal-footer {
	background: var(--opa-portal-footer-background, #15253e);
	border-top: 4px solid var(--opa-portal-accent, #f45d43);
	color: var(--opa-portal-footer-text, #fff);
	font-size: 14px;
	margin-block-start: 16px;
}

.site-footer :is(.widget_search, .wp-block-search, form[role="search"]) {
	display: none;
}

.opa-portal-footer-inner {
	max-width: 1280px;
	margin-inline: auto;
	padding-inline: 42px;
}

.opa-portal-footer-main,
.opa-portal-footer-bottom {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 10px 16px;
	flex-wrap: wrap;
}

.opa-portal-footer-main {
	padding-block: 16px 14px;
}

.opa-portal-footer-main img {
	display: block;
	width: 126px;
	height: auto;
	filter: brightness(0) invert(1);
}

.opa-portal-footer-main p {
	margin: 5px 0 0;
	font-size: 15px;
	font-weight: 600;
}

.opa-portal-footer-contact {
	max-width: 262px;
	text-align: right;
}

.opa-portal-footer-contact > a {
	align-items: center;
	display: inline-flex;
	font-size: 18px;
	font-weight: 700;
	gap: 0.4em;
}

.opa-portal-footer-contact > a svg {
	flex: none;
	transform: translateY(2px);
}

.opa-portal-footer-contact p {
	margin-top: 5px;
	font-size: 13px;
	font-weight: 400;
	line-height: 1.5;
}

.opa-portal-footer-bottom {
	border-top: 1px solid #ffffff26;
	padding-block: 9px 12px;
	color: color-mix(in srgb, var(--opa-portal-footer-text, #fff) 72%, var(--opa-portal-footer-background, #15253e));
}

.opa-portal-footer-signature {
	font-size: 11px;
	font-weight: 700;
}

.opa-portal-footer-bottom ul {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 16px;
	list-style: none;
	margin: 0;
	padding: 0;
	font-size: 12px;
	font-weight: 650;
}

.opa-portal-footer-pending small {
	font-size: 0.85em;
	font-weight: 400;
}

.opa-portal-footer a,
.opa-portal-footer a:hover,
.opa-portal-footer a:focus {
	color: inherit;
}

.opa-portal-footer a {
	text-decoration: none;
}

:is(.opa-news-sections, .opa-portal-footer) a:is(:hover:not(:where(.opa-home #guia-da-cidade a)), :focus-visible) {
	color: #ed654b;
	text-decoration: underline;
}

:is(.opa-news-sections, .opa-portal-footer) a:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 3px;
}

@media (max-width: 680px) {
	.opa-portal-footer {
		text-align: center;
	}

	.opa-portal-footer-inner {
		padding-inline: 20px;
	}

	.opa-portal-footer-main {
		flex-direction: column;
		padding-block: 14px;
	}

	.opa-portal-footer-main img {
		margin-inline: auto;
	}

	.opa-portal-footer-contact {
		text-align: inherit;
	}

	.opa-portal-footer-bottom {
		justify-content: center;
	}

	.opa-portal-footer-bottom nav {
		flex-basis: 100%;
	}

	.opa-portal-footer-bottom ul {
		justify-content: center;
	}
}

.opa-agenda-filters {
	align-items: end;
	background: #f4f7fb;
	border-radius: 8px;
	display: flex;
	flex-wrap: wrap;
	gap: 0.7rem 1rem;
	margin: 0 0 1.5rem;
	padding: 0.9rem 1rem;
}

.opa-agenda-filters label {
	color: var(--opa-portal-primary, #153c6d);
	display: grid;
	flex: 1 1 9rem;
	font-size: 0.8rem;
	font-weight: 700;
	gap: 0.3rem;
	max-width: 18rem;
	min-width: 0;
}

.opa-agenda-filters :is(input[type="date"], select) {
	background: var(--opa-portal-surface, #fff);
	border: 1px solid #c6d3e1;
	border-radius: 5px;
	color: var(--opa-portal-text, #18334f);
	font: inherit;
	min-height: 42px;
	padding: 0.4rem 0.55rem;
	width: 100%;
}

.opa-agenda-filters button {
	background: var(--opa-portal-primary, #153c6d);
	border-radius: 5px;
	color: #fff;
	font-size: 0.85rem;
	font-weight: 750;
	min-height: 42px;
	padding: 0.4rem 1rem;
}

.opa-agenda-filters a {
	align-self: center;
	font-size: 0.85rem;
}

.opa-agenda-card {
	background: var(--opa-portal-surface, #fff);
	border: 1px solid #dce4ed;
	border-radius: 9px;
	overflow: hidden;
}

.opa-agenda-card .opa-news-cover {
	margin: 0;
}

.opa-agenda-card .opa-news-cover img {
	border-radius: 0;
}

.opa-agenda-card .opa-news-card-body {
	padding: 0.9rem 1rem 1.05rem;
}

.opa-agenda-category {
	margin: 0 0 0.35rem;
}

.opa-agenda-event .opa-agenda-category {
	margin-top: 0.85rem;
}

.opa-agenda-date {
	color: var(--opa-portal-primary, #153c6d);
	font-size: 0.85rem;
	font-weight: 750;
	margin: 0 0 0.4rem;
}

.opa-agenda-card .opa-agenda-date time {
	color: inherit;
	display: inline;
	font: inherit;
	margin: 0;
}

.opa-agenda-venue {
	color: #506175;
	font-size: 0.875rem;
	margin: 0.4rem 0 0;
}
