﻿:root {
	--gradient-brand: linear-gradient(90deg, var(--verde) 0%, var(--azul) 100%);
	--verde: #81a749;
	--azul: #1898b7;
	--texto: #303030;
}

/* ===== RESET E BASE ===== */
* {
	box-sizing: border-box;
}

body {
	margin: 0;
	font-family: "Inter", sans-serif;
	color: var(--texto);
	background: #fff;
}

a {
	text-decoration: none;
}

@media (min-width: 1400px) {
	.container,
	.container-sm,
	.container-md,
	.container-lg,
	.container-xl,
	.container-xxl {
		max-width: 1440px !important;
	}
}


/* =========================================================
   TIPOGRAFIA GLOBAL
   Altere estes valores para controlar os títulos do site.
========================================================= */
h1,
h2,
h3,
h4,
h5,
h6 {
	margin-top: 0;
	color: var(--texto);
	font-family: inherit;
	line-height: 1.2;
}

h1 {
	font-size: clamp(2.4rem, 5vw, 4rem);
	font-weight: 900;
	letter-spacing: -0.045em;
}

h2 {
	font-size: clamp(1.7rem, 3vw, 2.35rem);
	font-weight: 850;
	letter-spacing: -0.035em;
}

h3 {
	font-size: 1.05rem;
	font-weight: 800;
}

h4 {
	font-size: 1rem;
	font-weight: 700;
}

h5,
h6 {
	font-size: 0.9rem;
	font-weight: 700;
}
/* =========================================================
   HERO PADRÃO DAS PÁGINAS INTERNAS
   A Home continua usando .hero-section.
========================================================= */
.page-hero {
	padding: 82px 0 78px;
	overflow: hidden;
	background: var(--gradient-brand);
	color: #fff;
}

.page-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	margin-bottom: 18px;
	color: rgba(255, 255, 255, 0.88);
	font-size: 0.8rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

	.page-eyebrow::before {
		content: "";
		width: 8px;
		height: 8px;
		border-radius: 50%;
		background: #fff;
		box-shadow: 0 0 0 6px rgba(255, 255, 255, 0.14);
	}

.page-hero h1 {
	max-width: 880px;
	margin: 0 0 18px;
	color: #fff;
	line-height: 1.05;
}

	.page-hero h1 span {
		color: #99dfc8;
	}

.page-hero p {
	max-width: 780px;
	margin: 0;
	color: rgba(255, 255, 255, 0.82);
	font-size: 1.08rem;
	line-height: 1.75;
}

.hero-img {
	transition: opacity 0.45s ease, transform 0.45s ease;
}

	.hero-img.hero-img-changing {
		opacity: 0;
		transform: scale(0.985);
	}

/* =========================================================
   CABEÇALHO PADRÃO DE SEÇÃO
========================================================= */
.section-heading {
	margin-bottom: 30px;
}

	.section-heading > span {
		display: block;
		margin-bottom: 7px;
		color: var(--azul);
		font-size: 0.75rem;
		font-weight: 800;
		letter-spacing: 0.12em;
		text-transform: uppercase;
	}

	.section-heading h2 {
		margin: 0;
		line-height: 1.15;
	}

.section-heading-light > span,
.section-heading-light h2 {
	color: #fff;
}

.section-heading-light > span {
	opacity: 0.78;
}

@media (max-width: 991.98px) {
	.page-hero {
		padding: 62px 0;
	}
}

/* ===== TOP BAR ===== */
.topbar {
	padding: 6px 0;
	background: var(--gradient-brand);
	color: #fff;
	font-size: 0.78rem;
}
	.topbar span {
		color: #fff;
		font-size: 0.78rem;
		font-weight: unset;
		letter-spacing: unset;
		text-transform: unset;
	}

	.topbar a {
		color: rgba(255, 255, 255, 0.85);
		transition: color 0.2s ease;
	}

		.topbar a:hover {
			color: #fff;
		}

	.topbar .separator {
		margin: 0 8px;
		color: rgba(255, 255, 255, 0.35);
	}

/* ===== NAVBAR ===== */
.navbar-main {
	position: sticky;
	top: 0;
	z-index: 1030;
	padding: 10px 0;
	border-bottom: 1px solid #e2e8e4;
	background: rgba(255, 255, 255, 0.97);
}

	.navbar-main .navbar-brand img {
		height: 44px;
	}

	.navbar-main .nav-link {
		padding: 6px 12px !important;
		color: var(--texto);
		font-size: 0.9rem;
		font-weight: 500;
		transition: color 0.2s ease;
	}

		.navbar-main .nav-link:hover {
			color: var(--azul);
		}

.btn-agendar {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 8px 18px;
	border-radius: 8px;
	background: var(--gradient-brand);
	color: #fff !important;
	font-size: 0.88rem;
	font-weight: 600;
	transition: opacity 0.2s ease;
}

	.btn-agendar:hover {
		opacity: 0.9;
	}

.subtitulo_azul {
	margin-bottom: 7px;
	color: var(--azul);
	font-size: 0.75rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

/* ===== HERO ===== */
.hero-section {
	position: relative;
	min-height: 520px;
	padding: 70px 0 50px;
	overflow: hidden;
	background: linear-gradient(135deg, #eef7f1 0%, #d6ede2 100%);
}

.hero-badge {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-bottom: 18px;
	padding: 4px 12px;
	border: 1px solid #e2e8e4;
	border-radius: 20px;
	background: rgba(255, 255, 255, 0.7);
	color: var(--azul);
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

	.hero-badge .dot {
		display: inline-block;
		width: 7px;
		height: 7px;
		border-radius: 50%;
		background: var(--verde);
	}

.hero-section h1 {
	margin-bottom: 18px;
	color: #000;
	font-size: clamp(2.2rem, 5vw, 3.4rem);
	font-weight: 900;
	line-height: 1.1;
}

	.hero-section h1 span {
		background: var(--gradient-brand);
		color: #0000;
		background-clip: text;
	}

.hero-section p {
	max-width: 460px;
	margin-bottom: 28px;
	color: var(--texto);
	font-size: 1.05rem;
	line-height: 1.65;
}

.btn-hero-primary,
.btn-hero-outline {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	padding: 12px 22px;
	border-radius: 8px;
	font-size: 0.95rem;
	font-weight: 600;
	transition: color 0.2s ease, border-color 0.2s ease, opacity 0.2s ease;
}

.btn-hero-primary {
	background: var(--gradient-brand);
	color: #fff;
}

	.btn-hero-primary:hover {
		color: #fff;
		opacity: 0.9;
	}

.btn-hero-outline {
	border: 1.5px solid #e2e8e4;
	background: transparent;
	color: var(--verde);
}

	.btn-hero-outline:hover {
		border-color: var(--azul);
		color: var(--azul);
	}

.hero-stats {
	margin-top: 36px;
}

.hero-stat-label {
	display: block;
	margin-bottom: 2px;
	color: var(--texto);
	font-size: 0.78rem;
	font-weight: 500;
}

.hero-stat-value {
	color: var(--verde);
	font-size: 1.9rem;
	font-weight: 800;
	line-height: 1;
}

.hero-stat-divider {
	width: 1px;
	height: 36px;
	margin: 0 20px;
	background: #e2e8e4;
}

.hero-img {
	width: 100%;
	max-height: 380px;
	border-radius: 16px;
	object-fit: cover;
	box-shadow: 0 20px 60px rgba(0, 0, 0, 0.12);
}

/* ===== HERO CAROUSEL DOTS ===== */
.hero-dots {
	margin-top: 28px;
}

.hero-dot {
	width: 8px;
	height: 8px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: #e2e8e4;
	cursor: pointer;
	transition: width 0.2s ease, background 0.2s ease;
}

	.hero-dot.active {
		width: 24px;
		border-radius: 4px;
		background: var(--azul);
	}

/* ===== QUICK ACCESS ===== */
.quick-access {
	border-bottom: 1px solid #e2e8e4;
	background: #fff;
}

.quick-access-inner {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	align-items: stretch;
}

.quick-access-item {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 128px;
	padding: 20px 12px;
	border-right: 1px solid #e2e8e4;
	color: var(--texto);
	font-size: 0.86rem;
	font-weight: 600;
	text-align: center;
	transition: color 0.2s ease, background 0.2s ease;
}

	.quick-access-item:first-child {
		border-left: 1px solid #e2e8e4;
	}

	.quick-access-item::after {
		content: "";
		position: absolute;
		right: 0;
		bottom: 0;
		left: 0;
		height: 3px;
		background: var(--gradient-brand);
		opacity: 0;
		transform: scaleX(0);
		transition: opacity 0.2s ease, transform 0.2s ease;
	}

	.quick-access-item:hover {
		background: #f8faf9;
		color: var(--azul);
	}

		.quick-access-item:hover::after {
			opacity: 1;
			transform: scaleX(1);
		}

	.quick-access-item .icon-circle {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 48px;
		height: 48px;
		border: 1px solid #dce7e2;
		border-radius: 50%;
		background: #e8f5ee;
		color: var(--azul);
		font-size: 1.25rem;
		transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
	}

	.quick-access-item:hover .icon-circle {
		border-color: transparent;
		background: var(--gradient-brand);
		color: #fff;
	}

/* ===== TÍTULOS DE SEÇÃO ===== */
.section-header {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 24px;
	margin-bottom: 28px;
}

.section-label {
	margin: 0 0 8px;
	color: var(--azul);
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.section-title {
	margin: 0;
	color: var(--texto);
	font-size: clamp(1.6rem, 3vw, 2.2rem);
	font-weight: 800;
	line-height: 1.2;
}

.section-link {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	color: var(--azul);
	font-size: 0.9rem;
	font-weight: 600;
	white-space: nowrap;
	transition: color 0.2s ease;
}

	.section-link i {
		transition: transform 0.2s ease;
	}

	.section-link:hover {
		color: var(--verde);
	}

		.section-link:hover i {
			transform: translateX(4px);
		}

/* ===== ESPECIALIDADES ===== */
.especialidades-section {
	padding: 72px 0;
	background: #fff;
}

.card-especialidade {
	display: flex;
	flex-direction: column;
	height: 100%;
	min-height: 280px;
	padding: 30px;
	border: 1px solid #e2e8e4;
	border-radius: 14px;
	background: #fff;
	color: inherit;
	transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

	.card-especialidade:hover {
		transform: translateY(-5px);
		border-color: var(--azul);
		box-shadow: 0 14px 34px rgba(0, 0, 0, 0.08);
		color: inherit;
	}

	.card-especialidade .icon-wrap,
	.card-destaque .icon-wrap,
	.card-info .icon-wrap {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 48px;
		height: 48px;
		margin-bottom: 18px;
		border-radius: 12px;
		background: #e8f5ee;
		color: var(--azul);
		font-size: 1.35rem;
	}

	.card-especialidade h3 {
		margin: 0 0 10px;
		color: var(--texto);
		line-height: 1.35;
	}

	.card-especialidade p {
		margin: 0 0 22px;
		color: var(--texto);
		font-size: 0.88rem;
		line-height: 1.65;
	}

	.card-especialidade .saiba-mais {
		display: inline-flex;
		align-items: center;
		gap: 7px;
		margin-top: auto;
		color: var(--azul);
		font-size: 0.85rem;
		font-weight: 600;
	}

		.card-especialidade .saiba-mais i {
			transition: transform 0.2s ease;
		}

	.card-especialidade:hover .saiba-mais i {
		transform: translateX(4px);
	}

/* ===== DESTAQUES ===== */
.destaques-grid {
	margin-top: 30px;
}

.card-destaque {
	display: flex;
	flex-direction: column;
	height: 100%;
	min-height: 245px;
	padding: 28px;
	border: 1px solid #e2e8e4;
	border-radius: 14px;
	background: #fff;
	color: inherit;
	transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

	.card-destaque:hover {
		transform: translateY(-4px);
		border-color: var(--azul);
		box-shadow: 0 12px 30px rgba(0, 0, 0, 0.07);
		color: inherit;
	}

	.card-destaque h4 {
		margin: 0 0 9px;
		color: var(--texto);
	}

	.card-destaque p {
		margin: 0 0 18px;
		color: var(--texto);
		font-size: 0.86rem;
		line-height: 1.65;
	}

	.card-destaque .acessar {
		display: inline-flex;
		align-items: center;
		gap: 7px;
		margin-top: auto;
		color: var(--azul);
		font-size: 0.85rem;
		font-weight: 600;
	}

		.card-destaque .acessar i {
			transition: transform 0.2s ease;
		}

	.card-destaque:hover .acessar i {
		transform: translateX(4px);
	}

/* ===== INFORMAÇÕES ===== */
.info-grid {
	margin-top: 30px;
}

.card-info {
	height: 100%;
	min-height: 230px;
	padding: 28px;
	border: 1px solid #e2e8e4;
	border-radius: 14px;
	background: #fff;
}

	.card-info h4 {
		margin: 0 0 14px;
		color: var(--texto);
	}

	.card-info p,
	.card-info li {
		color: var(--texto);
		font-size: 0.87rem;
		line-height: 1.65;
	}

	.card-info p {
		margin: 0 0 14px;
	}

	.card-info ul {
		margin: 0;
		padding: 0;
		list-style: none;
	}

		.card-info ul li {
			display: flex;
			align-items: center;
			justify-content: space-between;
			gap: 16px;
			padding: 7px 0;
			border-bottom: 1px solid #edf1ef;
		}

			.card-info ul li:last-child {
				border-bottom: 0;
			}

			.card-info ul li strong {
				color: var(--verde);
				font-size: 0.82rem;
				font-weight: 700;
				white-space: nowrap;
			}

.info-contact-link {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	color: var(--azul);
	font-size: 0.87rem;
	font-weight: 600;
	transition: color 0.2s ease;
}

	.info-contact-link:hover {
		color: var(--verde);
	}

.card-info-aviso {
	border-color: #f5e4a0;
	background: #fffbeb;
}

	.card-info-aviso .icon-wrap {
		background: #fef3c7;
		color: #b45309;
	}

/* ===== SATISFAÇÃO ===== */
.satisfacao-section {
	padding: 70px 0;
	background: #f5f7f5;
}

.satisfacao-card {
	padding: 48px;
	border-radius: 16px;
	background: #fff;
	box-shadow: 0 4px 24px rgba(0, 0, 0, 0.06);
}

.satisfacao-badge {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-bottom: 18px;
	padding: 4px 12px;
	border: 1px solid #c3e6d0;
	border-radius: 20px;
	background: #e8f5ee;
	color: var(--azul);
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.satisfacao-card h2 {
	margin-bottom: 16px;
	color: var(--texto);
	line-height: 1.2;
}

	.satisfacao-card h2 span {
		background: var(--gradient-brand);
		background-clip: text;
		-webkit-background-clip: text;
		color: transparent;
		-webkit-text-fill-color: transparent;
	}

.satisfacao-card p {
	margin-bottom: 20px;
	color: var(--texto);
	font-size: 0.9rem;
	line-height: 1.65;
}

.tag-pill {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	margin-right: 6px;
	padding: 5px 12px;
	border-radius: 20px;
	background: #f0f4f1;
	color: var(--azul);
	font-size: 0.75rem;
	font-weight: 600;
}

.nota-card {
	flex: 1;
	padding: 24px 20px;
	border: 1px solid #e2e8e4;
	border-radius: 14px;
	background: #f8faf9;
	text-align: center;
}

	.nota-card .ano {
		margin-bottom: 6px;
		color: var(--texto);
		font-size: 0.78rem;
		font-weight: 600;
	}

	.nota-card .nota {
		color: var(--verde);
		font-size: 2.6rem;
		font-weight: 900;
		line-height: 1;
	}

	.nota-card .nota-label {
		margin-top: 4px;
		color: var(--texto);
		font-size: 0.72rem;
		font-weight: 600;
		letter-spacing: 0.06em;
		text-transform: uppercase;
	}

/* ===== CTA ===== */
.cta-section {
	padding: 60px 0;
	background: var(--gradient-brand);
}

	.cta-section h2 {
		margin-bottom: 12px;
		color: #fff;
		line-height: 1.2;
	}

	.cta-section p {
		margin-bottom: 0;
		color: rgba(255, 255, 255, 0.8);
		font-size: 0.95rem;
	}

.btn-cta-white,
.btn-cta-outline-white {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 12px 24px;
	border-radius: 8px;
	font-size: 0.95rem;
	font-weight: 700;
	transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.btn-cta-white {
	background: #fff;
	color: var(--verde);
}

	.btn-cta-white:hover {
		background: #e8f5ee;
		color: var(--verde);
	}

.btn-cta-outline-white {
	border: 1.5px solid rgba(255, 255, 255, 0.5);
	background: transparent;
	color: #fff;
}

	.btn-cta-outline-white:hover {
		border-color: #fff;
		color: #fff;
	}

.cta-image {
	display: block;
	width: 100%;
	height: 430px;
	object-fit: cover;
	border-radius: 18px;
}

@media (max-width: 991.98px) {
	.cta-image {
		height: 360px;
	}
}

@media (max-width: 575.98px) {
	.cta-section .px-5 {
		padding-right: 20px !important;
		padding-left: 20px !important;
	}

	.cta-image {
		height: 260px;
		border-radius: 14px;
	}
}
/* ===== FOOTER ===== */
footer {
	padding: 60px 0 0;
	background: #eef7f9;
	color: var(--texto);
}

	footer .footer-logo img {
		height: 40px;
	}

	footer .footer-desc {
		margin: 14px 0 20px;
		font-size: 0.85rem;
		line-height: 1.65;
	}

	footer .footer-contact {
		font-size: 0.82rem;
		line-height: 2;
	}

		footer .footer-contact i {
			margin-right: 6px;
			color: var(--verde);
		}

	footer .footer-social a {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 34px;
		height: 34px;
		margin-right: 6px;
		border-radius: 8px;
		background: #3030301a;
		font-size: 1rem;
		transition: background 0.2s ease, color 0.2s ease;
		color: var(--texto);
	}

		footer .footer-social a:hover {
			background: var(--verde);
			color: #FFF;
		}

	footer h5 {
		margin-bottom: 16px;
	}

	footer ul {
		margin: 0;
		padding: 0;
		list-style: none;
	}

		footer ul li {
			margin-bottom: 8px;
		}

			footer ul li a {
				font-size: 0.83rem;
				transition: color 0.2s ease;
				color: var(--texto);
			}

				footer ul li a:hover {
					color: var(--azul);
				}

.footer-bottom {
	margin-top: 48px;
	padding: 18px 0;
	border-top: 1px solid var(--verde);
}

	.footer-bottom p {
		margin: 0;
		color: var(--texto);
		font-size: 0.78rem;
	}

	.footer-bottom a {
		margin-left: 16px;
		color: var(--texto);
		font-size: 0.78rem;
		transition: color 0.2s ease;
	}

		.footer-bottom a:hover {
			color: #fff;
		}

/* ===== PÁGINA DE MÉDICOS ===== */


.medicos-content {
	padding: 72px 0 90px;
	background: #f6f8f7;
}

.medicos-section {
	margin-bottom: 54px;
}

	.medicos-section:last-child {
		margin-bottom: 0;
	}

.medicos-section-header {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 20px;
	margin-bottom: 24px;
}

.medicos-section-label {
	margin: 0 0 7px;
	color: var(--verde);
	font-size: 0.76rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.medicos-section-title {
	margin: 0;
	color: var(--texto);
	font-weight: 800;
	letter-spacing: -0.03em;
	line-height: 1.15;
}

.medicos-section-desc {
	max-width: 570px;
	margin: 8px 0 0;
	color: #68737d;
	line-height: 1.65;
}

.medicos-card {
	height: 100%;
	padding: 28px;
	border: 1px solid #dfe7e4;
	border-radius: 22px;
	background: #fff;
	box-shadow: 0 12px 32px rgba(23, 33, 43, 0.055);
	transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

	.medicos-card:hover {
		transform: translateY(-5px);
		border-color: rgba(0, 107, 87, 0.28);
		box-shadow: 0 18px 42px rgba(23, 33, 43, 0.1);
	}

.medicos-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 52px;
	margin-bottom: 22px;
	border-radius: 16px;
	background: #fff;
	color: var(--verde);
	font-size: 1.45rem;
}

.medicos-card h3 {
	margin: 0 0 8px;
	color: var(--texto);
	letter-spacing: -0.015em;
}

.medicos-card p {
	margin: 0;
	color: #68737d;
	font-size: 0.94rem;
	line-height: 1.65;
}

.medicos-doctor-card {
	display: flex;
	align-items: center;
	gap: 18px;
}

.medicos-avatar {
	display: flex;
	flex: 0 0 auto;
	align-items: center;
	justify-content: center;
	width: 64px;
	height: 64px;
	border-radius: 50%;
	background: var(--gradient-brand);
	color: #fff;
	font-size: 1.55rem;
	font-weight: 800;
}

.medicos-specialty {
	display: inline-flex;
	align-items: center;
	margin-top: 3px;
	padding: 5px 10px;
	border-radius: 999px;
	background: #fff;
	color: var(--azul);
	font-size: 0.78rem;
	font-weight: 700;
}

.medicos-specialty-card {
	display: flex;
	align-items: center;
	gap: 16px;
	min-height: 108px;
	color: inherit;
}

	.medicos-specialty-card .medicos-icon {
		width: 48px;
		height: 48px;
		margin: 0;
		border-radius: 14px;
	}

	.medicos-specialty-card h3 {
		margin: 0;
	}

.medicos-arrow {
	margin-left: auto;
	color: var(--verde);
	font-size: 1.05rem;
	transition: transform 0.2s ease;
}

.medicos-specialty-card:hover .medicos-arrow {
	transform: translateX(4px);
}

.medicos-status {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-top: 16px;
	padding: 5px 9px;
	border-radius: 999px;
	font-size: 0.73rem;
	font-weight: 800;
}

.medicos-status-validar {
	background: #fff4d9;
	color: #9a6500;
}

.medicos-status-restrito {
	background: #f0f1f3;
	color: #5d6570;
}

.medicos-link-card {
	display: block;
	height: 100%;
	color: inherit;
}

	.medicos-link-card .medicos-card {
		position: relative;
		padding-right: 62px;
	}

	.medicos-link-card .medicos-arrow {
		position: absolute;
		top: 29px;
		right: 28px;
	}

.medicos-related {
	padding: 34px;
	border-radius: 24px;
	background: var(--gradient-brand);
	color: #fff;
}

	.medicos-related h2 {
		margin: 0 0 8px;
		letter-spacing: -0.025em;
	}

	.medicos-related p {
		margin: 0;
		color: rgba(255, 255, 255, 0.76);
	}

.medicos-related-links {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: 12px;
}

.medicos-related-link {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	padding: 12px 17px;
	border: 1px solid rgba(255, 255, 255, 0.28);
	border-radius: 12px;
	color: #fff;
	font-weight: 700;
	transition: background 0.2s ease, border-color 0.2s ease;
}

	.medicos-related-link:hover {
		border-color: rgba(255, 255, 255, 0.45);
		background: rgba(255, 255, 255, 0.12);
		color: #fff;
	}

/* ===== RESPONSIVO ===== */
@media (max-width: 991.98px) {
	.navbar-main .container-fluid {
		flex-wrap: wrap;
	}

	.navbar-main .navbar-collapse {
		position: fixed;
		top: 12%;
		right: 0;
		left: 0;
		width: 100%;
		margin-top: 15px;
		padding: 15px;
		border-radius: 12px;
		background: #fff;
		box-shadow: 0 15px 40px rgba(0, 0, 0, 0.08);
	}

	.navbar-main .navbar-nav {
		width: 100%;
	}

	.navbar-main .nav-link {
		display: block;
		width: 100%;
		padding: 14px 18px !important;
		border-bottom: 1px solid #ececec;
		font-size: 0.95rem;
	}

		.navbar-main .nav-link:last-of-type {
			border-bottom: 0;
		}

	.navbar-main .btn-agendar {
		display: flex;
		width: 100%;
		margin: 15px 0 0 !important;
		padding: 14px;
	}

	.quick-access .container {
		max-width: 100%;
		padding-right: 0;
		padding-left: 0;
	}

	.quick-access-inner {
		display: flex;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
	}

	.quick-access-item {
		flex: 0 0 150px;
		min-height: 112px;
		border-left: 0;
		scroll-snap-align: start;
	}

		.quick-access-item:first-child {
			border-left: 0;
		}

	.medicos-hero {
		padding: 58px 0;
	}

	.medicos-content {
		padding: 58px 0 70px;
	}

	.medicos-related-links {
		justify-content: flex-start;
		margin-top: 24px;
	}
}

@media (max-width: 767.98px) {
	.hero-section {
		padding: 40px 0 30px;
	}

	.hero-img {
		margin-top: 30px;
	}

	.especialidades-section {
		padding: 52px 0;
	}

	.section-header,
	.medicos-section-header {
		display: block;
	}

	.section-link {
		margin-top: 16px;
	}

	.quick-access-item {
		flex-basis: 125px;
		min-height: 104px;
		padding: 16px 10px;
		font-size: 0.78rem;
	}

		.quick-access-item .icon-circle {
			width: 42px;
			height: 42px;
			font-size: 1.1rem;
		}

	.card-especialidade,
	.card-destaque,
	.card-info {
		min-height: auto;
		padding: 24px;
	}

	.destaques-grid,
	.info-grid {
		margin-top: 24px;
	}

	.satisfacao-card {
		padding: 28px 20px;
	}

	.nota-card .nota {
		font-size: 2rem;
	}

	.medicos-hero,
	.medicos-content {
		padding-right: 4px;
		padding-left: 4px;
	}

	.medicos-card {
		padding: 23px;
		border-radius: 18px;
	}

	.medicos-related {
		padding: 26px 22px;
		border-radius: 20px;
	}
}

/* ===== PÁGINA SOBRE ===== */


.sobre-intro,
.sobre-valores,
.sobre-historia,
.sobre-diretoria,
.sobre-links {
	padding: 76px 0;
}

.sobre-intro,
.sobre-historia,
.sobre-links {
	background: #fff;
}

.sobre-valores,
.sobre-diretoria {
	background: #f6f8f7;
}

.sobre-intro-card {
	height: 100%;
	padding: 30px;
	border: 1px solid #e2e8e4;
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 10px 30px rgba(23, 33, 43, 0.05);
}

.sobre-icon,
.sobre-valor-icon,
.sobre-link-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 52px;
	border-radius: 15px;
	background: #e8f5ee;
	color: var(--azul);
}

.sobre-intro-card h2 {
	margin: 20px 0 10px;
	color: var(--texto);
}

.sobre-intro-card p {
	margin: 0;
	color: #68737d;
	font-size: 0.94rem;
	line-height: 1.7;
}


.sobre-valor-card {
	height: 100%;
	padding: 26px;
	border: 1px solid #e2e8e4;
	border-radius: 16px;
	background: #fff;
	transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}

	.sobre-valor-card:hover {
		transform: translateY(-4px);
		border-color: var(--azul);
		box-shadow: 0 14px 34px rgba(23, 33, 43, 0.08);
	}

.sobre-valor-icon {
	width: 46px;
	height: 46px;
	border-radius: 13px;
}

.sobre-valor-card h3 {
	margin: 18px 0 8px;
	color: var(--texto);
}

.sobre-valor-card p {
	margin: 0;
	color: #68737d;
	font-size: 0.88rem;
	line-height: 1.65;
}

.sobre-timeline {
	position: relative;
	max-width: 980px;
	margin: 0 auto;
}

	.sobre-timeline::before {
		content: "";
		position: absolute;
		top: 8px;
		bottom: 8px;
		left: 101px;
		width: 2px;
		background: #dce7e2;
	}

.sobre-timeline-item {
	position: relative;
	display: grid;
	grid-template-columns: 74px 28px 1fr;
	gap: 14px;
	align-items: start;
	padding: 0 0 34px;
}

	.sobre-timeline-item:last-child {
		padding-bottom: 0;
	}

.sobre-timeline-marker {
	position: relative;
	z-index: 1;
	grid-column: 2;
	width: 14px;
	height: 14px;
	margin-top: 5px;
	border: 3px solid #fff;
	border-radius: 50%;
	background: var(--azul);
	box-shadow: 0 0 0 2px var(--azul);
}

.sobre-timeline-year {
	grid-column: 1;
	grid-row: 1;
	color: var(--verde);
	font-size: 1rem;
	font-weight: 850;
	text-align: right;
}

.sobre-timeline-item p {
	grid-column: 3;
	grid-row: 1;
	margin: 0;
	color: #68737d;
	font-size: 0.94rem;
	line-height: 1.65;
}

.sobre-diretor-card {
	height: 100%;
	padding: 28px 22px;
	border: 1px solid #e2e8e4;
	border-radius: 17px;
	background: #fff;
	text-align: center;
}

.sobre-diretor-avatar {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 68px;
	height: 68px;
	margin: 0 auto 17px;
	border-radius: 50%;
	background: var(--gradient-brand);
	color: #fff;
	font-size: 1.35rem;
	font-weight: 850;
}

.sobre-diretor-card h3 {
	margin: 0 0 5px;
	color: var(--texto);
}

.sobre-diretor-card p {
	margin: 0;
	color: #68737d;
	font-size: 0.84rem;
}

.sobre-numeros {
	padding: 74px 0;
	background: var(--gradient-brand);
	color: #fff;
}


.sobre-numero {
	height: 100%;
	padding: 28px 20px;
	border: 1px solid rgba(255, 255, 255, 0.2);
	border-radius: 16px;
	background: rgba(255, 255, 255, 0.08);
	text-align: center;
}

	.sobre-numero strong {
		display: block;
		margin-bottom: 8px;
		color: #fff;
		font-size: clamp(2rem, 4vw, 3rem);
		font-weight: 900;
		line-height: 1;
	}

	.sobre-numero span {
		color: rgba(255, 255, 255, 0.78);
		font-size: 0.86rem;
		font-weight: 600;
	}

.sobre-link-card {
	position: relative;
	display: flex;
	align-items: flex-start;
	gap: 18px;
	height: 100%;
	padding: 26px 58px 26px 26px;
	border: 1px solid #e2e8e4;
	border-radius: 17px;
	background: #fff;
	color: inherit;
	transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}

	.sobre-link-card:hover {
		transform: translateY(-4px);
		border-color: var(--azul);
		box-shadow: 0 14px 34px rgba(23, 33, 43, 0.08);
		color: inherit;
	}

.sobre-link-icon {
	flex: 0 0 auto;
	width: 48px;
	height: 48px;
	border-radius: 14px;
}

.sobre-link-card h3 {
	margin: 1px 0 7px;
	color: var(--texto);
}

.sobre-link-card p {
	margin: 0 0 13px;
	color: #68737d;
	font-size: 0.86rem;
	line-height: 1.55;
}

.sobre-link-card span {
	color: var(--azul);
	font-size: 0.83rem;
	font-weight: 700;
}

.sobre-link-arrow {
	position: absolute;
	top: 29px;
	right: 25px;
	color: var(--verde);
	transition: transform 0.2s ease;
}

.sobre-link-card:hover .sobre-link-arrow {
	transform: translateX(4px);
}

@media (max-width: 991.98px) {
	.sobre-hero {
		padding: 62px 0;
	}

	.sobre-intro,
	.sobre-valores,
	.sobre-historia,
	.sobre-diretoria,
	.sobre-links {
		padding: 58px 0;
	}

	.sobre-numeros {
		padding: 58px 0;
	}
}

@media (max-width: 767.98px) {
	.sobre-timeline::before {
		left: 6px;
	}

	.sobre-timeline-item {
		grid-template-columns: 20px 1fr;
		gap: 14px;
		padding-bottom: 28px;
	}

	.sobre-timeline-marker {
		grid-column: 1;
		grid-row: 1 / span 2;
		width: 12px;
		height: 12px;
		margin-top: 5px;
	}

	.sobre-timeline-year {
		grid-column: 2;
		grid-row: 1;
		text-align: left;
	}

	.sobre-timeline-item p {
		grid-column: 2;
		grid-row: 2;
	}

	.sobre-intro-card,
	.sobre-valor-card,
	.sobre-diretor-card,
	.sobre-link-card {
		padding: 23px;
	}

	.sobre-link-card {
		padding-right: 54px;
	}

	.sobre-numero {
		padding: 24px 12px;
	}
}

/* ===== PÁGINA NOTÍCIAS ===== */


.noticias-section {
	padding: 70px 0 78px;
	background: #f6f8f7;
}

.noticias-filtros {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-bottom: 30px;
}

.noticias-filtro {
	padding: 9px 17px;
	border: 1px solid #dce7e2;
	border-radius: 999px;
	background: #fff;
	color: var(--texto);
	font-size: 0.84rem;
	font-weight: 700;
	cursor: pointer;
	transition: color 0.2s ease, background 0.2s ease, border-color 0.2s ease;
}

	.noticias-filtro:hover,
	.noticias-filtro.active {
		border-color: transparent;
		background: var(--gradient-brand);
		color: #fff;
	}

.noticia-destaque {
	overflow: hidden;
	margin-bottom: 34px;
	border: 1px solid #dfe7e4;
	border-radius: 22px;
	background: #fff;
	box-shadow: 0 14px 40px rgba(23, 33, 43, 0.07);
}

.noticia-destaque-imagem {
	height: 100%;
	min-height: 390px;
}

	.noticia-destaque-imagem img,
	.noticia-card-imagem img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

.noticia-destaque-conteudo {
	display: flex;
	flex-direction: column;
	justify-content: center;
	height: 100%;
	padding: 46px;
}

.noticia-meta {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px;
	margin-bottom: 15px;
	color: #7a848c;
	font-size: 0.76rem;
	font-weight: 700;
}

.noticia-categoria {
	display: inline-flex;
	align-items: center;
	padding: 5px 10px;
	border-radius: 999px;
	background: #e8f5ee;
	color: var(--azul);
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.noticia-destaque h2 {
	margin: 0 0 16px;
	color: var(--texto);
	letter-spacing: -0.035em;
	line-height: 1.16;
}

.noticia-destaque p {
	margin: 0 0 24px;
	color: #68737d;
	font-size: 0.96rem;
	line-height: 1.7;
}

.noticia-link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	width: fit-content;
	color: var(--azul);
	font-size: 0.87rem;
	font-weight: 800;
	transition: color 0.2s ease;
}

	.noticia-link svg,
	.noticia-link span {
		transition: transform 0.2s ease;
	}

	.noticia-link:hover {
		color: var(--verde);
	}

		.noticia-link:hover svg,
		.noticia-link:hover span {
			transform: translateX(4px);
		}

.noticia-card {
	display: flex;
	flex-direction: column;
	height: 100%;
	overflow: hidden;
	border: 1px solid #dfe7e4;
	border-radius: 18px;
	background: #fff;
	transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}

	.noticia-card:hover {
		transform: translateY(-5px);
		border-color: var(--azul);
		box-shadow: 0 16px 38px rgba(23, 33, 43, 0.09);
	}

.noticia-card-imagem {
	height: 210px;
	overflow: hidden;
	background: #e8f5ee;
}

	.noticia-card-imagem img {
		transition: transform 0.35s ease;
	}

.noticia-card:hover .noticia-card-imagem img {
	transform: scale(1.04);
}

.noticia-card-conteudo {
	display: flex;
	flex-direction: column;
	flex: 1;
	padding: 25px;
}

.noticia-card h3 {
	margin: 0 0 12px;
	color: var(--texto);
	letter-spacing: -0.015em;
	line-height: 1.4;
}

.noticia-card p {
	margin: 0 0 22px;
	color: #68737d;
	font-size: 0.87rem;
	line-height: 1.65;
}

.noticia-card .noticia-link {
	margin-top: auto;
}

.noticias-boletim {
	padding: 0 0 78px;
	background: #f6f8f7;
}

.noticias-boletim-card {
	padding: 42px;
	border-radius: 22px;
	background: var(--gradient-brand);
	color: #fff;
}

.noticias-boletim-label {
	display: block;
	margin-bottom: 8px;
	color: rgba(255, 255, 255, 0.76);
	font-size: 0.74rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.noticias-boletim h2 {
	margin: 0 0 8px;
	color: #fff;
	letter-spacing: -0.03em;
}

.noticias-boletim p {
	margin: 0;
	color: rgba(255, 255, 255, 0.78);
	font-size: 0.92rem;
}

.noticias-boletim-form {
	display: flex;
	gap: 10px;
}

	.noticias-boletim-form input {
		flex: 1;
		min-width: 0;
		padding: 13px 16px;
		border: 1px solid rgba(255, 255, 255, 0.3);
		border-radius: 10px;
		outline: none;
		background: rgba(255, 255, 255, 0.12);
		color: #fff;
		font-size: 0.9rem;
	}

		.noticias-boletim-form input::placeholder {
			color: rgba(255, 255, 255, 0.68);
		}

		.noticias-boletim-form input:focus {
			border-color: #fff;
			background: rgba(255, 255, 255, 0.17);
		}

	.noticias-boletim-form button {
		flex: 0 0 auto;
		padding: 13px 22px;
		border: 0;
		border-radius: 10px;
		background: #fff;
		color: var(--verde);
		font-size: 0.88rem;
		font-weight: 800;
		cursor: pointer;
		transition: background 0.2s ease;
	}

		.noticias-boletim-form button:hover {
			background: #e8f5ee;
		}

@media (max-width: 991.98px) {
	.noticias-hero {
		padding: 62px 0;
	}

	.noticias-section {
		padding: 58px 0 64px;
	}

	.noticia-destaque-imagem {
		min-height: 320px;
	}

	.noticia-destaque-conteudo {
		padding: 34px;
	}

	.noticias-boletim {
		padding-bottom: 64px;
	}
}

@media (max-width: 767.98px) {
	.noticias-filtros {
		flex-wrap: nowrap;
		margin-right: -12px;
		padding-right: 12px;
		overflow-x: auto;
	}

	.noticias-filtro {
		flex: 0 0 auto;
	}

	.noticia-destaque {
		border-radius: 18px;
	}

	.noticia-destaque-imagem {
		min-height: 240px;
	}

	.noticia-destaque-conteudo,
	.noticia-card-conteudo {
		padding: 23px;
	}

	.noticia-card-imagem {
		height: 200px;
	}

	.noticias-boletim-card {
		padding: 28px 23px;
		border-radius: 18px;
	}

	.noticias-boletim-form {
		flex-direction: column;
	}

		.noticias-boletim-form button {
			width: 100%;
		}
}
/* ===== PÁGINA PACIENTES ===== */


.pacientes-section,
.pacientes-relacionadas {
	padding: 76px 0;
	background: #fff
}

.pacientes-section-alt {
	background: #f6f8f7
}


.pacientes-card {
	display: flex;
	flex-direction: column;
	height: 100%;
	padding: 28px;
	border: 1px solid #e2e8e4;
	border-radius: 18px;
	background: #fff;
	transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease
}

	.pacientes-card:hover {
		transform: translateY(-4px);
		border-color: var(--azul);
		box-shadow: 0 14px 34px rgba(23, 33, 43, .08)
	}

.pacientes-card-destaque {
	border-color: transparent;
	background: var(--gradient-brand);
	color: #fff
}

.pacientes-icon,
.pacientes-orientacao-icon,
.pacientes-related-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 50px;
	height: 50px;
	border-radius: 14px;
	background: #e8f5ee;
	color: var(--azul)
}

.pacientes-card-destaque .pacientes-icon {
	background: rgba(255, 255, 255, .14);
	color: #fff
}

.pacientes-card h3 {
	margin: 20px 0 10px;
	color: var(--texto);
}

.pacientes-card-destaque h3 {
	color: #fff;
}

.pacientes-card p {
	margin: 0 0 22px;
	color: #68737d;
	font-size: .88rem;
	line-height: 1.65
}

.pacientes-card-destaque p {
	color: rgba(255, 255, 255, .78)
}

.pacientes-link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	width: fit-content;
	margin-top: auto;
	color: var(--azul);
	font-size: .85rem;
	font-weight: 800
}

.pacientes-card-destaque .pacientes-link {
	color: #fff
}

.pacientes-link span {
	transition: transform .2s ease
}

.pacientes-link:hover span {
	transform: translateX(4px)
}

.pacientes-small-card {
	height: 100%;
	min-height: 155px;
	padding: 24px;
	border: 1px solid #e2e8e4;
	border-radius: 16px;
	background: #fff
}

	.pacientes-small-card h3 {
		margin: 0 0 9px;
		color: var(--texto);
	}

	.pacientes-small-card p {
		margin: 0;
		color: #68737d;
		font-size: .85rem;
		line-height: 1.6
	}

.pacientes-small-card-link {
	display: flex;
	flex-direction: column
}

	.pacientes-small-card-link .pacientes-link {
		margin-top: 18px
	}

.pacientes-orientacao-card {
	height: 100%;
	padding: 26px;
	border: 1px solid #e2e8e4;
	border-radius: 17px;
	background: #fff;
	transition: transform .25s ease, box-shadow .25s ease
}

	.pacientes-orientacao-card:hover {
		transform: translateY(-4px);
		box-shadow: 0 14px 34px rgba(23, 33, 43, .08)
	}

	.pacientes-orientacao-card h3 {
		margin: 18px 0 8px;
		color: var(--texto);
	}

	.pacientes-orientacao-card p {
		margin: 0;
		color: #68737d;
		font-size: .86rem;
		line-height: 1.65
	}

.pacientes-documentos {
	padding: 74px 0;
	background: var(--gradient-brand)
}


.pacientes-documento-link {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	padding: 19px 21px;
	border: 1px solid rgba(255, 255, 255, .18);
	border-radius: 13px;
	background: rgba(255, 255, 255, .08);
	color: #fff;
	font-size: .9rem;
	font-weight: 700;
	transition: background .2s ease, transform .2s ease
}

	.pacientes-documento-link:hover {
		transform: translateY(-2px);
		background: rgba(255, 255, 255, .14);
		color: #fff
	}

.pacientes-accordion .accordion-item {
	overflow: hidden;
	margin-bottom: 12px;
	border: 1px solid #dfe7e4;
	border-radius: 13px;
	background: #fff
}

.pacientes-accordion .accordion-button {
	padding: 19px 21px;
	background: #fff;
	color: var(--texto);
	font-size: .94rem;
	font-weight: 800;
	box-shadow: none
}

	.pacientes-accordion .accordion-button:not(.collapsed) {
		background: #e8f5ee;
		color: var(--azul)
	}

.pacientes-accordion .accordion-body {
	padding: 0 21px 21px;
	color: #68737d;
	font-size: .9rem;
	line-height: 1.7
}

.pacientes-related-card {
	display: flex;
	align-items: center;
	gap: 16px;
	height: 100%;
	padding: 24px;
	border: 1px solid #e2e8e4;
	border-radius: 17px;
	background: #fff;
	color: inherit;
	transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease
}

	.pacientes-related-card:hover {
		transform: translateY(-4px);
		border-color: var(--azul);
		box-shadow: 0 14px 34px rgba(23, 33, 43, .08);
		color: inherit
	}

	.pacientes-related-card > div:nth-child(2) {
		flex: 1
	}

	.pacientes-related-card h3 {
		margin: 0 0 5px;
		color: var(--texto);
	}

	.pacientes-related-card p {
		margin: 0;
		color: #68737d;
		font-size: .84rem;
		line-height: 1.5
	}

	.pacientes-related-card > span {
		color: var(--verde);
		font-size: 1.2rem;
		transition: transform .2s ease
	}

	.pacientes-related-card:hover > span {
		transform: translateX(4px)
	}

@media(max-width:991.98px) {
	.pacientes-hero {
		padding: 62px 0
	}

	.pacientes-section,
	.pacientes-relacionadas {
		padding: 58px 0
	}

	.pacientes-documentos {
		padding: 58px 0
	}
}

@media(max-width:767.98px) {

	.pacientes-card,
	.pacientes-small-card,
	.pacientes-orientacao-card,
	.pacientes-related-card {
		padding: 23px
	}

	.pacientes-small-card {
		min-height: auto
	}
}
/* ===== PÁGINA ENSINO E PESQUISA ===== */


.ensino-section,
.ensino-relacionadas {
	padding: 76px 0;
	background: #fff;
}

.ensino-section-alt {
	background: #f6f8f7;
}


.ensino-card {
	display: flex;
	flex-direction: column;
	height: 100%;
	padding: 30px;
	border: 1px solid #e2e8e4;
	border-radius: 18px;
	background: #fff;
	transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}

	.ensino-card:hover {
		transform: translateY(-4px);
		border-color: var(--azul);
		box-shadow: 0 14px 34px rgba(23, 33, 43, 0.08);
	}

.ensino-card-destaque {
	border-color: transparent;
	background: var(--gradient-brand);
	color: #fff;
}

.ensino-icon,
.ensino-acervo-icon,
.ensino-related-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 52px;
	border-radius: 14px;
	background: #e8f5ee;
	color: var(--azul);
}

.ensino-card-destaque .ensino-icon {
	background: rgba(255, 255, 255, 0.14);
	color: #fff;
}

.ensino-card h3 {
	margin: 21px 0 10px;
	color: var(--texto);
}

.ensino-card-destaque h3 {
	color: #fff;
}

.ensino-card p {
	margin: 0 0 24px;
	color: #68737d;
	font-size: 0.89rem;
	line-height: 1.65;
}

.ensino-card-destaque p {
	color: rgba(255, 255, 255, 0.78);
}

.ensino-link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	width: fit-content;
	margin-top: auto;
	color: var(--azul);
	font-size: 0.85rem;
	font-weight: 800;
}

.ensino-card-destaque .ensino-link {
	color: #fff;
}

.ensino-link span,
.ensino-related-card > span {
	transition: transform 0.2s ease;
}

.ensino-link:hover span,
.ensino-related-card:hover > span {
	transform: translateX(4px);
}

.ensino-acervo-card {
	position: relative;
	display: flex;
	flex-direction: column;
	height: 100%;
	min-height: 190px;
	padding: 27px;
	border: 1px solid #e2e8e4;
	border-radius: 17px;
	background: #fff;
	color: inherit;
	transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}

	.ensino-acervo-card:hover {
		transform: translateY(-4px);
		border-color: var(--azul);
		box-shadow: 0 14px 34px rgba(23, 33, 43, 0.08);
		color: inherit;
	}

	.ensino-acervo-card h3 {
		margin: 20px 0 0;
		color: var(--texto);
		line-height: 1.4;
	}

	.ensino-acervo-card > span {
		position: absolute;
		right: 24px;
		bottom: 22px;
		color: var(--verde);
		font-size: 1.2rem;
	}

.ensino-avisos {
	padding: 74px 0;
	background: var(--gradient-brand);
}


.ensino-aviso-principal,
.ensino-aviso-secundario {
	height: 100%;
	padding: 30px;
	border: 1px solid rgba(255, 255, 255, 0.18);
	border-radius: 18px;
	background: rgba(255, 255, 255, 0.09);
	color: #fff;
}

.ensino-aviso-secundario {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
}

.ensino-aviso-tag {
	display: inline-flex;
	margin-bottom: 15px;
	padding: 6px 10px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.14);
	color: rgba(255, 255, 255, 0.9);
	font-size: 0.71rem;
	font-weight: 800;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.ensino-aviso-principal h3,
.ensino-aviso-secundario h3 {
	margin: 0 0 10px;
	color: #fff;
}

.ensino-aviso-principal p,
.ensino-aviso-secundario p {
	margin: 0;
	color: rgba(255, 255, 255, 0.78);
	font-size: 0.9rem;
	line-height: 1.65;
}

.ensino-aviso-link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-top: 24px;
	color: #fff;
	font-size: 0.86rem;
	font-weight: 800;
}

.ensino-aviso-secundario > a {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 46px;
	width: 46px;
	height: 46px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.14);
	color: #fff;
	font-size: 1.25rem;
}

.ensino-related-card {
	display: flex;
	align-items: center;
	gap: 17px;
	height: 100%;
	padding: 25px;
	border: 1px solid #e2e8e4;
	border-radius: 17px;
	background: #fff;
	color: inherit;
	transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}

	.ensino-related-card:hover {
		transform: translateY(-4px);
		border-color: var(--azul);
		box-shadow: 0 14px 34px rgba(23, 33, 43, 0.08);
		color: inherit;
	}

	.ensino-related-card > div:nth-child(2) {
		flex: 1;
	}

	.ensino-related-card h3 {
		margin: 0 0 5px;
		color: var(--texto);
	}

	.ensino-related-card p {
		margin: 0;
		color: #68737d;
		font-size: 0.85rem;
		line-height: 1.55;
	}

	.ensino-related-card > span {
		color: var(--verde);
		font-size: 1.2rem;
	}

@media (max-width: 991.98px) {
	.ensino-hero {
		padding: 62px 0;
	}

	.ensino-section,
	.ensino-relacionadas,
	.ensino-avisos {
		padding: 58px 0;
	}
}

@media (max-width: 767.98px) {
	.ensino-card,
	.ensino-acervo-card,
	.ensino-aviso-principal,
	.ensino-aviso-secundario,
	.ensino-related-card {
		padding: 23px;
	}

	.ensino-aviso-secundario {
		align-items: flex-start;
	}
}
/* ===== PÁGINA TRANSPARÊNCIA ===== */


.transparencia-section {
	padding: 76px 0;
	background: #f6f8f7;
}

.transparencia-card {
	height: 100%;
	padding: 28px;
	border: 1px solid #dfe7e4;
	border-radius: 18px;
	background: #fff;
	transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}

	.transparencia-card:hover {
		transform: translateY(-4px);
		border-color: var(--azul);
		box-shadow: 0 15px 36px rgba(23, 33, 43, 0.08);
	}

.transparencia-card-destaque {
	border-color: transparent;
	background: var(--gradient-brand);
}

.transparencia-card-header {
	display: flex;
	align-items: flex-start;
	gap: 17px;
	margin-bottom: 25px;
}

.transparencia-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: 50px;
	height: 50px;
	border-radius: 14px;
	background: #e8f5ee;
	color: var(--azul);
}

.transparencia-card-destaque .transparencia-icon {
	background: rgba(255, 255, 255, 0.14);
	color: #fff;
}

.transparencia-card h2 {
	margin: 2px 0 7px;
	color: var(--texto);
}

.transparencia-card p {
	margin: 0;
	color: #68737d;
	font-size: 0.86rem;
	line-height: 1.6;
}

.transparencia-card-destaque h2 {
	color: #fff;
}

.transparencia-card-destaque p {
	color: rgba(255, 255, 255, 0.76);
}

.transparencia-links {
	display: grid;
	gap: 10px;
}

	.transparencia-links a {
		display: grid;
		grid-template-columns: minmax(0, 1fr) auto auto;
		align-items: center;
		gap: 10px;
		padding: 13px 14px;
		border: 1px solid #e3e9e6;
		border-radius: 11px;
		background: #fbfcfb;
		color: var(--texto);
		font-size: 0.86rem;
		font-weight: 700;
		transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
	}

		.transparencia-links a:hover {
			transform: translateX(3px);
			border-color: var(--azul);
			background: #f0f8f4;
			color: var(--azul);
		}

	.transparencia-links small {
		padding: 4px 8px;
		border-radius: 999px;
		background: #e8f5ee;
		color: var(--azul);
		font-size: 0.66rem;
		font-weight: 800;
	}

	.transparencia-links a > span {
		color: var(--verde);
		font-size: 1rem;
	}

.transparencia-card-destaque .transparencia-links a {
	border-color: rgba(255, 255, 255, 0.18);
	background: rgba(255, 255, 255, 0.08);
	color: #fff;
}

	.transparencia-card-destaque .transparencia-links a:hover {
		border-color: rgba(255, 255, 255, 0.35);
		background: rgba(255, 255, 255, 0.14);
	}

	.transparencia-card-destaque .transparencia-links a > span {
		color: #fff;
	}

.transparencia-relacionadas {
	padding: 70px 0;
	background: #fff;
}


.transparencia-related-card {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 23px;
	border: 1px solid #dfe7e4;
	border-radius: 16px;
	background: #fff;
	color: var(--texto);
	transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}

	.transparencia-related-card:hover {
		transform: translateY(-4px);
		border-color: var(--azul);
		box-shadow: 0 14px 34px rgba(23, 33, 43, 0.08);
		color: var(--azul);
	}

	.transparencia-related-card span {
		color: var(--verde);
		font-size: 1.1rem;
	}

@media (max-width: 991.98px) {
	.transparencia-hero {
		padding: 62px 0;
	}

	.transparencia-section,
	.transparencia-relacionadas {
		padding: 58px 0;
	}
}

@media (max-width: 575.98px) {
	.transparencia-card {
		padding: 22px;
	}

	.transparencia-card-header {
		gap: 14px;
	}

	.transparencia-links a {
		grid-template-columns: minmax(0, 1fr) auto;
	}

	.transparencia-links small {
		display: none;
	}
}
/* ===== PÁGINA AGENDAMENTO ===== */


.agendamento-section,
.agendamento-relacionadas {
	padding: 76px 0;
	background: #f6f8f7;
}

.agendamento-relacionadas {
	padding-top: 0;
}


.agendamento-card {
	display: flex;
	gap: 21px;
	height: 100%;
	padding: 30px;
	border: 1px solid #dfe7e4;
	border-radius: 18px;
	background: #fff;
	transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}

	.agendamento-card:hover {
		transform: translateY(-4px);
		border-color: var(--azul);
		box-shadow: 0 14px 34px rgba(23, 33, 43, 0.08);
	}

.agendamento-card-destaque {
	border-color: transparent;
	background: var(--gradient-brand);
	color: #fff;
}

.agendamento-icon,
.agendamento-related-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 52px;
	width: 52px;
	height: 52px;
	border-radius: 14px;
	background: #e8f5ee;
	color: var(--azul);
}

.agendamento-card-destaque .agendamento-icon {
	background: rgba(255, 255, 255, 0.14);
	color: #fff;
}

.agendamento-card-label {
	display: block;
	margin-bottom: 7px;
	color: var(--azul);
	font-size: 0.69rem;
	font-weight: 800;
	letter-spacing: 0.09em;
	text-transform: uppercase;
}

.agendamento-card-destaque .agendamento-card-label {
	color: rgba(255, 255, 255, 0.72);
}

.agendamento-card h3 {
	margin: 0 0 10px;
	color: var(--texto);
}

.agendamento-card-destaque h3 {
	color: #fff;
}

.agendamento-card p {
	margin: 0 0 19px;
	color: #68737d;
	font-size: 0.88rem;
	line-height: 1.68;
}

.agendamento-card-destaque p {
	margin-bottom: 0;
	color: rgba(255, 255, 255, 0.78);
}

.agendamento-link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: var(--azul);
	font-size: 0.85rem;
	font-weight: 800;
}

	.agendamento-link span {
		transition: transform 0.2s ease;
	}

	.agendamento-link:hover span {
		transform: translateX(4px);
	}

.agendamento-related-card {
	display: flex;
	align-items: center;
	gap: 18px;
	height: 100%;
	padding: 26px;
	border: 1px solid #dfe7e4;
	border-radius: 17px;
	background: #fff;
	color: inherit;
	transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}

	.agendamento-related-card:hover {
		transform: translateY(-4px);
		border-color: var(--azul);
		box-shadow: 0 14px 34px rgba(23, 33, 43, 0.08);
		color: inherit;
	}

	.agendamento-related-card > div:nth-child(2) {
		flex: 1;
	}

	.agendamento-related-card h3 {
		margin: 0 0 5px;
		color: var(--texto);
	}

	.agendamento-related-card p {
		margin: 0;
		color: #68737d;
		font-size: 0.85rem;
		line-height: 1.55;
	}

	.agendamento-related-card > span {
		color: var(--verde);
		font-size: 1.2rem;
		transition: transform 0.2s ease;
	}

	.agendamento-related-card:hover > span {
		transform: translateX(4px);
	}

@media (max-width: 991.98px) {
	.agendamento-hero {
		padding: 62px 0;
	}

	.agendamento-section,
	.agendamento-relacionadas {
		padding: 58px 0;
	}

	.agendamento-relacionadas {
		padding-top: 0;
	}
}

@media (max-width: 575.98px) {
	.agendamento-card {
		flex-direction: column;
		padding: 24px;
	}

	.agendamento-related-card {
		padding: 23px;
	}
}
/* ===== PÁGINA RESULTADOS ===== */


.resultados-section,
.resultados-related {
	padding: 76px 0;
	background: #fff;
}

.resultados-section {
	background: #f6f8f7;
}


.resultados-login-card {
	display: flex;
	flex-direction: column;
	height: 100%;
	padding: 42px;
	border-radius: 22px;
	background: var(--gradient-brand);
	color: #fff;
	box-shadow: 0 18px 42px rgba(23, 33, 43, 0.12);
}

.resultados-card-icon,
.resultados-related-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 54px;
	height: 54px;
	border-radius: 15px;
}

.resultados-card-icon {
	margin-bottom: 28px;
	background: rgba(255, 255, 255, 0.14);
	color: #fff;
}

.resultados-card-label {
	margin-bottom: 9px;
	color: rgba(255, 255, 255, 0.74);
	font-size: 0.75rem;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.resultados-login-card h2 {
	margin: 0 0 14px;
	color: #fff;
	letter-spacing: -0.035em;
}

.resultados-login-card > p {
	max-width: 590px;
	margin: 0 0 27px;
	color: rgba(255, 255, 255, 0.78);
	font-size: 0.94rem;
	line-height: 1.7;
}

.resultados-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 9px;
	width: fit-content;
	padding: 13px 20px;
	border-radius: 10px;
	background: #fff;
	color: var(--verde);
	font-size: 0.88rem;
	font-weight: 800;
	transition: transform 0.2s ease, background 0.2s ease;
}

	.resultados-btn:hover {
		transform: translateY(-2px);
		background: #e8f5ee;
		color: var(--verde);
	}

.resultados-security {
	display: flex;
	align-items: center;
	gap: 9px;
	margin-top: 27px;
	padding-top: 20px;
	border-top: 1px solid rgba(255, 255, 255, 0.15);
	color: rgba(255, 255, 255, 0.75);
	font-size: 0.8rem;
}

.resultados-info-card {
	height: 100%;
	padding: 35px;
	border: 1px solid #dfe7e4;
	border-radius: 22px;
	background: #fff;
}

.resultados-info-number {
	display: block;
	margin-bottom: 18px;
	color: var(--verde);
	font-size: 0.77rem;
	font-weight: 900;
	letter-spacing: 0.13em;
}

.resultados-info-card h3 {
	margin: 0 0 12px;
	color: var(--texto);
}

.resultados-info-card > p {
	margin: 0 0 25px;
	color: #68737d;
	font-size: 0.9rem;
	line-height: 1.7;
}

.resultados-steps {
	display: grid;
	gap: 16px;
	margin: 0;
	padding: 0;
	list-style: none;
}

	.resultados-steps li {
		display: flex;
		align-items: center;
		gap: 13px;
		color: #59656f;
		font-size: 0.86rem;
		line-height: 1.5;
	}

		.resultados-steps li > span {
			display: flex;
			align-items: center;
			justify-content: center;
			flex: 0 0 auto;
			width: 30px;
			height: 30px;
			border-radius: 50%;
			background: #e8f5ee;
			color: var(--azul);
			font-size: 0.76rem;
			font-weight: 900;
		}

.resultados-support {
	padding: 64px 0;
	background: var(--gradient-brand);
	color: #fff;
}

.resultados-support-content > span {
	color: rgba(255, 255, 255, 0.75);
}

.resultados-support-content h2 {
	color: #fff;
}

.resultados-support-content p {
	max-width: 620px;
	margin: 13px 0 0;
	color: rgba(255, 255, 255, 0.78);
	font-size: 0.92rem;
	line-height: 1.7;
}

.resultados-support-actions {
	display: grid;
	gap: 12px;
}

.resultados-support-link {
	display: flex;
	align-items: center;
	gap: 13px;
	padding: 15px 17px;
	border: 1px solid rgba(255, 255, 255, 0.18);
	border-radius: 12px;
	background: rgba(255, 255, 255, 0.09);
	color: #fff;
	transition: background 0.2s ease, transform 0.2s ease;
}

	.resultados-support-link:hover {
		transform: translateY(-2px);
		background: rgba(255, 255, 255, 0.15);
		color: #fff;
	}

	.resultados-support-link span {
		display: grid;
		gap: 2px;
		font-size: 0.88rem;
		font-weight: 800;
	}

	.resultados-support-link small {
		color: rgba(255, 255, 255, 0.65);
		font-size: 0.72rem;
		font-weight: 700;
	}

.resultados-related-card {
	display: flex;
	align-items: center;
	gap: 17px;
	height: 100%;
	padding: 27px;
	border: 1px solid #e2e8e4;
	border-radius: 18px;
	background: #fff;
	color: inherit;
	transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}

	.resultados-related-card:hover {
		transform: translateY(-4px);
		border-color: var(--azul);
		box-shadow: 0 14px 34px rgba(23, 33, 43, 0.08);
		color: inherit;
	}

.resultados-related-icon {
	flex: 0 0 auto;
	background: #e8f5ee;
	color: var(--azul);
}

.resultados-related-card > div:nth-child(2) {
	flex: 1;
}

.resultados-related-card h3 {
	margin: 0 0 6px;
	color: var(--texto);
}

.resultados-related-card p {
	margin: 0;
	color: #68737d;
	font-size: 0.85rem;
	line-height: 1.55;
}

.resultados-related-card > span {
	color: var(--verde);
	font-size: 1.25rem;
	transition: transform 0.2s ease;
}

.resultados-related-card:hover > span {
	transform: translateX(4px);
}

@media (max-width: 991.98px) {
	.resultados-hero {
		padding: 62px 0;
	}

	.resultados-section,
	.resultados-related {
		padding: 58px 0;
	}

	.resultados-support {
		padding: 55px 0;
	}

	.resultados-support-actions {
		margin-top: 8px;
	}
}

@media (max-width: 767.98px) {
	.resultados-login-card,
	.resultados-info-card,
	.resultados-related-card {
		padding: 25px;
		border-radius: 18px;
	}

	.resultados-btn {
		width: 100%;
	}

	.resultados-security {
		align-items: flex-start;
	}
}
/* ===== PÁGINA TELECONSULTA ===== */


.teleconsulta-status {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	margin-bottom: 19px;
	padding: 7px 12px;
	border: 1px solid rgba(255, 255, 255, 0.2);
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.1);
	color: rgba(255, 255, 255, 0.9);
	font-size: 0.76rem;
	font-weight: 800;
	letter-spacing: 0.09em;
	text-transform: uppercase;
}

	.teleconsulta-status::before {
		content: "";
		width: 7px;
		height: 7px;
		border-radius: 50%;
		background: #fff;
		box-shadow: 0 0 0 5px rgba(255, 255, 255, 0.13);
	}


.teleconsulta-section,
.teleconsulta-related {
	padding: 76px 0;
	background: #fff;
}

.teleconsulta-section {
	background: #f6f8f7;
}


.teleconsulta-card {
	display: flex;
	flex-direction: column;
	height: 100%;
	padding: 30px;
	border: 1px solid #dfe7e4;
	border-radius: 20px;
	background: #fff;
	transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}

	.teleconsulta-card:hover {
		transform: translateY(-4px);
		border-color: var(--azul);
		box-shadow: 0 14px 34px rgba(23, 33, 43, 0.08);
	}

.teleconsulta-card-icon,
.teleconsulta-related-icon,
.teleconsulta-notice-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 52px;
	border-radius: 15px;
	background: #e8f5ee;
	color: var(--azul);
}

.teleconsulta-card-icon {
	margin-bottom: 24px;
}

.teleconsulta-card-number {
	margin-bottom: 9px;
	color: var(--verde);
	font-size: 0.75rem;
	font-weight: 900;
	letter-spacing: 0.13em;
}

.teleconsulta-card h3 {
	margin: 0 0 11px;
	color: var(--texto);
}

.teleconsulta-card p {
	margin: 0 0 25px;
	color: #68737d;
	font-size: 0.88rem;
	line-height: 1.65;
}

.teleconsulta-validation {
	display: inline-flex;
	width: fit-content;
	margin-top: auto;
	padding: 6px 11px;
	border-radius: 999px;
	background: #f1f4f3;
	color: #78827d;
	font-size: 0.72rem;
	font-weight: 800;
	text-transform: uppercase;
}

.teleconsulta-notice {
	padding: 64px 0;
	background: var(--gradient-brand);
}

.teleconsulta-notice-box {
	display: flex;
	align-items: flex-start;
	gap: 21px;
	padding: 32px;
	border: 1px solid rgba(255, 255, 255, 0.17);
	border-radius: 20px;
	background: rgba(255, 255, 255, 0.1);
	color: #fff;
}

.teleconsulta-notice-icon {
	flex: 0 0 auto;
	background: rgba(255, 255, 255, 0.14);
	color: #fff;
}

.teleconsulta-notice-box > div:last-child > span {
	color: rgba(255, 255, 255, 0.68);
}

.teleconsulta-notice-box h2 {
	color: #fff;
}

.teleconsulta-notice-box p {
	max-width: 730px;
	margin: 13px 0 0;
	color: rgba(255, 255, 255, 0.78);
	font-size: 0.92rem;
	line-height: 1.7;
}

.teleconsulta-related-card {
	display: flex;
	align-items: center;
	gap: 17px;
	height: 100%;
	padding: 27px;
	border: 1px solid #e2e8e4;
	border-radius: 18px;
	background: #fff;
	color: inherit;
	transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}

	.teleconsulta-related-card:hover {
		transform: translateY(-4px);
		border-color: var(--azul);
		box-shadow: 0 14px 34px rgba(23, 33, 43, 0.08);
		color: inherit;
	}

.teleconsulta-related-icon {
	flex: 0 0 auto;
}

.teleconsulta-related-card > div:nth-child(2) {
	flex: 1;
}

.teleconsulta-related-card h3 {
	margin: 0 0 6px;
	color: var(--texto);
}

.teleconsulta-related-card p {
	margin: 0;
	color: #68737d;
	font-size: 0.85rem;
	line-height: 1.55;
}

.teleconsulta-related-card > span {
	color: var(--verde);
	font-size: 1.25rem;
	transition: transform 0.2s ease;
}

.teleconsulta-related-card:hover > span {
	transform: translateX(4px);
}

@media (max-width: 991.98px) {
	.teleconsulta-hero {
		padding: 62px 0;
	}

	.teleconsulta-section,
	.teleconsulta-related {
		padding: 58px 0;
	}

	.teleconsulta-notice {
		padding: 54px 0;
	}
}

@media (max-width: 767.98px) {
	.teleconsulta-card,
	.teleconsulta-related-card,
	.teleconsulta-notice-box {
		padding: 24px;
		border-radius: 17px;
	}

	.teleconsulta-notice-box {
		flex-direction: column;
	}
}
/* ===== PÁGINA OUVIDORIA ===== */


.ouvidoria-section {
	padding: 76px 0;
	background: #f6f8f7;
}


.ouvidoria-form-card,
.ouvidoria-contact-card,
.ouvidoria-sic-card {
	border: 1px solid #dfe7e4;
	border-radius: 20px;
	background: #fff;
}

.ouvidoria-form-card {
	padding: 34px;
}

.ouvidoria-form {
	display: grid;
	gap: 25px;
}

.ouvidoria-fields {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
}

.ouvidoria-field {
	display: grid;
	gap: 8px;
	transition: opacity 0.2s ease;
}

.ouvidoria-field-full {
	grid-column: 1 / -1;
}

.ouvidoria-field label {
	color: var(--texto);
	font-size: 0.82rem;
	font-weight: 800;
}

	.ouvidoria-field label strong {
		color: var(--verde);
	}

.ouvidoria-field input,
.ouvidoria-field select,
.ouvidoria-field textarea {
	width: 100%;
	border: 1px solid #d9e1de;
	border-radius: 10px;
	background: #fff;
	color: var(--texto);
	font: inherit;
	font-size: 0.88rem;
	outline: none;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.ouvidoria-field input,
.ouvidoria-field select {
	height: 48px;
	padding: 0 14px;
}

.ouvidoria-field textarea {
	min-height: 165px;
	padding: 14px;
	resize: vertical;
}

	.ouvidoria-field input:focus,
	.ouvidoria-field select:focus,
	.ouvidoria-field textarea:focus {
		border-color: var(--azul);
		box-shadow: 0 0 0 3px rgba(20, 110, 94, 0.1);
	}

.ouvidoria-field small {
	color: #7b8580;
	font-size: 0.74rem;
	line-height: 1.5;
}

.ouvidoria-field-disabled {
	opacity: 0.45;
}

.ouvidoria-types {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.ouvidoria-type {
	position: relative;
	cursor: pointer;
}

	.ouvidoria-type input {
		position: absolute;
		opacity: 0;
		pointer-events: none;
	}

	.ouvidoria-type span {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		min-height: 40px;
		padding: 0 15px;
		border: 1px solid #dce4e1;
		border-radius: 999px;
		background: #fff;
		color: #63706a;
		font-size: 0.78rem;
		font-weight: 800;
		transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
	}

	.ouvidoria-type input:checked + span {
		border-color: var(--azul);
		background: #e8f5ee;
		color: var(--azul);
	}

.ouvidoria-check {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	cursor: pointer;
}

	.ouvidoria-check input {
		flex: 0 0 auto;
		width: 17px;
		height: 17px;
		margin-top: 2px;
		accent-color: var(--azul);
	}

	.ouvidoria-check span {
		color: #59656f;
		font-size: 0.82rem;
		line-height: 1.55;
	}

.ouvidoria-consent a {
	color: var(--azul);
	font-weight: 800;
	text-decoration: underline;
}

.ouvidoria-form-footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding-top: 22px;
	border-top: 1px solid #e2e8e4;
}

	.ouvidoria-form-footer > span {
		color: #7b8580;
		font-size: 0.74rem;
		line-height: 1.5;
	}

.ouvidoria-submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 9px;
	flex: 0 0 auto;
	min-height: 46px;
	padding: 0 19px;
	border: 0;
	border-radius: 10px;
	background: var(--gradient-brand);
	color: #fff;
	font-size: 0.82rem;
	font-weight: 800;
	cursor: pointer;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

	.ouvidoria-submit:hover {
		transform: translateY(-2px);
		box-shadow: 0 10px 23px rgba(23, 33, 43, 0.14);
	}

.ouvidoria-sidebar {
	display: grid;
	gap: 18px;
}

.ouvidoria-contact-card {
	padding: 28px;
}

	.ouvidoria-contact-card h3,
	.ouvidoria-sic-card h3 {
		margin: 0 0 22px;
		color: var(--texto);
	}

.ouvidoria-contact-link {
	display: flex;
	align-items: center;
	gap: 13px;
	padding: 15px 0;
	border-top: 1px solid #e7ecea;
	color: inherit;
}

	.ouvidoria-contact-link:hover {
		color: inherit;
	}

.ouvidoria-contact-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: 43px;
	height: 43px;
	border-radius: 12px;
	background: #e8f5ee;
	color: var(--azul);
}

.ouvidoria-contact-link > span {
	display: grid;
	gap: 2px;
	color: var(--texto);
	font-size: 0.83rem;
	font-weight: 800;
}

.ouvidoria-contact-link small {
	color: #7b8580;
	font-size: 0.71rem;
	font-weight: 700;
}

.ouvidoria-sic-card {
	display: block;
	padding: 28px;
	color: inherit;
	transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}

	.ouvidoria-sic-card:hover {
		transform: translateY(-4px);
		border-color: var(--azul);
		box-shadow: 0 14px 34px rgba(23, 33, 43, 0.08);
		color: inherit;
	}

	.ouvidoria-sic-card h3 {
		margin-bottom: 10px;
	}

	.ouvidoria-sic-card p {
		margin: 0 0 20px;
		color: #68737d;
		font-size: 0.85rem;
		line-height: 1.6;
	}

	.ouvidoria-sic-card strong {
		color: var(--verde);
		font-size: 0.8rem;
		font-weight: 850;
	}

.ouvidoria-confidentiality {
	padding: 64px 0;
	background: var(--gradient-brand);
}

.ouvidoria-confidentiality-box {
	display: flex;
	align-items: flex-start;
	gap: 21px;
	padding: 31px;
	border: 1px solid rgba(255, 255, 255, 0.17);
	border-radius: 20px;
	background: rgba(255, 255, 255, 0.1);
	color: #fff;
}

.ouvidoria-confidentiality-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: 54px;
	height: 54px;
	border-radius: 15px;
	background: rgba(255, 255, 255, 0.14);
	color: #fff;
}

.ouvidoria-confidentiality-box > div:last-child > span {
	color: rgba(255, 255, 255, 0.68);
}

.ouvidoria-confidentiality-box h2 {
	color: #fff;
}

.ouvidoria-confidentiality-box p {
	max-width: 730px;
	margin: 12px 0 0;
	color: rgba(255, 255, 255, 0.78);
	font-size: 0.92rem;
	line-height: 1.7;
}

@media (max-width: 991.98px) {
	.ouvidoria-hero {
		padding: 62px 0;
	}

	.ouvidoria-section {
		padding: 58px 0;
	}

	.ouvidoria-confidentiality {
		padding: 54px 0;
	}
}

@media (max-width: 767.98px) {
	.ouvidoria-form-card,
	.ouvidoria-contact-card,
	.ouvidoria-sic-card,
	.ouvidoria-confidentiality-box {
		padding: 24px;
		border-radius: 17px;
	}

	.ouvidoria-fields {
		grid-template-columns: 1fr;
	}

	.ouvidoria-form-footer {
		align-items: stretch;
		flex-direction: column;
	}

	.ouvidoria-submit {
		width: 100%;
	}

	.ouvidoria-confidentiality-box {
		flex-direction: column;
	}
}
/* ===== PÁGINA INTERNA DE NOTÍCIA ===== */
.noticia-interna {
	padding: 70px 0 78px;
	background: #f6f8f7;
}

.noticia-interna-topo {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	margin-bottom: 28px;
}

	.noticia-interna-topo .noticia-meta {
		margin-bottom: 0;
	}

.noticia-voltar {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: var(--azul);
	font-size: 0.87rem;
	font-weight: 800;
	transition: color 0.2s ease;
}

	.noticia-voltar span {
		transition: transform 0.2s ease;
	}

	.noticia-voltar:hover {
		color: var(--verde);
	}

		.noticia-voltar:hover span {
			transform: translateX(-4px);
		}

.noticia-interna-artigo {
	max-width: 1080px;
	margin: 0 auto;
	overflow: hidden;
	border: 1px solid #dfe7e4;
	border-radius: 22px;
	background: #fff;
	box-shadow: 0 14px 40px rgba(23, 33, 43, 0.07);
}

.noticia-interna-imagem {
	height: 520px;
	margin: 0;
	overflow: hidden;
	background: #e8f5ee;
}

	.noticia-interna-imagem img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

.noticia-interna-conteudo {
	max-width: 820px;
	margin: 0 auto;
	padding: 46px;
}

	.noticia-interna-conteudo p {
		margin: 0 0 22px;
		color: #68737d;
		font-size: 1rem;
		line-height: 1.8;
	}

		.noticia-interna-conteudo p:last-child {
			margin-bottom: 0;
		}

	.noticia-interna-conteudo .noticia-interna-resumo {
		color: var(--texto);
		font-size: 1.15rem;
		font-weight: 600;
		line-height: 1.75;
	}

.noticia-relacionadas {
	padding: 76px 0;
	background: #fff;
}

@media (max-width: 991.98px) {
	.noticia-interna {
		padding: 58px 0 64px;
	}

	.noticia-interna-imagem {
		height: 420px;
	}

	.noticia-relacionadas {
		padding: 58px 0;
	}
}

@media (max-width: 767.98px) {
	.noticia-interna-topo {
		align-items: flex-start;
		flex-direction: column;
		gap: 16px;
	}

	.noticia-interna-artigo {
		border-radius: 18px;
	}

	.noticia-interna-imagem {
		height: 260px;
	}

	.noticia-interna-conteudo {
		padding: 28px 23px;
	}

		.noticia-interna-conteudo .noticia-interna-resumo {
			font-size: 1.05rem;
		}
}
/* ========================================
   PROGRAMA DE RESIDENTES
======================================== */

.residentes-apresentacao {
	padding-top: 80px;
	padding-bottom: 80px;
}

.residentes-image {
	display: block;
	width: 100%;
	height: 470px;
	object-fit: cover;
	border-radius: 18px;
}

.residentes-section-light {
	padding-top: 80px;
	padding-bottom: 80px;
	background: #f5f8f7;
}

.residentes-programa-grid {
	margin-top: 36px;
}

.residentes-programa-card {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	width: 100%;
	height: 100%;
	min-height: 260px;
	cursor: default;
}

	.residentes-programa-card:hover {
		transform: none;
	}

	.residentes-programa-card .icon-wrap {
		margin-bottom: 24px;
	}

	.residentes-programa-card h3 {
		margin-bottom: 12px;
	}

	.residentes-programa-card p {
		margin-bottom: 0;
	}

.residentes-processo {
	padding-top: 80px;
	padding-bottom: 80px;
}

	.residentes-processo .section-heading {
		margin-bottom: 32px;
	}

.residentes-notice {
	display: flex;
	align-items: flex-start;
	gap: 22px;
	height: 100%;
	padding: 30px;
	border: 1px solid #dde5e1;
	border-radius: 18px;
	background: #fff;
}

	.residentes-notice .icon-wrap {
		display: flex;
		flex: 0 0 auto;
		align-items: center;
		justify-content: center;
		width: 48px;
		height: 48px;
		border-radius: 12px;
		background: rgba(120, 169, 68, 0.12);
		color: var(--verde);
		font-size: 1.25rem;
	}

.residentes-notice-content {
	flex: 1;
}

.residentes-notice h3 {
	margin: 0 0 14px;
}

.residentes-notice p {
	margin-bottom: 14px;
}

	.residentes-notice p:last-child {
		margin-bottom: 0;
	}

.residentes-contact {
	display: flex;
	flex-direction: column;
	height: 100%;
}

	.residentes-contact h3 {
		margin-top: 18px;
		margin-bottom: 12px;
	}

	.residentes-contact ul {
		display: grid;
		gap: 14px;
		margin: 6px 0 24px;
	}

	.residentes-contact li {
		display: flex;
		align-items: flex-start;
		gap: 10px;
	}

		.residentes-contact li i {
			flex: 0 0 auto;
			margin-top: 2px;
			color: var(--verde);
		}

		.residentes-contact li a,
		.residentes-contact li span {
			color: inherit;
			text-decoration: none;
		}

		.residentes-contact li a {
			transition: color 0.2s ease;
		}

			.residentes-contact li a:hover {
				color: var(--verde);
			}

.residentes-contact-button {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	margin-top: auto;
}

/* ========================================
   RESPONSIVO
======================================== */

@media (max-width: 991.98px) {

	.residentes-apresentacao,
	.residentes-section-light,
	.residentes-processo {
		padding-top: 64px;
		padding-bottom: 64px;
	}

	.residentes-image {
		height: 380px;
	}

	.residentes-programa-card {
		min-height: 240px;
	}

	.residentes-notice {
		padding: 26px;
	}
}

@media (max-width: 767.98px) {

	.residentes-programa-grid {
		margin-top: 28px;
	}

	.residentes-programa-card {
		min-height: auto;
	}

	.residentes-notice {
		flex-direction: column;
	}
}

@media (max-width: 575.98px) {

	.residentes-apresentacao,
	.residentes-section-light,
	.residentes-processo {
		padding-top: 48px;
		padding-bottom: 48px;
	}

	.residentes-image {
		height: 280px;
		border-radius: 14px;
	}

	.residentes-notice {
		padding: 22px;
	}

	.residentes-contact {
		padding: 22px;
	}

	.cta-section .px-5 {
		padding-right: 20px !important;
		padding-left: 20px !important;
	}
}
/* ========================================
   RECURSOS ACADÊMICOS
======================================== */

.residentes-recursos {
	padding-top: 80px;
	padding-bottom: 80px;
}

.residentes-recursos-grid {
	margin-top: 36px;
}

.residentes-recurso-card {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	width: 100%;
	height: 100%;
	min-height: 290px;
	color: inherit;
	text-decoration: none;
}

	.residentes-recurso-card:hover {
		color: inherit;
	}

	.residentes-recurso-card .icon-wrap {
		margin-bottom: 24px;
	}

.residentes-recurso-content {
	flex: 1;
}

.residentes-recurso-card h3 {
	margin-bottom: 12px;
}

.residentes-recurso-card p {
	margin-bottom: 22px;
}

.residentes-recurso-link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-top: auto;
	color: var(--verde);
	font-weight: 600;
	transition: gap 0.2s ease;
}

.residentes-recurso-card:hover .residentes-recurso-link {
	gap: 12px;
}

.residentes-recurso-link i {
	font-size: 0.9rem;
}

@media (max-width: 991.98px) {

	.residentes-recursos {
		padding-top: 64px;
		padding-bottom: 64px;
	}

	.residentes-recurso-card {
		min-height: 270px;
	}
}

@media (max-width: 767.98px) {

	.residentes-recursos-grid {
		margin-top: 28px;
	}

	.residentes-recurso-card {
		min-height: auto;
	}
}

@media (max-width: 575.98px) {

	.residentes-recursos {
		padding-top: 48px;
		padding-bottom: 48px;
	}
}
/* ========================================
   ESPECIALIZAÇÕES
======================================== */

.residentes-especializacoes {
	padding-top: 80px;
	padding-bottom: 80px;
	background: #f5f8f7;
}

.residentes-especializacoes-grid {
	margin-top: 36px;
}

.residentes-especializacao-card {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	width: 100%;
	height: 100%;
	min-height: 500px;
	color: inherit;
	cursor: default;
}

	.residentes-especializacao-card:hover {
		color: inherit;
	}

.residentes-especializacao-topo {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	margin-bottom: 24px;
}

	.residentes-especializacao-topo .icon-wrap {
		margin-bottom: 0;
	}

.residentes-especializacao-tag {
	display: inline-flex;
	align-items: center;
	padding: 7px 13px;
	border-radius: 50px;
	background: rgba(33, 161, 188, 0.1);
	color: var(--azul);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.residentes-especializacao-content {
	margin-bottom: 22px;
}

	.residentes-especializacao-content h3 {
		margin-bottom: 14px;
	}

	.residentes-especializacao-content p {
		margin-bottom: 14px;
	}

		.residentes-especializacao-content p:last-child {
			margin-bottom: 0;
		}

.residentes-especializacao-lista {
	display: grid;
	gap: 13px;
	width: 100%;
	margin: 0 0 26px;
	padding: 22px 0 0;
	border-top: 1px solid #dde5e1;
	list-style: none;
}

	.residentes-especializacao-lista li {
		display: flex;
		align-items: flex-start;
		gap: 10px;
	}

	.residentes-especializacao-lista i {
		flex: 0 0 auto;
		margin-top: 2px;
		color: var(--verde);
	}

.residentes-especializacao-link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-top: auto;
	color: var(--verde);
	font-weight: 600;
	text-decoration: none;
	transition: gap 0.2s ease, color 0.2s ease;
}

	.residentes-especializacao-link:hover {
		gap: 12px;
		color: var(--azul);
	}

	.residentes-especializacao-link i {
		font-size: 0.9rem;
	}

/* ========================================
   RESPONSIVO
======================================== */

@media (max-width: 991.98px) {

	.residentes-especializacoes {
		padding-top: 64px;
		padding-bottom: 64px;
	}

	.residentes-especializacao-card {
		min-height: auto;
	}
}

@media (max-width: 767.98px) {

	.residentes-especializacoes-grid {
		margin-top: 28px;
	}
}

@media (max-width: 575.98px) {

	.residentes-especializacoes {
		padding-top: 48px;
		padding-bottom: 48px;
	}

	.residentes-especializacao-topo {
		align-items: flex-start;
		gap: 16px;
	}

	.residentes-especializacao-tag {
		font-size: 0.68rem;
	}
}
/* ========================================
   SIMULADOS
======================================== */

.residentes-simulados {
	padding-top: 80px;
	padding-bottom: 80px;
}

.residentes-simulados-header {
	margin-bottom: 36px;
}

.residentes-simulados-intro {
	max-width: 430px;
	margin: 0 0 6px auto;
	color: #66736d;
}

.residentes-simulado-card {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	width: 100%;
	height: 100%;
	min-height: 370px;
	color: inherit;
	cursor: default;
}

	.residentes-simulado-card:hover {
		color: inherit;
	}

.residentes-simulado-topo {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	margin-bottom: 24px;
}

	.residentes-simulado-topo .icon-wrap {
		margin-bottom: 0;
	}

.residentes-simulado-ano {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 7px 13px;
	border-radius: 50px;
	background: rgba(33, 161, 188, 0.1);
	color: var(--azul);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.05em;
}

.residentes-simulado-content {
	flex: 1;
}

.residentes-simulado-edicao {
	display: block;
	margin-bottom: 8px;
	color: var(--verde);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.residentes-simulado-card h3 {
	margin-bottom: 13px;
}

.residentes-simulado-card p {
	margin-bottom: 22px;
}

.residentes-simulado-link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-top: auto;
	color: var(--verde);
	font-weight: 600;
	text-decoration: none;
	transition: gap 0.2s ease, color 0.2s ease;
}

	.residentes-simulado-link:hover {
		gap: 12px;
		color: var(--azul);
	}

	.residentes-simulado-link i {
		font-size: 0.9rem;
	}

.residentes-simulados-destaque {
	display: flex;
	align-items: center;
	gap: 22px;
	margin-top: 36px;
	padding: 28px 30px;
	border: 1px solid #dde5e1;
	border-radius: 18px;
	background: #f5f8f7;
}

.residentes-simulados-destaque-icon {
	display: flex;
	flex: 0 0 auto;
	align-items: center;
	justify-content: center;
	width: 54px;
	height: 54px;
	border-radius: 14px;
	background: rgba(33, 161, 188, 0.1);
	color: var(--azul);
	font-size: 1.35rem;
}

.residentes-simulados-destaque h3 {
	margin-bottom: 7px;
}

.residentes-simulados-destaque p {
	margin-bottom: 0;
}

/* ========================================
   RESPONSIVO
======================================== */

@media (max-width: 991.98px) {

	.residentes-simulados {
		padding-top: 64px;
		padding-bottom: 64px;
	}

	.residentes-simulados-intro {
		max-width: none;
		margin-left: 0;
	}

	.residentes-simulado-card {
		min-height: 340px;
	}
}

@media (max-width: 767.98px) {

	.residentes-simulados-header {
		margin-bottom: 28px;
	}

	.residentes-simulado-card {
		min-height: auto;
	}

	.residentes-simulados-destaque {
		align-items: flex-start;
	}
}

@media (max-width: 575.98px) {

	.residentes-simulados {
		padding-top: 48px;
		padding-bottom: 48px;
	}

	.residentes-simulados-destaque {
		flex-direction: column;
		padding: 22px;
	}
}
/* ========================================
   RESIDÊNCIA MÉDICA
======================================== */

.residentes-residencia {
	padding-top: 80px;
	padding-bottom: 80px;
}

.residentes-residencia-selos {
	display: grid;
	gap: 16px;
	margin-top: 30px;
}

.residentes-residencia-selo {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	padding: 18px 20px;
	border: 1px solid #dde5e1;
	border-radius: 14px;
	background: #fff;
}

	.residentes-residencia-selo > i {
		flex: 0 0 auto;
		margin-top: 2px;
		color: var(--verde);
		font-size: 1.3rem;
	}

	.residentes-residencia-selo div {
		display: flex;
		flex-direction: column;
		gap: 4px;
	}

	.residentes-residencia-selo strong {
		color: #16241d;
		font-size: 0.95rem;
	}

	.residentes-residencia-selo span {
		color: #66736d;
		font-size: 0.9rem;
		line-height: 1.6;
	}

.residentes-residencia-painel {
	height: 100%;
	padding: 34px;
	border-radius: 20px;
	background: #f5f8f7;
}

.residentes-residencia-painel-topo {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	margin-bottom: 26px;
}

	.residentes-residencia-painel-topo .icon-wrap {
		margin-bottom: 0;
	}

	.residentes-residencia-painel-topo span {
		padding: 7px 13px;
		border-radius: 50px;
		background: rgba(33, 161, 188, 0.1);
		color: var(--azul);
		font-size: 0.72rem;
		font-weight: 700;
		letter-spacing: 0.05em;
		text-transform: uppercase;
	}

.residentes-residencia-painel h3 {
	margin-bottom: 14px;
}

.residentes-residencia-painel > p {
	margin-bottom: 24px;
}

.residentes-residencia-lista {
	display: grid;
	gap: 13px;
	margin: 0;
	padding: 22px 0 0;
	border-top: 1px solid #dde5e1;
	list-style: none;
}

	.residentes-residencia-lista li {
		display: flex;
		align-items: flex-start;
		gap: 10px;
	}

	.residentes-residencia-lista i {
		flex: 0 0 auto;
		margin-top: 2px;
		color: var(--verde);
	}

.residentes-residencia-grid {
	margin-top: 46px;
}

.residentes-residencia-card {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	width: 100%;
	height: 100%;
	min-height: 260px;
	cursor: default;
}

	.residentes-residencia-card:hover {
		transform: none;
	}

	.residentes-residencia-card .icon-wrap {
		margin-bottom: 24px;
	}

	.residentes-residencia-card h3 {
		margin-bottom: 12px;
	}

	.residentes-residencia-card p {
		margin-bottom: 0;
	}

/* ========================================
   RESPONSIVO
======================================== */

@media (max-width: 991.98px) {

	.residentes-residencia {
		padding-top: 64px;
		padding-bottom: 64px;
	}

	.residentes-residencia-painel {
		padding: 28px;
	}

	.residentes-residencia-card {
		min-height: 240px;
	}
}

@media (max-width: 767.98px) {

	.residentes-residencia-grid {
		margin-top: 36px;
	}

	.residentes-residencia-card {
		min-height: auto;
	}
}

@media (max-width: 575.98px) {

	.residentes-residencia {
		padding-top: 48px;
		padding-bottom: 48px;
	}

	.residentes-residencia-painel {
		padding: 22px;
		border-radius: 16px;
	}

	.residentes-residencia-painel-topo {
		align-items: flex-start;
		flex-direction: column;
		gap: 16px;
	}

	.residentes-residencia-selo {
		padding: 16px;
	}
}
/* ========================================
   FORMAÇÃO PRÁTICA E TEÓRICA
======================================== */

.residentes-formacao {
	margin-top: 80px;
	padding-top: 80px;
	border-top: 1px solid #dde5e1;
}

.residentes-formacao-grid {
	margin-top: 36px;
}

.residentes-formacao-card {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	width: 100%;
	height: 100%;
	min-height: 440px;
	cursor: default;
}

.residentes-formacao-topo {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	margin-bottom: 24px;
}

	.residentes-formacao-topo .icon-wrap {
		margin-bottom: 0;
	}

	.residentes-formacao-topo span {
		padding: 7px 13px;
		border-radius: 50px;
		background: rgba(33, 161, 188, 0.1);
		color: var(--azul);
		font-size: 0.72rem;
		font-weight: 700;
		letter-spacing: 0.06em;
		text-transform: uppercase;
	}

.residentes-formacao-card h3 {
	margin-bottom: 12px;
}

.residentes-formacao-card > p {
	margin-bottom: 24px;
}

.residentes-formacao-lista {
	display: grid;
	gap: 13px;
	width: 100%;
	margin: auto 0 0;
	padding: 22px 0 0;
	border-top: 1px solid #dde5e1;
	list-style: none;
}

	.residentes-formacao-lista li {
		display: flex;
		align-items: flex-start;
		gap: 10px;
	}

	.residentes-formacao-lista i {
		flex: 0 0 auto;
		margin-top: 2px;
		color: var(--verde);
	}

/* ========================================
   PRECEPTORIA
======================================== */

.residentes-preceptoria {
	margin-top: 80px;
	padding: 64px;
	border-radius: 24px;
	background: #f5f8f7;
}

.residentes-preceptoria-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 58px;
	height: 58px;
	margin-bottom: 24px;
	border-radius: 16px;
	background: rgba(33, 161, 188, 0.1);
	color: var(--azul);
	font-size: 1.45rem;
}

.residentes-preceptoria h2 {
	margin-bottom: 18px;
}

.residentes-preceptoria-pontos {
	display: grid;
	gap: 18px;
}

.residentes-preceptoria-item {
	display: flex;
	align-items: flex-start;
	gap: 18px;
	padding: 22px;
	border: 1px solid #dde5e1;
	border-radius: 16px;
	background: #fff;
}

	.residentes-preceptoria-item > i {
		display: flex;
		flex: 0 0 auto;
		align-items: center;
		justify-content: center;
		width: 42px;
		height: 42px;
		border-radius: 12px;
		background: rgba(33, 161, 188, 0.1);
		color: var(--azul);
		font-size: 1.05rem;
	}

	.residentes-preceptoria-item h3 {
		margin-bottom: 6px;
		font-size: 1.05rem;
	}

	.residentes-preceptoria-item p {
		margin-bottom: 0;
	}

/* ========================================
   RESPONSIVO
======================================== */

@media (max-width: 991.98px) {

	.residentes-formacao {
		margin-top: 64px;
		padding-top: 64px;
	}

	.residentes-preceptoria {
		margin-top: 64px;
		padding: 40px;
	}

	.residentes-formacao-card {
		min-height: auto;
	}
}

@media (max-width: 575.98px) {

	.residentes-formacao {
		margin-top: 48px;
		padding-top: 48px;
	}

	.residentes-preceptoria {
		margin-top: 48px;
		padding: 24px;
		border-radius: 18px;
	}

	.residentes-preceptoria-item {
		padding: 18px;
	}

		.residentes-preceptoria-item > i {
			width: 38px;
			height: 38px;
		}
}
/* =========================================================
   PÁGINA DE MÉDICOS — NOVA LISTAGEM
========================================================= */

.medicos-listagem {
	padding: 70px 0 90px;
	background: #f6f8f7;
}

/* Corrige o subtítulo dentro do hero */
.medicos-page .page-hero .subtitulo_azul {
	margin-bottom: 12px;
	color: rgba(255, 255, 255, 0.88);
}

.medicos-page .page-hero h1 {
	max-width: 760px;
}

.medicos-page .page-hero p {
	max-width: 720px;
}

/* ===== BUSCA E FILTROS ===== */

.medicos-ferramentas {
	display: grid;
	gap: 22px;
	margin-bottom: 32px;
}

.medicos-busca {
	position: relative;
	display: flex;
	align-items: center;
	width: 100%;
	max-width: 760px;
}

	.medicos-busca > i {
		position: absolute;
		left: 19px;
		z-index: 1;
		color: #73807b;
		font-size: 1rem;
		pointer-events: none;
	}

	.medicos-busca input {
		width: 100%;
		height: 56px;
		padding: 13px 52px;
		border: 1px solid #dce5e1;
		border-radius: 13px;
		background: #fff;
		color: var(--texto);
		font-family: inherit;
		font-size: 0.9rem;
		outline: none;
		transition: border-color 0.2s ease, box-shadow 0.2s ease;
	}

		.medicos-busca input::placeholder {
			color: #87928e;
		}

		.medicos-busca input:focus {
			border-color: var(--azul);
			box-shadow: 0 0 0 4px rgba(24, 152, 183, 0.12);
		}

.medicos-busca-limpar {
	position: absolute;
	right: 13px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: transparent;
	color: #73807b;
	cursor: pointer;
	transition: background 0.2s ease, color 0.2s ease;
}

	.medicos-busca-limpar:hover {
		background: #edf3f0;
		color: var(--texto);
	}

/* ===== FILTROS ===== */

.medicos-filtros {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.medicos-filtro {
	padding: 9px 16px;
	border: 1px solid #dce5e1;
	border-radius: 999px;
	background: #fff;
	color: #4f5d58;
	font-family: inherit;
	font-size: 0.78rem;
	font-weight: 700;
	line-height: 1.2;
	cursor: pointer;
	transition: color 0.2s ease, background 0.2s ease, border-color 0.2s ease;
}

	.medicos-filtro:hover {
		border-color: var(--azul);
		color: var(--azul);
	}

	.medicos-filtro.is-active {
		border-color: transparent;
		background: var(--gradient-brand);
		color: #fff;
	}

.medicos-contador {
	margin: 0 0 22px;
	color: #6f7b77;
	font-size: 0.82rem;
	font-weight: 600;
}

/* ===== GRID ===== */

.medicos-item {
	display: flex;
}

	.medicos-item[hidden] {
		display: none !important;
	}

/* ===== CARD ===== */

.medicos-profissional-card {
	display: flex;
	flex-direction: column;
	width: 100%;
	height: 100%;
	min-height: 285px;
	padding: 25px;
	border: 1px solid #dfe7e4;
	border-radius: 17px;
	background: #fff;
	box-shadow: 0 7px 22px rgba(23, 33, 43, 0.035);
	transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}

	.medicos-profissional-card:hover {
		transform: translateY(-5px);
		border-color: rgba(24, 152, 183, 0.45);
		box-shadow: 0 16px 36px rgba(23, 33, 43, 0.09);
	}

.medicos-profissional-topo {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 14px;
	margin-bottom: 27px;
}

/* Sobrescreve o avatar antigo */
.medicos-profissional-card .medicos-avatar {
	display: inline-flex;
	flex: 0 0 54px;
	align-items: center;
	justify-content: center;
	width: 54px;
	height: 54px;
	border-radius: 50%;
	background: var(--gradient-brand);
	color: #fff;
	font-size: 0.87rem;
	font-weight: 800;
	letter-spacing: 0.03em;
}

/* Etiqueta da especialidade */

.medicos-categoria {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	max-width: 68%;
	padding: 6px 10px;
	border-radius: 999px;
	background: #eaf4ef;
	color: var(--verde);
	font-size: 0.67rem;
	font-weight: 800;
	line-height: 1.25;
	text-align: center;
}

/* ===== CONTEÚDO DO CARD ===== */

.medicos-profissional-conteudo {
	margin-bottom: 26px;
}

	.medicos-profissional-conteudo h2 {
		margin: 0 0 8px;
		color: var(--texto);
		font-size: 1.03rem;
		font-weight: 850;
		letter-spacing: -0.025em;
		line-height: 1.35;
	}

	.medicos-profissional-conteudo p {
		margin: 0;
		color: #6c7773;
		font-size: 0.82rem;
		line-height: 1.55;
	}

/* ===== RODAPÉ DO CARD ===== */

.medicos-profissional-rodape {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	margin-top: auto;
	padding-top: 18px;
	border-top: 1px solid #e5ebe8;
}

.medicos-instituicao {
	color: #8a9591;
	font-size: 0.7rem;
}

.medicos-ver-perfil {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	color: var(--azul);
	font-size: 0.76rem;
	font-weight: 800;
}

	.medicos-ver-perfil i {
		font-size: 0.82rem;
		transition: transform 0.2s ease;
	}

.medicos-profissional-card:hover .medicos-ver-perfil i {
	transform: translateX(4px);
}

/* ===== NENHUM RESULTADO ===== */

.medicos-vazio {
	max-width: 560px;
	margin: 30px auto 0;
	padding: 55px 28px;
	text-align: center;
}

	.medicos-vazio .icon-wrap {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 58px;
		height: 58px;
		margin: 0 auto 20px;
		border-radius: 50%;
		background: #e8f5ee;
		color: var(--azul);
		font-size: 1.25rem;
	}

	.medicos-vazio h2 {
		margin-bottom: 10px;
	}

	.medicos-vazio p {
		margin-bottom: 24px;
		color: #68737d;
	}

/* =========================================================
   PUBLICAÇÕES CIENTÍFICAS
========================================================= */

.medicos-publicacoes {
	padding: 78px 0 88px;
	background: #f6f8f7;
}

	.medicos-publicacoes .section-header {
		margin-bottom: 34px;
	}

.medicos-publicacoes-intro {
	max-width: 700px;
	margin: 12px 0 0;
	color: #68737d;
	font-size: 0.92rem;
	line-height: 1.7;
}

.publicacao-item {
	display: flex;
}

	.publicacao-item[hidden] {
		display: none !important;
	}

.publicacao-card {
	display: flex;
	flex-direction: column;
	width: 100%;
	height: 100%;
	overflow: hidden;
	border: 1px solid #dfe7e4;
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 8px 24px rgba(23, 33, 43, 0.04);
	transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}

	.publicacao-card:hover {
		transform: translateY(-5px);
		border-color: var(--azul);
		box-shadow: 0 17px 38px rgba(23, 33, 43, 0.09);
	}

/* ===== IMAGEM ===== */

.publicacao-card-imagem {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	background: #e8f5ee;
}

	.publicacao-card-imagem img {
		display: block;
		width: 100%;
		height: 100%;
		object-fit: cover;
		transition: transform 0.35s ease;
	}

.publicacao-card:hover .publicacao-card-imagem img {
	transform: scale(1.04);
}

/* Categoria sobre a imagem */

.publicacao-categoria {
	position: absolute;
	top: 16px;
	left: 16px;
	z-index: 1;
	display: inline-flex;
	align-items: center;
	padding: 7px 11px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.94);
	color: var(--azul);
	font-size: 0.68rem;
	font-weight: 800;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	box-shadow: 0 5px 18px rgba(23, 33, 43, 0.12);
	backdrop-filter: blur(6px);
}

/* ===== CONTEÚDO ===== */

.publicacao-card-conteudo {
	display: flex;
	flex-direction: column;
	flex: 1;
	padding: 25px 25px 0;
}

	.publicacao-card-conteudo h3 {
		margin: 0 0 13px;
		color: var(--texto);
		font-size: 1.08rem;
		line-height: 1.45;
	}

	.publicacao-card-conteudo p {
		margin: 0 0 24px;
		color: #68737d;
		font-size: 0.86rem;
		line-height: 1.65;
	}

/* ===== RODAPÉ ===== */

.publicacao-card-rodape {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-top: auto;
	padding: 19px 25px 24px;
	border-top: 1px solid #e5ebe8;
}

	.publicacao-card-rodape > span {
		color: #89948f;
		font-size: 0.72rem;
	}

	.publicacao-card-rodape a {
		display: inline-flex;
		align-items: center;
		gap: 8px;
		color: var(--azul);
		font-size: 0.8rem;
		font-weight: 800;
	}

		.publicacao-card-rodape a i {
			transition: transform 0.2s ease;
		}

.publicacao-card:hover .publicacao-card-rodape a i {
	transform: translate(3px, -3px);
}

/* =========================================================
   RESPONSIVO
========================================================= */

@media (max-width: 991.98px) {
	.medicos-publicacoes {
		padding: 64px 0 72px;
	}
}

@media (max-width: 767.98px) {
	.medicos-publicacoes {
		padding: 52px 0 62px;
	}

	.publicacao-card-conteudo {
		padding: 22px 22px 0;
	}

	.publicacao-card-rodape {
		padding: 18px 22px 22px;
	}
}

@media (max-width: 575.98px) {
	.publicacao-card-rodape {
		align-items: flex-start;
		flex-direction: column;
	}

	.publicacao-categoria {
		top: 12px;
		left: 12px;
	}
}

/* =========================================================
   RESPONSIVO
========================================================= */

@media (max-width: 991.98px) {
	.medicos-listagem {
		padding: 58px 0 70px;
	}
}

@media (max-width: 767.98px) {
	.medicos-listagem {
		padding: 48px 0 60px;
	}

	.medicos-filtros {
		flex-wrap: nowrap;
		margin-right: -12px;
		padding-right: 12px;
		overflow-x: auto;
		scrollbar-width: none;
	}

		.medicos-filtros::-webkit-scrollbar {
			display: none;
		}

	.medicos-filtro {
		flex: 0 0 auto;
	}

	.medicos-profissional-card {
		min-height: 270px;
		padding: 22px;
	}

	.medicos-categoria {
		max-width: 72%;
	}
}

@media (max-width: 575.98px) {
	.medicos-busca input {
		height: 53px;
	}

	.medicos-profissional-rodape {
		align-items: flex-end;
	}

	.medicos-instituicao {
		max-width: 48%;
	}
}
/* =========================================================
   PÁGINA INTERNA DO PROFISSIONAL
========================================================= */

.medico-voltar {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 42px;
	color: var(--azul);
	font-size: 0.85rem;
	font-weight: 800;
	transition: color 0.2s ease;
}

	.medico-voltar i {
		transition: transform 0.2s ease;
	}

	.medico-voltar:hover {
		color: var(--verde);
	}

		.medico-voltar:hover i {
			transform: translateX(-4px);
		}


/* ===== ÁREAS ===== */

.medico-areas {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

	.medico-areas span {
		display: inline-flex;
		align-items: center;
		gap: 8px;
		padding: 11px 15px;
		border: 1px solid #dce7e2;
		border-radius: 999px;
		background: #f8faf9;
		color: var(--texto);
		font-size: 0.84rem;
		font-weight: 700;
	}

	.medico-areas i {
		color: var(--verde);
	}

/* =========================================================
   RESPONSIVO
========================================================= */

@media (max-width: 767.98px) {
	.medico-voltar {
		margin-bottom: 32px;
	}
}

@media (max-width: 575.98px) {
	.medico-areas {
		align-items: stretch;
		flex-direction: column;
	}

		.medico-areas span {
			border-radius: 12px;
		}
}
/* =========================================================
   PÁGINA INTERNA DO PROFISSIONAL
========================================================= */

/* ===== CABEÇALHO DO PERFIL ===== */

.medico-interna-hero {
	padding: 54px 0 64px;
	overflow: hidden;
	background: var(--gradient-brand);
	color: #fff;
}

.medico-interna-voltar {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 38px;
	color: rgba(255, 255, 255, 0.85);
	font-size: 0.82rem;
	font-weight: 700;
	transition: color 0.2s ease;
}

	.medico-interna-voltar i {
		font-size: 0.9rem;
		transition: transform 0.2s ease;
	}

	.medico-interna-voltar:hover {
		color: #fff;
	}

		.medico-interna-voltar:hover i {
			transform: translateX(-4px);
		}

.medico-interna-identificacao {
	display: flex;
	align-items: center;
	gap: 27px;
}

.medico-interna-avatar {
	display: flex;
	flex: 0 0 112px;
	align-items: center;
	justify-content: center;
	width: 112px;
	height: 112px;
	border: 1px solid rgba(255, 255, 255, 0.3);
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.14);
	color: #fff;
	font-size: 1.85rem;
	font-weight: 900;
	letter-spacing: 0.04em;
	box-shadow: 0 15px 36px rgba(23, 33, 43, 0.14);
	backdrop-filter: blur(6px);
}

.medico-interna-dados {
	min-width: 0;
}

.medico-interna-especialidade {
	display: inline-flex;
	align-items: center;
	margin-bottom: 13px;
	padding: 6px 11px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.16);
	color: #fff;
	font-size: 0.68rem;
	font-weight: 800;
	letter-spacing: 0.07em;
	text-transform: uppercase;
}

.medico-interna-dados h1 {
	margin: 0 0 8px;
	color: #fff;
	font-size: clamp(2rem, 4vw, 3.25rem);
	line-height: 1.1;
}

.medico-interna-dados > p {
	margin: 0 0 7px;
	color: rgba(255, 255, 255, 0.82);
	font-size: 1rem;
	font-weight: 600;
}

.medico-interna-registro {
	display: inline-flex;
	color: #fff;
	font-size: 0.78rem;
	font-weight: 800;
}

/* ===== CONTEÚDO ===== */

.medico-interna-conteudo {
	padding: 72px 0 84px;
	background: #fff;
}

.medico-interna-secao {
	margin-bottom: 46px;
	padding-bottom: 46px;
	border-bottom: 1px solid #e2e8e4;
}

	.medico-interna-secao:last-child {
		margin-bottom: 0;
		padding-bottom: 0;
		border-bottom: 0;
	}

	.medico-interna-secao h2 {
		margin: 0 0 24px;
		color: var(--texto);
		font-size: 1.45rem;
		font-weight: 850;
		letter-spacing: -0.025em;
		line-height: 1.2;
	}

.medico-interna-texto {
	max-width: 750px;
	margin: 0;
	color: #68737d;
	font-size: 0.94rem;
	line-height: 1.8;
}

/* ===== LISTAS COM BOLINHAS ===== */

.medico-interna-lista {
	display: grid;
	gap: 20px;
	margin: 0;
	padding: 0;
	list-style: none;
}

	.medico-interna-lista li {
		display: grid;
		grid-template-columns: 10px minmax(0, 1fr);
		align-items: flex-start;
		gap: 14px;
	}

.medico-interna-bolinha {
	display: block;
	width: 7px;
	height: 7px;
	margin-top: 7px;
	border-radius: 50%;
	background: var(--verde);
}

.medico-interna-lista strong {
	display: block;
	margin-bottom: 3px;
	color: var(--texto);
	font-size: 0.92rem;
	font-weight: 800;
	line-height: 1.5;
}

.medico-interna-lista p {
	margin: 0;
	color: #74807b;
	font-size: 0.84rem;
	line-height: 1.55;
}

/* ===== COLUNA LATERAL ===== */

.medico-interna-lateral {
	position: sticky;
	top: 110px;
	display: grid;
	gap: 20px;
}

.medico-interna-card {
	padding: 25px;
	border: 1px solid #dfe7e4;
	border-radius: 17px;
	background: #fff;
	box-shadow: 0 8px 24px rgba(23, 33, 43, 0.04);
}

	.medico-interna-card h3 {
		margin: 0 0 17px;
		color: var(--texto);
		font-size: 1rem;
		font-weight: 850;
	}

/* ===== ÁREAS ===== */

.medico-interna-areas {
	display: flex;
	flex-wrap: wrap;
	gap: 9px;
}

	.medico-interna-areas span {
		display: inline-flex;
		align-items: center;
		padding: 7px 11px;
		border-radius: 999px;
		background: #e8f5ee;
		color: var(--azul);
		font-size: 0.72rem;
		font-weight: 700;
	}

/* ===== ATENDIMENTO ===== */

.medico-interna-card-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 46px;
	height: 46px;
	margin-bottom: 19px;
	border-radius: 13px;
	background: #e8f5ee;
	color: var(--azul);
	font-size: 1.15rem;
}

.medico-interna-atendimento h3 {
	margin-bottom: 10px;
}

.medico-interna-atendimento > p {
	margin: 0 0 5px;
	color: var(--texto);
	font-size: 0.88rem;
	font-weight: 700;
	line-height: 1.55;
}

.medico-interna-atendimento > span {
	display: block;
	margin-bottom: 22px;
	color: #74807b;
	font-size: 0.78rem;
}

.medico-interna-botao {
	width: 100%;
}

/* =========================================================
   RESPONSIVO
========================================================= */

@media (max-width: 991.98px) {

	.medico-interna-hero {
		padding: 48px 0 56px;
	}

	.medico-interna-conteudo {
		padding: 60px 0 70px;
	}

	.medico-interna-lateral {
		position: static;
	}
}

@media (max-width: 767.98px) {

	.medico-interna-identificacao {
		align-items: flex-start;
		flex-direction: column;
		gap: 20px;
	}

	.medico-interna-avatar {
		flex-basis: 94px;
		width: 94px;
		height: 94px;
		font-size: 1.55rem;
	}

	.medico-interna-voltar {
		margin-bottom: 30px;
	}

	.medico-interna-secao {
		margin-bottom: 38px;
		padding-bottom: 38px;
	}
}

@media (max-width: 575.98px) {

	.medico-interna-hero {
		padding: 40px 0 48px;
	}

	.medico-interna-conteudo {
		padding: 48px 0 58px;
	}

	.medico-interna-dados h1 {
		font-size: 2rem;
	}

	.medico-interna-card {
		padding: 22px;
		border-radius: 15px;
	}
}
.medico-interna-card-header {
	display: flex;
	align-items: center;
	gap: 16px;
	margin-bottom: 24px;
}

.medico-interna-card-icon {
	width: 52px;
	height: 52px;
	border-radius: 14px;
	background: #edf8f2;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--azul);
	font-size: 1.2rem;
	flex-shrink: 0;
}

.medico-interna-card-header h3 {
	margin: 0;
}
.medico-interna-card-conteudo {
	background: #fff;
	border: 1px solid #dfe7e4;
	border-radius: 18px;
	padding: 34px;
	margin-bottom: 28px;
	box-shadow: 0 8px 22px rgba(0,0,0,.04);
}

	.medico-interna-card-conteudo:last-child {
		margin-bottom: 0;
	}

/* =========================================================
   PÁGINA INTERNA DE PUBLICAÇÃO
========================================================= */

/* ===== HERO ===== */

.publicacao-interna-hero {
	padding: 64px 0 72px;
	overflow: hidden;
	background: var(--gradient-brand);
	color: #fff;
}

.publicacao-interna-voltar {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 38px;
	color: rgba(255, 255, 255, 0.84);
	font-size: 0.82rem;
	font-weight: 700;
	transition: color 0.2s ease;
}

	.publicacao-interna-voltar i {
		transition: transform 0.2s ease;
	}

	.publicacao-interna-voltar:hover {
		color: #fff;
	}

		.publicacao-interna-voltar:hover i {
			transform: translateX(-4px);
		}

.publicacao-interna-categoria {
	display: inline-flex;
	align-items: center;
	margin-bottom: 16px;
	padding: 7px 12px;
	border: 1px solid rgba(255, 255, 255, 0.22);
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.14);
	color: #fff;
	font-size: 0.7rem;
	font-weight: 800;
	letter-spacing: 0.07em;
	text-transform: uppercase;
}

.publicacao-interna-hero h1 {
	max-width: 980px;
	margin: 0 0 18px;
	color: #fff;
	font-size: clamp(2.2rem, 4.8vw, 3.8rem);
	line-height: 1.08;
}

.publicacao-interna-hero p {
	max-width: 790px;
	margin: 0;
	color: rgba(255, 255, 255, 0.82);
	font-size: 1rem;
	line-height: 1.75;
}

/* ===== CONTEÚDO ===== */

.publicacao-interna-conteudo {
	padding: 76px 0 86px;
	background: #f6f8f7;
}

/* ===== IMAGEM ===== */

.publicacao-interna-imagem {
	width: 100%;
	margin: 0 0 28px;
	overflow: hidden;
	border: 1px solid #dfe7e4;
	border-radius: 20px;
	background: #e8f5ee;
	box-shadow: 0 10px 30px rgba(23, 33, 43, 0.05);
}

	.publicacao-interna-imagem img {
		display: block;
		width: 100%;
		aspect-ratio: 16 / 9;
		object-fit: cover;
	}

/* ===== CARDS PRINCIPAIS ===== */

.publicacao-interna-card {
	margin-bottom: 28px;
	padding: 34px;
	border: 1px solid #dfe7e4;
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 8px 24px rgba(23, 33, 43, 0.04);
}

	.publicacao-interna-card:last-child {
		margin-bottom: 0;
	}

	.publicacao-interna-card h2 {
		margin: 0 0 22px;
		font-size: 1.5rem;
	}

	.publicacao-interna-card > p:not(.subtitulo_azul) {
		margin: 0 0 17px;
		color: #68737d;
		font-size: 0.94rem;
		line-height: 1.8;
	}

	.publicacao-interna-card > p:last-child {
		margin-bottom: 0;
	}

/* ===== AUTORES ===== */

.publicacao-autores {
	display: grid;
	gap: 14px;
}

.publicacao-autor {
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 17px;
	border: 1px solid #e2e8e4;
	border-radius: 14px;
	background: #fbfcfb;
}

.publicacao-autor-avatar {
	display: flex;
	flex: 0 0 48px;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	border-radius: 50%;
	background: var(--gradient-brand);
	color: #fff;
	font-size: 0.78rem;
	font-weight: 800;
}

.publicacao-autor h3 {
	margin: 0 0 4px;
}

.publicacao-autor p {
	margin: 0;
	color: #74807b;
	font-size: 0.8rem;
}

/* ===== PALAVRAS-CHAVE ===== */

.publicacao-palavras {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

	.publicacao-palavras span {
		display: inline-flex;
		align-items: center;
		padding: 8px 12px;
		border-radius: 999px;
		background: #e8f5ee;
		color: var(--azul);
		font-size: 0.75rem;
		font-weight: 700;
	}

/* ===== COLUNA LATERAL ===== */

.publicacao-interna-lateral {
	position: sticky;
	top: 110px;
	display: grid;
	gap: 22px;
}

.publicacao-informacoes-card {
	padding: 27px;
	border: 1px solid #dfe7e4;
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 8px 24px rgba(23, 33, 43, 0.04);
}

.publicacao-informacoes-header {
	display: flex;
	align-items: center;
	gap: 14px;
	margin-bottom: 24px;
}

	.publicacao-informacoes-header .icon-wrap {
		display: flex;
		flex: 0 0 46px;
		align-items: center;
		justify-content: center;
		width: 46px;
		height: 46px;
		margin: 0;
		border-radius: 13px;
		background: #e8f5ee;
		color: var(--azul);
		font-size: 1.1rem;
	}

	.publicacao-informacoes-header h2 {
		margin: 0;
		font-size: 1.08rem;
	}

/* ===== DADOS ===== */

.publicacao-informacoes-lista {
	display: grid;
	gap: 0;
	margin: 0 0 24px;
}

	.publicacao-informacoes-lista > div {
		display: flex;
		align-items: flex-start;
		justify-content: space-between;
		gap: 20px;
		padding: 12px 0;
		border-bottom: 1px solid #edf1ef;
	}

		.publicacao-informacoes-lista > div:first-child {
			padding-top: 0;
		}

		.publicacao-informacoes-lista > div:last-child {
			padding-bottom: 0;
			border-bottom: 0;
		}

	.publicacao-informacoes-lista dt {
		color: #7a8681;
		font-size: 0.78rem;
		font-weight: 600;
	}

	.publicacao-informacoes-lista dd {
		margin: 0;
		color: var(--texto);
		font-size: 0.78rem;
		font-weight: 800;
		text-align: right;
	}

.publicacao-download {
	width: 100%;
}

/* ===== COMPARTILHAR ===== */

.publicacao-compartilhar {
	display: flex;
	gap: 10px;
}

	.publicacao-compartilhar a {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 44px;
		height: 44px;
		border: 1px solid #dce7e2;
		border-radius: 12px;
		background: #fff;
		color: var(--azul);
		font-size: 1rem;
		transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
	}

		.publicacao-compartilhar a:hover {
			border-color: transparent;
			background: var(--gradient-brand);
			color: #fff;
		}

/* =========================================================
   RESPONSIVO
========================================================= */

@media (max-width: 991.98px) {

	.publicacao-interna-hero {
		padding: 54px 0 62px;
	}

	.publicacao-interna-conteudo {
		padding: 64px 0 72px;
	}

	.publicacao-interna-lateral {
		position: static;
	}
}

@media (max-width: 767.98px) {

	.publicacao-interna-hero {
		padding: 48px 0 56px;
	}

	.publicacao-interna-voltar {
		margin-bottom: 30px;
	}

	.publicacao-interna-card {
		padding: 26px;
	}

	.publicacao-informacoes-card {
		padding: 24px;
	}
}

@media (max-width: 575.98px) {

	.publicacao-interna-hero {
		padding: 42px 0 50px;
	}

	.publicacao-interna-conteudo {
		padding: 48px 0 58px;
	}

	.publicacao-interna-card {
		padding: 22px;
		border-radius: 16px;
	}

	.publicacao-interna-imagem {
		border-radius: 16px;
	}

	.publicacao-autor {
		align-items: flex-start;
	}

	.publicacao-informacoes-lista > div {
		flex-direction: column;
		gap: 4px;
	}

	.publicacao-informacoes-lista dd {
		text-align: left;
	}
}