/* =========================================================
   Lília Medicina Diagnóstica — estilos do tema
   Paleta extraída da identidade visual:
   creme, rosé, verde-sálvia e terracota, texto grafite.
   ========================================================= */

:root {
	--cor-creme: #f7efe7;
	--cor-creme-escuro: #f1e4d8;
	--cor-rosada: #f3e2dc;
	--cor-rose: #d9a5a0;
	--cor-salmao: #f09c84;
	--cor-salmao-escuro: #e2836a;
	--cor-terracota: #b65e4a;
	--cor-terracota-escura: #9c4c3a;
	--cor-salvia: #9fae9b;
	--cor-verde-escuro: #35402f;
	--cor-grafite: #444444;
	--cor-grafite-suave: #6b6560;
	--cor-branco: #fffdfb;

	--fonte-titulo: "Lora", Georgia, serif;
	--fonte-texto: "Onest", -apple-system, sans-serif;

	--largura-max: 1280px;
	--largura-estreita: 760px;
	--gutter: 8vw; /* margem externa total (4vw de cada lado) — abaixo do cap de largura-max */
	--raio: 18px;
	--sombra: 0 18px 45px rgba(68, 52, 42, 0.1);
	--transicao: 0.35s ease;
}

/* ---------- Base ---------- */

*,
*::before,
*::after {
	box-sizing: border-box;
}

body {
	margin: 0;
	font-family: var(--fonte-texto);
	font-size: 1.0625rem;
	line-height: 1.7;
	color: var(--cor-grafite);
	background-color: var(--cor-branco);
	-webkit-font-smoothing: antialiased;
}

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

a {
	color: var(--cor-terracota);
	text-decoration: none;
	transition: color var(--transicao);
}

a:hover {
	color: var(--cor-terracota-escura);
}

h1,
h2,
h3,
h4 {
	font-family: var(--fonte-titulo);
	font-weight: 500;
	line-height: 1.2;
	color: var(--cor-grafite);
	margin: 0 0 0.6em;
}

h1 {
	font-size: clamp(2.2rem, 5vw, 3.4rem);
}

h2 {
	font-size: clamp(1.8rem, 3.6vw, 2.5rem);
}

h3 {
	font-size: 1.35rem;
}

p {
	margin: 0 0 1.2em;
}

.container {
	width: min(var(--largura-max), calc(100vw - var(--gutter)));
	margin-inline: auto;
}

.container--estreito {
	width: min(var(--largura-estreita), calc(100vw - var(--gutter)));
}

.screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

.pular-conteudo {
	position: absolute;
	left: -9999px;
	top: 0;
	background: var(--cor-verde-escuro);
	color: #fff;
	padding: 0.6rem 1.2rem;
	z-index: 200;
}

.pular-conteudo:focus {
	left: 0;
	color: #fff;
}

/* ---------- Rótulos e botões ---------- */

.rotulo {
	font-size: 0.8rem;
	font-weight: 600;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--cor-terracota);
	margin-bottom: 0.9rem;
}

.botao {
	display: inline-block;
	font-weight: 600;
	font-size: 0.95rem;
	letter-spacing: 0.04em;
	padding: 0.85rem 1.9rem;
	border-radius: 999px;
	transition: background-color var(--transicao), color var(--transicao), border-color var(--transicao), transform var(--transicao);
}

.botao:hover {
	transform: translateY(-2px);
}

.botao--primario {
	background: var(--cor-terracota);
	color: #fff;
}

.botao--primario:hover {
	background: var(--cor-terracota-escura);
	color: #fff;
}

.botao--contorno {
	border: 1.5px solid var(--cor-grafite);
	color: var(--cor-grafite);
}

.botao--contorno:hover {
	background: var(--cor-grafite);
	color: var(--cor-creme);
}

/* ---------- Cabeçalho ---------- */

.site-header {
	position: sticky;
	top: 0;
	z-index: 100;
	background: var(--cor-branco);
	border-bottom: 1px solid rgba(68, 68, 68, 0.08);
}

/* O cabeçalho usa o mesmo container do restante do site (margens alinhadas) */

.site-header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 2rem;
	padding-block: 1rem;
}

.site-header__logo img {
	height: 96px;
	width: auto;
}

/* O símbolo (flor sozinha) só aparece no header mobile minificado */
.site-header__logo-simbolo {
	display: none;
}

/* Elementos exclusivos do painel mobile */
.painel-topo,
.painel-contato,
.submenu-toggle {
	display: none;
}

.site-header__direita {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 1.1rem;
	flex: 1;
}

/* Linha superior: endereço, Instagram e contato */
.header-info {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: 1.8rem;
	font-size: 0.85rem;
	color: var(--cor-grafite);
}

.header-info__item {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	color: var(--cor-grafite);
}

.header-info__item svg {
	width: 17px;
	height: 17px;
	flex-shrink: 0;
}

a.header-info__item:hover {
	color: var(--cor-terracota);
}

/* Linha inferior: menu + botões */
.site-header__navlinha {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 2rem;
}

.site-nav {
	display: flex;
	align-items: center;
}

.site-nav .menu {
	display: flex;
	list-style: none;
	margin: 0;
	padding: 0;
	gap: 1.9rem;
}

.site-nav .menu a {
	font-family: var(--fonte-titulo);
	color: var(--cor-grafite);
	font-size: 0.875rem; /* 14px */
	font-weight: 500;
	position: relative;
	white-space: nowrap;
}

.site-nav .menu a:hover,
.site-nav .menu .current-menu-item > a,
.site-nav .menu .current_page_item > a,
.site-nav .menu .current-menu-ancestor > a {
	color: var(--cor-terracota);
}

/* Dropdown (itens com submenu) */
.site-nav .menu > li {
	position: relative;
}

.site-nav .menu .menu-item-has-children > a::after {
	content: "";
	display: inline-block;
	width: 7px;
	height: 7px;
	margin-left: 0.45rem;
	border-right: 1.5px solid currentColor;
	border-bottom: 1.5px solid currentColor;
	transform: rotate(45deg) translateY(-2px);
	transition: transform var(--transicao);
}

.site-nav .menu .sub-menu {
	position: absolute;
	top: 100%;
	left: 50%;
	transform: translateX(-50%) translateY(8px);
	background: var(--cor-branco);
	border-radius: 10px;
	box-shadow: 0 14px 38px rgba(68, 52, 42, 0.16);
	padding: 0.7rem 1.2rem;
	margin: 0;
	list-style: none;
	min-width: 220px;
	opacity: 0;
	visibility: hidden;
	transition: opacity var(--transicao), transform var(--transicao), visibility var(--transicao);
	z-index: 120;
}

.site-nav .menu > li:hover > .sub-menu,
.site-nav .menu > li:focus-within > .sub-menu {
	opacity: 1;
	visibility: visible;
	transform: translateX(-50%) translateY(0);
}

.site-nav .menu .sub-menu li {
	border-bottom: 1px solid rgba(68, 68, 68, 0.07);
}

.site-nav .menu .sub-menu li:last-child {
	border-bottom: none;
}

.site-nav .menu .sub-menu a {
	display: block;
	padding: 0.55rem 0.2rem;
	font-size: 0.92rem;
	white-space: nowrap;
}

/* Botões do cabeçalho */
.header-acoes {
	display: flex;
	align-items: center;
	gap: 0.9rem;
}

.botao--resultados,
.botao--agendar {
	font-family: var(--fonte-titulo);
	font-weight: 500;
	font-size: 0.875rem; /* acompanha os 14px do menu */
	padding: 0.42rem 1.15rem;
	white-space: nowrap;
}

.botao--agendar {
	background: var(--cor-salmao);
	color: #fff;
}

.botao--agendar:hover {
	background: var(--cor-salmao-escuro);
	color: #fff;
}

.botao--resultados {
	border: 1.5px solid var(--cor-salmao);
	color: var(--cor-terracota);
	background: transparent;
}

.botao--resultados:hover {
	background: var(--cor-salmao);
	color: #fff;
}

/* Botões de ação no mobile (abaixo do logo) */
.header-acoes-mobile {
	display: none;
}

/* Telas intermediárias (ex.: monitores 1350/1366): espaçamentos comprimidos */
@media (max-width: 1460px) {
	.site-header__logo img {
		height: 82px;
	}

	.site-header__inner {
		gap: 1.2rem;
	}

	.site-header__navlinha {
		gap: 1.2rem;
	}

	.site-nav .menu {
		gap: 1.25rem;
	}

	.header-acoes {
		gap: 0.55rem;
	}

	.header-info {
		gap: 1.2rem;
		font-size: 0.82rem;
	}

	.botao--resultados,
	.botao--agendar {
		padding: 0.4rem 0.95rem;
	}
}

.menu-toggle {
	display: none;
	background: none;
	border: none;
	padding: 0.5rem;
	cursor: pointer;
	align-items: center;
}

.menu-toggle svg {
	width: 84px;
	height: 22px;
	display: block;
}

.menu-toggle__linha {
	transform-box: fill-box;
	transform-origin: center;
	transition: transform var(--transicao), opacity var(--transicao);
}

/* ---------- Hero ---------- */

/* Junto ao header, os dois somam no máximo ~80% da altura da tela.
   O hero é um slider: slide institucional + banners do CPT. */
/* O hero escala 100% com a largura. A altura acompanha a arte do slide ativo
   (o JS define --hero-ratio), então nenhuma arte é cortada. */
.banner-slider.banner-slider--hero {
	aspect-ratio: var(--hero-ratio, 1920 / 680);
	min-height: 0;
	border-radius: 0;
	transition: aspect-ratio 0.4s ease;
}

/* Slides do hero mostram a arte inteira (sem recorte) */
.banner-slider--hero .banner-slider__slide img {
	object-fit: contain;
	background: var(--cor-creme);
}

/* Setas de navegação manual */
.banner-slider__seta {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 3;
	width: 44px;
	height: 44px;
	border: none;
	border-radius: 50%;
	background: rgba(255, 253, 251, 0.82);
	color: var(--cor-terracota);
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 2px 10px rgba(68, 52, 42, 0.18);
	transition: background-color var(--transicao), transform var(--transicao);
}

.banner-slider__seta:hover {
	background: #fff;
}

.banner-slider__seta svg {
	width: 22px;
	height: 22px;
}

.banner-slider__seta--prev {
	left: clamp(8px, 2vw, 20px);
}

.banner-slider__seta--next {
	right: clamp(8px, 2vw, 20px);
}

.banner-slider__seta--prev:hover {
	transform: translateY(-50%) translateX(-2px);
}

.banner-slider__seta--next:hover {
	transform: translateY(-50%) translateX(2px);
}

@media (max-width: 720px) {
	.banner-slider__seta {
		width: 34px;
		height: 34px;
	}

	.banner-slider__seta svg {
		width: 17px;
		height: 17px;
	}
}

/* A arte do banner já traz o texto embutido: no desktop, só a imagem aparece */
.hero__institucional {
	background-size: cover;
	background-position: left center;
	display: flex;
	align-items: center;
}

.hero__institucional .hero__conteudo {
	display: none;
}

.hero__conteudo {
	max-width: 620px;
	margin-left: calc((100vw - min(var(--largura-max), calc(100vw - var(--gutter)))) / 2);
	padding-block: 3.5rem;
	position: relative;
	z-index: 1;
}

.hero__texto {
	font-size: 1.15rem;
	color: var(--cor-grafite-suave);
	max-width: 34rem;
}

.hero__acoes {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	margin-top: 2rem;
}

/* ---------- Seções ---------- */

.secao {
	padding-block: clamp(4rem, 9vw, 7rem);
}

.secao--rosada {
	background: var(--cor-rosada);
}

.secao__cabecalho {
	max-width: 640px;
	margin-bottom: clamp(2.5rem, 5vw, 4rem);
}

.secao__cabecalho p:last-child {
	color: var(--cor-grafite-suave);
}

/* ---------- A clínica ---------- */

.clinica__grade {
	display: grid;
	grid-template-columns: 1.1fr 1fr;
	gap: clamp(2rem, 6vw, 5rem);
	align-items: center;
}

.clinica__imagem {
	margin: 0;
	border-radius: var(--raio);
	overflow: hidden;
	box-shadow: var(--sombra);
}

.clinica__destaques {
	list-style: none;
	margin: 1.5rem 0 0;
	padding: 0;
}

.clinica__destaques li {
	padding-left: 1.8rem;
	position: relative;
	margin-bottom: 0.7rem;
	font-weight: 500;
}

.clinica__destaques li::before {
	content: "✿";
	position: absolute;
	left: 0;
	color: var(--cor-rose);
}

/* ---------- Cartões (experiências e blog) ---------- */

.cartoes {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: clamp(1.4rem, 3vw, 2.2rem);
}

.cartao {
	background: var(--cor-branco);
	border-radius: var(--raio);
	overflow: hidden;
	box-shadow: var(--sombra);
	display: flex;
	flex-direction: column;
	transition: transform var(--transicao), box-shadow var(--transicao);
}

.cartao:hover {
	transform: translateY(-6px);
}

.cartao__imagem {
	margin: 0;
	display: block;
	aspect-ratio: 4 / 3;
	overflow: hidden;
}

.cartao__imagem img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.6s ease;
}

.cartao:hover .cartao__imagem img {
	transform: scale(1.05);
}

.cartao__corpo {
	padding: 1.6rem 1.7rem 1.9rem;
}

.cartao__corpo p:last-child {
	margin-bottom: 0;
	color: var(--cor-grafite-suave);
	font-size: 0.98rem;
}

.cartao__corpo h3 a {
	color: var(--cor-grafite);
}

.cartao__corpo h3 a:hover {
	color: var(--cor-terracota);
}

.cartao__data {
	font-size: 0.8rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--cor-rose);
	margin-bottom: 0.5rem;
	font-weight: 600;
}

/* ---------- Universo Lília ---------- */

.universo__grade {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: clamp(1.4rem, 3vw, 2.2rem);
}

.universo__item figure {
	margin: 0 0 1.2rem;
	border-radius: var(--raio);
	overflow: hidden;
	aspect-ratio: 1 / 1;
	box-shadow: var(--sombra);
}

.universo__item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.6s ease;
}

.universo__item:hover img {
	transform: scale(1.04);
}

.universo__item h3 a {
	color: var(--cor-grafite);
}

.universo__item h3 a:hover {
	color: var(--cor-terracota);
}

.universo__item p {
	color: var(--cor-grafite-suave);
	font-size: 0.98rem;
	margin-bottom: 0;
}

/* ---------- Equipe ---------- */

.equipe__grade {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: clamp(1.2rem, 3vw, 2rem);
}

.equipe__pessoa {
	text-align: center;
}

/* As fotos da equipe são recortes circulares — o container acompanha o formato */
.equipe__pessoa figure {
	margin: 0 auto 1rem;
	border-radius: 50%;
	overflow: hidden;
	aspect-ratio: 1 / 1;
	max-width: 240px;
	box-shadow: var(--sombra);
}

.equipe__pessoa img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.6s ease;
}

.equipe__pessoa:hover img {
	transform: scale(1.05);
}

.equipe__pessoa h3 {
	font-size: 1.15rem;
	margin-bottom: 0;
}

/* ---------- Depoimento + Experiências (blocos conectados pela flor) ---------- */

.cuidado {
	position: relative;
	overflow: hidden;
}

/* Flor suave ao fundo, atravessando os dois blocos;
   a parte direita fica atrás do cartão do depoimento */
.cuidado__flor {
	position: absolute;
	top: 5.5rem;
	left: 9vw;
	width: min(73vw, 960px);
	z-index: 0;
	pointer-events: none;
}

.cuidado .container {
	position: relative;
	z-index: 1;
}

/* Grid de 8 colunas do layout */
.grade-oito {
	display: grid;
	grid-template-columns: repeat(8, 1fr);
	gap: clamp(1rem, 2.5vw, 2rem);
}

.depoimento {
	padding-bottom: clamp(2rem, 4vw, 3.5rem);
}

.depoimento__titulo {
	text-align: center;
	font-size: clamp(1.3rem, 2.2vw, 1.65rem);
	font-weight: 500;
	margin-bottom: clamp(2.5rem, 5vw, 4rem);
}

/* Cartão do depoimento: 4 das 8 colunas, à direita */
.depoimento__cartao {
	grid-column: 5 / span 4;
	margin: 0;
	background: #f8e7da;
	border-radius: 4px;
	padding: clamp(1.8rem, 3vw, 2.8rem) clamp(1.8rem, 3vw, 3rem);
	position: relative;
}

.depoimento__estrela {
	display: block;
	margin-bottom: 1.2rem;
}

.depoimento__cartao p {
	font-style: italic;
	font-size: 0.95rem;
	line-height: 1.8;
	color: var(--cor-grafite);
	margin-bottom: 1.5rem;
}

.depoimento__cartao cite {
	display: block;
	text-align: right;
	font-style: normal;
	font-size: 0.85rem;
	color: var(--cor-grafite-suave);
}

/* Experiências que ficam */
.experiencias {
	padding-top: 0;
}

.experiencias__cabecalho {
	margin-bottom: clamp(2rem, 4vw, 3rem);
}

.experiencias__cabecalho h2 {
	font-size: clamp(1.4rem, 2.4vw, 1.8rem);
	margin-bottom: 0.2em;
}

.experiencias__cabecalho p {
	color: var(--cor-grafite-suave);
	font-size: 0.95rem;
	margin: 0;
}

.experiencias__grade {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: clamp(1.4rem, 3vw, 2.4rem);
}

.exp-cartao {
	background: var(--cor-rosada);
	border-radius: 14px;
	padding: 1.1rem 1.1rem 1.5rem;
	display: flex;
	flex-direction: column;
}

.exp-cartao__imagem {
	display: block;
	border-radius: 10px;
	overflow: hidden;
	aspect-ratio: 4 / 3.4;
	margin-bottom: 1.2rem;
}

.exp-cartao__imagem img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.6s ease;
}

.exp-cartao:hover .exp-cartao__imagem img {
	transform: scale(1.04);
}

.exp-cartao h3 {
	font-size: 1.15rem;
	font-weight: 500;
	margin-bottom: 0.5em;
}

.exp-cartao p {
	font-size: 0.85rem;
	color: var(--cor-grafite-suave);
	line-height: 1.65;
	margin-bottom: 1rem;
}

.exp-cartao__link {
	margin-top: auto;
	font-size: 0.85rem;
	font-weight: 500;
	color: var(--cor-terracota);
}

.exp-cartao__link:hover {
	color: var(--cor-terracota-escura);
}

/* Variante clara (bloco Experiências Lília): sem descrição, link à direita */
.exp-cartao--claro {
	background: #f8e7da;
	border-radius: 8px;
}

.exp-cartao--claro .exp-cartao__imagem {
	aspect-ratio: 3 / 2;
	border-radius: 12px;
}

.exp-cartao--claro h3 {
	margin-bottom: 0.8em;
}

.exp-cartao--claro .exp-cartao__link {
	align-self: flex-end;
}

@media (max-width: 900px) {
	.depoimento__cartao {
		grid-column: 2 / span 7;
	}

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

	.cuidado__flor {
		width: 75vw;
	}
}

@media (max-width: 640px) {
	/* O cartão não ocupa a largura toda: desloca à direita (sangrando até a
	   borda da tela) e deixa a flor do fundo aparecer na faixa esquerda */
	.depoimento__cartao {
		grid-column: 3 / -1;
		margin-right: calc(var(--gutter) / -2);
	}

	.cuidado__flor {
		left: -10vw;
		top: 8rem;
		width: min(85vw, 420px);
	}
}

/* ---------- Sala da Família ---------- */

.sala-familia__grade {
	align-items: center;
}

.sala-familia__botao {
	margin-top: 1.6rem;
	display: inline-block;
}

.sala-familia__texto {
	grid-column: 1 / span 3;
}

.sala-familia__texto h2 {
	font-size: clamp(1.4rem, 2.4vw, 1.8rem);
	margin-bottom: 1.2rem;
}

.sala-familia__texto p {
	font-size: 0.85rem;
	color: var(--cor-grafite-suave);
	line-height: 1.7;
}

.sala-familia__texto p:last-child {
	margin-bottom: 0;
}

.sala-familia__imagem {
	grid-column: 4 / -1;
	margin: 0;
	border-radius: 8px;
	overflow: hidden;
	aspect-ratio: 8 / 5;
}

.sala-familia__imagem img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

@media (max-width: 900px) {
	.sala-familia__texto {
		grid-column: 1 / -1;
	}

	.sala-familia__imagem {
		grid-column: 1 / -1;
	}
}

/* ---------- Sidebar de CTAs (cards empilhados) ---------- */

.especialidade__com-lateral {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 260px;
	gap: clamp(2rem, 4vw, 4rem);
	align-items: start;
}

.cta-lateral {
	position: sticky;
	top: 130px;
	display: flex;
	flex-direction: column;
	gap: 0.8rem;
}

/* Cards horizontais: foto à esquerda, texto à direita (mais compactos) */
.cta-card {
	display: grid;
	grid-template-columns: 84px 1fr;
	align-items: center;
	gap: 0.85rem;
	background: #f8e7da;
	border-radius: 10px;
	overflow: hidden;
	padding-right: 0.9rem;
	transition: transform var(--transicao), box-shadow var(--transicao);
}

.cta-card:hover {
	transform: translateY(-3px);
	box-shadow: var(--sombra);
}

.cta-card__foto {
	display: block;
	width: 84px;
	height: 84px;
	overflow: hidden;
}

.cta-card__foto img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.6s ease;
}

.cta-card:hover .cta-card__foto img {
	transform: scale(1.04);
}

.cta-card__corpo {
	display: flex;
	flex-direction: column;
	gap: 0.2rem;
	padding: 0.5rem 0;
	min-width: 0;
}

.cta-card__corpo strong {
	font-family: var(--fonte-titulo);
	font-weight: 500;
	font-size: 0.9rem;
	line-height: 1.3;
	color: var(--cor-grafite);
}

.cta-card__link {
	font-size: 0.72rem;
	font-weight: 600;
	color: var(--cor-terracota);
}

/* Card do Combo Mulher na sidebar */
.cta-combo {
	background: #f8e7da;
	border-radius: 12px;
	overflow: hidden;
}

.cta-combo__foto {
	display: block;
	aspect-ratio: 3 / 2;
	overflow: hidden;
}

.cta-combo__foto img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.6s ease;
}

.cta-combo:hover .cta-combo__foto img {
	transform: scale(1.04);
}

.cta-combo__corpo {
	padding: 1.2rem 1.3rem 1.4rem;
}

.cta-combo__corpo .rotulo {
	font-size: 0.66rem;
	margin-bottom: 0.4rem;
}

.cta-combo__titulo {
	font-size: 1.2rem;
	margin-bottom: 0.4em;
}

.cta-combo__texto {
	font-size: 0.82rem;
	color: var(--cor-grafite-suave);
	line-height: 1.6;
	margin-bottom: 1rem;
}

.cta-combo .botao {
	font-size: 0.82rem;
	padding: 0.5rem 1.3rem;
}

@media (max-width: 900px) {
	.especialidade__com-lateral {
		grid-template-columns: 1fr;
	}

	.cta-lateral {
		position: static;
		display: grid;
		grid-template-columns: repeat(2, 1fr);
	}

	/* O combo é um único card: ocupa a linha toda no mobile */
	.cta-lateral:has(.cta-combo) {
		grid-template-columns: 1fr;
		max-width: 420px;
	}
}

@media (max-width: 480px) {
	.cta-lateral {
		grid-template-columns: 1fr;
	}
}

/* ---------- Exames disponíveis ---------- */

.exames {
	position: relative;
	overflow: visible;
}

/* Flor na transição: sobe pelo bloco de exames e encosta na foto da clínica */
.clinica-destaque__flor {
	position: absolute;
	left: -4vw;
	bottom: calc(min(72vh, 720px) - 170px); /* pé visível da flor tocando o topo da foto (o PNG tem margem transparente) */
	width: min(84vw, 1120px);
	z-index: 0;
	pointer-events: none;
}

.exames__conteudo {
	position: relative;
	z-index: 1;
}

.exames h2 {
	font-size: clamp(1.4rem, 2.4vw, 1.8rem);
	margin-bottom: 0.3em;
}

.exames__sub {
	font-size: 0.82rem;
	color: var(--cor-grafite-suave);
	margin-bottom: 2.2rem;
}

.exames__sub a {
	color: var(--cor-grafite);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.exames__sub a:hover {
	color: var(--cor-terracota);
}

/* Chips de categorias */
.exames__categorias {
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 1rem;
	margin: 0 0 clamp(3rem, 5vw, 4.5rem);
	padding: 0;
}

.chip-categoria {
	display: inline-block;
	font-family: var(--fonte-titulo);
	font-size: 0.95rem;
	color: var(--cor-grafite);
	background: #f6c9be;
	padding: 0.55rem 1.9rem;
	border-radius: 6px;
	transition: background-color var(--transicao), transform var(--transicao);
}

.chip-categoria:hover {
	background: var(--cor-salmao);
	color: #fff;
	transform: translateY(-2px);
}

/* Investigações e procedimentos */
.exames__intro {
	grid-column: 1 / span 2;
}

.exames__intro h3 {
	font-size: clamp(1.2rem, 1.8vw, 1.5rem);
	line-height: 1.3;
	margin-bottom: 1rem;
}

.exames__intro p {
	font-size: 0.78rem;
	color: var(--cor-grafite-suave);
	line-height: 1.7;
	margin: 0;
}

.exames__cartoes {
	grid-column: 3 / -1;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: clamp(1rem, 2vw, 1.6rem);
}

.exame-cartao {
	background: #f8e7da;
	border-radius: 8px;
	padding: 1.4rem 1.4rem 1.2rem;
	display: flex;
	flex-direction: column;
}

.exame-cartao h4 {
	font-size: 1rem;
	font-weight: 600;
	margin-bottom: 0.7em;
}

.exame-cartao__cientifico {
	font-size: 0.62rem;
	font-style: italic;
	color: var(--cor-grafite-suave);
	margin: -0.6rem 0 0.7rem;
}

.exame-cartao p:not(.exame-cartao__cientifico) {
	font-size: 0.75rem;
	color: var(--cor-grafite-suave);
	line-height: 1.65;
	margin-bottom: 0.9rem;
}

.exame-cartao__link {
	margin-top: auto;
	align-self: flex-end;
	font-size: 0.75rem;
	font-weight: 500;
	color: var(--cor-terracota);
}

.exame-cartao__link:hover {
	color: var(--cor-terracota-escura);
}

/* Posts relacionados do produto: cards horizontais empilhados,
   logo abaixo do botão, dentro da coluna de conteúdo */
.produto__posts {
	margin-top: clamp(2rem, 4vw, 3rem);
	padding-top: clamp(1.5rem, 3vw, 2rem);
	border-top: 1px solid rgba(68, 68, 68, 0.1);
}

.produto__posts-lista {
	display: flex;
	flex-direction: column;
	gap: 0.9rem;
	margin-top: clamp(0.8rem, 2vw, 1.2rem);
}

.produto-post {
	display: grid;
	grid-template-columns: 150px 1fr;
	background: #f8e7da;
	border-radius: 10px;
	overflow: hidden;
	transition: transform var(--transicao), box-shadow var(--transicao);
}

.produto-post:hover {
	transform: translateY(-3px);
	box-shadow: var(--sombra);
}

.produto-post__thumb {
	display: block;
	overflow: hidden;
}

.produto-post__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.6s ease;
}

.produto-post:hover .produto-post__thumb img {
	transform: scale(1.05);
}

.produto-post__corpo {
	display: flex;
	flex-direction: column;
	padding: 1rem 1.2rem;
	min-width: 0;
}

.produto-post__corpo h4 {
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.35;
	margin-bottom: 0.4em;
}

.produto-post__corpo h4 a {
	color: var(--cor-grafite);
}

.produto-post__corpo h4 a:hover {
	color: var(--cor-terracota);
}

.produto-post__corpo p {
	font-size: 0.8rem;
	color: var(--cor-grafite-suave);
	line-height: 1.55;
	margin-bottom: 0.7rem;
}

.produto-post__corpo .leia-mais {
	margin-top: auto;
	align-self: flex-start;
}

@media (max-width: 720px) {
	.produto__posts-lista {
		grid-template-columns: 1fr;
	}

	.produto-post {
		grid-template-columns: 110px 1fr;
	}
}

/* ---------- A Clínica (destaque com parallax) ---------- */

.clinica-destaque {
	position: relative;
}

.clinica-destaque__texto {
	text-align: center;
	padding-block: clamp(2.5rem, 5vw, 4rem);
	position: relative;
	z-index: 1;
}

.clinica-destaque__texto h2 {
	font-size: clamp(1.4rem, 2.4vw, 1.8rem);
	margin-bottom: 0.8em;
}

.clinica-destaque__texto p {
	font-size: 0.85rem;
	color: var(--cor-grafite-suave);
	line-height: 1.8;
	margin: 0;
}

/* Parallax leve: janela com clip-path recortando um fundo fixo
   (só composição na GPU — sem os repaints do background-attachment: fixed) */
.clinica-destaque__foto {
	height: min(72vh, 720px);
	clip-path: inset(0);
	position: relative;
	z-index: 1; /* cobre o pé da flor */
}

.clinica-destaque__foto::before {
	content: "";
	position: fixed;
	inset: 0;
	background-image: url("../img/liliamd-sala.webp");
	background-size: cover;
	background-position: center;
	z-index: -1;
}

@media (max-width: 1024px), (hover: none) {
	.clinica-destaque__foto {
		height: min(48vh, 420px);
	}

	/* Parallax desativado em telas de toque: foto estática comum */
	.clinica-destaque__foto::before {
		position: absolute;
	}

	.clinica-destaque__flor {
		bottom: calc(min(48vh, 420px) - 120px);
	}
}

@media (max-width: 900px) {
	.exames__intro {
		grid-column: 1 / -1;
	}

	.exames__cartoes {
		grid-column: 1 / -1;
		grid-template-columns: repeat(2, 1fr);
	}

	.exames__categorias {
		justify-content: flex-start;
	}
}

@media (max-width: 640px) {
	.exames__cartoes {
		grid-template-columns: 1fr;
	}
}

/* ---------- Atendimento (diretório editorial) ---------- */

.atendimento-hub {
	background-image: url("../img/florbg-03.jpg");
	background-size: cover;
	background-position: right center;
	padding-block: clamp(2.5rem, 5vw, 4.5rem) clamp(2rem, 4vw, 3rem);
}

.hub-tagline p {
	font-family: var(--fonte-titulo);
	font-style: italic;
	font-size: clamp(1.3rem, 2.4vw, 1.8rem);
	line-height: 1.45;
	color: var(--cor-grafite-suave);
	margin: 0 0 clamp(2.5rem, 5vw, 4rem);
}

.hub-colunas {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: clamp(1.8rem, 3.5vw, 3rem);
	align-items: start;
}

.hub-grupo {
	margin-bottom: clamp(1.8rem, 3vw, 2.6rem);
}

.hub-grupo__titulo {
	font-size: 1rem;
	font-weight: 600;
	margin-bottom: 0.9rem;
}

.hub-grupo__titulo a {
	color: var(--cor-terracota);
}

.hub-grupo__titulo a:hover {
	color: var(--cor-terracota-escura);
}

.hub-grupo__lista {
	list-style: none;
	margin: 0;
	padding: 0;
}

.hub-grupo__lista li {
	margin-bottom: 0.55rem;
}

.hub-grupo__lista a {
	font-size: 0.85rem;
	color: var(--cor-grafite);
	line-height: 1.45;
}

.hub-grupo__lista a:hover {
	color: var(--cor-terracota);
}

/* Versão de lançamento: lista de áreas em destaque */
.hub-lancamento {
	display: grid;
	grid-template-columns: 1.4fr 1fr;
	gap: clamp(2rem, 5vw, 5rem);
	align-items: start;
}

.hub-areas__lista {
	list-style: none;
	margin: 0;
	padding: 0;
}

.hub-areas__lista li {
	border-bottom: 1px solid rgba(68, 68, 68, 0.1);
}

.hub-areas__lista a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	font-family: var(--fonte-titulo);
	font-size: clamp(1.1rem, 1.8vw, 1.4rem);
	color: var(--cor-grafite);
	padding: 0.9rem 0.2rem;
	transition: color var(--transicao), padding-left var(--transicao);
}

.hub-areas__lista a span {
	color: var(--cor-salmao);
	transition: transform var(--transicao);
}

.hub-areas__lista a:hover {
	color: var(--cor-terracota);
	padding-left: 0.6rem;
}

.hub-areas__lista a:hover span {
	transform: translateX(4px);
}

@media (max-width: 800px) {
	.hub-lancamento {
		grid-template-columns: 1fr;
	}
}

/* Experiências no hub: cards compactos (miniatura + título) */
.hub-exp {
	display: flex;
	align-items: center;
	gap: 0.8rem;
	margin-bottom: 0.7rem;
}

.hub-exp:last-child {
	margin-bottom: 0;
}

.hub-exp__foto {
	flex-shrink: 0;
	width: 64px;
	height: 64px;
	border-radius: 8px;
	overflow: hidden;
	box-shadow: var(--sombra);
}

.hub-exp__foto img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform var(--transicao);
}

.hub-exp:hover .hub-exp__foto img {
	transform: scale(1.06);
}

.hub-exp__titulo {
	font-family: var(--fonte-titulo);
	font-weight: 500;
	font-size: 0.9rem;
	line-height: 1.3;
	color: var(--cor-grafite);
}

.hub-exp:hover .hub-exp__titulo {
	color: var(--cor-terracota);
}

/* Fecho */
.hub-rodape {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 1.4rem;
	margin-top: clamp(1.5rem, 3vw, 2.5rem);
}

.hub-rodape p {
	font-family: var(--fonte-titulo);
	font-style: italic;
	font-size: 0.98rem;
	color: var(--cor-grafite);
	margin: 0;
}

@media (max-width: 1024px) {
	.hub-colunas {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 560px) {
	.hub-colunas {
		grid-template-columns: 1fr;
	}

	.atendimento-hub {
		background-position: 80% top;
	}
}

/* ---------- Páginas de especialidade (template padrão) ---------- */

.especialidade {
	padding-top: clamp(2.5rem, 5vw, 4rem);
}

/* No desktop, o miolo das páginas internas ocupa 75% da tela, centralizado
   com margens iguais — conteúdo e sidebars nunca ficam sob o atalho
   flutuante. A HOME fica de fora (mantém o container padrão), assim como
   header, footer e faixas full-bleed (hero, fundos de seção). */
@media (min-width: 901px) {
	body:not(.home) main .container {
		width: 75vw;
	}

	/* Páginas comuns preenchem a área sem trava de largura de leitura */
	.pagina-comum .artigo__conteudo {
		max-width: none;
	}
}

.especialidade__com-lateral,
.especialidade .especialidade__conteudo {
	padding-bottom: clamp(1rem, 2.5vw, 2rem);
}

.especialidade__titulo {
	font-size: clamp(1.5rem, 2.6vw, 2rem);
	margin-bottom: clamp(1.4rem, 2.5vw, 2rem);
}

.especialidade__conteudo {
	max-width: 46rem;
	font-size: 0.92rem;
	line-height: 1.8;
	color: var(--cor-grafite);
}

.especialidade__conteudo p {
	margin-bottom: 1.2em;
}

.especialidade__conteudo h2 {
	font-size: 1.35rem;
	margin: 1.5em 0 0.6em;
}

.especialidade__conteudo h3 {
	font-size: 1.1rem;
	margin: 1.3em 0 0.5em;
}

.especialidade__conteudo img {
	border-radius: 10px;
	height: auto;
}

.especialidade__posts {
	padding-top: clamp(3rem, 5vw, 4.5rem);
	padding-bottom: clamp(3rem, 5vw, 4.5rem);
}

.especialidade__grade {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: clamp(1.2rem, 2.5vw, 2rem);
}

/* Card de post no padrão pêssego do layout */
.post-cartao {
	background: #f8e7da;
	border-radius: 10px;
	padding: 1.1rem 1.1rem 1.3rem;
	display: flex;
	flex-direction: column;
	transition: transform var(--transicao), box-shadow var(--transicao);
}

.post-cartao:hover {
	transform: translateY(-4px);
	box-shadow: var(--sombra);
}

.post-cartao__imagem {
	display: block;
	border-radius: 8px;
	overflow: hidden;
	aspect-ratio: 16 / 10;
	margin-bottom: 1rem;
}

.post-cartao__imagem img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.6s ease;
}

.post-cartao:hover .post-cartao__imagem img {
	transform: scale(1.04);
}

.post-cartao h3 {
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.4;
	margin-bottom: 0.6em;
}

.post-cartao h3 a {
	color: var(--cor-grafite);
}

.post-cartao h3 a:hover {
	color: var(--cor-terracota);
}

.post-cartao .chips-mini {
	margin-bottom: 0.8rem;
}

.post-cartao .chip-mini {
	background: var(--cor-branco);
	border-color: rgba(68, 68, 68, 0.2);
}

.post-cartao .leia-mais {
	margin-top: auto;
	align-self: flex-start;
}

@media (max-width: 900px) {
	.especialidade__grade {
		grid-template-columns: 1fr;
	}
}

/* ---------- Posts por categoria (páginas de especialidade) ---------- */

.posts-categoria__topo {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 1rem;
	margin-bottom: clamp(2rem, 4vw, 3rem);
}

.posts-categoria__topo h2,
.posts-categoria__titulo {
	margin: 0;
}

.posts-categoria__titulo {
	font-size: clamp(1.05rem, 1.6vw, 1.3rem);
	font-weight: 500;
}

.posts-categoria {
	margin-top: clamp(2.5rem, 5vw, 4rem);
}

/* ---------- Chips de categorias ---------- */

.chips {
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	gap: 0.6rem;
	margin: 1.5rem 0 0;
	padding: 0;
}

.chip {
	display: inline-block;
	padding: 0.4rem 1.1rem;
	border-radius: 999px;
	border: 1.5px solid var(--cor-rose);
	color: var(--cor-grafite);
	font-size: 0.88rem;
	font-weight: 500;
	transition: background-color var(--transicao), color var(--transicao);
}

.chip:hover,
.chip.ativo {
	background: var(--cor-rose);
	color: #fff;
}

/* ---------- Página de produto/experiência ---------- */

.produto {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: clamp(2rem, 5vw, 4rem);
	align-items: stretch;
}

/* A imagem preenche toda a altura da coluna de conteúdo (com até 2 posts) */
.produto__imagem {
	margin: 0;
	border-radius: var(--raio);
	overflow: hidden;
	box-shadow: var(--sombra);
}

.produto__imagem img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

@media (max-width: 720px) {
	.produto {
		grid-template-columns: 1fr;
		align-items: start;
	}

	.produto__imagem {
		aspect-ratio: 3 / 4;
		width: 100%;
		max-width: 340px;
	}
}

.produto__conteudo .botao {
	margin-top: 1rem;
}

.pagina-interna__descricao {
	color: var(--cor-grafite-suave);
	max-width: 40rem;
}

@media (max-width: 720px) {
	.produto {
		grid-template-columns: 1fr;
	}
}

/* ---------- CTA Ursinho ---------- */

.cta-ursinho {
	padding-block: clamp(1.5rem, 3vw, 2.5rem);
}

.cta-ursinho__caixa {
	display: grid;
	grid-template-columns: 150px 1fr;
	gap: clamp(1.2rem, 2.5vw, 2rem);
	align-items: center;
	background: var(--cor-rosada);
	border-radius: 12px;
	padding: clamp(1.1rem, 2vw, 1.6rem);
}

.cta-ursinho__foto {
	margin: 0;
	border-radius: 10px;
	overflow: hidden;
	box-shadow: var(--sombra);
}

.cta-ursinho__texto .rotulo {
	font-size: 0.66rem;
	margin-bottom: 0.4rem;
}

.cta-ursinho__texto h2 {
	font-size: 1.2rem;
	margin-bottom: 0.3em;
}

.cta-ursinho__texto p:not(.rotulo) {
	color: var(--cor-grafite-suave);
	font-size: 0.85rem;
	line-height: 1.6;
	max-width: 34rem;
	margin-bottom: 0.9rem;
}

.cta-ursinho__texto .botao {
	font-size: 0.82rem;
	padding: 0.5rem 1.3rem;
}

@media (max-width: 720px) {
	.cta-ursinho__caixa {
		grid-template-columns: 1fr;
	}

	.cta-ursinho__foto {
		max-width: 180px;
	}
}

/* ---------- Blog em destaque ---------- */

.blog-destaque__vazio {
	color: var(--cor-grafite-suave);
	font-size: 1.1rem;
}

/* ---------- Equipe na home (Quem faz a Lília) ---------- */

.equipe-home {
	position: relative;
	overflow: hidden;
	padding-block: clamp(3rem, 6vw, 5rem);
}

.equipe-home__flor {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	width: min(72vw, 1120px);
	height: 100%;
	object-fit: cover;
	object-position: right bottom;
	z-index: 0;
	pointer-events: none;
	mix-blend-mode: multiply;
}

.equipe-home__conteudo {
	position: relative;
	z-index: 1;
}

.equipe-home__titulo {
	font-size: clamp(1.4rem, 2.4vw, 1.9rem);
	margin-bottom: clamp(2rem, 4vw, 3rem);
}

.equipe-home__avatares {
	display: flex;
	flex-wrap: wrap;
	gap: clamp(1.5rem, 4vw, 3.5rem);
	margin-bottom: clamp(2.5rem, 5vw, 3.5rem);
}

.equipe-avatar {
	background: none;
	border: none;
	padding: 0;
	cursor: pointer;
	text-align: center;
	width: clamp(140px, 15vw, 180px);
	transition: transform var(--transicao);
}

.equipe-avatar:hover {
	transform: translateY(-3px);
}

.equipe-avatar__foto {
	display: block;
	width: clamp(120px, 12vw, 150px);
	aspect-ratio: 1 / 1;
	margin: 0 auto 1rem;
	border-radius: 50%;
	overflow: hidden;
	box-shadow: var(--sombra);
	position: relative;
	outline: 3px solid transparent;
	outline-offset: 4px;
	transition: outline-color var(--transicao), opacity var(--transicao);
}

.equipe-avatar__foto img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.equipe-avatar:not(.ativo) .equipe-avatar__foto {
	opacity: 0.72;
}

.equipe-avatar.ativo .equipe-avatar__foto {
	outline-color: var(--cor-salmao);
}

.equipe-avatar__nome {
	display: block;
	font-family: var(--fonte-titulo);
	font-size: 1.02rem;
	color: var(--cor-grafite);
	line-height: 1.3;
}

.equipe-avatar__crm {
	display: block;
	font-size: 0.72rem;
	color: var(--cor-grafite-suave);
	margin-top: 0.3rem;
}

/* Bio do profissional selecionado, alinhada à esquerda */
.equipe-home__bios {
	max-width: 46rem;
}

.equipe-bio {
	animation: lilia-fade 0.4s ease;
}

.equipe-bio[hidden] {
	display: none;
}

.equipe-bio p {
	font-size: 0.82rem;
	color: var(--cor-grafite-suave);
	line-height: 1.75;
	margin-bottom: 1rem;
}

.equipe-bio p:last-child {
	margin-bottom: 0;
}

@keyframes lilia-fade {
	from { opacity: 0; transform: translateY(6px); }
	to   { opacity: 1; transform: none; }
}

@media (max-width: 560px) {
	.equipe-home__avatares {
		justify-content: space-between;
		gap: 1rem;
	}

	.equipe-avatar {
		width: 44%;
	}
}

/* ---------- Depoimentos (carrossel horizontal) ---------- */

.depoimentos {
	overflow: hidden;
}

.depoimentos__topo {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	margin-bottom: clamp(1.5rem, 3vw, 2.5rem);
}

.depoimentos__topo h2 {
	font-size: clamp(1.4rem, 2.4vw, 1.8rem);
	margin: 0;
}

.depoimentos__link-google {
	font-size: 0.85rem;
	font-weight: 600;
	color: var(--cor-salmao-escuro);
	white-space: nowrap;
}

.depoimentos__link-google:hover {
	color: var(--cor-terracota-escura);
}

/* Trilho: 5 cards preenchem a largura do container; rola se houver mais */
.depoimentos__trilho {
	--gap-dep: clamp(0.8rem, 1.4vw, 1.2rem);
	display: flex;
	justify-content: safe center;
	gap: var(--gap-dep);
	width: min(var(--largura-max), calc(100vw - var(--gutter)));
	margin-inline: auto;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	padding-block: 0.5rem 1.5rem;
	scrollbar-width: none;
}

.depoimentos__trilho::-webkit-scrollbar {
	display: none;
}

.depoimento-cartao {
	flex: 0 0 calc((100% - 4 * var(--gap-dep)) / 5);
	min-width: 200px;
	scroll-snap-align: start;
	background: #f8e7da;
	border-radius: 6px;
	padding: 1.6rem 1.5rem 1.4rem;
	margin: 0;
	display: flex;
	flex-direction: column;
	align-self: start;
}

.depoimento-cartao__aspas {
	font-family: var(--fonte-titulo);
	font-size: 2.6rem;
	line-height: 0.6;
	color: var(--cor-grafite);
	margin-bottom: 0.6rem;
}

.depoimento-cartao p {
	font-size: 0.78rem;
	color: var(--cor-grafite-suave);
	line-height: 1.7;
	margin-bottom: 1.2rem;
}

.depoimento-cartao cite {
	margin-top: auto;
	align-self: flex-end;
	font-style: normal;
	font-weight: 600;
	font-size: 0.82rem;
	color: var(--cor-grafite);
}

@media (max-width: 640px) {
	.depoimento-cartao {
		flex-basis: 78vw;
	}
}

/* ---------- Conteúdos (home) ---------- */

.conteudos-home {
	position: relative;
	overflow: hidden;
}

.conteudos-home__flor {
	position: absolute;
	right: -14vw;
	bottom: -8rem;
	width: min(44vw, 580px);
	opacity: 0.5;
	z-index: 0;
	pointer-events: none;
}

.conteudos-home__conteudo {
	position: relative;
	z-index: 1;
}

.conteudos-home__titulo {
	font-size: clamp(1.4rem, 2.4vw, 1.8rem);
	margin-bottom: clamp(2rem, 4vw, 3rem);
}

/* Coluna 1-3: post em destaque + banner */
.conteudos-home__destaque {
	grid-column: 1 / span 3;
	grid-row: 1;
	display: flex;
	flex-direction: column;
}

.conteudos-home__imagem {
	display: block;
	border-radius: 8px;
	overflow: hidden;
	aspect-ratio: 16 / 10;
	margin-bottom: 1.1rem;
}

.conteudos-home__imagem img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.conteudos-home__destaque h3 {
	font-size: 1.25rem;
	line-height: 1.35;
	margin-bottom: 0.5em;
}

.conteudos-home__destaque h3 a {
	color: var(--cor-grafite);
}

.conteudos-home__destaque h3 a:hover {
	color: var(--cor-terracota);
}

.conteudos-home__destaque > p {
	font-size: 0.82rem;
	color: var(--cor-grafite-suave);
	line-height: 1.65;
	margin-bottom: 0.9rem;
}

.conteudos-home__meta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	flex-wrap: wrap;
}

.chips-mini {
	display: inline-flex;
	flex-wrap: wrap;
	gap: 0.4rem;
}

.chip-mini {
	font-size: 0.62rem;
	font-weight: 500;
	color: var(--cor-grafite);
	border: 1px solid rgba(68, 68, 68, 0.35);
	border-radius: 999px;
	padding: 0.12rem 0.55rem;
	white-space: nowrap;
}

.chip-mini:hover {
	border-color: var(--cor-terracota);
	color: var(--cor-terracota);
}

.leia-mais {
	font-size: 0.75rem;
	font-weight: 500;
	color: var(--cor-salmao-escuro);
	white-space: nowrap;
}

.leia-mais:hover {
	color: var(--cor-terracota-escura);
}

/* ---------- Slider de banners (CPT Banners) ---------- */

.banner-slider {
	position: relative;
	aspect-ratio: 700 / 125;
	border-radius: 8px;
	overflow: hidden;
}

.banner-slider--43 {
	aspect-ratio: 4 / 3;
	border-radius: 12px;
}

.banner-slider__slide {
	position: absolute;
	inset: 0;
	opacity: 0;
	transition: opacity 0.8s ease;
	pointer-events: none;
}

.banner-slider__slide.ativo {
	opacity: 1;
	pointer-events: auto;
}

.banner-slider__slide a {
	display: block;
	width: 100%;
	height: 100%;
}

.banner-slider__slide img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.banner-slider__pontos {
	position: absolute;
	bottom: 8px;
	left: 50%;
	transform: translateX(-50%);
	display: flex;
	gap: 6px;
	z-index: 2;
}

.banner-slider__ponto {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	border: none;
	background: rgba(255, 253, 251, 0.55);
	cursor: pointer;
	padding: 0;
	transition: background-color var(--transicao);
}

.banner-slider__ponto.ativo,
.banner-slider__ponto:hover {
	background: #fff;
}

.widget-banner--vazio p {
	font-size: 0.78rem;
	color: var(--cor-grafite-suave);
	margin: 0;
}

/* Colunas 4-5: lista de posts menores */
.conteudos-home__lista {
	grid-column: 4 / span 2;
	grid-row: 1;
	display: flex;
	flex-direction: column;
	gap: 1.6rem;
}

.conteudos-home__item {
	display: grid;
	grid-template-columns: 96px 1fr;
	gap: 0.9rem;
	align-items: start;
}

.conteudos-home__thumb {
	display: block;
	border-radius: 6px;
	overflow: hidden;
	aspect-ratio: 1 / 1;
}

.conteudos-home__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.conteudos-home__item h4 {
	font-size: 0.95rem;
	font-weight: 500;
	line-height: 1.35;
	margin-bottom: 0.4em;
}

.conteudos-home__item h4 a {
	color: var(--cor-grafite);
}

.conteudos-home__item h4 a:hover {
	color: var(--cor-terracota);
}

.conteudos-home__item .chips-mini {
	margin-bottom: 0.4rem;
}

.conteudos-home__item .leia-mais {
	display: inline-block;
}

/* Colunas 6-8: card Café com a Lília (ao lado dos posts) */
.conteudos-home__cafe {
	grid-column: 6 / -1;
	grid-row: 1;
	background: linear-gradient(160deg, #fbe3d0 0%, #f8d8c4 100%);
	border-radius: 12px;
	padding: 1.6rem 1.7rem 1.4rem;
	display: flex;
	flex-direction: column;
	align-self: start;
}

.conteudos-home__cafe-imagem {
	display: block;
	border-radius: 10px;
	overflow: hidden;
	aspect-ratio: 1 / 1;
	margin-bottom: 1.2rem;
}

.conteudos-home__cafe-imagem img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.conteudos-home__cafe h3 {
	font-size: 1.2rem;
	margin-bottom: 0.4em;
}

.conteudos-home__cafe h3 a {
	color: var(--cor-grafite);
}

.conteudos-home__cafe p {
	font-size: 0.8rem;
	color: var(--cor-grafite-suave);
	line-height: 1.6;
	margin-bottom: 0.9rem;
}

.conteudos-home__cafe .leia-mais {
	align-self: flex-end;
}

@media (max-width: 900px) {
	.conteudos-home__destaque,
	.conteudos-home__lista,
	.conteudos-home__cafe {
		grid-column: 1 / -1;
		grid-row: auto;
	}
}

/* ---------- Chamada final ---------- */

.chamada-final {
	background: #b96b5d;
	padding-block: clamp(4rem, 8vw, 6rem);
	text-align: center;
}

.chamada-final h2 {
	color: var(--cor-creme);
}

.chamada-final p {
	color: rgba(247, 239, 231, 0.75);
	max-width: 32rem;
	margin-inline: auto;
}

.chamada-final .botao {
	margin-top: 1.2rem;
	background: var(--cor-creme);
	color: var(--cor-terracota);
}

.chamada-final .botao:hover {
	background: #fff;
	color: var(--cor-terracota-escura);
}

/* ---------- Páginas internas ---------- */

.pagina-interna__cabecalho {
	background: var(--cor-creme);
	padding-block: clamp(1rem, 2vw, 1.5rem);
	margin-bottom: clamp(1.5rem, 3vw, 2.5rem);
}

/* O h1 global tem margem inferior; sem ela o título centraliza na faixa */
.pagina-interna__cabecalho h1 {
	margin-bottom: 0;
}

.pagina-interna {
	padding-bottom: clamp(3rem, 7vw, 5rem);
}

.artigo__capa {
	margin: 0 auto clamp(2rem, 4vw, 3rem);
}

.artigo__capa img {
	border-radius: var(--raio);
	box-shadow: var(--sombra);
}

.artigo__conteudo {
	font-size: 1.08rem;
}

.artigo__conteudo img {
	border-radius: var(--raio);
}

.artigo__rodape {
	margin-top: 3rem;
}

.pagina-404 {
	text-align: center;
	padding-block: clamp(4rem, 10vw, 7rem);
}

.paginacao {
	margin-top: 3rem;
	text-align: center;
}

.paginacao .nav-links {
	display: inline-flex;
	gap: 0.8rem;
	align-items: center;
}

.paginacao .page-numbers {
	padding: 0.4rem 0.9rem;
	border-radius: 999px;
	color: var(--cor-grafite);
}

.paginacao .page-numbers.current {
	background: var(--cor-terracota);
	color: #fff;
}

/* ---------- Página Roda de Conversa (posts + sidebar) ---------- */

.roda__layout {
	display: grid;
	grid-template-columns: repeat(8, 1fr);
	gap: clamp(1.5rem, 3vw, 2.5rem);
	margin-top: clamp(2rem, 4vw, 3rem);
}

.roda__principal {
	grid-column: 1 / span 5;
}

.roda__grade {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: clamp(1.2rem, 2.5vw, 2rem);
}

.roda__lateral {
	grid-column: 6 / -1;
	display: flex;
	flex-direction: column;
	gap: 1.4rem;
	align-self: start;
	position: sticky;
	top: 140px;
}

.widget-lateral {
	background: var(--cor-rosada);
	border-radius: 12px;
	padding: 1.5rem 1.6rem;
}

.widget-lateral__titulo {
	font-size: 1.05rem;
	margin-bottom: 0.8rem;
}

.widget-lateral p {
	font-size: 0.85rem;
	color: var(--cor-grafite-suave);
	line-height: 1.65;
}

.widget-lateral p:last-child {
	margin-bottom: 0;
}

.widget-lateral img {
	border-radius: 8px;
}

.widget-lateral ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.widget-lateral li {
	padding: 0.5rem 0;
	border-bottom: 1px solid rgba(68, 68, 68, 0.08);
	font-size: 0.88rem;
}

.widget-lateral li:last-child {
	border-bottom: none;
}

.widget-lateral--vazio {
	border: 1.5px dashed var(--cor-rose);
	background: transparent;
}

/* Widgets de imagem viram banners 4:3 responsivos, sem a caixa rosada */
.widget-lateral.widget_media_image,
.widget-lateral.widget_block:has(.wp-block-image) {
	background: transparent;
	padding: 0;
	border-radius: 12px;
	overflow: hidden;
}

.widget-lateral .wp-block-image,
.widget-lateral .widget_media_image figure {
	margin: 0;
}

/* Banner com link: a área clicável é a imagem inteira */
.widget-lateral .wp-block-image a,
.widget-lateral.widget_media_image a {
	display: block;
	border-radius: 12px;
	overflow: hidden;
	transition: transform var(--transicao), box-shadow var(--transicao);
}

.widget-lateral .wp-block-image a:hover,
.widget-lateral.widget_media_image a:hover {
	transform: translateY(-3px);
	box-shadow: var(--sombra);
}

.widget-lateral .wp-block-image img,
.widget-lateral.widget_media_image img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	border-radius: 12px;
	display: block;
}

@media (max-width: 900px) {
	.roda__principal,
	.roda__lateral {
		grid-column: 1 / -1;
	}

	.roda__lateral {
		position: static;
	}

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

/* ---------- Café com a Lília (grade de destaques + sidebar com todos) ---------- */

.cafe-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 300px;
	gap: clamp(2rem, 4vw, 3.5rem);
	align-items: start;
	margin-top: clamp(1rem, 2vw, 1.5rem);
}

/* Grade principal: 3 colunas (2 linhas = 6 cards em destaque) */
.cafe-grade {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: clamp(1rem, 2vw, 1.6rem);
}

@media (max-width: 1100px) {
	.cafe-grade {
		grid-template-columns: repeat(2, 1fr);
	}
}

/* Sidebar: lista de todos os episódios (rolável quando crescer) */
.cafe-lateral {
	position: sticky;
	top: 130px;
}

.cafe-lista {
	list-style: none;
	margin: 0;
	padding: 0;
	max-height: 30rem;
	overflow-y: auto;
}

.cafe-lista li {
	border-bottom: 1px solid rgba(68, 68, 68, 0.08);
}

.cafe-lista li:last-child {
	border-bottom: none;
}

.cafe-lista a {
	display: block;
	padding: 0.7rem 0;
}

.cafe-lista__titulo {
	font-size: 0.88rem;
	line-height: 1.4;
	color: var(--cor-grafite);
}

.cafe-lista a:hover .cafe-lista__titulo {
	color: var(--cor-terracota);
}

@media (max-width: 900px) {
	.cafe-layout {
		grid-template-columns: 1fr;
	}

	.cafe-lateral {
		position: static;
	}
}

@media (max-width: 540px) {
	.cafe-grade {
		grid-template-columns: 1fr;
	}
}

/* ---------- Índice do blog (magazine + sidebar) ---------- */

.pagina-interna__cabecalho--compacto {
	padding-block: clamp(1rem, 2vw, 1.5rem);
	margin-bottom: 0;
}

.blog-layout {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 2.6fr);
	gap: clamp(3rem, 6vw, 6rem);
	align-items: start;
	padding-block: clamp(2rem, 4vw, 3.5rem);
}

/* Cards grandes 2x2 */
.blog-cards {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: clamp(1.4rem, 2.5vw, 2.2rem);
}

.blog-card {
	display: flex;
	flex-direction: column;
}

.blog-card__imagem {
	display: block;
	border-radius: 8px;
	overflow: hidden;
	aspect-ratio: 16 / 11;
	margin-bottom: 1.1rem;
}

.blog-card__imagem img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.6s ease;
}

.blog-card:hover .blog-card__imagem img {
	transform: scale(1.04);
}

.blog-card h3 {
	font-size: 1.2rem;
	line-height: 1.35;
	margin-bottom: 0.5em;
}

.blog-card h3 a {
	color: var(--cor-grafite);
}

.blog-card h3 a:hover {
	color: var(--cor-terracota);
}

.blog-card__resumo {
	font-size: 0.82rem;
	color: var(--cor-grafite-suave);
	line-height: 1.65;
	margin-bottom: 1rem;
}

.blog-card__rodape {
	margin-top: auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	flex-wrap: wrap;
}

/* Lista de posts menores */
.blog-lista {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: clamp(1.2rem, 2.5vw, 2rem);
	margin-top: clamp(2rem, 4vw, 3rem);
}

.blog-item {
	display: grid;
	grid-template-columns: 92px 1fr;
	gap: 0.9rem;
	align-items: start;
}

.blog-item__thumb {
	display: block;
	border-radius: 6px;
	overflow: hidden;
	aspect-ratio: 1 / 1;
}

.blog-item__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.blog-item h4 {
	font-size: 0.95rem;
	font-weight: 500;
	line-height: 1.35;
	margin-bottom: 0.4em;
}

.blog-item h4 a {
	color: var(--cor-grafite);
}

.blog-item h4 a:hover {
	color: var(--cor-terracota);
}

.blog-item .chips-mini {
	margin-bottom: 0.4rem;
}

/* Resumo do post: visível nos arquivos/busca; oculto na lista compacta do índice */
.blog-item__resumo {
	font-size: 0.85rem;
	color: var(--cor-grafite-suave);
	line-height: 1.6;
	margin: 0 0 0.6rem;
}

.blog-lista .blog-item__resumo {
	display: none;
}

.blog-vazio {
	color: var(--cor-grafite-suave);
}

/* Arquivos e busca: lista vertical de resultados */
.arquivo-rotulo {
	font-size: 0.8rem;
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--cor-rose);
	margin-bottom: 1.5rem;
}

.arquivo-lista {
	display: flex;
	flex-direction: column;
	gap: clamp(1.2rem, 2.5vw, 1.8rem);
}

.arquivo-lista .blog-item {
	grid-template-columns: 150px 1fr;
	gap: 1.3rem;
	padding-bottom: clamp(1.2rem, 2.5vw, 1.8rem);
	border-bottom: 1px solid rgba(68, 68, 68, 0.1);
}

.arquivo-lista .blog-item:last-child {
	border-bottom: none;
}

.arquivo-lista .blog-item__thumb {
	aspect-ratio: 4 / 3;
}

.arquivo-lista .blog-item h4 {
	font-size: 1.1rem;
}

@media (max-width: 480px) {
	.arquivo-lista .blog-item {
		grid-template-columns: 110px 1fr;
		gap: 1rem;
	}
}

/* Paginação numérica */
.blog-principal .paginacao {
	margin-top: clamp(2.5rem, 5vw, 4rem);
	text-align: center;
}

/* ---------- Post de experiência (Café com a Lília) ---------- */

.experiencia-post {
	padding-bottom: clamp(2.5rem, 5vw, 4rem);
}

.experiencia-post__capa {
	margin: 0 auto clamp(1.8rem, 3vw, 2.6rem);
	max-width: 460px;
	border-radius: 14px;
	overflow: hidden;
	box-shadow: var(--sombra);
}

.experiencia-post__capa img {
	width: 100%;
	height: auto;
	display: block;
}

.experiencia-post__cta {
	margin-top: 2rem;
	text-align: center;
}

/* ---------- Artigo individual ---------- */

.pagina-interna--sem-topo {
	padding-top: clamp(2rem, 4vw, 3.5rem);
}

.artigo__titulo {
	font-size: clamp(1.8rem, 3.2vw, 2.5rem);
	line-height: 1.2;
	margin-bottom: 1rem;
}

.artigo__meta {
	display: flex;
	align-items: center;
	gap: 1rem;
	flex-wrap: wrap;
	margin-bottom: 1.8rem;
}

.artigo__meta time {
	font-size: 0.8rem;
	color: var(--cor-grafite-suave);
}

.artigo__capa {
	margin: 0 0 clamp(1.8rem, 3vw, 2.6rem);
	border-radius: 12px;
	overflow: hidden;
	aspect-ratio: 16 / 10;
}

.artigo__capa img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.artigo__conteudo {
	font-size: 1rem;
	line-height: 1.85;
	color: var(--cor-grafite);
	max-width: 46rem; /* largura de leitura, alinhada à esquerda no gutter */
}

.experiencia-post {
	max-width: 46rem;
}

.artigo__conteudo p {
	margin-bottom: 1.4em;
}

.artigo__conteudo h2 {
	font-size: 1.5rem;
	margin: 1.6em 0 0.6em;
}

.artigo__conteudo h3 {
	font-size: 1.2rem;
	margin: 1.4em 0 0.5em;
}

.artigo__conteudo img {
	border-radius: 10px;
	height: auto;
}

.artigo__conteudo a {
	text-decoration: underline;
	text-underline-offset: 3px;
}

.artigo__tags {
	margin-top: 2rem;
	padding-top: 1.5rem;
	border-top: 1px solid rgba(68, 68, 68, 0.1);
}

/* Você também pode gostar */
.relacionados {
	margin-top: clamp(3rem, 6vw, 4.5rem);
	padding-top: clamp(2rem, 4vw, 3rem);
	border-top: 1px solid rgba(68, 68, 68, 0.1);
}

.relacionados h2 {
	font-size: 1.3rem;
	margin-bottom: 1.8rem;
}

.relacionados__grade {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: clamp(1rem, 2vw, 1.5rem);
}

.relacionado__imagem {
	display: block;
	border-radius: 8px;
	overflow: hidden;
	aspect-ratio: 1 / 1;
	margin-bottom: 0.8rem;
}

.relacionado__imagem img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.6s ease;
}

.relacionado:hover .relacionado__imagem img {
	transform: scale(1.05);
}

.relacionado h3 {
	font-size: 0.9rem;
	font-weight: 500;
	line-height: 1.4;
	margin: 0;
}

.relacionado h3 a {
	color: var(--cor-grafite);
}

.relacionado h3 a:hover {
	color: var(--cor-terracota);
}

/* Navegação prev/next */
.post-nav {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	margin-top: clamp(2.5rem, 5vw, 4rem);
	padding-top: clamp(1.5rem, 3vw, 2rem);
	border-top: 1px solid rgba(68, 68, 68, 0.12);
	font-family: var(--fonte-titulo);
	font-size: 0.95rem;
	font-weight: 500;
}

.post-nav__lado--prev {
	margin-right: auto;
}

.post-nav__lado--next {
	margin-left: auto;
	text-align: right;
}

.post-nav__lado a {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	color: var(--cor-grafite);
}

.post-nav__lado a:hover {
	color: var(--cor-terracota);
}

.post-nav__seta {
	color: var(--cor-salmao);
	transition: transform var(--transicao);
}

.post-nav__lado--prev a:hover .post-nav__seta {
	transform: translateX(-4px);
}

.post-nav__lado--next a:hover .post-nav__seta {
	transform: translateX(4px);
}

@media (max-width: 640px) {
	.relacionados__grade {
		grid-template-columns: repeat(2, 1fr);
	}
}

/* Sidebar */
.blog-lateral {
	position: sticky;
	top: 130px;
	display: flex;
	flex-direction: column;
	gap: clamp(1.8rem, 3vw, 2.6rem);
}

.blog-widget__titulo {
	font-size: 1.25rem;
	margin-bottom: 1rem;
	padding-bottom: 0.6rem;
	border-bottom: 1px solid rgba(68, 68, 68, 0.12);
}

.blog-busca {
	display: flex;
	align-items: center;
	border: 1.5px solid var(--cor-rose);
	border-radius: 999px;
	padding: 0.2rem 0.3rem 0.2rem 1.1rem;
}

.blog-busca input {
	flex: 1;
	border: none;
	background: transparent;
	font-family: inherit;
	font-size: 0.9rem;
	color: var(--cor-grafite);
	padding: 0.5rem 0;
}

.blog-busca input:focus {
	outline: none;
}

.blog-busca button {
	flex-shrink: 0;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	border: none;
	background: var(--cor-salmao);
	color: #fff;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background-color var(--transicao);
}

.blog-busca button:hover {
	background: var(--cor-salmao-escuro);
}

.blog-busca button svg {
	width: 17px;
	height: 17px;
}

.blog-widget__lista {
	list-style: none;
	margin: 0;
	padding: 0;
}

.blog-widget__lista li {
	padding: 0.5rem 0;
	border-bottom: 1px solid rgba(68, 68, 68, 0.08);
}

.blog-widget__lista li:last-child {
	border-bottom: none;
}

.blog-widget__lista a {
	color: var(--cor-grafite);
	font-size: 0.9rem;
	line-height: 1.4;
	display: block;
}

.blog-widget__lista a:hover,
.blog-widget__lista a.ativo {
	color: var(--cor-terracota);
}

.blog-widget__tags {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

@media (max-width: 900px) {
	.blog-layout {
		grid-template-columns: 1fr;
	}

	.blog-lateral {
		position: static;
	}
}

@media (max-width: 640px) {
	.blog-cards,
	.blog-lista {
		grid-template-columns: 1fr;
	}
}

/* ---------- Exames e Procedimentos ---------- */

/* Cabeçalho sem faixa de fundo (mais leve) */
.exames-cabecalho {
	padding-top: clamp(1.5rem, 3vw, 2.5rem);
}

.exames-pagina {
	padding-bottom: clamp(3rem, 6vw, 5rem);
}

.exames-intro {
	max-width: 52rem;
	margin-bottom: clamp(2rem, 4vw, 3rem);
}

.exames-intro p {
	color: var(--cor-grafite-suave);
	line-height: 1.75;
}

/* Busca + chips grudados no topo ao rolar */
.exames-controles {
	position: sticky;
	top: 0;
	z-index: 20;
	background: var(--cor-branco);
	padding-block: 1.2rem;
	margin-bottom: 1rem;
	border-bottom: 1px solid rgba(68, 68, 68, 0.08);
}

.exames-busca {
	display: flex;
	align-items: center;
	gap: 0.7rem;
	max-width: 40rem;
	border: 1.5px solid var(--cor-rose);
	border-radius: 999px;
	padding: 0.2rem 1.2rem;
	margin-bottom: 1rem;
	transition: border-color var(--transicao);
}

.exames-busca:focus-within {
	border-color: var(--cor-salmao);
}

.exames-busca svg {
	width: 19px;
	height: 19px;
	color: var(--cor-terracota);
	flex-shrink: 0;
}

.exames-busca input {
	flex: 1;
	border: none;
	background: transparent;
	font-family: inherit;
	font-size: 0.95rem;
	color: var(--cor-grafite);
	padding: 0.6rem 0;
}

.exames-busca input:focus {
	outline: none;
}

.exames-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 0.6rem;
}

.exames-chip {
	font-family: var(--fonte-titulo);
	font-size: 0.9rem;
	color: var(--cor-grafite);
	background: var(--cor-creme-escuro);
	border: none;
	padding: 0.45rem 1.3rem;
	border-radius: 999px;
	cursor: pointer;
	transition: background-color var(--transicao), color var(--transicao);
}

.exames-chip:hover {
	background: #f6c9be;
}

.exames-chip.ativo {
	background: var(--cor-salmao);
	color: #fff;
}

/* Grupos e itens */
.exames-grupo {
	margin-top: clamp(2rem, 4vw, 3rem);
}

.exames-grupo__titulo {
	font-size: clamp(1.3rem, 2.2vw, 1.7rem);
	color: var(--cor-terracota);
	margin-bottom: 1.4rem;
	padding-bottom: 0.6rem;
	border-bottom: 2px solid var(--cor-rosada);
}

.exames-grupo__itens {
	display: grid;
	gap: 0.8rem;
}

.exame-item {
	padding: 1.2rem 1.4rem;
	border-radius: 10px;
	background: var(--cor-creme);
	transition: transform var(--transicao), box-shadow var(--transicao);
}

.exame-item:hover {
	transform: translateY(-2px);
	box-shadow: var(--sombra);
}

.exame-item__nome {
	font-size: 1.02rem;
	font-weight: 500;
	margin-bottom: 0.35em;
	color: var(--cor-grafite);
}

.exame-item__desc {
	font-size: 0.88rem;
	color: var(--cor-grafite-suave);
	line-height: 1.65;
	margin: 0;
}

.exame-item__nome mark,
.exame-item__desc mark {
	background: #ffe6a8;
	color: inherit;
	padding: 0 1px;
	border-radius: 2px;
}

.exames-vazio {
	color: var(--cor-grafite-suave);
	font-size: 1rem;
	padding: 2rem 0;
}

/* ---------- Botão voltar (antes do rodapé) ---------- */

.voltar-nav {
	padding-block: 0.5rem clamp(2rem, 4vw, 3rem);
}

.voltar-nav__link {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.85rem;
	font-weight: 500;
	color: var(--cor-grafite-suave);
	transition: color var(--transicao);
}

.voltar-nav__link svg {
	width: 17px;
	height: 17px;
	transition: transform var(--transicao);
}

.voltar-nav__link:hover {
	color: var(--cor-terracota);
}

.voltar-nav__link:hover svg {
	transform: translateX(-4px);
}

/* ---------- Rodapé ---------- */

.site-footer {
	background: var(--cor-rosada);
	padding-top: clamp(3.5rem, 7vw, 5.5rem);
}

.site-footer__grade {
	display: grid;
	grid-template-columns: 1.3fr 2.4fr 1fr;
	gap: clamp(2rem, 5vw, 4rem);
	padding-bottom: clamp(3rem, 6vw, 5rem);
}

.site-footer__logo {
	height: 92px;
	width: auto;
	margin-bottom: 1.4rem;
}

.site-footer__crm {
	font-size: 0.82rem;
	color: var(--cor-grafite);
	margin-bottom: 1.2rem;
}

.site-footer__endereco a {
	color: inherit;
}

.site-footer__endereco a:hover {
	color: var(--cor-terracota);
}

.site-footer__endereco {
	font-size: 0.82rem;
	color: var(--cor-grafite-suave);
	line-height: 1.7;
	max-width: 18rem;
	margin: 0;
}

/* Bloco de navegação: rótulo + duas colunas de links */
.site-footer__nav {
	display: grid;
	grid-template-columns: auto 1fr 1fr;
	gap: clamp(1.5rem, 3vw, 3rem);
	align-items: start;
}

.site-footer__nav-titulo {
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--cor-grafite);
	margin: 0;
}

.site-footer__nav ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.site-footer__nav li {
	margin-bottom: 0.85rem;
}

.site-footer__nav a {
	font-size: 0.85rem;
	color: var(--cor-grafite);
}

.site-footer__nav a:hover {
	color: var(--cor-terracota);
}

.site-footer__social p {
	font-size: 0.85rem;
	color: var(--cor-grafite);
	margin-bottom: 0.4rem;
}

.site-footer__social a {
	font-size: 0.85rem;
	color: var(--cor-grafite);
}

.site-footer__social a:hover {
	color: var(--cor-terracota);
}

.site-footer__base {
	border-top: 1px solid rgba(68, 52, 42, 0.12);
	padding-block: 1.4rem;
	font-size: 0.82rem;
	color: var(--cor-grafite-suave);
}

.site-footer__base p {
	margin: 0;
}

/* ---------- Atalho flutuante (WhatsApp) ---------- */

.flutuantes {
	position: fixed;
	right: clamp(12px, 4vw, 48px);
	bottom: 15vh;
	z-index: 90;
	display: flex;
	flex-direction: column;
	align-items: center;
}

.flutuante {
	display: flex;
	align-items: center;
}

.flutuante svg {
	width: 60px;
	height: 60px;
	filter: drop-shadow(0 6px 14px rgba(68, 52, 42, 0.28));
	transition: transform var(--transicao);
}

.flutuante:hover svg {
	transform: translateY(-3px);
}

@media (max-width: 720px) {
	.flutuante svg {
		width: 52px;
		height: 52px;
	}
}

/* ---------- Marcador de seções (lateral direita) ---------- */

.secoes-nav {
	position: fixed;
	right: 22px;
	top: 50%;
	transform: translateY(-50%);
	z-index: 80;
	display: flex;
	flex-direction: column;
	gap: 12px;
	align-items: flex-end;
}

.secoes-nav__ponto {
	position: relative;
	width: 9px;
	height: 9px;
	border-radius: 50%;
	border: none;
	padding: 0;
	background: rgba(182, 94, 74, 0.28);
	cursor: pointer;
	transition: background-color var(--transicao), transform var(--transicao);
}

.secoes-nav__ponto:hover {
	background: var(--cor-salmao);
}

.secoes-nav__ponto.ativo {
	background: var(--cor-terracota);
	transform: scale(1.5);
}

/* Rótulo aparece no hover */
.secoes-nav__rotulo {
	position: absolute;
	right: 22px;
	top: 50%;
	transform: translateY(-50%);
	background: rgba(255, 253, 251, 0.95);
	color: var(--cor-grafite);
	font-size: 0.7rem;
	font-weight: 600;
	padding: 0.25rem 0.7rem;
	border-radius: 999px;
	box-shadow: 0 2px 8px rgba(68, 52, 42, 0.16);
	white-space: nowrap;
	opacity: 0;
	pointer-events: none;
	transition: opacity var(--transicao);
}

.secoes-nav__ponto:hover .secoes-nav__rotulo,
.secoes-nav__ponto.ativo .secoes-nav__rotulo {
	opacity: 1;
}

.secoes-nav__ponto.ativo .secoes-nav__rotulo {
	font-size: 0.62rem;
}

@media (max-width: 1200px), (max-height: 640px) {
	.secoes-nav {
		display: none;
	}
}

/* ---------- Animação de revelação ---------- */

.revelar {
	opacity: 0;
	transform: translateY(24px);
	transition: opacity 0.7s ease, transform 0.7s ease;
}

.revelar.revelado {
	opacity: 1;
	transform: none;
}

@media (prefers-reduced-motion: reduce) {
	.revelar {
		opacity: 1;
		transform: none;
		transition: none;
	}
}

/* ---------- Responsivo ---------- */

@media (max-width: 960px) {
	.cartoes,
	.universo__grade {
		grid-template-columns: repeat(2, 1fr);
	}

	.equipe__grade {
		grid-template-columns: repeat(2, 1fr);
	}

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

	.site-footer__grade {
		grid-template-columns: 1fr;
		gap: 2.5rem;
	}
}

@media (max-width: 1120px) {
	.menu-toggle {
		display: flex;
	}

	/* Some a coluna da direita; o menu vira painel suspenso */
	.header-info,
	.header-acoes {
		display: none;
	}

	/* Header mobile: no máximo 20% da altura da tela, minificando ao rolar */
	.site-header {
		max-height: 20vh;
		max-height: 20dvh;
		overflow: hidden;
		transition: max-height 0.3s ease;
	}

	/* Logo maior à esquerda com o botão Menu à direita */
	.site-header__inner {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 0;
		padding-block: 0.7rem;
		transition: padding-block 0.3s ease;
	}

	/* Logo ocupa 60% da largura da tela */
	.site-header__logo-completo {
		width: 60vw;
		max-height: 11vh;
		max-height: 11dvh;
		object-fit: contain;
		object-position: left center;
		height: auto;
	}

	/* Estado minificado (ao rolar): só a flor + Menu, sem botões */
	.site-header.compacto .site-header__inner {
		padding-block: 0.4rem;
	}

	.site-header.compacto .site-header__logo-completo {
		display: none;
	}

	.site-header.compacto .site-header__logo-simbolo {
		display: block;
		height: 44px;
		width: auto;
	}

	.site-header.compacto .header-acoes-mobile {
		display: none;
	}

	/* Menu centralizado nos 40% restantes, com 2 das 12 colunas de largura */
	.menu-toggle {
		flex: 1;
		justify-content: center;
		padding: 0.5rem 0;
	}

	.menu-toggle svg {
		width: clamp(56px, calc(100vw / 12 * 2), 84px);
		height: auto;
	}

	.site-header__direita {
		display: contents;
	}

	.site-header__navlinha {
		display: contents;
	}

	/* Painel lateral: 100% da altura da tela e 85% da largura, fundo rosado */
	.site-nav {
		position: fixed;
		top: 0;
		right: 0;
		left: auto;
		bottom: 0;
		width: 85vw;
		max-width: 85vw;
		height: 100vh;
		height: 100dvh;
		background: var(--cor-rosada);
		flex-direction: column;
		align-items: flex-start;
		gap: 0;
		padding: 1.2rem 8vw 2.2rem;
		box-shadow: -8px 0 30px rgba(68, 52, 42, 0.18);
		display: none;
		overflow-y: auto;
		overscroll-behavior: contain;
		z-index: 120;
	}

	.site-nav.aberto {
		display: flex;
	}

	/* Véu escuro atrás do painel */
	.menu-overlay {
		position: fixed;
		inset: 0;
		background: rgba(68, 52, 42, 0.35);
		z-index: 110;
		border: none;
		padding: 0;
		cursor: pointer;
	}

	/* Topo do painel: logo à esquerda, links de ação à direita.
	   O respiro em cima deixa livre a área do ✕ (o próprio botão Menu,
	   que vira X no mesmo lugar, como no site da Apple). */
	.painel-topo {
		display: flex;
		align-items: center;
		gap: 1.4rem;
		width: 100%;
		margin-top: 6.5rem;
		margin-bottom: 1.6rem;
	}

	.painel-topo__logo img {
		width: 30vw;
		max-width: 130px;
		height: auto;
		/* o desenho do logo.svg começa ~14% depois da borda do arquivo;
		   compensa para o logo encostar de fato na esquerda do painel */
		margin-left: calc(min(30vw, 130px) * -0.144);
	}

	.painel-topo__acoes {
		display: flex;
		flex-direction: column;
		gap: 0.55rem;
	}

	.painel-topo__resultados,
	.painel-topo__agendar {
		font-family: var(--fonte-titulo);
		font-size: 0.95rem;
		font-weight: 500;
		line-height: 1.2;
	}

	.painel-topo__resultados {
		color: var(--cor-terracota);
	}

	.painel-topo__agendar {
		color: var(--cor-grafite);
	}

	/* Trava a rolagem do fundo com o menu aberto */
	body.menu-aberto {
		overflow: hidden;
	}

	.site-nav .menu {
		flex-direction: column;
		gap: 0;
		width: 100%;
	}

	.site-nav .menu a {
		display: block;
		padding: 0.35rem 0;
		font-family: var(--fonte-titulo);
		font-size: 1.2rem;
		font-weight: 500;
		line-height: 1.25;
	}

	/* Item com submenu: link + marcador de abrir/fechar na mesma linha */
	.site-nav .menu .menu-item-has-children > a {
		display: inline-block;
	}

	.submenu-toggle {
		display: inline-block;
		border: none;
		background: none;
		color: var(--cor-salmao);
		font-size: 1rem;
		padding: 0.3rem 0.6rem;
		cursor: pointer;
		line-height: 1;
	}

	.submenu-toggle::after {
		content: "✿";
	}

	.menu-item-has-children.aberto > .submenu-toggle::after {
		content: "▾";
	}

	/* Submenu retrátil e recuado no painel mobile */
	.site-nav .menu .sub-menu {
		position: static;
		transform: none;
		opacity: 1;
		visibility: visible;
		box-shadow: none;
		background: transparent;
		padding: 0.2rem 0 0.6rem 1.4rem;
		min-width: 0;
		display: none;
		transition: none;
	}

	.menu-item-has-children.aberto > .sub-menu {
		display: block;
	}

	/* Anula o deslocamento do dropdown desktop: no toque, o li ganha
	   :hover/:focus-within e o translateX(-50%) jogava o submenu pra fora */
	.site-nav .menu > li:hover > .sub-menu,
	.site-nav .menu > li:focus-within > .sub-menu {
		transform: none;
	}

	.site-nav .menu .sub-menu a {
		font-size: 1.02rem;
		font-weight: 400;
		padding: 0.34rem 0;
		line-height: 1.3;
	}

	.site-nav .menu .menu-item-has-children > a::after {
		display: none;
	}

	/* Contatos da clínica na base do painel */
	.painel-contato {
		display: flex;
		flex-direction: column;
		gap: 0.9rem;
		margin-top: 2.2rem;
		padding-top: 0.4rem;
	}

	.painel-contato__item {
		display: inline-flex;
		align-items: flex-start;
		gap: 0.6rem;
		font-family: var(--fonte-titulo);
		font-size: 0.92rem;
		color: var(--cor-terracota);
		line-height: 1.45;
	}

	.painel-contato__item svg {
		width: 17px;
		height: 17px;
		flex-shrink: 0;
		margin-top: 0.1em;
	}

	/* Botões visíveis abaixo do logo, centralizados */
	.header-acoes-mobile {
		display: flex;
		justify-content: center;
		gap: 0.7rem;
		padding-bottom: 0.7rem;
	}

	.header-acoes-mobile .botao {
		font-size: 0.78rem;
		padding: 0.38rem 0.85rem;
		white-space: nowrap;
		text-align: center;
	}

	/* Menu aberto: as duas primeiras linhas viram um X, a terceira some
	   e a palavra "Menu" desaparece — sobra só o ✕ no mesmo lugar */
	.menu-toggle[aria-expanded="true"] .menu-toggle__linha:nth-of-type(1) {
		transform: translateY(9px) rotate(45deg);
	}

	.menu-toggle[aria-expanded="true"] .menu-toggle__linha:nth-of-type(2) {
		transform: rotate(-45deg);
	}

	.menu-toggle[aria-expanded="true"] .menu-toggle__linha:nth-of-type(3) {
		opacity: 0;
	}

	.menu-toggle svg path {
		transition: opacity var(--transicao);
	}

	.menu-toggle[aria-expanded="true"] svg path {
		opacity: 0;
	}
}

@media (max-width: 720px) {
	/* Hero mobile: a arte inteira escala com a largura (aspect-ratio do desktop) */

	.hero__conteudo {
		margin-left: auto;
		width: 92vw;
		padding-block: 4rem;
	}

	.cartoes,
	.universo__grade {
		grid-template-columns: 1fr;
	}

	.site-footer__nav {
		grid-template-columns: 1fr 1fr;
	}

	.site-footer__nav-titulo {
		grid-column: 1 / -1;
	}
}
