:root {
	--primary-color: #0a1822;
	--secondary-color: #7646ff;
	--bg-color: #f5f5f5;
	--text-color: #333;
	--font-family: 'Ubuntu Sans', sans-serif;
	--container-width: 1200px;
	--card-bg: #ffffff;
	--border-radius: 6px;
	--values-authors-bg: var(--primary-color);
	--transition: 0.3s ease;
}

* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	font-family: var(--font-family);
}

body {
	background: var(--bg-color);
	color: var(--text-color);
	line-height: 1.5;
	font-size: 18px;
}

img {
	max-width: 100%;
	display: block;
}

a {
	text-decoration: none;
	color: var(--text-color);
}

a:hover {
	color: var(--secondary-color);
}

time {
	display: block;
	font-size: 0.8em;
	color: #888;
	margin-bottom: 0.5em;
}

.container {
	width: 90%;
	max-width: var(--container-width);
	margin: 0 auto;
}

/* HEADER */
.site-header {
	background: var(--primary-color);
	color: #fff;
	padding: 1em 0;
}

.header-container {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
}

.menu__item {
	display: flex;
	text-align: center;
	align-items: center;
}

.logo {
	font-size: 1.2em;
	font-weight: 700;
	color: #fff;
	display: inline-flex;
	align-items: center;
	gap: 0.3em;
}

/* Desktop nav */
.main-nav ul {
	display: flex;
	gap: 1.5em;
	list-style: none;
}

.main-nav a {
	color: #fff;
	font-weight: 500;
	font-size: 0.95em;
}

.header-search form {
	display: flex;
}

.header-search input {
	padding: 0.5em 0.8em;
	border: none;
	border-radius: var(--border-radius) 0 0 var(--border-radius);
}

.header-search button {
	padding: 0.5em 1em;
	border: none;
	background: var(--secondary-color);
	color: #fff;
	border-radius: 0 var(--border-radius) var(--border-radius) 0;
	cursor: pointer;
	font-size: 0.9em;
	font-weight: 500;
}

.mobile-menu-toggle {
	display: none;
	background: none;
	border: none;
	font-size: 1.2em;
	color: #fff;
	cursor: pointer;
}

/* MOBILE NAV OVERLAY */
.mobile-overlay {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(0, 0, 0, 0.5);
	z-index: 998;
}

.mobile-overlay.active {
	display: block;
}

/* MOBILE NAV */
.main-nav {
	position: relative;
}

.mobile-search-form {
	display: none;
	flex-direction: column;
	gap: 0.5em;
	margin-bottom: 1em;
}

.mobile-search-form input {
	padding: 0.5em;
	border: none;
	border-radius: var(--border-radius);
}

.mobile-search-form button {
	padding: 0.5em;
	background: var(--secondary-color);
	border: none;
	color: #fff;
	border-radius: var(--border-radius);
	cursor: pointer;
}

/* CATEGORIES STRIP */
.categories-strip {
	background: #0a1822;
	padding: 0.8em 0;
}

.categories-list {
	display: flex;
	gap: 2em;
	list-style: none;
	justify-content: center;
	flex-wrap: wrap;
}

.categories-list li a {
	color: #fff;
	font-size: 0.9em;
	font-weight: 500;
}

/* MAIN */
.site-main {
	padding: 2em 0;
}

.main-grid {
	display: grid;
	grid-template-columns: 2fr 1fr;
	gap: 2em;
	margin-bottom: 2em;
}

.featured-article {
	background: var(--card-bg);
	border-radius: var(--border-radius);
	overflow: hidden;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
	margin-bottom: 2em;
}

.featured-image img {
	width: 100%;
	height: auto;
	display: block;
}

.featured-info {
	padding: 1.5em;
}

.featured-info h2 {
	margin-bottom: 0.5em;
	font-weight: 600;
	font-size: 1.3em;
	color: var(--primary-color);
}

.featured-info p {
	margin-bottom: 1em;
	font-size: 0.95em;
	color: #555;
}

.btn {
	display: inline-block;
	padding: 0.5em 1em;
	background: var(--secondary-color);
	color: #fff;
	border-radius: var(--border-radius);
	font-weight: 500;
	font-size: 0.9em;
}

.btn:hover {
	background: #239299;
}

.posts-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(185px, 1fr));
	gap: 1em;
}

.post-card {
	background: var(--card-bg);
	border-radius: var(--border-radius);
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
	overflow: hidden;
	display: flex;
	flex-direction: column;
	padding: 1em;
}

.post-card img {
	/* border-radius: var(--border-radius); */
	margin-bottom: 1em;
}

.post-card h3 {
	font-size: 1em;
	font-weight: 600;
	margin-bottom: 0.5em;
	color: var(--primary-color);
}

.post-card p {
	font-size: 0.9em;
	color: #555;
	margin-bottom: 1em;
}

/* SIDEBAR */
.sidebar-block {
	background: #fff;
	border-radius: var(--border-radius);
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
	padding: 1em;
	margin-bottom: 1.5em;
}

.sidebar-block h2 {
	font-size: 1.1em;
	font-weight: 600;
	color: var(--primary-color);
	margin-bottom: 1em;
}

.mais-lidos-list {
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 1em;
}

.mais-lidos-list li {
	display: flex;
	gap: 1em;
	align-items: flex-start;
	flex-direction: row-reverse;
}

.mais-lidos-list h3,
.mais-lidos-list h3 a {
	font-size: 0.95em;
	color: var(--primary-color);
	font-weight: 600;
	margin-bottom: 0.3em;
	min-width: 227px;
}

.mais-lidos-list a {
	font-size: 0.85em;
	color: var(--secondary-color);
	font-weight: 500;
}

.mais-lidos-list hr {
	border: none;
	border-top: 1px solid #ddd;
	margin: 0;
}

.contact-box form {
	display: flex;
	flex-direction: column;
	gap: 0.5em;
}

.contact-box input,
.contact-box textarea {
	width: 100%;
	padding: 0.5em;
	border: 1px solid #ccc;
	border-radius: var(--border-radius);
	font-size: 0.9em;
}

.contact-box button {
	padding: 0.7em;
	background: var(--secondary-color);
	border: none;
	color: #fff;
	font-size: 0.9em;
	border-radius: var(--border-radius);
	cursor: pointer;
}

.contact-box button:hover {
	background: #239299;
}

/* SECTION BLOCKS */
.section-block {
	margin-bottom: 3em;
}

.section-block h2 {
	font-size: 1.2em;
	font-weight: 600;
	color: var(--primary-color);
	margin-bottom: 1em;
}

.cards-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
	gap: 1.5em;
}

.info-card {
	background: var(--card-bg);
	border-radius: var(--border-radius);
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
	padding: 1em;
	display: flex;
	flex-direction: column;
}

.info-card img {
	border-radius: var(--border-radius);
	margin-bottom: 1em;
	width: 100%;
	height: auto;
}

.info-card h3 {
	font-weight: 600;
	font-size: 1em;
	margin-bottom: 0.5em;
	color: var(--primary-color);
}

.info-card p {
	font-size: 0.9em;
	color: #555;
	margin-bottom: 0.8em;
}

/* Newsletter */
.newsletter-section {
	margin: 3em 0;
	display: flex;
	justify-content: center;
}

.newsletter-box {
	background: #fff;
	padding: 2em;
	border-radius: var(--border-radius);
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
	text-align: center;
	max-width: 500px;
	width: 100%;
}

.newsletter-box h2 {
	font-size: 1.2em;
	color: var(--primary-color);
	margin-bottom: 0.5em;
	font-weight: 600;
}

.newsletter-box p {
	font-size: 0.9em;
	color: #555;
	margin-bottom: 1.5em;
}

.newsletter-box form {
	display: flex;
	gap: 0.5em;
}

.newsletter-box input {
	flex: 1;
	padding: 0.7em;
	border: 1px solid #ccc;
	border-radius: var(--border-radius);
	font-size: 0.9em;
}

.newsletter-box button {
	padding: 0.7em 1em;
	background: var(--secondary-color);
	border: none;
	color: #fff;
	font-size: 0.9em;
	font-weight: 500;
	border-radius: var(--border-radius);
	cursor: pointer;
}

.newsletter-box button:hover {
	background: #239299;
}

/* Values & Authors Section */
.values-authors-section {
	background: var(--values-authors-bg);
	padding: 3em 0;
	color: #fff;
	margin-bottom: 3em;
	text-align: center;
}

.values-authors-section h2 {
	font-size: 1.5em;
	font-weight: 700;
	margin-bottom: 0.5em;
}

.values-authors-section p {
	font-size: 1em;
	color: #ddd;
	margin-bottom: 3em;
}

.va-container {
	max-width: 1100px;
	margin: 0 auto;
}

.va-flex {
	display: flex;
	flex-wrap: wrap;
	gap: 3em;
	justify-content: space-evenly;
	align-items: flex-start;
}

.values-area,
.authors-area {
	display: flex;
	gap: 2em;
	flex-wrap: wrap;
	justify-content: center;
}

.value-item {
	text-align: center;
	min-width: 150px;
}

.value-icon {
	background: var(--secondary-color);
	color: #fff;
	width: 60px;
	height: 60px;
	border-radius: 50%;
	margin: 0 auto 1em;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 700;
	font-size: 1.2em;
}

.value-item h3 {
	font-weight: 600;
	margin-bottom: 0.5em;
	font-size: 1.1em;
	color: #fff;
}

.value-item p {
	font-size: 0.9em;
	color: #ddd;
}

.author-profile {
	background: #0a1822;
	border-radius: var(--border-radius);
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
	padding: 1.5em;
	text-align: center;
	width: 220px;
	display: flex;
	flex-direction: column;
	align-items: center;
}

.author-profile img {
	border-radius: 50%;
	margin-bottom: 1em;
}

.author-profile h3 {
	font-weight: 600;
	font-size: 1em;
	margin-bottom: 0.5em;
	color: #fff;
}

.author-profile p {
	font-size: 0.9em;
	color: #ccc;
}

/* FOOTER */
.site-footer {
	background: var(--primary-color);
	color: #fff;
	margin-top: 3em;
	font-size: 0.9em;
}

.footer-top {
	padding: 2em 0;
}

.footer-container {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 2em;
}

.logo-col {
	position: relative;
	padding-left: 0 !important;
}

.footer-logo-box {
	width: 100%;
	background: #0a1822;
	padding: 1em;
	border-radius: var(--border-radius);
	margin-bottom: 1em;
	display: inline-block;
}

.footer-logo {
	font-size: 1.3em;
	font-weight: 700;
	color: #fff;
}

.footer-col h3 {
	font-weight: 600;
	font-size: 1.5em;
	margin-bottom: 0.5em;
	color: #fff;
}

.footer-col {
	padding-left: 30px;
}

.footer-col p,
.footer-col li,
.footer-col a {
	color: #ddd;
	font-size: 1em;
	margin-bottom: 0.3em;
}

.footer-col ul {
	list-style: none;
	padding: 0;
}

.footer-col ul li a:hover {
	color: var(--secondary-color);
}

.social-list {
	list-style: none;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.3em;
}

.social-list a:hover {
	color: var(--secondary-color);
}

.footer-bottom {
	border-top: 1px solid #004050;
	padding: 1em 0;
	text-align: center;
}

.footer-bottom ul {
	list-style: none;
	display: inline-flex;
	gap: 1em;
}

.footer-bottom a {
	color: #ccc;
}

.footer-bottom a:hover {
	color: var(--secondary-color);
}

/* RESPONSIVIDADE */
@media (max-width: 768px) {
	.main-grid {
		grid-template-columns: 1fr;
	}

	/* Esconde a busca do header no mobile */
	.header-search {
		display: none;
	}

	.mobile-menu-toggle {
		display: block;
	}

	.main-nav {
		position: fixed;
		top: 0;
		right: -250px;
		width: 250px;
		height: 100vh;
		background: var(--primary-color);
		display: flex;
		flex-direction: column;
		padding: 2em 1em;
		gap: 1em;
		z-index: 999;
		transition: right var(--transition);
	}

	.main-nav.open {
		right: 0;
	}

	.main-nav ul {
		flex-direction: column;
		gap: 1em;
	}

	.main-nav a {
		color: #fff;
		font-size: 1.1em;
	}

	.mobile-search-form {
		display: flex;
	}

	.categories-list {
		flex-wrap: wrap;
		gap: 1em;
	}

	.footer-container {
		grid-template-columns: 1fr;
	}

	.container.post {
		width: 100%;
		margin: 0;
		padding: 0;
	}

	/* Destacar a author-box no mobile */
	.author-box {
		background: #f9f9f9;
	}
}

@media (max-width: 480px) {
	body {
		font-size: 18px;
		/* Aumenta o tamanho da fonte no mobile */
	}

	.featured-info h2 {
		font-size: 1.1em;
	}

	.info-card h3 {
		font-size: 1em;
	}

	.cards-grid {
		grid-template-columns: 1fr;
	}

	.author-profile {
		width: 100%;
	}
}

/* Estilos específicos para a página de post */
.post-page-grid {
	grid-template-columns: 2fr 1fr;
	gap: 2em;
}

.post-wrapper {
	background: #fff;
	border-radius: 6px;
	padding: 2em;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
	min-width: 0;
	overflow-x: visible !important;
}

/* Título, subtítulo e meta do post */
.post-header {
	margin-bottom: 1em;
}

.post-title {
	font-size: 2em;
	font-weight: 700;
	color: var(--primary-color);
	margin-bottom: 0.3em;
}

.post-subtitle {
	font-size: 1.2em;
	font-weight: 400;
	color: #555;
	margin-bottom: 1em;
}

.post-meta {
	font-size: 0.9em;
	color: #888;
	display: flex;
	gap: 1em;
	flex-wrap: wrap;
}

.post-meta time {
	font-size: 0.9em;
}

/* Imagem destacada */
.post-featured-image img {
	border-radius: 6px;
	margin-bottom: 2em;
}

/* Conteúdo do post */
.post-content-area p {
	margin-bottom: 1.5em;
	color: #333;
	line-height: 1.7em;
}

.post-content-area h2 {
	font-size: 1.5em;
	font-weight: 600;
	margin: 1.2em 0 0.5em 0;
	color: var(--primary-color);
}

.post-content-area h3 {
	font-size: 1.3em;
	font-weight: 600;
	margin: 2em 0 1em 0;
	color: var(--primary-color);
}

.post-content-area ul,
.post-content-area ol {
	margin-bottom: 1.5em;
	padding-left: 1.5em;
}

.post-content-area ul li,
.post-content-area ol li {
	margin-bottom: 25px;
}

/* Author Box */
.author-box {
	background: #fff;
	border: 1px solid #ddd;
	border-radius: 6px;
	padding: 1.5em;
	display: flex;
	gap: 1em;
	margin-top: 3em;
	align-items: flex-start;
}

.author-box .author-avatar {
	border-radius: 50%;
	width: 80px;
	height: 80px;
	object-fit: cover;
}

.author-box .author-info {
	flex: 1;
}

.author-title {
	font-size: 1.1em;
	font-weight: 600;
	color: var(--primary-color);
	margin-bottom: 0.5em;
}

.author-desc {
	font-size: 0.95em;
	color: #555;
	line-height: 1.5em;
}

/* Related Posts */
.related-posts {
	margin-top: 3em;
}

.related-posts h2 {
	font-size: 1.3em;
	font-weight: 600;
	color: var(--primary-color);
	margin-bottom: 1.5em;
}

.adunit {
	margin-bottom: 2em;
}

/* Responsividade da página de post */
@media (max-width: 990px) {
	.post-page-grid {
		grid-template-columns: 1fr;
	}

	/* Adunit (anúncio em full width) */
	.adunit {
		width: 100vw;
		position: relative;
		left: 50%;
		right: 50%;
		margin-left: -50vw;
		margin-right: -50vw;
		margin-top: 1em;
		margin-bottom: 2em;
		text-align: center;
		background: #eee;
	}

	.adunit img {
		display: inline-block;
		width: 100%;
		height: auto;
	}

	/* Remover bordas, radius e padding no mobile para a caixa do post ocupar toda a largura */
	.post-wrapper {
		border-radius: 0;
		border: none;
		box-shadow: none;
		padding: 1em;
	}

	.author-box {
		padding: 1em;
	}

	.container.post section.related-posts {
		padding: 0 1em;
	}
}

.section-block h2::before,
.section-block h2::after {
	content: '';
	flex: 1;
	border-bottom: 1px solid #cacaca;
	/* Ajuste a espessura da linha conforme necessário */
	margin: 0;
}

.section-block h2::after {
	margin-left: 30px;
}

.section-block h2::before {
	margin-right: 30px;
}

.section-block h2 {
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.7em;
	font-weight: 600;
	color: var(--primary-color);
	margin-bottom: 1em;
	text-align: center;
	position: relative;
}

/* Estilos da seção de Compromisso */
.compromisso-section {
	background: linear-gradient(135deg, #ffffff 0%, #f0f7f5 100%);
	padding: 4em 0;
}

.compromisso-container {
	max-width: 1100px;
	margin: 0 auto;
	padding: 0 1em;
}

.compromisso-content {
	text-align: center;
	color: #333;
	max-width: 800px;
	margin: 0 auto;
}

.compromisso-content h2 {
	font-size: 2em;
	font-weight: 700;
	color: #0a1822;
	margin-bottom: 1em;
}

.compromisso-content p {
	font-size: 1.1em;
	line-height: 1.8em;
	color: #555;
	margin-bottom: 1.5em;
}

.compromisso-content a {
	color: var(--secondary-color);
	text-decoration: none;
	font-weight: 500;
	border-bottom: 2px solid var(--secondary-color);
	transition: color 0.3s, border-bottom-color 0.3s;
}

.compromisso-content a:hover {
	color: #239299;
	border-bottom-color: #239299;
}

.compromisso-image {
	max-width: 300px;
	margin: 0 auto 2em auto;
}

.compromisso-image img {
	width: 100%;
	height: auto;
	display: block;
	border-radius: 8px;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
}

/* Estilos da seção de Autores */
.autores-section {
	background: #fafafa;
	padding: 4em 0;
}

.autores-container {
	max-width: 1100px;
	margin: 0 auto;
	text-align: center;
	padding: 0 1em;
}

.autores-container h2 {
	font-size: 2em;
	font-weight: 700;
	color: #0a1822;
	margin-bottom: 0.5em;
}

.autores-container p {
	font-size: 1.1em;
	color: #555;
	margin-bottom: 3em;
	max-width: 800px;
	margin-left: auto;
	margin-right: auto;
}

.autores-list {
	display: flex;
	flex-direction: column;
	gap: 3em;
}

.autor-item {
	display: flex;
	align-items: center;
	gap: 3em;
	background: #ffffff;
	padding: 2em;
	border-radius: 12px;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
	transition: transform 0.3s;
}

.autor-item:hover {
	transform: translateY(-5px);
}

.autor-item.left {
	flex-direction: row;
	text-align: left;
}

.autor-item.right {
	flex-direction: row-reverse;
	text-align: right;
}

.autor-avatar img {
	width: 200px;
	height: 200px;
	border-radius: 50%;
	object-fit: cover;
	display: block;
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
	border: 5px solid #f0f0f0;
}

.autor-info {
	max-width: 500px;
}

.autor-info h3 {
	font-size: 1.4em;
	font-weight: 700;
	color: #0a1822;
	margin-bottom: 0.5em;
}

.autor-info p {
	font-size: 1.1em;
	color: #555;
	line-height: 1.6em;
}

@media (max-width: 768px) {
	.autor-item {
		flex-direction: column !important;
		text-align: center !important;
		gap: 1.5em;
	}

	.autor-item.left,
	.autor-item.right {
		flex-direction: column;
	}

	.autor-info {
		max-width: 100%;
	}
}

.quote-style-a {
	background: #0a1822;
	color: #fff;
	padding: 1.5em;
	border-radius: 6px;
	margin: 2em 0;
	font-style: italic;
	font-size: 1.1em;
	position: relative;
	font-weight: 600;
}

.quote-style-a cite {
	display: block;
	margin-top: 1em;
	text-align: right;
	font-weight: 600;
	color: #cccccc;
	font-style: normal;
}

.quote-style-b {
	border-left: 8px solid #00c67c;
	padding: 1em 1.5em;
	margin: 2em 0;
	background: #ffffff;
	font-size: 1.2em;
	line-height: 1.5em;
	color: #333;
	font-weight: 600;
}

.quote-style-b cite {
	display: block;
	text-align: right;
	margin-top: 1.5em;
	font-weight: 700;
	color: #555;
	font-style: normal;
}

.pontos-container {
	margin: 2em 0;
}

/* Título dos blocos */
.pontos-bloco h2 {
	font-weight: 700;
	color: #0a1822;
	margin-bottom: 1em;
	display: flex;
	align-items: center;
	gap: 0.5em;
}

/* Estilização das listas */
.pontos-bloco ul {
	list-style: none;
	padding: 0;
	margin: 0;
	margin-left: 30px;
}

.pontos-bloco li {
	display: flex;
	align-items: flex-start;
	gap: 1em;
	margin-bottom: 1.5em;
}

.pontos-bloco li strong {
	display: block;
	font-weight: 700;
	font-size: 1.05em;
	color: #333;
	margin-bottom: 0.3em;
}

.pontos-bloco li p {
	font-size: 0.95em;
	color: #555;
	line-height: 1.5em;
	margin: 0;
}

/* Ícones - Ajuste conforme necessário */

/* Ícone verde de check (aumentado para 28px) */
.icon-check {
	width: 28px;
	height: 28px;
	background: url('data:image/svg+xml;utf8,<svg width="28" height="28" xmlns="http://www.w3.org/2000/svg"><path fill="%2300C67C" d="M11.3 21c-.3 0-.5-.1-.7-.3L4.3 14l1.4-1.4 5.6 5.6 11.2-11.2 1.4 1.4-11.9 11.9c-.2.2-.4.3-.7.3z"/></svg>')
		no-repeat center center;
	background-size: 28px 28px;
	flex-shrink: 0;
	margin-top: 4px;
}

/* Ícone vermelho de cruz (aumentado para 28px) */
.icon-cross {
	width: 28px;
	height: 28px;
	background: url('data:image/svg+xml;utf8,<svg width="28" height="28" xmlns="http://www.w3.org/2000/svg"><path fill="%23d50000" d="M15.4 14l6.3-6.3c.4-.4.4-1 0-1.4l-1-1c-.4-.4-1-.4-1.4 0L14 11.6 7.7 5.3c-.4-.4-1-.4-1.4 0l-1 1c-.4.4-.4 1 0 1.4L11.6 14l-6.3 6.3c-.4.4-.4 1 0 1.4l1 1c.4.4 1 .4 1.4 0l6.3-6.3 6.3 6.3c.4.4 1 .4 1.4 0l1-1c.4-.4.4-1 0-1.4L15.4 14z"/></svg>')
		no-repeat center center;
	background-size: 28px 28px;
	flex-shrink: 0;
	margin-top: 4px;
}

/* Separador entre pontos positivos e negativos */
.pontos-separator {
	border: none;
	border-top: 1px solid #ddd;
	margin: 3em 0;
}

/* Ícones do título com polegar para cima e para baixo, também em 28px */

/* Polegar para cima (pontos positivos) */
.pontos-positivos h2:before {
	content: '';
	display: inline-block;
	vertical-align: middle;
	width: 28px;
	height: 28px;
	margin-right: 0.5em;
	background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--><path d="M323.8 34.8c-38.2-10.9-78.1 11.2-89 49.4l-5.7 20c-3.7 13-10.4 25-19.5 35l-51.3 56.4c-8.9 9.8-8.2 25 1.6 33.9s25 8.2 33.9-1.6l51.3-56.4c14.1-15.5 24.4-34 30.1-54.1l5.7-20c3.6-12.7 16.9-20.1 29.7-16.5s20.1 16.9 16.5 29.7l-5.7 20c-5.7 19.9-14.7 38.7-26.6 55.5c-5.2 7.3-5.8 16.9-1.7 24.9s12.3 13 21.3 13L448 224c8.8 0 16 7.2 16 16c0 6.8-4.3 12.7-10.4 15c-7.4 2.8-13 9-14.9 16.7s.1 15.8 5.3 21.7c2.5 2.8 4 6.5 4 10.6c0 7.8-5.6 14.3-13 15.7c-8.2 1.6-15.1 7.3-18 15.2s-1.6 16.7 3.6 23.3c2.1 2.7 3.4 6.1 3.4 9.9c0 6.7-4.2 12.6-10.2 14.9c-11.5 4.5-17.7 16.9-14.4 28.8c.4 1.3 .6 2.8 .6 4.3c0 8.8-7.2 16-16 16l-97.5 0c-12.6 0-25-3.7-35.5-10.7l-61.7-41.1c-11-7.4-25.9-4.4-33.3 6.7s-4.4 25.9 6.7 33.3l61.7 41.1c18.4 12.3 40 18.8 62.1 18.8l97.5 0c34.7 0 62.9-27.6 64-62c14.6-11.7 24-29.7 24-50c0-4.5-.5-8.8-1.3-13c15.4-11.7 25.3-30.2 25.3-51c0-6.5-1-12.8-2.8-18.7C504.8 273.7 512 257.7 512 240c0-35.3-28.6-64-64-64l-92.3 0c4.7-10.4 8.7-21.2 11.8-32.2l5.7-20c10.9-38.2-11.2-78.1-49.4-89zM32 192c-17.7 0-32 14.3-32 32L0 448c0 17.7 14.3 32 32 32l64 0c17.7 0 32-14.3 32-32l0-224c0-17.7-14.3-32-32-32l-64 0z"/></svg>')
		no-repeat center center;
	background-size: 28px 28px;
}

/* Polegar para baixo (pontos negativos) */
.pontos-negativos h2:before {
	content: '';
	display: inline-block;
	vertical-align: middle;
	width: 28px;
	height: 28px;
	margin-right: 0.5em;
	background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--><path d="M323.8 477.2c-38.2 10.9-78.1-11.2-89-49.4l-5.7-20c-3.7-13-10.4-25-19.5-35l-51.3-56.4c-8.9-9.8-8.2-25 1.6-33.9s25-8.2 33.9 1.6l51.3 56.4c14.1 15.5 24.4 34 30.1 54.1l5.7 20c3.6 12.7 16.9 20.1 29.7 16.5s20.1-16.9 16.5-29.7l-5.7-20c-5.7-19.9-14.7-38.7-26.6-55.5c-5.2-7.3-5.8-16.9-1.7-24.9s12.3-13 21.3-13L448 288c8.8 0 16-7.2 16-16c0-6.8-4.3-12.7-10.4-15c-7.4-2.8-13-9-14.9-16.7s.1-15.8 5.3-21.7c2.5-2.8 4-6.5 4-10.6c0-7.8-5.6-14.3-13-15.7c-8.2-1.6-15.1-7.3-18-15.2s-1.6-16.7 3.6-23.3c2.1-2.7 3.4-6.1 3.4-9.9c0-6.7-4.2-12.6-10.2-14.9c-11.5-4.5-17.7-16.9-14.4-28.8c.4-1.3 .6-2.8 .6-4.3c0-8.8-7.2-16-16-16l-97.5 0c-12.6 0-25 3.7-35.5 10.7l-61.7 41.1c-11 7.4-25.9 4.4-33.3-6.7s-4.4-25.9 6.7-33.3l61.7-41.1c18.4-12.3 40-18.8 62.1-18.8L384 32c34.7 0 62.9 27.6 64 62c14.6 11.7 24 29.7 24 50c0 4.5-.5 8.8-1.3 13c15.4 11.7 25.3 30.2 25.3 51c0 6.5-1 12.8-2.8 18.7C504.8 238.3 512 254.3 512 272c0 35.3-28.6 64-64 64l-92.3 0c4.7 10.4 8.7 21.2 11.8 32.2l5.7 20c10.9 38.2-11.2 78.1-49.4 89zM32 384c-17.7 0-32-14.3-32-32L0 128c0-17.7 14.3-32 32-32l64 0c17.7 0 32 14.3 32 32l0 224c0 17.7-14.3 32-32 32l-64 0z"/></svg>')
		no-repeat center center;
	background-size: 28px 28px;
}

.styles-container {
	display: flex;
	flex-direction: column;
	gap: 4em;
	max-width: 1000px;
	margin: 0 auto;
}

/* Conteúdo de exemplo */
.item-list {
	display: flex;
	flex-direction: column;
	gap: 3em;
}

/* Estilo Geral para Título e Descrição */
.item-list .item-title {
	font-weight: 700;
	margin-bottom: 0.3em;
	color: #333;
}

.item-list .item-desc {
	color: #555;
	font-size: 0.95em;
	line-height: 1.5em;
}

/* ==================== ESTILO 1 ==================== 
   Box simples, ícone à esquerda, texto à direita.
*/
.review-style1 {
	background: #fff;
	border-radius: 6px;
	padding: 1em;
	margin-bottom: -20px;

	/** box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); ***/
}

.review-style1 .review-item {
	display: flex;
	align-items: flex-start;
	gap: 2em;
	padding-top: 0;
}

.review-style1 .icon {
	font-size: 1.8em;
	color: var(--secondary-color);
	flex-shrink: 0;
	margin-top: 0.2em;
}

/* ==================== ESTILO 2 ==================== 
   Cartão com linha lateral colorida, ícone em círculo.
*/
.review-style2 {
	background: #fff;
	border-radius: 6px;
	padding: 2em;
	border-left: 5px solid var(--secondary-color);
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}

.review-style2 .review-item {
	display: flex;
	gap: 1em;
	align-items: flex-start;
}

.review-style2 .icon {
	width: 50px;
	height: 50px;
	background: #0a1822;
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
	color: #fff;
	font-size: 1.3em;
	flex-shrink: 0;
	margin-top: 0.2em;
}

/* ==================== ESTILO 3 ==================== 
   Fundo suave, ícone grande no topo, texto abaixo.
*/
.review-style3 {
	background: linear-gradient(135deg, #e0f4f0, #f5fdfb);
	border-radius: 10px;
	padding: 2em;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}

.review-style3 .review-item {
	text-align: center;
}

.review-style3 .icon {
	color: var(--secondary-color);
	font-size: 2em;
	margin-bottom: 0.5em;
}

.review-style3 .item-title {
	font-size: 1.1em;
	color: #0a1822;
}

/* ==================== ESTILO 4 ==================== 
   Barra superior colorida, ícone no início da linha.
*/
.review-style4 {
	background: #fff;
	border-radius: 6px;
	overflow: hidden;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
	position: relative;
}

.review-style4:before {
	content: '';
	display: block;
	width: 100%;
	height: 5px;
	background: var(--secondary-color);
}

.review-style4 .review-item {
	display: flex;
	align-items: flex-start;
	gap: 1em;
	padding: 1.5em;
}

.review-style4 .icon {
	font-size: 1.5em;
	color: var(--secondary-color);
	flex-shrink: 0;
	margin-top: 0.2em;
}

/* ==================== ESTILO 5 ==================== 
   Cartão minimalista, ícone e texto alinhados à esquerda.
*/
.review-style5 {
	background: #fff;
	border-radius: 6px;
	padding: 2em;
	border: 1px solid #ddd;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
	margin-bottom: 20px;
	padding-bottom: 0;
}

.review-style5 .review-item {
	display: flex;
	align-items: flex-start;
	gap: 1em;
}

.review-style5 .icon {
	font-size: 1.8em;
	color: #0a1822;
	flex-shrink: 0;
	margin-top: 0.2em;
}

/* Margens entre estilos */
.styles-container h2 {
	margin-top: 0;
}

/* Página de Categoria */
.category-page {
	padding: 2em 0;
}

.category-header {
	margin-bottom: 2em;
}

.category-header h1 {
	font-size: 2em;
	font-weight: 700;
	color: var(--primary-color);
	text-transform: capitalize;
	margin-bottom: 1em;
	text-align: left;
}

.category-page-grid {
	display: grid;
	grid-template-columns: 2fr 1fr;
	gap: 2em;
}

/* Conteúdo da categoria (semelhante ao da home) */
.category-content .posts-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
	gap: 1em;
}

/* Sidebar da categoria */
.sidebar .sidebar-search {
	display: flex;
	gap: 0.5em;
	margin-bottom: 1em;
}

.sidebar .sidebar-search input {
	flex: 1;
	padding: 0.5em;
	border: 1px solid #ccc;
	border-radius: var(--border-radius);
	font-size: 0.9em;
}

.sidebar .sidebar-search button {
	padding: 0.5em 1em;
	background: var(--secondary-color);
	border: none;
	color: #fff;
	font-size: 0.9em;
	font-weight: 500;
	border-radius: var(--border-radius);
	cursor: pointer;
}

.sidebar .sidebar-block {
	background: #fff;
	border-radius: var(--border-radius);
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
	padding: 1em;
	margin-bottom: 1.5em;
}

.sidebar .sidebar-block h2 {
	font-size: 1.1em;
	font-weight: 600;
	color: var(--primary-color);
	margin-bottom: 1em;
}

/* Responsividade da página de categoria */
@media (max-width: 768px) {
	.category-page-grid {
		grid-template-columns: 1fr;
	}
}

/* Página do Autor */
.author-page {
	padding: 2em 0;
}

.author-section {
	display: flex;
	justify-content: center;
	margin-bottom: 3em;
}

.author-card {
	background: #fff;
	border-radius: var(--border-radius);
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
	padding: 2em;
	text-align: center;
	max-width: 400px;
	width: 100%;
}

.author-avatar {
	width: 120px;
	height: 120px;
	border-radius: 50% !important;
	object-fit: cover;
	margin-bottom: 1em;
	border: 4px solid #fff;
	box-shadow: 0 0 0 4px var(--primary-color);
}

.author-name {
	font-size: 1.5em;
	font-weight: 700;
	color: var(--primary-color);
	margin-bottom: 0.5em;
}

.author-bio {
	font-size: 1em;
	color: #555;
	line-height: 1.5em;
	margin-bottom: 1.5em;
}

.author-social {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	gap: 1em;
	justify-content: center;
	margin-top: 20px;
}

.author-social li a {
	color: var(--secondary-color);
	font-size: 1.2em;
	transition: color 0.3s;
}

.author-social li a:hover {
	color: #239299;
}

.author-posts-block h2 {
	font-size: 1.5em;
	font-weight: 700;
	color: var(--primary-color);
	margin-bottom: 1.5em;
	text-align: left;
}

/* Responsividade */
@media (max-width: 768px) {
	.author-posts-block h2 {
		text-align: center;
	}
}

/* Seção de Ebooks */
.ebooks-section {
	margin: 3em 0;
	position: relative;
}

.ebooks-section h2 {
	font-size: 1.5em;
	font-weight: 700;
	color: var(--primary-color);
	margin-bottom: 1.5em;
	text-align: center;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 1em;
}

.ebooks-section h2::before,
.ebooks-section h2::after {
	content: '';
	flex: 1;
	border-bottom: 1px solid #cacaca;
	margin: 0;
}

.ebooks-slider-container {
	position: relative;
	overflow: hidden;
	padding: 0 40px;
	/* espaço para os botões laterais */
}

.ebooks-slider {
	overflow: hidden;
	width: 100%;
}

.ebooks-track {
	display: flex;
	gap: 1em;
	transition: transform 0.3s ease;
}

/* Cada ebook */
.ebook-item {
	background: #fff;
	border-radius: var(--border-radius);
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
	width: 200px;
	/* Largura padrão do item, ajuste conforme necessário */
	flex-shrink: 0;
	text-align: center;
	padding: 1em;
}

.ebook-item img {
	display: block;
	width: 100%;
	height: auto;
	margin-bottom: 0.5em;
	border-radius: var(--border-radius);
}

.ebook-item h3 {
	font-size: 1em;
	font-weight: 600;
	color: var(--primary-color);
	margin: 0;
}

/* Botões de navegação do slider */
.ebooks-slider-btn {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	background: var(--primary-color);
	color: #fff;
	border: none;
	width: 35px;
	height: 35px;
	border-radius: 50%;
	cursor: pointer;
	opacity: 0.9;
	transition: opacity 0.3s;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
}

.ebooks-slider-btn:hover {
	opacity: 1;
}

.ebooks-slider-btn svg {
	width: 16px;
	height: 16px;
	fill: #fff;
}

.ebooks-slider-btn.left-btn {
	left: 10px;
}

.ebooks-slider-btn.right-btn {
	right: 10px;
}

/* Ajustes responsivos */
@media (max-width: 600px) {
	.ebook-item {
		width: 150px;
	}
}

.image-container {
	overflow: hidden;
	/* Impede que o zoom escape do container */
	position: relative;
	display: inline-block;
	/* ou block, dependendo do layout */
	width: 100%;
	margin-bottom: 1em;
	border-radius: var(--border-radius);
}

.image-container img {
	transition: transform 0.3s ease;
	display: block;
	/* Certifica que a imagem não cria espaço extra */
	width: 100%;
	/* Ajusta conforme a sua necessidade */
	height: auto;
	margin-bottom: 0 !important;
}

.image-container:hover img {
	transform: scale(1.05);
	/* Zoom de 5%, ajuste conforme desejar */
}

.main-grid.pouso {
	grid-template-columns: auto;
}

.main-grid.pouso .post-wrapper {
	max-width: 800px;
	width: 100%;
	display: block;
	margin: auto;
}

.read-also-box {
	position: relative;
	display: flex;
	flex-direction: row;
	align-items: center;
	background-color: #f9f9f9;
	padding: 0 16px;
	border-radius: 8px;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
	margin-bottom: 20px;
	transition: transform 0.2s;
	cursor: pointer;
}

.read-also-box:hover {
	transform: translateY(-5px);
}

.read-also-icon {
	position: absolute;
	bottom: -10px;
	right: -10px;
	background-color: #007bff;
	color: #fff;
	padding: 8px;
	border-radius: 50%;
	width: 40px;
	height: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
	animation: 2s infinite pulse;
}

.read-also-thumbnail-wrapper {
	width: 160px;
	flex-shrink: 0;
	aspect-ratio: 16/9;
	border-radius: 8px;
	overflow: hidden;
	margin-right: 16px;
	margin-top: 20px;
}

.read-also-thumbnail {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.read-also-content {
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.read-also-label {
	font-size: 1em;
	color: #515e73;
	font-weight: 700;
	margin-bottom: 0 !important;
}

.read-also-title {
	font-size: 1.4em;
	margin-top: 6px;
	color: #1a202b;
	transition: color 0.2s;
}

.read-also-box:hover .read-also-title {
	color: #0056b3;
}

@media (max-width: 768px) {
	.read-also-box {
		flex-direction: column;
		align-items: center;
		text-align: center;
	}

	.read-also-thumbnail-wrapper {
		width: 100%;
		margin-right: 0;
		margin-bottom: 10px;
	}

	.read-also-thumbnail {
		height: auto;
	}

	.read-also-title {
		margin-bottom: 8px;
		font-size: 1.3em;
	}

	.read-also-icon {
		right: 10px;
		bottom: 10px;
	}

	.read-also-label {
		display: none;
	}
}

p.read-also-label {
	font-size: 0.9em;
	margin-top: 15px;
}

h3.read-also-title {
	margin-top: 0;
	margin-bottom: 15px;
}

.read-also-box a:hover {
	color: var(--text-color);
}

.read-also-box a > i {
	color: white;
}

.thecta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5em;
	padding: 1em 1.2em;
	background: var(--secondary-color);
	color: #fff;
	border-radius: var(--border-radius);
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	cursor: pointer;
	transition: background var(--transition), transform var(--transition);
	width: 100%;
	font-size: 29px;
}

.thecta svg {
	width: 1.5em;
	height: 1.5em;
	fill: currentColor;
	transition: transform var(--transition);
}

.thecta:hover {
	background: #239299;
	/* Tom mais escuro do secondary */
	color: white;
}

.thecta:hover svg {
	transform: translateX(4px);
}

/* ===== Animação de "pulse" ===== */
@keyframes pulse {
	0% {
		transform: scale(1);
	}

	50% {
		transform: scale(1.02);
	}

	100% {
		transform: scale(1);
	}
}

/* Classe para aplicar o efeito pulsante */
.pulse {
	animation: pulse 3s infinite;
}

.thecta:active {
	transform: scale(0.98);
}

hr {
	margin-bottom: 30px;
	margin-top: 30px;
}

.mais-lidos-list li {
	padding-bottom: 1em;
	/* Espaço extra ao final */
	border: 1px solid #eee;
	/* Linha sutil para separar */
	padding: 15px;
	transition: background-color 0.3s, box-shadow 0.3s;
	border-radius: 6px;
	/* Suave nos cantos */
	cursor: pointer;
	/* Aparência de "clique" */
}

.mais-lidos-list li time {
	font-size: 0.75em;
	/* Menor que o padrão */
	color: #999;
	margin: 0.3em 0;
	/* Espaço vertical sutil */
	display: block;
	float: right;
}

.mais-lidos-list li:hover {
	background-color: #f2f2f2;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
}

.read-more-link {
	font-size: 0.8em;
	color: var(--secondary-color);
	font-weight: 600;
	text-decoration: none;
}

.read-more-link:hover {
	color: #239299;
	/* Um pouco mais escuro */
}

.read-more-link .arrow-icon {
	font-size: 1.2em;
	margin-left: 0.2em;
}

.mais-lidos-list .image-container {
	border-radius: 5px;
}

@media (max-width: 480px) {
	.mais-lidos-list li {
		flex-direction: column;
		align-items: flex-start;
	}

	.mais-lidos-list li .image-container {
		/* Define uma proporção 16:9 */
		aspect-ratio: 16 / 9;
		width: 100%;
		display: block;
		overflow: hidden;
		margin-bottom: 0px;
	}

	.mais-lidos-list li .image-container img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
}

.catposts .image-container {
	margin-bottom: 5px;
}

.pagination {
	text-align: center;
	color: var(--secondary-color);
	/* Usa a cor secundária definida em :root */
	font-family: var(--font-family);
	margin: 2rem 0;
	/* Ajuste conforme quiser */
}

.pagination .page {
	display: inline-block;
	margin: 0 0.3em;
	/* Espaçamento horizontal */
}

.pagination a,
.pagination span {
	display: block;
	min-width: 32px;
	font-size: 0.875rem;
	background: #fff;
	border-radius: 4px;
	padding: 0.6em;
	text-decoration: none;
	color: inherit;
}

/* Estado de página atual */
.pagination .page--current span {
	background-color: var(--secondary-color);
	color: #fff;
	cursor: default;
}

/* Responsivo simples: some com páginas excedentes em telas muito pequenas */
@media (max-width: 569px) {
	.pagination .page:nth-child(n + 5):not(:last-child) {
		display: none;
		visibility: hidden;
	}
}

.author-card img {
	margin: auto;
	margin-bottom: 20px;
}

.text-center {
	text-align: center !important;
}

/* Contact form group spacing */
.contact-box form > label {
	margin-top: 1em;
	font-weight: 600;
	color: var(--primary-color);
}

.contact-box form > label:first-of-type {
	/* The first label (Name) if you want to remove extra top spacing */
	margin-top: 0;
}

/* If you want a bit more spacing between label and input */
.contact-box form > input,
.contact-box form > textarea {
	margin-top: 0.5em;
}

/* Feedback div styling (an alternative to inline style changes):
	 You can remove the inline styles from displayFeedback() if you prefer classes. */
#form-feedback {
	display: none; /* Hidden by default */
	padding: 10px;
	margin-top: 10px;
	border-radius: 5px;
}
#form-feedback.success {
	background-color: #d4edda;
	color: #155724;
	border: 1px solid #c3e6cb;
}
#form-feedback.error {
	background-color: #f8d7da;
	color: #721c24;
	border: 1px solid #f5c6cb;
}

.mb-4 {
	margin-bottom: 25px;
}

.mt-4 {
	margin-top: 25px;
}

.post-wrapper .post-featured-image {
	margin: 0 !important;
	padding: 0 !important;
	line-height: 0;
}

.post-wrapper .post-featured-image .image-container {
	margin: 0 !important;
	padding: 0 !important;
	line-height: 0;
}

.featured-article .image-container {
	margin: 0 !important;
	padding: 0 !important;
	line-height: 0;
}

.featured-article .post-featured-image {
	margin: 0 !important;
	padding: 0 !important;
	line-height: 0;
}

.references ul li {
	margin-bottom: 0.5rem;
	font-size: 1rem;
}

.references {
	border: 1px solid #00000024;
	padding: 0.5rem;
	border-radius: 0.5rem;
	overflow: auto;
}

.references p {
	text-align: center;
	font-weight: 600;
	margin-top: 10px;
	margin-bottom: 21px;
	border-bottom: 1px solid #00000030;
	padding-bottom: 15px;
}

.author-box .author-info {
	min-width: 0;
}

.author-box .author-desc,
.author-box .author-title a {
	white-space: normal;
	overflow-wrap: break-word;
	word-wrap: break-word;
}

.table-responsive table {
	width: 100%;
	border-collapse: collapse; /* junta as bordas internas */
}

.table-responsive th,
.table-responsive td {
	border: 1px solid #ccc; /* borda leve em cada célula */
	padding: 0.75rem; /* espaço interno */
	text-align: left;
}

.table-responsive thead {
	background-color: #f5f5f5; /* cor de fundo no cabeçalho */
}

.table-responsive tr:nth-child(even) td {
	background-color: #fafafa; /* leve sombreamento nas linhas pares */
}
