/**
 * Cards de loja (carrossel "Nossas Lojas"): mesma altura em todos e botao sempre no fim do card.
 * Carregado depois do typography.css.
 */
.lojasHome .owl-stage {
	display: flex;
}

.lojasHome .owl-item {
	display: flex;
	height: auto !important;
}

.lojasHome .owl-item > .slider-item {
	width: 100%;
	height: 100%;
}

.lojasHome .itemloja {
	height: 100%;
	min-height: 12rem;
}

/* E-books: texto sempre branco sobre a foto */
.ebook-container .databook,
.ebook-container .databook h2,
.ebook-container .databook h3,
.ebook-container .databook p {
	color: #fff !important;
}

/* Eventos: todos os cards com a mesma altura (home, eventos e eventos por loja) */
#eventsContainer .owl-stage {
	display: flex;
}

#eventsContainer .owl-item {
	display: flex;
	height: auto !important;
}

#eventsContainer .owl-item > div,
#eventsContainer > .slider-item {
	width: 100%;
	height: 100%;
	min-height: 260px;
}

/* ===== Banner dos destinos (template-parts/components/banner-estudo.php) ===== */
.xp-hero-destino {
	position: relative;
	justify-content: flex-end !important;
	padding: 140px 0 64px;
	overflow: hidden;
}

/* escurece em degrade (esquerda e base) para o texto ler bem sobre qualquer foto */
.xp-hero-destino::before {
	content: "";
	position: absolute;
	inset: 0;
	background:
		linear-gradient(90deg, rgba(24, 7, 30, .80) 0%, rgba(24, 7, 30, .48) 42%, rgba(24, 7, 30, 0) 74%),
		linear-gradient(0deg, rgba(24, 7, 30, .60) 0%, rgba(24, 7, 30, 0) 52%);
	pointer-events: none;
}

.xp-hero-destino > * { position: relative; }

.xp-hero-destino .xp-hero__inner { gap: 0; }

.xp-hero__flag {
	width: 44px;
	height: 30px;
	object-fit: cover;
	border-radius: 4px;
	border: 2px solid rgba(255, 255, 255, .9);
	box-shadow: 0 4px 14px rgba(0, 0, 0, .35);
	margin-bottom: 18px;
}

.xp-hero-destino h1 {
	max-width: 640px !important;
	font-size: clamp(2.4rem, 4.4vw, 3.9rem) !important;
	line-height: 1.04 !important;
	letter-spacing: -.01em;
	margin-bottom: 14px !important;
	text-shadow: 0 2px 18px rgba(0, 0, 0, .35);
}

.xp-hero-destino .xp-hero__inner > p:not(.xp-hero__label) {
	max-width: 520px !important;
	font-size: 1.15rem !important;
	line-height: 1.5 !important;
	font-weight: 400 !important;
	color: rgba(255, 255, 255, .9) !important;
	margin-bottom: 28px !important;
}

.xp-hero__programs { max-width: 760px; }

.xp-hero__label {
	margin: 0 0 10px !important;
	font-size: .78rem !important;
	line-height: 1 !important;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, .72) !important;
}

.xp-hero__chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

/* "chips" de vidro, no mesmo estilo do menu */
.xp-hero__chip {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 9px 14px;
	border-radius: 4px;
	background: rgba(255, 255, 255, .14);
	border: 1px solid rgba(255, 255, 255, .30);
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
	color: #fff;
	font-size: .92rem;
	line-height: 1;
	white-space: nowrap;
	transition: background .18s ease, border-color .18s ease;
}

.xp-hero__chip:hover {
	background: rgba(255, 255, 255, .24);
	border-color: rgba(255, 255, 255, .55);
}

.xp-hero__chip-img {
	width: 22px;
	height: 22px;
	object-fit: cover;
	border-radius: 4px;
}

/* banner-estudo: altura menor (era 660px) e texto dentro da foto tambem no celular */
.xp-hero-destino.min-h-\[660px\] { min-height: 440px; padding-top: 128px; padding-bottom: 40px; }
@media (min-width: 1024px) {
	.xp-hero-destino.min-h-\[660px\] { min-height: 520px; padding-top: 140px; padding-bottom: 56px; }
}

/* ===== Banner das paginas internas (modules/slider-banner.php) ===== */
body:not(.home) .slider-container { margin-top: 0; }
body:not(.home) .slider-container .slider { max-height: none; }
body:not(.home) .slider-container .slide:not(:has(video)) {
	position: relative;
	height: auto !important;
	min-height: 440px !important;
	justify-content: flex-end !important;
	padding: 140px 0 56px;
	background-position: center 30% !important;
	box-sizing: border-box;
}
body:not(.home) .slider-container .slide:not(:has(video)) > .container {
	padding-top: 0;
	padding-bottom: 0;
	align-items: flex-start !important;
}
body:not(.home) .slider-container .slide:not(:has(video)) > .opacity-50.bg-black {
	inset: 0;
	opacity: 1;
	background:
		linear-gradient(90deg, rgba(24, 7, 30, .80) 0%, rgba(24, 7, 30, .48) 46%, rgba(24, 7, 30, 0) 76%),
		linear-gradient(0deg, rgba(24, 7, 30, .55) 0%, rgba(24, 7, 30, 0) 55%);
	pointer-events: none;
}
body:not(.home) .slider-container .slide h1 {
	max-width: 640px !important;
	margin: 0 0 14px;
	font-size: clamp(2.25rem, 4.4vw, 3.75rem);
	line-height: 1.04;
	letter-spacing: -.01em;
	text-shadow: 0 2px 18px rgba(0, 0, 0, .35);
}
body:not(.home) .slider-container .slide h2 {
	max-width: 560px !important;
	margin: 0;
	font-size: clamp(1.0625rem, 1.5vw, 1.25rem);
	line-height: 1.5;
	font-weight: 400;
	color: rgba(255, 255, 255, .92);
	white-space: pre-line;
}
@media (max-width: 1023px) {
	body:not(.home) .slider-container .slide:not(:has(video)) {
		min-height: 400px !important;
		padding: 120px 0 32px;
	}
	body:not(.home) .slider-container .slide:not(:has(video)) > .container { padding-inline: 20px; }
}

/* quebras <br> que o editor insere entre os blocos criavam vaos irregulares de ~60px */
.entry-content .wp-block-column:has(> .slider-container) > br { display: none; }

/* ===== Institucional (Quem somos) ===== */

/* banner: a escala tipografica forca h1/h2 com !important; o subtitulo do banner nao pode pesar quase como o titulo */
body:not(.home) .slider-container .slide h1 { font-size: clamp(2.25rem, 4.4vw, 3.75rem) !important; line-height: 1.04 !important; }
body:not(.home) .slider-container .slide h2 { font-size: clamp(1.0625rem, 1.5vw, 1.25rem) !important; line-height: 1.5 !important; }

/* <br> soltos do editor entre as secoes criavam vaos irregulares */
main#main > br { display: none; }

/* cards de programas / diferenciais: grade na largura do container (era 75%) e ultimo card orfao centralizado */
main .container > .grid.md\:grid-cols-3.w-3\/4 { width: 100%; max-width: 1040px; }
@media (min-width: 768px) {
	main .container > .grid.md\:grid-cols-3.w-3\/4 > :last-child:nth-child(3n + 1) { grid-column: 2; }
}
@media (max-width: 767px) {
	main .container > .grid.md\:grid-cols-3.w-3\/4 { padding-inline: 16px; }
}

/* selo de idade ("A partir de 12 anos") era cortado pela altura fixa h-6 */
.xp-card-badge { width: auto !important; height: auto !important; flex: 0 0 auto; }
.xp-card-badge > span { white-space: nowrap; }
.grid.md\:grid-cols-3 > div > .flex.justify-between { gap: 12px; align-items: flex-start; }

/* carrossel "Conheca os programas": no celular cada slide media 665px num container de 307px e o texto saia cortado */
#destino-slider .slider-full { flex: 0 0 100%; width: 100%; }
#destino-slider .slider-item { flex: 0 0 100%; min-width: 100%; }
#destino-slider .slider-item > * { min-width: 0; }
@media (max-width: 1279px) {
	#destino-slider .slider-item { gap: 24px; min-height: 0; }
	#destino-slider .slider-item h4 { font-size: 2rem !important; line-height: 1.15 !important; }
	#destino-slider .slider-item p { font-size: 1.125rem; line-height: 1.45; }
	#destino-slider .slider-item > div:last-child { min-height: 280px; }
}

/* Cartoes informativos (bloco com titulo roxo): no desktop deixam de ficar presos em 280px; ate 480px cada, dividindo a linha. */
@media (min-width: 1024px) {
	.px-2.flex > [class~="lg:max-w-[280px]"]:has(> h2.text-purple) { max-width: 480px; flex: 1 1 0; min-width: 0; }
}

/* ===== Banners: padrao unico ===== */
/* O mega menu ja entrega 520/420 aos banners filhos diretos de #main; nos que ficam aninhados em colunas do editor
   (paginas em blocos) valia 440 e ainda sobrava o respiro de 100px do body. Aqui os dois passam a seguir o mesmo padrao. */
body:not(.home) .entry-content > .wp-block-columns:first-child .wp-block-column:first-child > .slider-container .slide:not(:has(video)) {
	min-height: 520px !important;
	padding: 132px 0 56px;
	background-position: 50% 22% !important;
}
@media (max-width: 1023px) {
	body:not(.home) .entry-content > .wp-block-columns:first-child .wp-block-column:first-child > .slider-container .slide:not(:has(video)) {
		min-height: 420px !important;
		padding: 96px 0 32px;
	}
}
body.xp-mm-on:not(.home):has(.entry-content > .wp-block-columns:first-child .wp-block-column:first-child > .slider-container) { padding-top: 0 !important; }

/* banner cadastrado com o "pixel_preto.png" (1x1) no lugar da foto: fundo da marca em vez de tela preta */
body:not(.home) .slider-container .slide[style*="pixel_preto"] {
	background-color: #3b1245;
	background-image: linear-gradient(135deg, #5e1a69 0%, #812990 55%, #b04bbd 100%) !important;
}

/* banners que sao arte/logotipo (nao foto): sem o degrade lateral que escurece o desenho e sem recorte do centro */
body:not(.home) .slider-container .slide[style*="banner_experimento_reduzido"],
body:not(.home) .slider-container .slide[style*="EXPERT-TALKS-LIVE"] { background-position: 50% 50% !important; }
body:not(.home) .slider-container .slide[style*="banner_experimento_reduzido"] > .opacity-50.bg-black,
body:not(.home) .slider-container .slide[style*="EXPERT-TALKS-LIVE"] > .opacity-50.bg-black {
	background: linear-gradient(0deg, rgba(24, 7, 30, .55) 0%, rgba(24, 7, 30, 0) 45%);
}

/* banner-estudo / faq: mesmo tratamento do hero de destino (fundo escuro sob o texto, texto embaixo, sem foto = degrade da marca) */
section#slider.xp-hero-destino { position: relative; overflow: hidden; background-color: #2b0d33; background-position: 50% 22% !important; }
section#slider.xp-hero-destino::before {
	content: "";
	position: absolute;
	inset: 0;
	background:
		linear-gradient(90deg, rgba(24, 7, 30, .78) 0%, rgba(24, 7, 30, .44) 46%, rgba(24, 7, 30, 0) 78%),
		linear-gradient(0deg, rgba(24, 7, 30, .62) 0%, rgba(24, 7, 30, 0) 55%);
	pointer-events: none;
}
section#slider.xp-hero-destino > * { position: relative; }
section#slider.xp-hero-destino.min-h-\[660px\] { justify-content: flex-end; }
section#slider.xp-hero-destino.xp-hero-destino--sem-foto { background-image: linear-gradient(135deg, #5e1a69 0%, #812990 55%, #b04bbd 100%); }

/* Cards cinzas do celular (modulo Pioneira: 60 anos, Premiada...) no padrao "Principais aprendizados" do blog:
   fundo --xp-purple-100 (#F3E9F5), raio 4px, respiro 22px 20px no celular. No desktop continuam sem fundo (lg:bg-transparent). */
@media (max-width: 1023px) {
	.xp-card-lilas { background-color: #F3E9F5; border-radius: 4px; padding: 22px 20px; }
}

/* ===== Programas de Ferias (/estudo/programas-de-ferias/) - escopo: body.pg-programas-de-ferias ===== */
.pg-programas-de-ferias .entry-content .wp-block-column {
	--pf-roxo: #812990;
	--pf-suave: #F3E9F5;
	--pf-linha: #e6dce9;
	--pf-texto: #4B5563;
	--pf-gap: 64px;
	--pf-pad: 24px;
}
@media (max-width: 767px) {
	.pg-programas-de-ferias .entry-content .wp-block-column { --pf-gap: 44px; --pf-pad: 16px; }
}

/* ritmo: toda secao com o mesmo respiro vertical (antes: my-3/my-4/my-10/py-10/py-16 misturados) */
.pg-programas-de-ferias .entry-content .wp-block-column > :is(section, div):not(:where(.slider-container, .btnwhats, .container)) {
	margin-block: 0;
	padding-block: var(--pf-gap);
}
/* grade unica: todo bloco na mesma largura e bordas (antes 88/112/124/128/132/136px) */
.pg-programas-de-ferias .entry-content .wp-block-column > .container,
.pg-programas-de-ferias .entry-content .wp-block-column > :is(section, div) > .container,
.pg-programas-de-ferias .entry-content .wp-block-column > div > .lg\:container {
	width: 100%;
	max-width: 1280px;
	margin-inline: auto;
	padding-inline: var(--pf-pad);
	box-sizing: border-box;
}
.pg-programas-de-ferias .entry-content .wp-block-column > .container { margin-block: 12px; }
.pg-programas-de-ferias .entry-content .wp-block-column > :is(section, div) > .container { margin-block: 0; padding-block: 0; }
.pg-programas-de-ferias .entry-content .wp-block-column > :is(section, div) .container .container { max-width: none; padding-inline: 0; }
.pg-programas-de-ferias .entry-content .wp-block-column > :is(section, div) .owl-carousel { padding-inline: 0; }
.pg-programas-de-ferias .entry-content .wp-block-column > :is(section, div) .px-2.flex { padding-inline: 0; }

/* fileiras de cartoes de programa: o vao entre as duas fileiras e o do grid, nao dois paddings de secao */
.pg-programas-de-ferias .entry-content .wp-block-column > section:has(> .container > .flex.items-stretch > a) { padding-bottom: 12px; }
.pg-programas-de-ferias .entry-content .wp-block-column > section:has(> .container > .flex.items-stretch > a) + br + section:has(> .container > .flex.items-stretch > a) { padding-top: 12px; }
.pg-programas-de-ferias .entry-content .wp-block-column > section:has(> .container > .flex.items-stretch > a):has(+ br + section#programa) { padding-bottom: var(--pf-gap); }

/* titulos soltos ("Descubra os diferenciais...", "Escolha o tipo...") colam no conteudo que anunciam */
.pg-programas-de-ferias .entry-content .wp-block-column > section:has(> .container > h2:only-child) { padding-bottom: 0; }
.pg-programas-de-ferias .entry-content .wp-block-column > section:has(> .container > h2:only-child) + br + section { padding-top: 32px; }
/* introducao: largura de leitura e respiro */
.pg-programas-de-ferias .entry-content .wp-block-column > section:has(> .container > h2 + p) { padding-bottom: 0; }
.pg-programas-de-ferias .entry-content .wp-block-column > section > .container > p { max-width: 62rem; margin-inline: auto; font-size: clamp(1.0625rem, 1.5vw, 1.25rem) !important; line-height: 1.6 !important; color: var(--pf-texto); }

/* titulos de secao: mesma escala e mesma cor em toda a pagina (alguns eram pretos, outros roxos) */
.pg-programas-de-ferias .entry-content .wp-block-column > :is(section, div) :is(h2.text-4xl, h2.text-3xl.lg\:text-4xl, h2.text-2xl.lg\:text-4xl) {
	font-size: clamp(1.75rem, 3vw, 2.25rem) !important;
	line-height: 1.15 !important;
	color: var(--pf-roxo) !important;
	margin-block: 0 12px;
}
.pg-programas-de-ferias .entry-content .wp-block-column > section > .container > h2.text-4xl:only-child { margin-bottom: 0; }

/* cartoes (diferenciais e tipos de programa): mesma altura, titulo em escala de cartao, texto legivel */
.pg-programas-de-ferias .entry-content .wp-block-column > section > .container > .flex.items-stretch { gap: 24px; }
.pg-programas-de-ferias .entry-content .wp-block-column > section > .container > .flex.items-stretch > :is(div, a) {
	border: 1px solid var(--pf-linha);
	border-radius: 4px;
	box-shadow: none;
	overflow: hidden;
	background: #fff;
}
.pg-programas-de-ferias .entry-content .wp-block-column > section > .container > .flex.items-stretch > :is(div, a):hover { box-shadow: 0 6px 18px rgba(129, 41, 144, .12); }
.pg-programas-de-ferias .entry-content .wp-block-column > section > .container > .flex.items-stretch > :is(div, a) h2 {
	font-size: 1.375rem !important;
	line-height: 1.25 !important;
	margin: 12px 0 8px;
}
.pg-programas-de-ferias .entry-content .wp-block-column > section > .container > .flex.items-stretch > :is(div, a) p { font-size: .9375rem; line-height: 1.6; color: var(--pf-texto); }
.pg-programas-de-ferias .entry-content .wp-block-column > section > .container > .flex.items-stretch > a > div { padding: 8px 16px 20px; }
.pg-programas-de-ferias .entry-content .wp-block-column > section > .container > .flex.items-stretch > a img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; }
@media (min-width: 1024px) {
	.pg-programas-de-ferias .entry-content .wp-block-column > section > .container > .flex.items-stretch > a[class~="lg:max-w-[280px]"] { max-width: none; flex: 1 1 0; min-width: 0; }
}
.pg-programas-de-ferias .entry-content .wp-block-column > section > .container > .flex.items-stretch > div > img[src$=".svg"] { width: 48px; height: 48px; }
@media (max-width: 1023px) {
	.pg-programas-de-ferias .entry-content .wp-block-column > section > .container > .flex.items-stretch { gap: 16px; }
}

/* "Como funciona": foto proporcional (era 485px de altura no desktop e 460px no celular) e texto no tamanho de leitura */
.pg-programas-de-ferias .entry-content .wp-block-column #destino1-slider img { width: 100%; max-height: 440px; object-fit: cover; border-radius: 4px; }
.pg-programas-de-ferias .entry-content .wp-block-column #destino1-slider .item2 span { font-size: 1.0625rem !important; line-height: 1.6; }
.pg-programas-de-ferias .entry-content .wp-block-column #destino1-slider .item2 h2 { font-size: clamp(1.5rem, 2.4vw, 2rem) !important; line-height: 1.2 !important; }
.pg-programas-de-ferias .entry-content .wp-block-column #destino1-slider .item2 > div { gap: 16px !important; }
@media (max-width: 1023px) {
	.pg-programas-de-ferias .entry-content .wp-block-column #destino1-slider img { max-height: 280px; }
}

/* Expert Talks: faixa suave seguida de outra faixa suave (eventos) nao soma dois respiros */
.pg-programas-de-ferias .entry-content .wp-block-column > section#programa { padding-bottom: 0; }
.pg-programas-de-ferias .entry-content .wp-block-column > div > .lg\:container.bg-\[\#FAFAFA\] { background: transparent; }

/* Expert Talks */
.pg-programas-de-ferias .entry-content .wp-block-column #programa > .container > .flex { border: 1px solid var(--pf-linha); box-shadow: none; overflow: hidden; }
@media (max-width: 1023px) {
	.pg-programas-de-ferias .entry-content .wp-block-column #programa > .container > .flex > div:first-child { padding: 24px; }
}

/* faixas de fundo na mesma cor suave do padrao moderno */
.pg-programas-de-ferias .entry-content .wp-block-column > .bg-\[\#FAFAFA\], .pg-programas-de-ferias .entry-content .wp-block-column > section.bg-\[\#FAFAFA\], .pg-programas-de-ferias .entry-content .wp-block-column > .bg-gray-100 { background: var(--pf-suave); }

/* eventos: data e hora nao quebram mais letra a letra quando o titulo e longo */
.pg-programas-de-ferias .entry-content .wp-block-column #eventsContainer .owl-item > div > div:first-child { gap: 8px; }
.pg-programas-de-ferias .entry-content .wp-block-column #eventsContainer .owl-item > div > div:first-child > div:first-child { flex: 1 1 auto; min-width: 0; }
.pg-programas-de-ferias .entry-content .wp-block-column #eventsContainer .owl-item > div > div:first-child > div:last-child { flex: 0 0 auto; white-space: nowrap; align-items: center; }

/* blog: no celular o card seguinte aparece em "espiada" e para no card (antes cortava o texto no meio) */
@media (max-width: 1023px) {
	.pg-programas-de-ferias .entry-content .wp-block-column .slider.flex { scroll-snap-type: x mandatory; scroll-padding-inline: 0; }
	.pg-programas-de-ferias .entry-content .wp-block-column .slider.flex > .slider-item { flex: 0 0 84%; min-width: 0; scroll-snap-align: start; }
}

/* depoimento: largura de leitura (linhas de ~170 caracteres) */
.pg-programas-de-ferias .entry-content .wp-block-column .experimentoHome .slider-item > div { max-width: 980px; margin-inline: auto; }
.pg-programas-de-ferias .entry-content .wp-block-column .experimentoHome .slider-item .text-left { font-size: 1.0625rem; line-height: 1.65; }

/* e-books: titulo em duas linhas hierarquicas (a escala global deixava as duas em 30px) */
.pg-programas-de-ferias .entry-content .wp-block-column .ebook-container .databook h2:first-child { font-size: 1rem !important; line-height: 1.3 !important; }
.pg-programas-de-ferias .entry-content .wp-block-column .ebook-container .databook h2:nth-child(2) { font-size: 1.5rem !important; line-height: 1.15 !important; }

/* FAQ: coluna do titulo larga o bastante para nao quebrar "Duvidas / frequentes" e pergunta legivel */
@media (min-width: 1024px) {
	.pg-programas-de-ferias .entry-content .wp-block-column .container:has(.faq-item) > .flex > .lg\:w-2\/12 { width: 28%; }
	.pg-programas-de-ferias .entry-content .wp-block-column .container:has(.faq-item) > .flex > .lg\:w-10\/12 { width: 72%; }
}
.pg-programas-de-ferias .entry-content .wp-block-column .faq-item h2 { font-size: 1.0625rem !important; line-height: 1.4 !important; }
.pg-programas-de-ferias .entry-content .wp-block-column .container:has(.faq-item) > .flex > div:first-child h2 { font-size: clamp(1.75rem, 3vw, 2.25rem) !important; line-height: 1.15 !important; color: var(--pf-roxo); }

/* Programas de Ferias: texto em cinza #4B5563 e titulos em --xp-ink (#2B2230), no lugar do preto puro. */
body.pg-programas-de-ferias { color: #4B5563; }
body.pg-programas-de-ferias .text-black { color: #2B2230; }
body.pg-programas-de-ferias .text-gray-700,
body.pg-programas-de-ferias .text-gray-600 { color: #4B5563; }
body.pg-programas-de-ferias :where(p.font-pill600bd, p.font-pill600lt, p.font-pill300lt):not([class*="text-white"]):not([class*="text-purple"]):not([class*="text-gray"]) { color: #2B2230; }

/* ===== Seguro Viagem (/viaje-tranquilo/seguro-viagem/) - escopo: body.pg-seguro-viagem. So estrutura/visual; nenhum texto alterado ===== */
.pg-seguro-viagem main { --sg-roxo: #812990; --sg-suave: #F3E9F5; --sg-linha: #e6dce9; --sg-texto: #4B5563; --sg-ink: #2B2230; --sg-gap: 64px; --sg-pad: 24px; color: var(--sg-texto); }
@media (max-width: 767px) { .pg-seguro-viagem main { --sg-gap: 44px; --sg-pad: 16px; } }
/* ritmo unico entre secoes (antes: py-18/py-12/my-10/my-1 misturados) */
.pg-seguro-viagem main > section.xp-block { padding-block: var(--sg-gap) 0; }
.pg-seguro-viagem main > section.xp-block > .container { margin-block: 0; padding-inline: var(--sg-pad); max-width: 1280px; box-sizing: border-box; }
.pg-seguro-viagem main > .editorblock { margin-block: 0; padding: 32px var(--sg-pad) 0; max-width: 1280px; box-sizing: border-box; }
.pg-seguro-viagem main > .editorblock > .container { padding-inline: 0; max-width: none; }
.pg-seguro-viagem main > .editorblock > .container > .flex { padding-inline: 0; gap: 24px; }
.pg-seguro-viagem main > br { display: none; }
.pg-seguro-viagem main > .container.flex-col:has(> .flex.justify-center > a) { padding: 40px var(--sg-pad) 0; }
.pg-seguro-viagem main > .container.flex-col > .flex.justify-center { margin-top: 0; }
.pg-seguro-viagem main > section#programa { padding-block: var(--sg-gap) 0; }
.pg-seguro-viagem main > section#programa > .container { margin-block: 0; padding: 0 var(--sg-pad); max-width: 1280px; box-sizing: border-box; }
.pg-seguro-viagem main > section#programa > .container > div:first-child { padding: 0 0 8px; }
.pg-seguro-viagem main > section#programa > .container > .container { padding-inline: 0; max-width: 880px; }
.pg-seguro-viagem main > section#programa > .container > .container > div { padding: 0; }
.pg-seguro-viagem main > section#programa > .container > .container > div > div { width: 100%; max-width: 880px; margin-inline: auto; }
.pg-seguro-viagem main > .container.px-3.text-center.my-10 { margin-block: var(--sg-gap) var(--sg-gap); padding-inline: var(--sg-pad); max-width: 1280px; box-sizing: border-box; }
/* titulos de secao: mesma escala e cor */
.pg-seguro-viagem main > section.xp-block h2.text-4xl,
.pg-seguro-viagem main > section#programa :is(h1, h2).text-4xl { font-size: clamp(1.75rem, 3vw, 2.25rem) !important; line-height: 1.15 !important; color: var(--sg-roxo) !important; margin-block: 0 12px; }
.pg-seguro-viagem main > section.xp-block p.text-2xl { font-size: clamp(1.0625rem, 1.5vw, 1.25rem); line-height: 1.6; color: var(--sg-texto); }
.pg-seguro-viagem main > section#programa p { color: var(--sg-texto); }
/* cartoes: mesma altura, borda suave, texto legivel */
.pg-seguro-viagem main > .editorblock .flex.items-stretch > div { border: 1px solid var(--sg-linha); box-shadow: none; border-radius: 4px; background: #fff; }
.pg-seguro-viagem main > .editorblock .flex.items-stretch > div h2 { color: var(--sg-roxo); }
.pg-seguro-viagem main > .editorblock .flex.items-stretch > div p { color: var(--sg-texto); font-size: .9375rem; line-height: 1.6; }
@media (min-width: 1024px) { .pg-seguro-viagem main > .editorblock .flex.items-stretch > div { flex: 1 1 0; max-width: none; min-width: 0; } }
@media (max-width: 1023px) { .pg-seguro-viagem main > .editorblock > .container > .flex { gap: 16px; } }
/* faixas informativas: lilas suave, sem sombra */
.pg-seguro-viagem main > .editorblock .bg-gray-200 { background: var(--sg-suave); box-shadow: none; border-radius: 4px; padding: 24px; }
.pg-seguro-viagem main > .editorblock .mt-6 { margin-top: 24px; }
.pg-seguro-viagem main > .editorblock .bg-gray-200 .text-gray-700,
.pg-seguro-viagem main > .editorblock .bg-gray-200 li { color: var(--sg-texto); }
.pg-seguro-viagem main > .editorblock .bg-gray-200 h3 { color: var(--sg-roxo); }
.pg-seguro-viagem main > .editorblock .bg-gray-200 p, .pg-seguro-viagem main > .editorblock .bg-gray-200 li { line-height: 1.6; }
/* CTA com destaque */
.pg-seguro-viagem main > .container.flex-col a.bg-purple-600 { padding: 14px 28px; font-size: 1rem; box-shadow: 0 4px 12px rgba(129,41,144,.25); }
/* cores */
.pg-seguro-viagem .text-black { color: var(--sg-ink); }
.pg-seguro-viagem .text-gray-700, .pg-seguro-viagem .text-gray-600 { color: var(--sg-texto); }
.pg-seguro-viagem main > .editorblock .bg-gray-200 > p:empty, .pg-seguro-viagem main > .editorblock p:empty { display: none; }

/* Breadcrumb: item da pagina ativa em cinza moderno (#4B5563), nao preto. Vale para os templates que usam a seta arrow-right.svg antes do item atual. */
img[src*="arrow-right.svg"] + p { color: #4B5563; }

/* ===== Universidades no Exterior (/estudo/universidades-no-exterior/) - escopo: body.pg-universidades-no-exterior ===== */
.pg-universidades-no-exterior main#main {
	--pu-roxo: #812990;
	--pu-suave: #F3E9F5;
	--pu-linha: #e6dce9;
	--pu-texto: #4B5563;
	--pu-titulo: #2B2230;
	--pu-gap: 64px;
	--pu-pad: 24px;
	overflow-x: clip;
}
@media (max-width: 767px) {
	.pg-universidades-no-exterior main#main { --pu-gap: 44px; --pu-pad: 16px; }
}
/* os <br> soltos entre as secoes somavam vaos irregulares */
.pg-universidades-no-exterior main#main > br { display: none; }

/* ritmo unico entre secoes */
.pg-universidades-no-exterior main#main > :is(section, div):not(.slider-container, .btnwhats, .container, .xp-block) {
	margin-block: 0;
	padding-block: var(--pu-gap);
}
/* grade unica de 1280px */
.pg-universidades-no-exterior main#main > :is(section, div) > .container,
.pg-universidades-no-exterior main#main > div > .lg\:container,
.pg-universidades-no-exterior main#main > div > .w-full {
	width: 100%;
	max-width: 1280px;
	margin-inline: auto;
	padding-inline: var(--pu-pad);
	box-sizing: border-box;
}
.pg-universidades-no-exterior main#main > :is(section, div) > .container { margin-block: 0; padding-block: 0; }
.pg-universidades-no-exterior main#main > :is(section, div) .container .container { max-width: none; padding-inline: 0; }

/* faixas de fundo no lilas suave do padrao moderno */
.pg-universidades-no-exterior main#main > section.bg-\[\#FAFAFA\],
.pg-universidades-no-exterior main#main > div.bg-\[\#FAFAFA\] { background: var(--pu-suave); }
.pg-universidades-no-exterior main#main > div > .lg\:container.bg-\[\#FAFAFA\] { background: transparent; }

/* titulos de secao: mesma escala e cor (eram pretos) */
.pg-universidades-no-exterior main#main > :is(section, div):not(.xp-block) :is(h1.text-4xl, h2.text-4xl, h2.text-3xl.lg\:text-4xl) {
	font-size: clamp(1.75rem, 3vw, 2.25rem) !important;
	line-height: 1.15 !important;
	color: var(--pu-roxo) !important;
	margin: 0 0 12px;
}
.pg-universidades-no-exterior main#main > section > .container > :is(h1, h2).text-4xl + p { max-width: 62rem; margin-inline: auto; font-size: clamp(1.0625rem, 1.5vw, 1.25rem) !important; line-height: 1.6 !important; color: var(--pu-texto); }
.pg-universidades-no-exterior main#main > section:has(> .container > h2 + p:last-child):not(#programa, .xp-block) { padding-bottom: 0; }

/* carrossel de apresentacao: foto proporcional e texto no tamanho de leitura */
.pg-universidades-no-exterior main#main #destino1-slider img { width: 100%; max-height: 440px; object-fit: cover; border-radius: 4px; }
.pg-universidades-no-exterior main#main #destino1-slider .item2 span { font-size: 1.0625rem !important; line-height: 1.6; color: var(--pu-texto); }
.pg-universidades-no-exterior main#main #destino1-slider .item2 h2 { font-size: clamp(1.5rem, 2.4vw, 2rem) !important; line-height: 1.2 !important; color: var(--pu-roxo); }
/* paragrafos e listas do carrossel (inclui os slides clonados do Owl) e texto do bloco de passo a passo: #4B5563 */
.pg-universidades-no-exterior main#main #destino1-slider :is(.owl-item, .owl-item.cloned) .item2 :is(p, li) { font-size: 1.0625rem; line-height: 1.6; color: var(--pu-texto); }
.pg-universidades-no-exterior main#main > section#programa .container p.mb-8 { color: var(--pu-texto); }
.pg-universidades-no-exterior main#main #destino1-slider .item2 > div { gap: 16px !important; }
@media (max-width: 1023px) { .pg-universidades-no-exterior main#main #destino1-slider img { max-height: 280px; } }

/* cartoes de pais: mesmo padrao dos cartoes do indice de destinos (xp-cidade): foto 4/3, nome em destaque, texto curto, mesma altura */
.pg-universidades-no-exterior main#main > section:has(> .container > .flex.items-stretch > a) { padding-block: 0; padding-top: 24px; }
.pg-universidades-no-exterior main#main > section:has(> .container > .flex.items-stretch > a) + br + section:has(> .container > .flex.items-stretch > a) { padding-top: 24px; }
.pg-universidades-no-exterior main#main > section:has(> .container > .flex.items-stretch > a):has(+ br + section#programa) { padding-bottom: var(--pu-gap); }
.pg-universidades-no-exterior main#main > section > .container > .flex.items-stretch {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: stretch;
	gap: 24px;
	padding-inline: 0;
	margin-top: 0;
}
.pg-universidades-no-exterior main#main > section > .container > .flex.items-stretch > a {
	flex: 0 0 calc((100% - 72px) / 4);
	max-width: none;
	min-width: 0;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	overflow: hidden;
	background: #fff;
	border: 1px solid var(--pu-linha);
	border-radius: 4px;
	box-shadow: none;
	text-decoration: none;
	transition: box-shadow .2s ease, border-color .2s ease;
}
.pg-universidades-no-exterior main#main > section > .container > .flex.items-stretch > a:is(:hover, :focus-visible) { box-shadow: 0 6px 18px rgba(129, 41, 144, .12); border-color: #cdb6d3; }
.pg-universidades-no-exterior main#main > section > .container > .flex.items-stretch > a:focus-visible { outline: 3px solid var(--pu-roxo); outline-offset: 2px; }
.pg-universidades-no-exterior main#main > section > .container > .flex.items-stretch > a:is([href=""], [href="#"]) { cursor: default; }
.pg-universidades-no-exterior main#main > section > .container > .flex.items-stretch > a > img { display: block; width: 100%; aspect-ratio: 4 / 3; height: auto; object-fit: cover; background: linear-gradient(135deg, #5e1a69, #812990 60%, #b04bbd); }
.pg-universidades-no-exterior main#main > section > .container > .flex.items-stretch > a > div { display: flex; flex-direction: column; gap: 8px; padding: 24px; flex: 1; align-items: stretch; justify-content: flex-start; }
.pg-universidades-no-exterior main#main > section > .container > .flex.items-stretch > a h2 { margin: 0; font-size: 1.375rem !important; line-height: 1.2 !important; color: var(--pu-roxo) !important; text-align: left; padding: 0; }
.pg-universidades-no-exterior main#main > section > .container > .flex.items-stretch > a p { margin: 0; padding: 0; font-size: .9375rem; line-height: 1.6; color: var(--pu-texto); text-align: left; }
@media (max-width: 1099px) {
	.pg-universidades-no-exterior main#main > section > .container > .flex.items-stretch > a { flex-basis: calc((100% - 24px) / 2); }
}
@media (max-width: 639px) {
	.pg-universidades-no-exterior main#main > section > .container > .flex.items-stretch > a { flex-basis: 100%; }
	.pg-universidades-no-exterior main#main > section > .container > .flex.items-stretch { gap: 16px; }
}

/* "Tudo o que voce precisa saber": titulo na escala da pagina e caixas com a mesma borda dos cartoes */
.pg-universidades-no-exterior main#main > section#programa > .container > p { max-width: 62rem; margin-inline: auto; color: var(--pu-texto); }
.pg-universidades-no-exterior main#main > section#programa h2.text-md,
.pg-universidades-no-exterior main#main > section#programa h2[class*="lg:text-2xl"] { font-size: 1.375rem !important; line-height: 1.25 !important; color: var(--pu-titulo) !important; margin-bottom: 16px; }
.pg-universidades-no-exterior main#main > section#programa .encontre-item h2 { color: var(--pu-roxo); }
.pg-universidades-no-exterior main#main > section#programa .encontre-content { color: var(--pu-texto); }

/* eventos: data e hora nao quebram quando o titulo e longo */
.pg-universidades-no-exterior main#main #eventsContainer .owl-item > div { border: 1px solid var(--pu-linha); box-shadow: none; }
.pg-universidades-no-exterior main#main #eventsContainer .owl-item > div > div:first-child { gap: 8px; }
.pg-universidades-no-exterior main#main #eventsContainer .owl-item > div > div:first-child > div:first-child { flex: 1 1 auto; min-width: 0; color: var(--pu-titulo); }
.pg-universidades-no-exterior main#main #eventsContainer .owl-item > div > div:first-child > div:last-child { flex: 0 0 auto; white-space: nowrap; align-items: center; }

/* e-books: titulo em duas linhas hierarquicas */
.pg-universidades-no-exterior main#main .ebook-container .databook h2:first-child { font-size: 1rem !important; line-height: 1.3 !important; }
.pg-universidades-no-exterior main#main .ebook-container .databook h2:nth-child(2) { font-size: 1.5rem !important; line-height: 1.15 !important; }

/* paginas filhas por pais (/estudo/universidades-no-exterior/<pais>/): texto e titulos sem preto puro */
.pgp-universidades-no-exterior .entry-content :is(p, li):not(.has-text-color, .has-base-color):not(:is(.has-background, .bg-purple, .wp-block-cover) *) { color: #4B5563; }
.pgp-universidades-no-exterior .entry-content :is(h2, h3):not(.has-text-color):not(:is(.has-background, .bg-purple, .wp-block-cover) *) { color: #812990; }

/* ===== Estudo com Trabalho (/trabalho/estudo-com-trabalho/) - escopo: body.pg-estudo-com-trabalho (conteudo vem direto no main, sem .wp-block-column) ===== */
.pg-estudo-com-trabalho #main {
	--pf-roxo: #812990;
	--pf-suave: #F3E9F5;
	--pf-linha: #e6dce9;
	--pf-texto: #4B5563;
	--pf-gap: 64px;
	--pf-band: 48px;
	--pf-pad: 24px;
}
@media (max-width: 767px) {
	.pg-estudo-com-trabalho #main { --pf-gap: 44px; --pf-band: 32px; --pf-pad: 16px; }
}
/* ritmo unico entre secoes */
.pg-estudo-com-trabalho #main > :is(section, div):not(:where(.slider-container, .btnwhats, .container)) { margin-block: 0; padding-block: var(--pf-gap); }
.pg-estudo-com-trabalho #main > section#programa:has(> .bg-gray-100) { padding-block: 0; }
.pg-estudo-com-trabalho #main > section#programa > .bg-gray-100 { padding: var(--pf-band) 0; background: var(--pf-suave); }
/* grade unica: mesma largura e bordas em todos os blocos */
.pg-estudo-com-trabalho #main > .container,
.pg-estudo-com-trabalho #main > :is(section, div) > .container,
.pg-estudo-com-trabalho #main > div > .lg\:container,
.pg-estudo-com-trabalho #main > section#programa > .bg-gray-100 > .container {
	width: 100%; max-width: 1280px; margin-inline: auto; padding-inline: var(--pf-pad); box-sizing: border-box;
}
.pg-estudo-com-trabalho #main > :is(section, div) > .container,
.pg-estudo-com-trabalho #main > section#programa > .bg-gray-100 > .container,
.pg-estudo-com-trabalho #main > div > .lg\:container { margin-block: 0; padding-block: 0; }
.pg-estudo-com-trabalho #main > :is(section, div) .container .container,
.pg-estudo-com-trabalho #main > div > .lg\:container .container { max-width: none; padding-inline: 0; }
.pg-estudo-com-trabalho #main > :is(section, div) .owl-carousel { padding-inline: 0; }
.pg-estudo-com-trabalho #main > .container.editorblock { margin-block: 0; padding-block: 0; }
.pg-estudo-com-trabalho #main > .container:has(.ebook-container),
.pg-estudo-com-trabalho #main > .container:has(.faq-item) { margin-block: var(--pf-gap); }
/* titulo da pagina colado na introducao; "Paises onde..." vira titulo de secao */
.pg-estudo-com-trabalho #main > section:has(> .container > h2:only-child) { padding-bottom: 0; }
.pg-estudo-com-trabalho #main > section:has(> .container > h2:only-child) + .editorblock { margin-top: 24px; }
.pg-estudo-com-trabalho #main > section:has(> .container > p:only-child) { padding-bottom: 28px; }
.pg-estudo-com-trabalho #main > section > .container > p:only-child { font-size: clamp(1.5rem, 2.4vw, 2rem) !important; line-height: 1.2; color: #2B2230; margin: 0; }
.pg-estudo-com-trabalho #main > section > .container > p:only-child { text-align: center; }
/* titulos de secao: mesma escala e cor */
.pg-estudo-com-trabalho #main > :is(section, div) :is(h2.text-4xl, h2.text-3xl.lg\:text-4xl, h2.text-2xl.lg\:text-4xl) {
	font-size: clamp(1.75rem, 3vw, 2.25rem) !important; line-height: 1.15 !important; color: var(--pf-roxo) !important; margin-block: 0 12px;
}
/* titulo inicial: mesmo padrao das irmas (roxo, a esquerda, com traco) */
.pg-estudo-com-trabalho #main > section > .container > h2.text-4xl:only-child { margin-bottom: 0; text-align: left; }
.pg-estudo-com-trabalho #main > section > .container > h2.text-4xl:only-child::after { content: ""; display: block; width: 48px; height: 3px; background: var(--pf-roxo); margin-top: 12px; }
/* introducao: largura de leitura */
.pg-estudo-com-trabalho #main > .container.editorblock > p { max-width: 62rem; margin-inline: auto; width: 100%; font-size: clamp(1.0625rem, 1.5vw, 1.25rem); line-height: 1.6; color: var(--pf-texto); margin-bottom: 16px; }
.pg-estudo-com-trabalho #main > .container.editorblock > p:has(+ section) { margin-bottom: 40px; }
/* bloco "O que e": faixa lilas e carrossel de texto */
.pg-estudo-com-trabalho #main section.bg-\[\#FAFAFA\]:has(#destino1-slider) { background: var(--pf-suave); margin-bottom: 0; padding-block: var(--pf-band); }
.pg-estudo-com-trabalho #main #destino1-slider { padding-inline: var(--pf-pad); }
.pg-estudo-com-trabalho #main #destino1-slider .item2 h2 { font-size: clamp(1.5rem, 2.4vw, 2rem) !important; line-height: 1.2 !important; color: var(--pf-roxo); }
.pg-estudo-com-trabalho #main #destino1-slider .item2 p,
.pg-estudo-com-trabalho #main #destino1-slider .item2 li { font-size: 1.0625rem; line-height: 1.6; color: var(--pf-texto); }
.pg-estudo-com-trabalho #main #destino1-slider .item2 > div { gap: 16px !important; }
.pg-estudo-com-trabalho #main #destino1-slider img { width: 100%; max-height: 440px; object-fit: cover; border-radius: 4px; }
@media (max-width: 1023px) {
	.pg-estudo-com-trabalho #main #destino1-slider img { max-height: 280px; }
}
/* paises: fotos na mesma proporcao, cartao de numeros com borda */
.pg-estudo-com-trabalho #main > section#programa > .bg-gray-100 .slider img { width: 100%; aspect-ratio: 3 / 2; height: auto; object-fit: cover; border-radius: 4px; }
.pg-estudo-com-trabalho #main > section#programa > .bg-gray-100 .slider.lg\:grid { align-content: start; }
.pg-estudo-com-trabalho #main > section#programa > .bg-gray-100 h2 { font-size: clamp(1.75rem, 3vw, 2.25rem) !important; line-height: 1.15 !important; color: var(--pf-roxo); }
.pg-estudo-com-trabalho #main > section#programa > .bg-gray-100 p { font-size: 1rem; line-height: 1.6; color: var(--pf-texto); }
.pg-estudo-com-trabalho #main > section#programa > .bg-gray-100 .bg-white.shadow { box-shadow: none; border: 1px solid var(--pf-linha); border-radius: 4px; }
/* CTA entre os paises: respiro e destaque */
/* CTA colado na secao que ele fecha (24px) e ritmo unico (64/44px) ate o proximo bloco, em vez de 32+32 */
.pg-estudo-com-trabalho #main > .container.editorblock:has(a.inline-flex) { padding-block: 24px var(--pf-gap); }
.pg-estudo-com-trabalho #main > .container.editorblock:has(a.inline-flex) > p:empty { display: none; }
.pg-estudo-com-trabalho #main > .container.editorblock:has(a.inline-flex) > div { margin-top: 0; }
.pg-estudo-com-trabalho #main a.inline-flex.bg-purple-600 { min-height: 48px; padding-inline: 28px; border-radius: 4px; box-shadow: 0 4px 12px rgba(129, 41, 144, .25); font-size: 1rem; }
/* faixas de fundo */
.pg-estudo-com-trabalho #main > section.bg-\[\#FAFAFA\]:not(:has(#destino1-slider)) { background: transparent; }
.pg-estudo-com-trabalho #main > .bg-gray-100 { background: var(--pf-suave); }
.pg-estudo-com-trabalho #main > div.bg-\[\#FAFAFA\],
.pg-estudo-com-trabalho #main > div > .lg\:container.bg-\[\#FAFAFA\] { background: transparent; }
.pg-estudo-com-trabalho #main > section#programa.bg-\[\#FAFAFA\] .shadow-md { box-shadow: none; border: 1px solid var(--pf-linha); overflow: hidden; border-radius: 4px; }
@media (max-width: 1023px) {
	.pg-estudo-com-trabalho #main > section#programa.bg-\[\#FAFAFA\] .shadow-md > div:first-child { padding: 24px; }
	.pg-estudo-com-trabalho #main .slider.flex:not(.lg\:grid) { scroll-snap-type: x mandatory; scroll-padding-inline: 0; }
	.pg-estudo-com-trabalho #main .slider.flex:not(.lg\:grid) > .slider-item { flex: 0 0 84%; min-width: 0; scroll-snap-align: start; }
}
@media (max-width: 767px) {
	.pg-estudo-com-trabalho #main > section#programa > .bg-gray-100 .bg-white.shadow { gap: 0; }
	.pg-estudo-com-trabalho #main > section#programa > .bg-gray-100 .bg-white.shadow > div { flex: 1 1 0; min-width: 0; padding: 8px 6px; }
}
/* "O que e" no celular: rolagem nativa com encaixe, sem cortar texto */
@media (max-width: 767px) {
	.pg-estudo-com-trabalho #main #destino1-slider .owl-stage-outer { overflow-x: auto; scroll-snap-type: x mandatory; }
	.pg-estudo-com-trabalho #main #destino1-slider .owl-stage { transform: none !important; width: auto !important; display: flex; transition: none !important; }
	.pg-estudo-com-trabalho #main #destino1-slider .owl-item { flex: 0 0 100%; width: auto !important; margin: 0 !important; scroll-snap-align: start; box-sizing: border-box; padding-right: 8px; }
	.pg-estudo-com-trabalho #main #destino1-slider .owl-item.cloned { display: none; }
	.pg-estudo-com-trabalho #main #programa-control { display: none; }
}
/* depoimento, e-book e FAQ */
.pg-estudo-com-trabalho #main .experimentoHome .slider-item > div { max-width: 980px; margin-inline: auto; }
.pg-estudo-com-trabalho #main .experimentoHome .slider-item .text-left { font-size: 1.0625rem; line-height: 1.65; }
.pg-estudo-com-trabalho #main .ebook-container .databook h2:first-child { font-size: 1rem !important; line-height: 1.3 !important; }
.pg-estudo-com-trabalho #main .ebook-container .databook h2:nth-child(2) { font-size: 1.5rem !important; line-height: 1.15 !important; }
@media (min-width: 1024px) {
	.pg-estudo-com-trabalho #main .container:has(.faq-item) > .flex > .lg\:w-2\/12 { width: 28%; }
	.pg-estudo-com-trabalho #main .container:has(.faq-item) > .flex > .lg\:w-10\/12 { width: 72%; }
}
.pg-estudo-com-trabalho #main .faq-item h2 { font-size: 1.0625rem !important; line-height: 1.4 !important; }
.pg-estudo-com-trabalho #main .container:has(.faq-item) > .flex > div:first-child h2 { font-size: clamp(1.75rem, 3vw, 2.25rem) !important; line-height: 1.15 !important; color: var(--pf-roxo); }
/* cores: texto #4B5563, titulos #2B2230 */
body.pg-estudo-com-trabalho { color: #4B5563; }
body.pg-estudo-com-trabalho #main .text-black { color: #2B2230; }
body.pg-estudo-com-trabalho #main .text-gray-700,
body.pg-estudo-com-trabalho #main .text-gray-600,
body.pg-estudo-com-trabalho #main .text-gray-900 { color: #4B5563; }
.pg-estudo-com-trabalho #main > div > .lg\:container.bg-\[\#FAFAFA\] { background: transparent; }

/* ===== Formacao Profissional (/estudo/formacao-profissional/) - escopo: body.pg-formacao-profissional =====
   Mesmo tratamento de Programas de Ferias, aplicado a #main (a pagina nao tem .entry-content/.wp-block-column). */
.pg-formacao-profissional #main {
	--pf-roxo: #812990;
	--pf-suave: #F3E9F5;
	--pf-linha: #e6dce9;
	--pf-texto: #4B5563;
	--pf-ink: #2B2230;
	--pf-gap: 64px;
	--pf-pad: 24px;
}
@media (max-width: 767px) {
	.pg-formacao-profissional #main { --pf-gap: 44px; --pf-pad: 16px; }
}

/* ritmo: toda secao com o mesmo respiro vertical (antes: my-4/mb-20/py-10/py-16/my-10 misturados) */
.pg-formacao-profissional #main > :is(section, div):not(:where(.slider-container, .btnwhats, .container)) {
	margin-block: 0;
	padding-block: var(--pf-gap);
}
.pg-formacao-profissional #main > .container:has(:is(.ebook-container, .faq-item)) { margin-block: 0; padding-block: var(--pf-gap) 0; }
.pg-formacao-profissional #main > .container:has(.faq-item) { padding-bottom: var(--pf-gap); }
/* grade unica: todo bloco na mesma largura e bordas */
.pg-formacao-profissional #main > .container,
.pg-formacao-profissional #main > :is(section, div) > .container,
.pg-formacao-profissional #main > div > .lg\:container {
	width: 100%;
	max-width: 1280px;
	margin-inline: auto;
	padding-inline: var(--pf-pad);
	box-sizing: border-box;
}
.pg-formacao-profissional #main > .container:not(:has(:is(.ebook-container, .faq-item))) { margin-block: 12px; }
.pg-formacao-profissional #main > :is(section, div) > .container { margin-block: 0; padding-block: 0; }
.pg-formacao-profissional #main > :is(section, div) .container .container { max-width: none; padding-inline: 0; }
.pg-formacao-profissional #main > :is(section, div) .owl-carousel { padding-inline: 0; }
.pg-formacao-profissional #main > :is(section, div) .px-2.flex { padding-inline: 0; }
.pg-formacao-profissional #main > div.px-4:not(.container) { padding-inline: 0; }

/* fileiras de cartoes de area: o vao entre as fileiras e o do grid, nao dois paddings de secao */
.pg-formacao-profissional #main > section:has(> .container > .flex.items-stretch > a) { padding-bottom: 12px; }
.pg-formacao-profissional #main > section:has(> .container > .flex.items-stretch > a) + br + section:has(> .container > .flex.items-stretch > a) { padding-top: 12px; }
.pg-formacao-profissional #main > section:has(> .container > .flex.items-stretch > a):has(+ br + section#programa) { padding-bottom: var(--pf-gap); }

/* introducao */
.pg-formacao-profissional #main > section.xp-block > .container > p { color: var(--pf-texto); }

/* titulos de secao: mesma escala e cor (alguns eram pretos) */
.pg-formacao-profissional #main > :is(section, div) :is(h2.text-4xl, h2.text-3xl.lg\:text-4xl, h2.text-2xl.lg\:text-4xl) {
	font-size: clamp(1.75rem, 3vw, 2.25rem) !important;
	line-height: 1.15 !important;
	color: var(--pf-roxo) !important;
	margin-block: 0 12px;
}

/* cartoes de area: mesma altura na fileira, borda suave, titulo em escala de cartao, texto legivel.
   4 por fileira no desktop largo (a fileira de 3 fica centralizada com a mesma largura), 2 no tablet, 1 no celular. */
.pg-formacao-profissional #main > section > .container > .flex.items-stretch { gap: 24px; }
.pg-formacao-profissional #main > section > .container > .flex.items-stretch > :is(div, a) {
	border: 1px solid var(--pf-linha);
	border-radius: 4px;
	box-shadow: none;
	overflow: hidden;
	background: #fff;
}
.pg-formacao-profissional #main > section > .container > .flex.items-stretch > :is(div, a):hover { box-shadow: 0 6px 18px rgba(129, 41, 144, .12); }
.pg-formacao-profissional #main > section > .container > .flex.items-stretch > :is(div, a) h2 {
	font-size: 1.375rem !important;
	line-height: 1.25 !important;
	margin: 12px 0 8px;
	color: var(--pf-ink);
}
.pg-formacao-profissional #main > section > .container > .flex.items-stretch > :is(div, a) p { font-size: .9375rem; line-height: 1.6; color: var(--pf-texto); }
.pg-formacao-profissional #main > section > .container > .flex.items-stretch > a > div { padding: 8px 16px 20px; }
.pg-formacao-profissional #main > section > .container > .flex.items-stretch > a img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
@media (min-width: 768px) {
	.pg-formacao-profissional #main > section > .container > .flex.items-stretch:has(> a) { flex-direction: row; flex-wrap: wrap; }
	.pg-formacao-profissional #main > section > .container > .flex.items-stretch > a[class~="lg:max-w-[280px]"] { flex: 0 0 calc((100% - 24px) / 2); max-width: calc((100% - 24px) / 2); min-width: 0; }
}
@media (min-width: 1200px) {
	.pg-formacao-profissional #main > section > .container > .flex.items-stretch > a[class~="lg:max-w-[280px]"] { flex: 0 0 calc((100% - 72px) / 4); max-width: calc((100% - 72px) / 4); }
}
@media (max-width: 767px) {
	.pg-formacao-profissional #main > section > .container > .flex.items-stretch { gap: 16px; }
}

/* carrossel de informacoes (O que e / Beneficios / Como apoia / Para quem): foto proporcional e texto no tamanho de leitura */
.pg-formacao-profissional #main #destino1-slider img { width: 100%; max-height: 440px; object-fit: cover; border-radius: 4px; }
.pg-formacao-profissional #main #destino1-slider .item2 :is(p, span) { font-size: 1.0625rem !important; line-height: 1.6; color: var(--pf-texto); }
.pg-formacao-profissional #main #destino1-slider .item2 strong { color: var(--pf-ink); }
.pg-formacao-profissional #main #destino1-slider .item2 h2 { font-size: clamp(1.5rem, 2.4vw, 2rem) !important; line-height: 1.2 !important; margin: 0; }
.pg-formacao-profissional #main #destino1-slider .item2 > div { gap: 16px !important; }
@media (max-width: 1023px) {
	.pg-formacao-profissional #main #destino1-slider img { max-height: 280px; }
}

/* Expert Talks: faixa suave seguida de outra faixa suave (eventos) nao soma dois respiros */
.pg-formacao-profissional #main > section#programa { padding-bottom: 0; }
.pg-formacao-profissional #main > div > .lg\:container.bg-\[\#FAFAFA\] { background: transparent; padding-block: 32px 0; }
.pg-formacao-profissional #main > div:has(> .lg\:container #eventsContainer) { padding-top: 0; }
.pg-formacao-profissional #main #programa > .container > .flex { border: 1px solid var(--pf-linha); box-shadow: none; overflow: hidden; }
@media (max-width: 1023px) {
	.pg-formacao-profissional #main #programa > .container > .flex > div:first-child { padding: 24px; }
}

/* faixas de fundo na mesma cor suave do padrao moderno */
.pg-formacao-profissional #main > .bg-\[\#FAFAFA\], .pg-formacao-profissional #main > section.bg-\[\#FAFAFA\], .pg-formacao-profissional #main > .bg-gray-100 { background: var(--pf-suave); }

/* eventos: data e hora nao quebram letra a letra quando o titulo e longo */
.pg-formacao-profissional #main #eventsContainer .owl-item > div > div:first-child { gap: 8px; }
.pg-formacao-profissional #main #eventsContainer .owl-item > div > div:first-child > div:first-child { flex: 1 1 auto; min-width: 0; }
.pg-formacao-profissional #main #eventsContainer .owl-item > div > div:first-child > div:last-child { flex: 0 0 auto; white-space: nowrap; align-items: center; }

/* blog: no celular o card seguinte aparece em "espiada" e para no card (antes cortava o texto no meio) */
@media (max-width: 1023px) {
	.pg-formacao-profissional #main .slider.flex { scroll-snap-type: x mandatory; scroll-padding-inline: 0; }
	.pg-formacao-profissional #main .slider.flex > .slider-item { flex: 0 0 84%; min-width: 0; scroll-snap-align: start; }
}

/* depoimento: largura de leitura */
.pg-formacao-profissional #main .experimentoHome .slider-item > div { max-width: 980px; margin-inline: auto; }
.pg-formacao-profissional #main .experimentoHome .slider-item .text-left { font-size: 1.0625rem; line-height: 1.65; }

/* e-books: titulo em duas linhas hierarquicas */
.pg-formacao-profissional #main .ebook-container .databook h2:first-child { font-size: 1rem !important; line-height: 1.3 !important; }
.pg-formacao-profissional #main .ebook-container .databook h2:nth-child(2) { font-size: 1.5rem !important; line-height: 1.15 !important; }

/* FAQ */
@media (min-width: 1024px) {
	.pg-formacao-profissional #main .container:has(.faq-item) > .flex > .lg\:w-2\/12 { width: 28%; }
	.pg-formacao-profissional #main .container:has(.faq-item) > .flex > .lg\:w-10\/12 { width: 72%; }
}
.pg-formacao-profissional #main .faq-item h2 { font-size: 1.0625rem !important; line-height: 1.4 !important; }
.pg-formacao-profissional #main .container:has(.faq-item) > .flex > div:first-child h2 { font-size: clamp(1.75rem, 3vw, 2.25rem) !important; line-height: 1.15 !important; color: var(--pf-roxo); }

/* Formacao Profissional: texto em cinza #4B5563 e titulos em #2B2230, no lugar do preto puro */
body.pg-formacao-profissional { color: #4B5563; }
body.pg-formacao-profissional .text-black { color: #2B2230; }
body.pg-formacao-profissional .text-gray-700,
body.pg-formacao-profissional .text-gray-600 { color: #4B5563; }
body.pg-formacao-profissional :where(p.font-pill600bd, p.font-pill600lt, p.font-pill300lt):not([class*="text-white"]):not([class*="text-purple"]):not([class*="text-gray"]) { color: #2B2230; }

/* ===== Trabalho voluntario (/trabalho/trabalho-voluntario/) - escopo: body.pg-trabalho-voluntario. Mesmo padrao de Programas de Ferias: ritmo 64/44px, grade 1280px, cartoes iguais, texto #4B5563, titulos #2B2230 ===== */
.pg-trabalho-voluntario #main {
	--tv-roxo: #812990;
	--tv-suave: #F3E9F5;
	--tv-linha: #e6dce9;
	--tv-texto: #4B5563;
	--tv-gap: 64px;
	--tv-pad: 24px;
	color: var(--tv-texto);
}
@media (max-width: 767px) {
	.pg-trabalho-voluntario #main { --tv-gap: 44px; --tv-pad: 16px; }
}
/* <br> e <p> vazios do editor nao geram mais vaos irregulares; o respiro vem das secoes */
.pg-trabalho-voluntario #main > br,
.pg-trabalho-voluntario #main > p:empty { display: none; }
.pg-trabalho-voluntario #main > p:has(> br:only-child) { display: none; }

/* grade unica: breadcrumb, introducao, cartoes, textos e e-books nas mesmas bordas */
.pg-trabalho-voluntario #main > .container,
.pg-trabalho-voluntario #main > section > .container {
	width: 100%;
	max-width: 1280px;
	margin-inline: auto;
	padding-inline: var(--tv-pad);
	box-sizing: border-box;
}
.pg-trabalho-voluntario #main > .container:has(> a.text-purple) { margin-block: 16px 0; }
.pg-trabalho-voluntario #main > .container:has(> a.text-purple) > p { color: #4B5563; margin: 0; }

/* introducao */
.pg-trabalho-voluntario #main > section[data-xp="intro"] { padding-top: var(--tv-gap); }
.pg-trabalho-voluntario #main > section[data-xp="intro"] > .container { margin-block: 0; }
.pg-trabalho-voluntario #main > section > .container > h2.text-4xl {
	font-size: clamp(1.75rem, 3vw, 2.25rem) !important;
	line-height: 1.15 !important;
	color: var(--tv-roxo) !important;
	margin: 0 0 16px;
	padding-inline: 0;
}
.pg-trabalho-voluntario #main > section > .container > h2 + p {
	max-width: 62rem;
	margin-inline: auto;
	padding-inline: 0;
	font-size: clamp(1.0625rem, 1.5vw, 1.25rem) !important;
	line-height: 1.6 !important;
	color: var(--tv-texto);
}

/* cartoes dos tipos de projeto: mesma altura, lilas, titulo em escala de cartao */
.pg-trabalho-voluntario #main > section:not([data-xp]) { padding-top: 32px; }
.pg-trabalho-voluntario #main > section:not([data-xp]) > .container { padding-inline: var(--tv-pad); }
.pg-trabalho-voluntario #main > section:not([data-xp]) > .container > .flex { gap: 24px; padding-inline: 0; }
.pg-trabalho-voluntario #main > section:not([data-xp]) > .container > .flex > div {
	background: var(--tv-suave);
	border-radius: 4px;
	box-shadow: none;
	padding: 24px 20px;
	justify-content: flex-start;
	align-items: stretch;
}
@media (min-width: 1024px) {
	.pg-trabalho-voluntario #main > section:not([data-xp]) > .container > .flex > div { max-width: none; flex: 1 1 0; min-width: 0; }
}
.pg-trabalho-voluntario #main > section:not([data-xp]) > .container > .flex > div h2 {
	font-size: 1.375rem !important;
	line-height: 1.25 !important;
	margin: 0 0 12px;
	color: var(--tv-roxo);
}
.pg-trabalho-voluntario #main > section:not([data-xp]) > .container > .flex > div p {
	font-size: .9375rem;
	line-height: 1.6;
	text-align: left;
	color: var(--tv-texto);
}
@media (max-width: 1023px) {
	.pg-trabalho-voluntario #main > section:not([data-xp]) > .container > .flex { gap: 16px; }
}

/* textos explicativos: largura de leitura, mesmo tamanho e respiro entre eles */
.pg-trabalho-voluntario #main > .container.flex-col:has(> p.text-gray-700) { margin-block: 0; padding-block: 0; }
.pg-trabalho-voluntario #main > .container.flex-col:has(> p.text-gray-700) > p {
	max-width: 62rem;
	margin: 0 auto;
	font-size: 1.0625rem;
	line-height: 1.65;
	text-align: left;
	color: var(--tv-texto);
}
.pg-trabalho-voluntario #main > section:not([data-xp]) { padding-bottom: var(--tv-gap); }
.pg-trabalho-voluntario #main > section[data-xp="intro"] { padding-bottom: 0; }
.pg-trabalho-voluntario #main > .container:has(.ebook-container) .ebook-container { padding-inline: 0; }
.pg-trabalho-voluntario #main > .container.flex-col + .container.flex-col { padding-top: 16px; }

/* e-books: mesma grade, mesmo respiro, titulo em duas linhas hierarquicas */
.pg-trabalho-voluntario #main > .container:has(.ebook-container) { margin-block: 0; padding-block: var(--tv-gap); }
.pg-trabalho-voluntario #main .ebook-container .databook h2:first-child { font-size: 1rem !important; line-height: 1.3 !important; }
.pg-trabalho-voluntario #main .ebook-container .databook h2:nth-child(2) { font-size: 1.5rem !important; line-height: 1.15 !important; }

/* texto cinza e titulos em tinta da marca no lugar do preto puro */
.pg-trabalho-voluntario #main .text-black { color: #2B2230; }
.pg-trabalho-voluntario #main .text-gray-700,
.pg-trabalho-voluntario #main .text-gray-600 { color: #4B5563; }
/* ===== Comparativo de programas (/comparativo-de-programas/ e /comparativo-de-programas-trabalho/) - escopo: body.pg-comparativo-de-programas(-trabalho). Mesmo texto #4B5563, titulos #2B2230 e faixa lilas #F3E9F5 das paginas modernizadas ===== */
body:is(.pg-comparativo-de-programas, .pg-comparativo-de-programas-trabalho) .xp-destino {
	--xp-texto: #4B5563;
	--xp-tinta: #2B2230;
	--xp-suave: #F3E9F5;
}
body:is(.pg-comparativo-de-programas, .pg-comparativo-de-programas-trabalho) .xp-destino .xp-sec { background: var(--xp-suave); }

/* ===== Travel Card (/viaje-tranquilo/travel-card/) - escopo: body.pg-travel-card ===== */
.pg-travel-card main { --tc-roxo: #812990; --tc-suave: #F3E9F5; --tc-linha: #e6dce9; --tc-texto: #4B5563; overflow-x: clip; }
.pg-travel-card main > section#programa > .container { max-width: 1280px; padding-inline: 24px; box-sizing: border-box; text-align: left; }
.pg-travel-card main > section#programa > .container > div:first-child { padding: 0 0 8px; }
.pg-travel-card main :is(section#programa h2.text-4xl, .xp-tc-titulo, section > div > div > p.text-3xl) {
	font-size: clamp(1.75rem, 3vw, 2.25rem) !important; line-height: 1.15 !important; color: var(--tc-roxo) !important; text-align: left; margin: 0 0 12px;
}
.pg-travel-card main :is(section#programa h2.text-4xl, .xp-tc-titulo, section > div > div > p.text-3xl)::after { content: ""; display: block; width: 48px; height: 3px; background: var(--tc-roxo); margin-top: 12px; }
.pg-travel-card main section#programa p { color: var(--tc-texto); text-align: left; max-width: 62rem; }
.pg-travel-card main section#programa .slider { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; padding: 16px 0; overflow: visible; }
.pg-travel-card main section#programa .slider-item { min-width: 0 !important; width: auto; box-sizing: border-box; border: 1px solid var(--tc-linha); box-shadow: none; border-radius: 4px; }
.pg-travel-card main section#programa .slider-item h2 { color: var(--tc-roxo); font-size: 1.125rem !important; overflow-wrap: anywhere; }
.pg-travel-card main section#programa .slider-container { overflow: visible; }
@media (max-width: 1023px) { .pg-travel-card main section#programa .slider { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 520px) { .pg-travel-card main section#programa .slider { grid-template-columns: minmax(0, 1fr); } .pg-travel-card main > section.bg-\[\#FAFAFA\] > .container { padding-inline: 16px; } }
.pg-travel-card .xp-tc-vantagens > div { margin: 0; border-left: 3px solid var(--tc-roxo); padding: 8px 14px; cursor: default; }
.pg-travel-card .xp-tc-vantagens p { margin: 0; color: var(--tc-texto); font-size: .9375rem !important; line-height: 1.5 !important; }
.pg-travel-card main > .container > .flex > div.bg-gray-100 { margin: 0; padding: 32px; background: var(--tc-suave); border-radius: 4px; }
@media (max-width: 1023px) { .pg-travel-card main > .container > .flex > div.bg-gray-100 { padding: 20px; } .pg-travel-card main > .container { padding-inline: 16px; } }
