/*
Theme Name: Petrus Raulino (site atual refeito)
Description: Site do Dr. Petrus Raulino refeito sem construtor visual, igual ao que estava no ar em out/2026.
Author: Netlinks
Version: 1.0.0
Text Domain: petrus-atual
License: GPL-3.0-or-later (a base tipográfica segue o reset do tema Hello, também GPL)
*/

/* ==========================================================================
   Fontes. Playfair Display, Lato e Montserrat são DECLARADAS sem arquivo,
   como no site antigo (os arquivos davam 404): o navegador usa a fonte do
   sistema e o visual fica idêntico ao que o visitante via.
   ========================================================================== */
@font-face { font-family: 'Montserrat Thin'; font-style: normal; font-weight: normal; font-display: auto; src: url('assets/fontes/Montserrat-Thin.ttf') format('truetype'); }
@font-face { font-family: 'South Korea'; font-style: normal; font-weight: normal; font-display: auto; src: url('assets/fontes/south-korea.ttf') format('truetype'); }

:root {
	--ouro: #8F7C56;
	--bege: #F4F0E6;
	--fundo: #F8F5EE;
	--texto: #58585A;
	--secundaria: #54595F;
	--caixa: 1140px;
}

/* ==========================================================================
   Base (reset do Hello + ajustes do site)
   ========================================================================== */
html { line-height: 1.15; -webkit-text-size-adjust: 100%; }
*, ::after, ::before { box-sizing: border-box; }
body {
	margin: 0;
	background-color: var(--fundo);
	color: var(--texto);
	font-family: "Playfair Display", Sans-serif;
	font-size: 14px;
	font-weight: 400;
	font-style: normal;
	line-height: 1.5;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	overflow-x: clip;
}
h1, h2, h3, h4, h5, h6 { color: inherit; font-family: inherit; font-weight: 500; line-height: 1.2; margin-block-end: 1rem; margin-block-start: .5rem; }
h1 { font-size: 2.5rem; font-family: "Playfair Display", Sans-serif; }
h2 { font-size: 2rem; }
h3 { font-size: 1.75rem; }
h4 { font-size: 1.5rem; }
h5 { font-size: 1.25rem; }
h6 { font-size: 1rem; }
p { margin-block-end: .9rem; margin-block-start: 0; }
a { background-color: transparent; color: #2A4D69; text-decoration: none; }
a:hover { color: var(--ouro); }
b, strong { font-weight: bolder; }
small { font-size: 80%; }
sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
sub { bottom: -.25em; }
sup { top: -.5em; }
img { border-style: none; height: auto; max-width: 100%; }
figcaption { color: #333; font-size: 16px; font-style: italic; font-weight: 400; line-height: 1.4; }
[hidden] { display: none !important; }
dd, dl, dt, li, ol, ul { background: transparent; border: 0; font-size: 100%; margin-block-end: 0; margin-block-start: 0; outline: 0; vertical-align: baseline; }
table { background-color: transparent; border-collapse: collapse; border-spacing: 0; font-size: .9em; margin-block-end: 15px; width: 100%; }
table td, table th { border: 1px solid hsla(0, 0%, 50%, .502); line-height: 1.5; padding: 15px; vertical-align: top; }
table th { font-weight: 700; }
table tbody > tr:nth-child(odd) > td, table tbody > tr:nth-child(odd) > th { background-color: hsla(0, 0%, 50%, .071); }
label { display: inline-block; line-height: 1; vertical-align: middle; }
button, input, optgroup, select, textarea { font-family: inherit; font-size: 1rem; line-height: 1.5; margin: 0; }
input[type=date], input[type=email], input[type=number], input[type=password], input[type=search], input[type=tel], input[type=text], input[type=time], input[type=url], select, textarea { border: 1px solid #666; border-radius: 3px; padding: .5rem 1rem; transition: all .3s; width: 100%; }
textarea { overflow: auto; resize: vertical; }
/* botões: CSS adicional do site antigo */
[type=button], [type=submit], button { -webkit-appearance: button; display: inline-block; font-weight: 400; color: #fff; text-align: center; white-space: nowrap; user-select: none; background-color: var(--ouro); border: var(--ouro); padding: .5rem 1rem; font-size: 1rem; border-radius: 3px; transition: all .3s; cursor: pointer; }
.sr { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.pular:focus { position: fixed !important; top: 5px; left: 5px; width: auto; height: auto; clip: auto; z-index: 100000; background: #fff; padding: 12px 24px; }
.grecaptcha-badge { display: none !important; }

/* classes de conteúdo do WordPress (do tema Hello que o site usava) */
.alignright { float: right; margin-left: 1rem; }
.alignleft { float: left; margin-right: 1rem; }
.aligncenter { clear: both; display: block; margin-inline: auto; }
.wp-caption { margin-block-end: 1.25rem; max-width: 100%; }
.wp-caption.alignleft { margin: 5px 20px 20px 0; }
.wp-caption.alignright { margin: 5px 0 20px 20px; }
.wp-caption img { display: block; margin-inline: auto; }
.wp-caption-text { margin: 0; }
.gallery-caption { display: block; font-size: .8125rem; line-height: 1.5; margin: 0; padding: .75rem; }
.screen-reader-text { clip: rect(1px, 1px, 1px, 1px); height: 1px; overflow: hidden; position: absolute !important; width: 1px; word-wrap: normal !important; }

/* links dentro de conteúdo (o site antigo forçava #0073e6 em todo widget) */
.conteudo a { color: #0073e6; }
.conteudo a:hover { color: #005bb5; }

/* caixa central de 1140px */
.caixa { max-width: calc(var(--caixa) + 20px); margin-left: auto; margin-right: auto; padding-left: 10px; padding-right: 10px; }

/* ==========================================================================
   Cabeçalho (computador e tablet)
   ========================================================================== */
/* Mesma distribuição do contêiner do Elementor: 30vh no mínimo, duas linhas
   (logo e menu) que esticam por igual; o menu fica centralizado na dele. */
.cab { position: relative; z-index: 9999; display: flex; flex-wrap: wrap; flex-direction: row; align-content: stretch; min-height: 30vh; }
.cab__foto { position: absolute; top: 0; left: 0; width: auto; max-width: 100%; height: auto; z-index: -1; display: block; } /* tamanho natural, sem ampliar (como no site antigo) */
.cab__marca { width: 100%; padding: 10px; display: flex; flex-direction: column; justify-content: center; align-items: center; z-index: 1; }
.cab__marca .logo img { display: inline-block; width: 243px; height: auto; vertical-align: middle; }
.cab--ouro { background-color: var(--ouro); }
.cab--ouro .cab__redes { width: 33.3333%; padding: 10px; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; align-self: center; }
.cab--ouro .cab__marca { width: 33.3333%; }
.cab--ouro .cab__marca::after { content: none; }
.cab--ouro::after { content: ""; width: 33.3333%; }
.cab--ouro .barra { order: 2; }

/* barra do menu: centralizada na linha dela; ao rolar, presa no topo (JS) */
.barra { width: 100%; align-self: center; z-index: 99999; background-color: var(--bege); display: flex; justify-content: center; order: 1; }
.barra.fixa { position: fixed; top: 0; left: 0; right: 0; }
.admin-bar .barra.fixa { top: 32px; }
.menu { list-style: none; margin: 0; padding: 0; display: flex; }
.menu--principal { flex-wrap: wrap; justify-content: center; }
.menu--principal > .menu__item { position: relative; display: flex; }
.menu--principal > .menu__item > a {
	display: flex; align-items: center;
	padding: 20px;
	font-family: "Montserrat", Sans-serif; font-size: 13px; font-weight: 700; line-height: 20px;
	text-transform: uppercase; color: #3B372F;
}
.menu--principal > .menu__item > a:hover, .menu--principal > .menu__item > a.ativo, .menu--principal > .menu__item:hover > a { color: #000; }
.menu__seta { display: flex; padding: 10px 0 10px 10px; margin: -10px 0; }
.menu__seta svg { width: 13px; height: 13px; fill: currentColor; }
.menu--principal .menu__sub {
	display: none; position: absolute; top: 100%; left: 0; z-index: 2;
	min-width: 12em; list-style: none; margin: 0; padding: 0;
	background-color: var(--bege);
}
.menu--principal .menu__item--pai:hover > .menu__sub, .menu--principal .menu__item--pai:focus-within > .menu__sub { display: block; }
.menu--principal .menu__sub a {
	display: flex; align-items: center; padding: 20px;
	font-family: "Montserrat", Sans-serif; font-size: 13px; font-weight: 700; line-height: 20px;
	color: var(--ouro); white-space: nowrap;
}
.menu--principal .menu__sub a:hover { background-color: #C2B49E; color: var(--ouro); }
.bandeira { display: inline-block; margin: 0 3px; vertical-align: middle; }

/* ==========================================================================
   Cabeçalho do celular (até 767px)
   ========================================================================== */
.celular { display: none; }
@media (max-width: 767px) {
	.cab { display: none; }
	.celular { display: block; position: sticky; top: 0; z-index: 99999; }
	.celular__barra { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; align-items: start; background-color: var(--ouro); min-height: 80px; padding-left: 20px; }
	.celular__abrir {
		justify-self: start; display: flex; align-items: flex-start; justify-content: flex-start;
		width: 48px; height: 53px; padding: 8px; margin: 15px 0 0; border: 0; border-radius: 0;
		background-color: rgba(0, 0, 0, .05); color: var(--bege);
	}
	.celular__abrir svg { width: 32px; height: 32px; fill: var(--bege); }
	.celular__icone-fechar { display: none; }
	.celular__abrir[aria-expanded="true"] .celular__icone-abrir { display: none; }
	.celular__abrir[aria-expanded="true"] .celular__icone-fechar { display: block; }
	.logo--celular { justify-self: center; display: block; margin-top: 10px; }
	.logo--celular img { display: block; width: 120px; height: 50px; }
	.celular__menu { background-color: var(--bege); position: absolute; left: 0; right: 0; top: 83px; }
	.menu--celular { flex-direction: column; }
	.menu--celular a {
		display: flex; align-items: center; justify-content: center;
		padding: 20px; font-family: "Montserrat", Sans-serif; font-weight: 700; font-size: 13px; line-height: 20px;
		text-transform: uppercase; color: var(--ouro); text-align: center;
	}
	.menu--celular a:hover, .menu--celular a.ativo { background-color: #C2B49E; }
	.menu--celular .menu__sub { list-style: none; margin: 0; padding: 0; display: none; }
	.menu--celular .menu__item--pai.aberto > .menu__sub { display: block; }
	.menu--celular .menu__sub a { padding: 20px; }
	.celular__folga { height: 20px; }
}

/* ==========================================================================
   Redes sociais
   ========================================================================== */
.redes { display: flex; gap: 5px; flex-wrap: wrap; }
/* no rodapé os ícones ficavam em linha, sem espaço entre as linhas quando quebram (Elementor: font-size e line-height 0) */
.rodape .redes { display: block; font-size: 0; line-height: 0; text-align: center; }
.rodape .redes__item { margin: 0 2.5px; }
.redes__item { display: inline-flex; align-items: center; justify-content: center; width: 50px; height: 50px; border-radius: 10%; color: var(--bege); }
.redes__item svg { width: 25px; height: 25px; fill: var(--bege); }
.redes__item:hover { opacity: .9; }

/* ==========================================================================
   Rodapé
   ========================================================================== */
.rodape { position: relative; background-color: var(--ouro); padding: 50px 50px 70px; }
.rodape__interno { max-width: var(--caixa); margin: 0 auto; display: flex; flex-direction: row; }
.rodape__marca { flex: 0 0 30%; padding: 10px; display: flex; flex-direction: column; justify-content: center; align-items: center; }
.rodape__marca .logo img { width: 243px; display: inline-block; vertical-align: middle; }
.rodape__meio { flex: 0 1 50%; padding: 10px; display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 20px; }
.rodape__lado { flex: 0 1 25%; padding: 10px; display: flex; flex-direction: column; justify-content: center; align-items: flex-end; gap: 20px; }
.rodape__direitos { font-family: "Montserrat", Sans-serif; font-weight: 400; text-align: justify; color: #FFF; }
.rodape__direitos, .rodape__privacidade, .rodape__menu { display: flow-root; }
.rodape__privacidade { font-family: "Montserrat Thin", Sans-serif; font-weight: 500; text-align: right; color: #FFF; align-self: center; }
.rodape__menu { font-family: "Montserrat", Sans-serif; font-weight: 400; text-align: right; color: #FFF; }
.rodape a, .rodape a:visited { color: #FFF; }
.rodape a:hover { color: #393939; }
@media (max-width: 767px) {
	.rodape__interno { flex-direction: column; }
	.rodape__marca, .rodape__meio, .rodape__lado { flex: 0 0 auto; width: 100%; }
	.rodape .redes--rodape { display: none; }
}

/* seletor de idioma do rodapé (TranslatePress no site antigo): caixa de
   157px com o seletor de 200px alinhado à direita dela, e as duas listas com
   216px (largura que o script do TranslatePress fixava) */
.rodape__idioma { width: 157px; height: 42px; display: flex; justify-content: flex-end; }
.seletor { position: relative; flex: none; width: 200px; height: 42px; white-space: nowrap; font-family: 'Montserrat'; }
.seletor__atual, .seletor__lista { box-sizing: border-box; width: 216px; padding: 4px 20px 3px 13px; border: 0; border-radius: 2px; background: transparent url('assets/img/seta-idioma.svg') no-repeat calc(100% - 20px) calc(1em + 2px) / 8px 8px; color: #fff; }
.seletor__atual { display: inline-block; }
.seletor a { display: block; padding: 7px 12px; border-radius: 3px; text-decoration: none; color: #fff; font-style: normal; font-weight: 400; font-size: 16px; font-family: 'Montserrat'; line-height: 24px; }
.seletor a img { display: inline; margin: 0 3px; width: 18px; height: 12px; }
.seletor__lista { display: none; position: absolute; left: 0; top: 0; z-index: 5; padding: 4px 13px; background-image: none; }
.seletor:hover .seletor__lista, .seletor:focus-within .seletor__lista { display: block; }
.seletor:hover .seletor__atual, .seletor:focus-within .seletor__atual { visibility: hidden; }

/* ==========================================================================
   Aviso de cookies
   ========================================================================== */
.cookies {
	position: fixed; left: 0; right: 0; bottom: 0; z-index: 12345;
	display: flex; align-items: center; justify-content: space-between;
	padding: 14px 24px; background-color: var(--bege) !important; color: #282828;
	font-family: Tahoma, Verdana, Segoe, sans-serif; font-size: 14.5px; line-height: 24px;
	animation: cookies-sobe .6s both;
}
.cookies__texto { padding-right: 40px; }
.cookies__texto > span { padding-right: .31em; }
.cookies__link { color: #898989; font-family: Montserrat; display: inline; }
.cookies__botoes { display: flex; flex: none; }
.cookies__botoes button {
	display: flex; align-items: center; justify-content: center; height: 40px; margin: 0 0 0 4px; padding: 0 35px;
	font-family: "Montserrat Thin"; font-size: 12px; font-weight: 700; line-height: 20px; letter-spacing: .18px; text-transform: none;
}
.cookies__recusar { background: transparent; color: #636363; border: 0 solid #636363; border-radius: 3px; opacity: .7; }
.cookies__permitir { background: var(--ouro); color: #FFF; border: 1px solid #FFF !important; border-radius: 1px; }
@keyframes cookies-sobe { from { transform: translateY(100%); } to { transform: none; } }
@media (max-width: 767px) {
	.cookies { flex-direction: column; text-align: center; padding: 14px 24px 24px; }
	.cookies__texto { padding-right: 0; }
	.cookies__botoes { width: 100%; justify-content: space-between; padding: 14px 0; }
	.cookies__botoes button { flex: 1; padding: 0; }
	.cookies__recusar { margin: 0 5px 0 0 !important; }
	.cookies__permitir { margin: 0 0 0 5px !important; }
}

/* botão do WhatsApp: cores do Joinchat do site antigo */
.joinchat { --ch: 142; --cs: 70%; --cl: 49%; --bw: 1; }

/* ==========================================================================
   Post
   ========================================================================== */
.post-topo__interno { padding: 50px 0 60px; }
.post-topo__interno > * { margin: 0; padding: 0 10px; }
.post-topo__interno > * + * { margin-top: 20px; }
.migalhas { font-family: "Lato", Sans-serif; font-size: 11.9px; line-height: 17.85px; padding-top: 10px; }
.post-titulo { font-size: 40px; font-weight: 400; line-height: 1; color: var(--ouro); font-family: "Playfair Display", Sans-serif; }
.post-imagem { text-align: center; }
.post-imagem img { border-radius: 30px; display: inline-block; vertical-align: middle; }
.post-corpo { display: flex; flex-direction: row; }
.post-corpo__texto { width: 66.6666%; padding: 10px; display: flex; flex-direction: column; gap: 20px; }
.post-corpo__lado { width: 33.3333%; }
.post-lado { position: sticky; top: 60px; padding: 10px; }
.post-conteudo { font-family: "Montserrat", Sans-serif; font-size: 1.2em; font-weight: 400; color: #4A4A4A; }
.post-conteudo figure { margin: 0 0 20px; }
.post-conteudo .wp-block-image { margin-bottom: 20px; }
.post-navegacao { padding-top: 10px; padding-bottom: 10px; }
.post-corpo { padding-bottom: 100px; }
@media (max-width: 1024px) {
	.post-topo { padding-left: 20px; padding-right: 20px; }
	.post-topo__interno { padding-top: 100px; }
	.post-corpo { flex-wrap: wrap; padding-left: 20px; padding-right: 20px; }
	.post-corpo__texto, .post-corpo__lado { width: 100%; }
}
@media (max-width: 767px) {
	.post-titulo { font-size: 30px; }
}

/* compartilhar */
.compartilhar { display: flex; flex-wrap: wrap; gap: 10px; }
.compartilhar__botao { display: inline-flex; align-items: center; height: 4.5em; font-size: 10px; color: #fff !important; border-radius: 0; overflow: hidden; }
.compartilhar__icone { display: flex; align-items: center; justify-content: center; width: 4.5em; height: 100%; background: rgba(0, 0, 0, .1); }
.compartilhar__icone svg { width: 1.7em; height: 1.7em; fill: #fff; }
.compartilhar__nome { padding: 0 1.2em; font-size: 15px; font-weight: 500; font-family: "Playfair Display", Sans-serif; }
.compartilhar__botao--facebook { background-color: #3b5998; }
.compartilhar__botao--linkedin { background-color: #0077b5; }
.compartilhar__botao--whatsapp { background-color: #25d366; }
.compartilhar__botao--x { background-color: #000; }
.compartilhar__botao--threads { background-color: #000; }

/* caixa do autor */
.autor { display: flex; flex-direction: row; align-items: flex-start; }
.autor__foto { flex: none; margin-right: 25px; }
.autor__foto img { width: 100px; height: 100px; border-radius: 500px; object-fit: cover; display: inline-block; } /* em linha, como no Elementor (a caixa fica com 106 px) */
.autor__nome { font-size: 24px; line-height: 1.2; color: var(--secundaria); margin: 8px 0 5px; font-family: "Playfair Display", Sans-serif; }
.autor__bio { font-family: "Montserrat Thin", Sans-serif; font-size: 17px; color: #58585A; line-height: 1.5; margin-bottom: 13.6px; }
/* no post a caixa media só o texto (81 px) e a foto passava por baixo */
.post-corpo__texto .autor__foto { height: 0; }

/* anterior / próximo */
.navegacao { display: flex; }
.navegacao__link { width: calc(50% - .5px); display: flex; align-items: center; }
.navegacao__link--proximo { justify-content: flex-end; text-align: right; }
.navegacao__link a { display: flex; align-items: center; width: 100%; color: inherit !important; }
.navegacao__link--proximo a { justify-content: flex-end; }
.navegacao__seta { display: flex; align-items: center; height: 45px; font-size: 30px; line-height: 1.5; color: #D5D8DC; }
.navegacao__seta svg { display: block; width: 15px; height: 30px; fill: currentColor; }
.navegacao__link--anterior .navegacao__seta { padding-right: 15px; }
.navegacao__link--proximo .navegacao__seta { padding-left: 15px; }
.navegacao__textos { display: flex; flex-direction: column; min-width: 0; }
.navegacao__rotulo, .navegacao__titulo { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.navegacao__rotulo { font-family: "Montserrat", Sans-serif; font-weight: 700; color: #000; text-transform: uppercase; font-size: .8em; line-height: 1.5; }
.navegacao__titulo { font-family: "Montserrat", Sans-serif; font-weight: 700; font-size: 16px; line-height: 1.5; color: var(--secundaria); }
.navegacao__separador { width: 1px; background: #D5D8DC; }

/* ==========================================================================
   Página comum
   ========================================================================== */
.pagina { margin-top: 200px; display: flex; flex-direction: column; gap: 20px; }
/* no celular o contêiner do Elementor quebrava linha (wrap): muda como a altura do conteúdo é medida */
@media (max-width: 767px) { .pagina { flex-wrap: wrap; } }
.pagina__titulo { margin: 0; text-align: center; color: #58585A; font-family: "South Korea", Sans-serif; font-size: 50px; font-weight: 600; line-height: 1; }
.pagina__resumo { text-align: center; color: #7A7A7A; font-family: "Montserrat", Sans-serif; }
.pagina__conteudo { font-family: "Montserrat Thin", Sans-serif; }

/* ==========================================================================
   Arquivo (categoria e autor)
   ========================================================================== */
.arquivo { margin-top: 50px; padding-top: 10px; padding-bottom: 10px; display: flex; flex-direction: column; gap: 20px; }
.arquivo__titulo { margin: 0 0 50px; font-size: 40px; line-height: 1; color: var(--ouro); font-family: "Playfair Display", Sans-serif; font-weight: 400; }
.arquivo__autor { margin-bottom: 50px; align-items: center; }
.grade { display: grid; grid-template-columns: repeat(3, 1fr); column-gap: 30px; row-gap: 35px; }
.grade__item { display: flex; flex-direction: column; }
.grade__imagem { display: block; position: relative; overflow: hidden; margin-bottom: 20px; }
.grade__imagem::before { content: ""; display: block; padding-bottom: 66%; }
.grade__imagem img { position: absolute; top: calc(50% + 1px); left: calc(50% + 1px); transform: scale(1.01) translate(-50%, -50%); width: 100%; height: auto; max-width: none; max-height: none; }
.grade__imagem.encaixe-altura img { width: auto; height: 100%; }
.grade__titulo { margin: 0; font-family: "Montserrat", Sans-serif; font-size: 16px; font-weight: 400; line-height: 1.2; color: var(--secundaria); }
.grade__titulo a { color: inherit !important; }
.grade__resumo { font-family: "Montserrat Thin", Sans-serif; color: #777; margin-top: 0; }
.grade__resumo p { margin-bottom: 13px; }
.grade__mais { font-family: "Montserrat Thin", Sans-serif; font-size: 12px; font-weight: 700; line-height: 1.5; color: #58585A !important; align-self: flex-start; }
@media (max-width: 1024px) { .grade { grid-template-columns: repeat(2, 1fr); } }
.grade__vazio { font-family: "Montserrat Thin", Sans-serif; }
@media (max-width: 767px) { .grade { grid-template-columns: 1fr; } .grade__imagem::before { padding-bottom: 50%; } .arquivo__titulo { font-size: 30px; } }

/* paginação */
.paginacao { text-align: center; margin-top: 50px; font-family: "Montserrat Thin", Sans-serif; }
.paginacao .page-numbers { margin: 0 5px; color: inherit; }
.paginacao .page-numbers:first-child { margin-left: 0; }
.paginacao .page-numbers:last-child { margin-right: 0; }
.paginacao .current { color: var(--ouro); }
/* nos arquivos (categoria e autor) a paginação era a do widget de posts: Lato 20 px, colada na grade */
.arquivo .paginacao { margin-top: -20px; font-family: "Lato", Sans-serif; font-size: 20px; line-height: 30px; }
.arquivo .paginacao a.page-numbers { color: var(--ouro); }
.arquivo .paginacao .current { color: #140E02; }

/* ==========================================================================
   Busca
   ========================================================================== */
.busca { max-width: 1200px; margin: 60px auto; padding: 0 15px; }
.busca__cabeca { margin-bottom: 40px; }
.busca__marca { display: block; width: 16px; height: 18px; background: var(--ouro); border-radius: 50%; }
.busca__titulo { margin: 0; font-family: "South Korea", Sans-serif; font-size: 1.5em; font-weight: 600; color: var(--secundaria); line-height: 1; text-transform: uppercase; }
.cartoes { display: grid; grid-template-columns: repeat(3, 1fr); column-gap: 30px; row-gap: 30px; }
.cartao { display: flex; flex-direction: column; min-height: 100%; border: 1px solid #69727d; border-radius: 3px; background: #fff; overflow: hidden; text-align: center; }
.cartao__imagem { display: block; position: relative; overflow: hidden; margin-bottom: 20px; }
.cartao__imagem::before { content: ""; display: block; padding-bottom: 70%; }
.cartao__imagem img { position: absolute; top: calc(50% + 1px); left: calc(50% + 1px); transform: scale(1.01) translate(-50%, -50%); width: calc(100% + 1px); height: auto; max-width: none; max-height: none; }
.cartao__imagem.encaixe-altura img { width: auto; height: 100%; }
.cartao__selo { position: absolute; top: 20px; left: 20px; background: #69727d; color: #fff; font-size: 12px; line-height: 1; padding: .6em 1.2em; border-radius: 999px; text-transform: uppercase; font-family: "Montserrat Thin", Sans-serif; }
.cartao__titulo { margin: 0 0 30px; padding: 0 20px; font-size: 21px; line-height: 1.2; color: var(--secundaria); font-family: "Playfair Display", Sans-serif; font-weight: 400; }
.cartao__titulo a { color: inherit !important; }
.cartao__rodape { margin-top: auto; border-top: 1px solid #eaeaea; padding: 10px 20px; font-size: 12px; line-height: 1.3em; color: #adadad; font-family: "Lato", Sans-serif; }
@media (max-width: 1024px) { .cartoes { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 767px) { .cartoes { grid-template-columns: 1fr; } .cartao__imagem::before { padding-bottom: 50%; } }

/* ==========================================================================
   404
   ========================================================================== */
.erro { display: flex; flex-direction: column; gap: 20px; text-align: center; padding-top: 10px; padding-bottom: 10px; }
.erro h2 { margin: 0; font-size: 32px; line-height: 1; color: var(--ouro); font-weight: 400; font-family: "Playfair Display", Sans-serif; }
.erro__botao a { display: inline-block; padding: 12px 24px; border-radius: 3px; background-color: var(--ouro); color: #fff !important; font-family: "Montserrat Thin", Sans-serif; font-size: 15px; font-weight: 700; line-height: 1; }

/* ==========================================================================
   Botão dourado dos blocos (Elementor "button")
   ========================================================================== */
.botao-ouro a { display: inline-block; padding: 12px 24px; border-radius: 3px; background-color: var(--ouro); color: #FFF !important; fill: #FFF; font-family: "Montserrat Thin", Sans-serif; font-size: 15px; font-weight: 700; line-height: 1; text-align: center; transition: all .3s; }

/* ==========================================================================
   Início
   ========================================================================== */
/* a faixa sobe 30vw e passa por trás do cabeçalho (transparente no início) */
.ini-faixa { margin-top: -30vw; padding: 10px; position: relative; }
.ini-faixa__slide { position: relative; display: flex; justify-content: center; align-items: center; height: 100vh; padding: 30vw 0 0; text-align: center; color: #FFF !important; overflow: hidden; }
/* o Elementor tinha o "ken burns" ligado, mas a foto nunca chegava a dar zoom
   (faltava a classe que aplica a escala); aqui ela fica parada, como no ar */
.ini-faixa__fundo { position: absolute; inset: 0; background-color: var(--ouro); background-size: cover; background-position: 50% 50%; }
.ini-faixa__textos { position: relative; max-width: 66%; animation: sobe-suave 1.2s both; }
@keyframes sobe-suave { from { opacity: 0; transform: translateY(40px); } to { opacity: 1; transform: none; } }
.ini-faixa__titulo { display: inline; font-family: "South Korea", Sans-serif; font-weight: 700; font-size: 35px; line-height: 1; color: #FFF; text-shadow: 4px 4px 8px rgba(0, 0, 0, .75); letter-spacing: 1px; margin-bottom: 30px; }
.ini-faixa__frase { margin: 8px 0 30px; font-family: "Montserrat", Sans-serif; font-weight: 400; font-size: 17px; line-height: 1.4; letter-spacing: .5px; color: #FFF; text-shadow: 4px 4px 8px rgba(0, 0, 0, .75); }
.ini-faixa__botao { display: inline-block; padding: 12px 24px; border: 2px solid #FFF; border-radius: 3px; font-family: "Montserrat Thin", Sans-serif; font-size: 15px; font-weight: 700; line-height: 1; color: #FFF; }

.ini-doutor { margin-top: 50px; display: flex; flex-direction: row; padding-left: 0; padding-right: 0; max-width: var(--caixa); }
.ini-doutor__foto { width: 50%; padding: 10px; background: url('https://petrusraulino.com.br/wp-content/uploads/2024/08/petrusraulino.png') center center / cover; }
.ini-doutor__texto { width: 50%; padding: 10px; background-color: #E6E6E6; display: flex; flex-direction: column; gap: 20px; }
.ini-doutor__chapeu { padding: 20px 20px 0; font-family: "Montserrat", Sans-serif; font-size: 1.5em; font-weight: 400; }
.ini-doutor__chapeu h5 { font-size: 20px; }
.ini-doutor__texto > div { display: flow-root; }
.ini-doutor__nome { padding: 0 20px; }
.ini-doutor__nome h2 { margin: 0; font-family: "South Korea", Sans-serif; font-size: 2em; font-weight: 400; line-height: 1; color: var(--ouro); }
.ini-doutor__bio { padding: 20px 20px 0; font-family: "Montserrat", Sans-serif; font-size: 1em; font-weight: 400; }
.ini-doutor__botao { padding: 20px; }

.ini-videos { margin-top: 50px; background-color: #000; }
.ini-videos__interno { display: flex; flex-direction: column; gap: 20px; padding-top: 10px; padding-bottom: 10px; }
.ini-videos__titulo { padding: 20px 0; text-align: center; }
.ini-videos__titulo span { font-family: "South Korea", Sans-serif; font-size: 2em; font-weight: 600; line-height: 1; color: #FFF; }
.ini-videos__principal { padding: 10px; }
.ini-videos__principal video { display: flex; width: 100%; aspect-ratio: 1.77777; background-color: #000; object-fit: cover; border: 0; }
.ini-videos__legenda { padding: 0 0 40px; text-align: center; }
.ini-videos__legenda span { font-family: "Montserrat", Sans-serif; font-size: 20px; font-weight: 400; line-height: 1; color: #FFF; }
.ini-videos__grade { padding: 10px; display: grid; grid-template-columns: repeat(4, 1fr); grid-template-rows: repeat(2, 1fr); gap: 20px; }
.ini-videos__item { text-align: center; }
.ini-videos__item figure { margin: 0; }
.ini-videos__item img { display: inline-block; vertical-align: middle; }
.ini-videos__item figcaption { color: #FFF; font-family: "Montserrat", Sans-serif; font-weight: 400; }

.ini-artigos-titulo { margin-top: 50px; margin-bottom: 50px; padding-top: 10px; padding-bottom: 10px; text-align: center; }
.ini-artigos-titulo h2 { margin: 0; font-family: "South Korea", Sans-serif; font-size: 2em; font-weight: 600; line-height: 1; color: #58585A; }
.ini-artigos { padding-top: 10px; padding-bottom: 10px; }
.portfolio { display: grid; grid-template-columns: repeat(3, 1fr); }
.portfolio__item a { display: block; position: relative; }
.portfolio__imagem { display: block; position: relative; padding-bottom: 66%; overflow: hidden; }
.portfolio__imagem img { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 100%; height: 100%; object-fit: cover; }
.portfolio__capa { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; padding: 15px; background-color: #58585A; opacity: 0; transition: opacity .3s; }
.portfolio__item a:hover .portfolio__capa { opacity: 1; }
.portfolio__titulo { margin: 0; font-size: 18px; line-height: 1; color: #FFF; text-align: center; font-family: "Playfair Display", Sans-serif; font-weight: 400; }

@media (max-width: 1024px) { .portfolio { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 767px) {
	.ini-faixa { padding: 0; }
	.ini-doutor { flex-wrap: wrap; min-height: 1118px; }
	.ini-doutor__foto, .ini-doutor__texto { width: 100%; }
	.ini-doutor__foto { min-height: 50%; flex: 1; }
	.ini-doutor__botao { padding: 20px 20px 0; }
	.ini-faixa__titulo { font-size: 23px; }
	.ini-faixa__frase { font-size: 13px; }
	.ini-videos { padding: 0 0 20px; }
	.ini-videos__interno { padding: 0; }
	.ini-videos__titulo { padding: 50px 0; }
	.ini-videos__titulo span, .ini-artigos-titulo h2 { font-size: 1.5em; }
	.ini-videos__legenda span { font-size: 1em; }
	.ini-videos__grade { grid-template-columns: 1fr; }
	.portfolio { grid-template-columns: 1fr; }
}

/* janela dos vídeos .mp4 (era o lightbox do Elementor) */
.janela { position: fixed; inset: 0; z-index: 99999999; background: rgba(0, 0, 0, .87); display: flex; align-items: center; justify-content: center; }
.janela video, .janela img { max-width: 90vw; max-height: 85vh; }
.janela__fechar { position: absolute; top: 15px; right: 15px; background: transparent; border: 0; color: #fff; font-size: 34px; line-height: 1; padding: 10px; }

/* ==========================================================================
   Acordeão (estilos-base do Elementor)
   ========================================================================== */
.acordeao { text-align: start; }
.acordeao__item { border: 1px solid #d5d8dc; }
.acordeao__item + .acordeao__item { border-block-start: none; }
.acordeao__titulo { cursor: pointer; font-weight: 700; line-height: 1; margin: 0; outline: none; padding: 15px 20px; }
.acordeao__icone { display: inline-block; width: 1.5em; float: left; text-align: left; }
.acordeao__icone svg { height: 1em; width: 1em; }
.acordeao__aberto, .acordeao__titulo.ativo .acordeao__fechado { display: none; }
.acordeao__titulo.ativo .acordeao__aberto { display: block; }
.acordeao__texto { color: inherit; }
.acordeao__conteudo { border-block-start: 1px solid #d5d8dc; padding: 15px 20px; }
@media (max-width: 767px) {
	.acordeao__titulo { padding: 12px 15px; }
	.acordeao__icone { width: 1.2em; }
	.acordeao__conteudo { padding: 7px 15px; }
}

/* ==========================================================================
   Sobre
   ========================================================================== */
.sobre-topo { margin-top: 50px; display: flex; flex-direction: column; gap: 20px; padding-top: 10px; padding-bottom: 10px; }
.sobre-topo__titulo { text-align: center; }
.sobre-topo__titulo h1 { margin: 0; font-family: "South Korea", Sans-serif; font-size: 1.5em; font-weight: 600; line-height: 1; color: #58585A; }
.sobre-topo__crm { font-family: "Montserrat Thin", Sans-serif; font-weight: 700; color: #333; display: flow-root; }
.sobre-corpo { display: flex; flex-direction: row; padding-top: 10px; padding-bottom: 10px; }
.sobre-corpo__foto, .sobre-corpo__texto { width: 50%; padding: 10px; display: flex; flex-direction: column; gap: 20px; }
.sobre-corpo__foto { text-align: center; }
.sobre-corpo__foto img { display: inline-block; vertical-align: middle; }
.sobre-corpo__chamada h2 { margin: 0; font-family: "Montserrat", Sans-serif; font-size: 16px; font-weight: 600; line-height: 1; color: var(--ouro); }
.sobre-corpo__intro { font-family: "Montserrat Thin", Sans-serif; font-weight: 700; font-style: normal; color: #000; display: flow-root; }
.acordeao--sobre .acordeao__item { border-width: 4px; }
.acordeao--sobre .acordeao__conteudo { border-width: 4px; background-color: #F7F7F7; color: #000; font-family: "Montserrat Thin", Sans-serif; font-weight: 700; font-style: normal; }
.acordeao--sobre .acordeao__titulo { background-color: #F7F7F7; }
.acordeao--sobre .acordeao__titulo.ativo { border-width: 4px; }
.acordeao--sobre .acordeao__texto, .acordeao--sobre .acordeao__icone { color: #000; font-family: "Montserrat", Sans-serif; font-weight: 500; text-transform: uppercase; font-style: normal; }
.acordeao--sobre .acordeao__icone svg { fill: #000; }
.acordeao--sobre .ativo .acordeao__texto, .acordeao--sobre .ativo .acordeao__icone { color: var(--ouro); }
.acordeao--sobre .ativo .acordeao__icone svg { fill: var(--ouro); }
.sobre-certificados { position: relative; padding: 40px; display: flex; flex-direction: column; gap: 20px; background: #FFF url('https://petrusraulino.com.br/wp-content/uploads/2020/04/sobre-section.jpg') no-repeat; background-size: cover; }
.sobre-certificados::before { content: ""; position: absolute; inset: 0; background-color: #FFF; opacity: .5; }
.sobre-certificados > * { position: relative; }
.sobre-certificados__titulo { text-align: center; }
.sobre-certificados__titulo h2 { margin: 0; font-family: "Montserrat", Sans-serif; font-size: 1.5em; font-weight: 600; line-height: 1; text-transform: uppercase; color: #000; }
.sobre-certificados__texto { font-family: "Montserrat Thin", Sans-serif; font-size: 1.3em; font-weight: 900; font-style: normal; color: #000; display: flow-root; }
.sobre-certificados__grade { max-width: calc(var(--caixa) + 20px); width: 100%; margin: 0 auto; padding: 10px; display: grid; grid-template-columns: repeat(4, 1fr); grid-template-rows: repeat(2, 1fr); justify-items: center; gap: 20px; }
.sobre-certificados__item { text-align: center; }
.sobre-certificados__item figure { margin: 0; }
.sobre-certificados__item img { display: inline-block; vertical-align: middle; }
.sobre-certificados__item figcaption { color: #58585A; font-family: "Montserrat", Sans-serif; font-size: 1em; font-weight: 700; }
@media (max-width: 767px) {
	.sobre-corpo { flex-direction: column; }
	.sobre-corpo__foto, .sobre-corpo__texto { width: 100%; }
	.sobre-certificados::before { opacity: .87; }
	.sobre-certificados__titulo h2 { font-size: 1.3em; }
	.sobre-certificados__texto { font-size: 1.2em; }
	.sobre-certificados__grade { grid-template-columns: 1fr; } /* as duas primeiras linhas continuam com a mesma altura, como no Elementor */
}

/* ==========================================================================
   Título das páginas internas (contêiner com o H1 em South Korea)
   ========================================================================== */
.pag-topo { margin-top: 50px; margin-bottom: 50px; padding-top: 10px; padding-bottom: 10px; }
.pag-titulo { text-align: center; }
.pag-titulo h1 { margin: 0; font-family: "South Korea", Sans-serif; font-size: 1.5em; font-weight: 600; line-height: 1; color: #58585A; }

/* ==========================================================================
   Expertise
   ========================================================================== */
.expertise-grade { max-width: var(--caixa); margin: 0 auto; display: grid; grid-template-columns: repeat(3, 1fr); align-items: center; gap: 20px; border-radius: 1px; }
.expertise-grade__item { padding: 20px; border: 1px solid; font-family: "Montserrat Thin", Sans-serif; font-weight: 700; color: #000; display: flow-root; }
.expertise-descubra { max-width: var(--caixa); margin: 0 auto; text-align: center; }
.expertise-descubra > div { display: flex; flex-direction: column; gap: 15px; }
.expertise-descubra > div > div:first-child { line-height: 0; }
.expertise-descubra svg { display: block; position: relative; width: 1em; height: 1em; fill: #58585A; }
.expertise-descubra > div > div:first-child a { display: inline-block; line-height: 1; font-size: 30px; color: #58585A; }
.expertise-descubra h3 { margin: 8px 0 16px; font-family: "Montserrat", Sans-serif; font-size: 1em; font-weight: 600; color: #58585A; }
.expertise-descubra h3 a, .expertise-descubra h3 a:hover { color: inherit; }
.expertise-detalhes { background-color: #F7F7F7; }
.expertise-detalhes__interno { display: flex; flex-direction: column; gap: 20px; padding-top: 10px; padding-bottom: 10px; }
.expertise-detalhes__titulo { padding: 20px; text-align: center; }
.expertise-detalhes__titulo p { margin: 0; font-family: "Montserrat", Sans-serif; font-weight: 600; line-height: 1; color: #000; }
.expertise-detalhes__lista { padding-bottom: 20px; font-family: "Montserrat Thin", Sans-serif; font-size: 1.2em; font-weight: 700; color: #58585A; display: flow-root; }
@media (max-width: 767px) {
	.expertise-grade { grid-template-columns: 1fr; }
	.expertise-detalhes__titulo p { font-size: 1.3em; }
}

/* ==========================================================================
   Abas (estilos-base das abas do Elementor) e Atendimentos
   ========================================================================== */
.pag-topo--atendimento { margin-bottom: 50px; }
.atendimento-abas { margin-bottom: 50px; padding-top: 10px; padding-bottom: 10px; }
.abas { text-align: start; }
.abas__lista { overflow: hidden; }
.abas__titulo { cursor: pointer; outline: none; font-family: "South Korea", Sans-serif; font-weight: 600; color: var(--ouro); }
.abas__titulo.ativa { color: #58585A; }
.abas__titulo--computador { display: table-cell; position: relative; padding: 20px 25px; line-height: 1; border: 1px solid transparent; }
.abas__titulo--computador.ativa { border-color: #d5d8dc; border-bottom-style: none; }
.abas__titulo--computador.ativa::before, .abas__titulo--computador.ativa::after { content: ""; display: block; position: absolute; height: 0; width: 999em; bottom: 0; border-bottom: 1px solid #d5d8dc; }
.abas__titulo--computador.ativa::before { right: 100%; }
.abas__titulo--computador.ativa::after { left: 100%; }
.abas__titulo--celular { display: none; padding: 10px; }
.abas__conteudo { padding: 20px; font-family: "Montserrat", Sans-serif; font-weight: 400; border: 1px solid #d5d8dc; border-top-style: none; display: flow-root; }
@media (max-width: 767px) {
	.abas__lista { display: none; }
	.abas__titulo--celular { display: block; font-size: 1em; border: 1px solid #d5d8dc; border-bottom-style: none; }
	.abas__conteudos { border-bottom: 1px solid #d5d8dc; }
	.abas__conteudo { padding: 10px; border-bottom-style: none; border-top-style: solid; }
}

/* ==========================================================================
   Contato
   ========================================================================== */
.contato { display: flex; flex-direction: column; gap: 20px; padding-top: 10px; padding-bottom: 10px; }
.contato__titulo { margin-top: 50px; }
.contato__texto { font-family: "Montserrat", Sans-serif; font-weight: 400; display: flow-root; }
.contato__formulario { display: flow-root; }
.contato__formulario input:not([type=submit]), .contato__formulario textarea { background-color: #FFF; color: #000; }

/* ==========================================================================
   Como chegar
   ========================================================================== */
.localizacao { margin-top: 50px; margin-bottom: 20px; display: flex; flex-direction: column; gap: 20px; padding-top: 10px; padding-bottom: 10px; }
.localizacao__texto { font-family: "Montserrat", Sans-serif; font-weight: 400; display: flow-root; }
.localizacao__mapa { overflow: hidden; }
.localizacao__mapa > div { line-height: 0; }
.localizacao__mapa iframe { display: inline-block; width: 100%; max-width: 100%; height: 300px; margin: 0; border: none; line-height: 1; }

/* ==========================================================================
   Galeria justificada (CSS da E-Gallery do Elementor; posições vêm do site.js)
   ========================================================================== */
.galeria { --hgap: 10px; --vgap: 10px; position: relative; display: flex; flex-wrap: wrap; padding-bottom: calc(var(--container-aspect-ratio) * 100%); }
.galeria__item { position: absolute; flex: 0 0 auto; display: block; width: calc(var(--item-width) * (100% - var(--hgap) * var(--gap-count))); height: var(--item-height); top: calc(var(--item-top) + (var(--row) * var(--vgap))); left: calc(var(--item-start) * (100% - var(--hgap) * var(--gap-count)) + var(--hgap) * var(--item-row-index)); }
.galeria__imagem { width: 100%; height: 100%; background-position: center center; background-size: cover; transform-origin: center top; transition: 800ms; }
.galeria__capa { position: absolute; inset: 0; transition-duration: 800ms; }
.galeria__item:hover .galeria__capa, .galeria__item:focus .galeria__capa { background-color: rgba(0, 0, 0, .5); }

/* janela de fotos em sequência (era o lightbox do Elementor) */
.janela--galeria { background: rgba(0, 0, 0, .8); color: rgba(237, 237, 237, .9); }
.janela--galeria img { max-width: calc(100% - 140px); max-height: calc(100vh - 168px); border-radius: 2px; box-shadow: 0 0 30px rgba(0, 0, 0, .3), 0 0 8px -5px rgba(0, 0, 0, .3); }
.janela__topo { position: absolute; top: 0; left: 0; right: 0; height: 60px; display: flex; align-items: center; padding: 15px 52px 15px 20px; font-size: 20px; }
.janela__contador { font-size: 15px; }
.janela--galeria .janela__fechar { top: 8px; right: 8px; color: rgba(237, 237, 237, .9); }
.janela__seta { position: absolute; top: 0; bottom: 0; width: 15%; display: flex; align-items: center; background: transparent; border: 0; padding: 0; cursor: pointer; }
.janela__seta::before { content: ""; width: 18px; height: 18px; border-left: 3px solid rgba(237, 237, 237, .9); border-bottom: 3px solid rgba(237, 237, 237, .9); }
.janela__seta--anterior { left: 0; justify-content: center; }
.janela__seta--anterior::before { transform: rotate(45deg); }
.janela__seta--proxima { right: 0; justify-content: center; }
.janela__seta--proxima::before { transform: rotate(-135deg); }
.janela__titulo { position: fixed; left: 0; right: 0; bottom: 0; padding: 15px 20px; font-size: 16px; font-weight: 700; line-height: 1.5; }

/* ==========================================================================
   O Consultório
   ========================================================================== */
.consultorio-fotos { padding-top: 10px; padding-bottom: 10px; }
.consultorio-atalhos { display: grid; grid-template-columns: repeat(3, 1fr); align-items: center; gap: 20px; padding-top: 10px; padding-bottom: 10px; }
.consultorio-atalhos__botao a { display: block; padding: 12px 24px; border: 3px solid var(--ouro); border-radius: 1px; background-color: #FFF; color: var(--ouro) !important; fill: var(--ouro); font-family: "Montserrat", Sans-serif; font-size: 15px; font-weight: 700; line-height: 1; text-align: center; transition: all .3s; }
.consultorio-atalhos__botao:nth-child(2) a { border-radius: 3px; }
.consultorio-atalhos__botao a > span { display: flex; justify-content: center; gap: 15px; }
.consultorio-atalhos__botao a > span > span:first-child { display: flex; }
.consultorio-atalhos__botao svg { display: block; width: 1em; height: 1em; }
.consultorio-texto { padding-top: 10px; padding-bottom: 10px; }
.consultorio-texto__colunas { font-family: "Montserrat Thin", Sans-serif; font-weight: 900; font-style: normal; color: #000; display: flow-root; }
.consultorio-video { display: flex; flex-direction: column; justify-content: center; gap: 20px; padding-top: 10px; padding-bottom: 10px; }
.consultorio-video__titulo { margin: 20px 0; text-align: center; }
.consultorio-video__titulo span { font-family: "South Korea", Sans-serif; font-size: 1.5em; font-weight: 600; line-height: 1; color: #58595A; }
.consultorio-video__player { aspect-ratio: 1.77777; overflow: hidden; line-height: 1; }
.consultorio-video__player iframe { display: flex; width: 100%; height: 100%; border: 0; background-color: #000; }
.consultorio-video__legenda { font-family: "Montserrat", Sans-serif; font-size: 18px; font-weight: 400; font-style: normal; color: #888890; display: flow-root; }
.consultorio-fim { height: 20px; }
@media (max-width: 767px) {
	.consultorio-atalhos { grid-template-columns: 1fr; }
	.consultorio-atalhos__botao a { font-size: 1em; }
}

/* ==========================================================================
   Blog (o antigo widget de posts do Elementor)
   ========================================================================== */
.blog-topo { margin-top: 50px; display: flex; flex-direction: column; align-items: center; gap: 20px; padding-top: 10px; padding-bottom: 10px; }
.blog-topo__chamada span { font-family: "Playfair Display", Sans-serif; line-height: 1; color: var(--ouro); }
.blog-busca { padding-top: 10px; padding-bottom: 10px; }
.busca-form { display: flex; min-height: 50px; overflow: hidden; border-radius: 3px; background-color: #F1F2F3; border: 0 solid transparent; }
.busca-form .busca-form__campo { flex: 1 1 auto; min-width: 0; height: auto; margin: 0; padding: 0 calc(50px / 3); border: 0 !important; border-radius: 3px; outline: 0; background: transparent; color: var(--texto); font-family: "Montserrat Thin", Sans-serif; font-size: 15px; line-height: 1; -webkit-appearance: none; appearance: none; }
.busca-form__campo::placeholder { color: #7a7a7a; }
.busca-form__botao { flex: 0 0 auto; display: flex; align-items: center; justify-content: center; min-width: 50px; padding: 0; border: 0; border-radius: 0; background-color: #54595F; color: #FFF; font-family: "Montserrat Thin", Sans-serif; font-size: 16px; }
.busca-form__botao svg { display: block; width: 16px; height: 16px; fill: #FFF; }
.blog-corpo { padding-top: 50px; padding-bottom: 80px; }
.blog-corpo__interno { display: flex; flex-direction: row; gap: 10px; }
.blog-lista { flex: 0 0 64.184%; width: 64.184%; padding: 10px; display: flex; flex-direction: column; gap: 20px; }
.blog-lateral { flex: 0 0 33.3333%; width: 33.3333%; display: flex; flex-direction: column; gap: 20px; }
.blog-lateral__fixa { position: sticky; top: 0; }
.artigos { display: grid; grid-template-columns: 1fr; column-gap: 25px; row-gap: 20px; }
.artigos--lado { row-gap: 15px; }
.artigo { display: flex; flex-direction: column; overflow: hidden; text-align: left; }
.artigo__imagem { position: relative; display: block; width: 100%; margin-bottom: 20px; }
.artigo__moldura { position: relative; overflow: hidden; padding-bottom: 60%; border-radius: 30px; }
.artigo__moldura img { position: absolute; top: calc(50% + 1px); left: calc(50% + 1px); display: block; width: 100%; height: auto; max-width: none; max-height: none; transform: scale(1.01) translate(-50%, -50%); transition: filter .3s; }
.artigo__moldura.encaixe-altura img { width: auto; height: 100%; }
.artigo__texto { display: block; flex-grow: 1; width: 100%; }
.artigo__titulo { margin: 0 0 10px; font-size: 18px; font-weight: 400; line-height: 1.2; color: var(--secundaria); }
.artigo__titulo a, .artigo__titulo a:hover { color: var(--secundaria); }
.artigo__meta { margin-bottom: 13px; font-family: "Lato", Sans-serif; font-size: 12px; line-height: 1.3em; color: #ADADAD; }
.artigo__meta span + span::before { content: "-"; }
.artigo__resumo { margin-bottom: 10px; }
.artigo__resumo p { margin: 0; font-family: "Montserrat Thin", Sans-serif; font-size: 14px; line-height: 1.5em; color: #777; }
.artigos--lado .artigo { flex-direction: row; }
.artigos--lado .artigo__imagem { flex-shrink: 0; width: 23%; margin: 0 20px 0 0; }
.artigos--lado .artigo__moldura { padding-bottom: 91%; border-radius: 15px; }
.artigos--lado .artigo__titulo { margin-bottom: 3px; }
.artigos__mais { margin-top: 10px; }
.artigos__botao { display: inline-block; padding: 12px 24px; border-radius: 3px; background-color: #58585A; color: #FFF !important; font-family: "Montserrat Thin", Sans-serif; font-size: 15px; font-weight: 700; line-height: 1; text-align: center; }
.artigos__botao.carregando { opacity: .5; pointer-events: none; }
@media (max-width: 1024px) {
	.blog-corpo { padding: 100px 0 80px; }
	.artigos--topo { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 767px) {
	.blog-corpo__interno { flex-wrap: wrap; }
	.blog-lista, .blog-lateral { flex: 0 0 100%; width: 100%; }
	.blog-lateral__fixa { position: static; padding: 10px; }
	.artigos--topo { grid-template-columns: 1fr; }
	.artigos--topo .artigo__moldura { padding-bottom: 50%; }
	.artigos--lado .artigo__imagem { width: 30%; }
	.artigos--lado .artigo__moldura { padding-bottom: 92%; }
}

/* ==========================================================================
   Principal (versão anterior do Início, ainda no ar em /principal/)
   ========================================================================== */
.ini-instagram { margin-top: 50px; margin-bottom: 50px; display: flex; flex-direction: column; gap: 20px; padding-top: 10px; padding-bottom: 10px; }
.ini-instagram__titulo { text-align: center; }
.ini-instagram__titulo h2 { margin: 0; font-family: "South Korea", Sans-serif; font-size: 2em; font-weight: 600; line-height: 1; color: #58585A; }
.ini-instagram__feed { margin-bottom: 50px; }
@media (max-width: 767px) {
	.ini-instagram__titulo h2 { font-size: 1.5em; }
}

/* ==========================================================================
   Psiquiatra especializado em transtorno bipolar
   ========================================================================== */
.bipolar { display: flex; flex-direction: column; gap: 20px; padding-top: 10px; padding-bottom: 10px; }
.bipolar__titulo { margin: 50px 0; text-align: center; }
.bipolar__titulo h1 { margin: 0; font-family: "Playfair Display", Sans-serif; font-size: 40px; font-weight: 400; line-height: 1; color: var(--ouro); }
.bipolar__conteudo { font-family: "Montserrat", Sans-serif; color: #000; }
.bipolar-linha { padding-top: 10px; padding-bottom: 10px; }
.bipolar-linha--duas { display: flex; flex-direction: row; align-items: center; }
.bipolar-linha--texto { display: flex; flex-direction: column; gap: 20px; }
.bipolar-coluna { width: 50%; padding: 10px; display: flex; flex-direction: column; gap: 20px; }
.bipolar-coluna--inteira { width: 100%; }
.bipolar__migalhas { margin: 0; text-align: center; font-family: "Montserrat", Sans-serif; font-size: 1em; color: var(--ouro); }
.bipolar-coluna--texto { font-family: "Montserrat", Sans-serif; font-size: 1em; font-weight: 400; color: #58585A; display: flow-root; }
.bipolar-coluna--titulo h2, .bipolar-titulo-central h2, .bipolar-titulo-central h3 { margin: 0; font-family: "Playfair Display", Sans-serif; font-weight: 400; line-height: 1; color: var(--ouro); }
.bipolar-coluna--titulo h2, .bipolar-titulo-central h2 { font-size: 32px; }
.bipolar-titulo-central h3 { font-size: 28px; }
.bipolar-coluna--titulo, .bipolar-titulo-central { text-align: center; }
.bipolar-linha--duas:nth-child(3) .bipolar-coluna--titulo { text-align: start; }
.bipolar-contato { display: flex; flex-direction: column; gap: 20px; padding-top: 10px; padding-bottom: 10px; }
.bipolar-contato__titulo { margin-top: 50px; text-align: center; }
.bipolar-contato__titulo span { font-family: "South Korea", Sans-serif; font-size: 1.5em; font-weight: 600; line-height: 1; color: #58585A; }
@media (max-width: 767px) {
	.bipolar-linha--duas { flex-wrap: wrap; }
	.bipolar-coluna { width: 100%; }
	.bipolar__titulo h1 { font-size: 30px; }
}

/* ==========================================================================
   Páginas comuns que eram montadas no Elementor (política, "How To Get",
   aula do congresso e a "homepage" antiga)
   ========================================================================== */
.pagina-bloco { display: flex; flex-direction: column; gap: 20px; padding-top: 10px; padding-bottom: 10px; }
.pagina-bloco--vazio { min-height: 20px; }
.pagina-texto { display: flow-root; }
.pagina-texto--politica { font-weight: 600; color: #58585A; }
.como-chegar__nome { text-align: center; }
.como-chegar__nome h1 { margin: 0; font-family: "Playfair Display", Sans-serif; font-size: 40px; font-weight: 400; line-height: 1; color: var(--ouro); }
.como-chegar__texto { font-weight: 700; }
.como-chegar__linha { flex-direction: row; gap: 0; }
.como-chegar__coluna { width: 50%; padding: 10px; display: flex; flex-direction: column; gap: 20px; }
.como-chegar__selo { align-self: center; }
.como-chegar__selo > div { margin: 50% 0 0; }
.pagina-video { aspect-ratio: 1.77777; overflow: hidden; line-height: 1; }
.pagina-video iframe { display: flex; width: 100%; height: 100%; border: 0; background-color: #000; }
.homepage-antiga__fundo { position: fixed; top: 0; left: 0; width: 100%; min-height: 100vh; background-position: center center; background-repeat: repeat; } /* tamanho natural, como no Elementor (sem "cover") */
.homepage-antiga__textos { position: relative; }
.homepage-antiga__chapeu, .homepage-antiga__nome, .homepage-antiga__descubra, .homepage-antiga__seta { text-align: center; }
.homepage-antiga__chapeu h3 { margin: 0; font-family: "Montserrat", Sans-serif; font-size: 28px; font-weight: 600; line-height: 1; color: #FFF; }
.homepage-antiga__nome h1 { margin: 0; font-family: "South Korea", Sans-serif; font-size: 46px; font-weight: 600; line-height: 1; color: #FFF; text-shadow: 0 0 16px rgba(0, 0, 0, .89); }
.homepage-antiga__descubra span { font-family: "Montserrat", Sans-serif; font-size: 11px; font-weight: 600; line-height: 1; color: #FFF; }
.homepage-antiga__seta svg { vertical-align: middle; }
.homepage-antiga__seta svg { display: inline-block; width: 15px; height: 15px; fill: #FFF; }
@media (max-width: 767px) {
	.como-chegar__nome h1 { font-size: 30px; }
	.como-chegar__linha { flex-wrap: wrap; }
	.como-chegar__coluna { width: 100%; }
}
