/**
 * Visite Coité — folha de estilos principal.
 *
 * Sumário
 * 1.  Variáveis e base
 * 2.  Utilitários
 * 3.  Cabeçalho, menu e busca
 * 4.  Slide de destaques
 * 5.  Seções da home
 * 6.  Cards e listagens
 * 7.  Páginas internas e conteúdo
 * 8.  Formulários e comentários
 * 9.  Rodapé
 * 10. Responsivo
 */

/* =====================================================================
 * 1. Variáveis e base
 * ================================================================== */

:root {
	--vc-verde-escuro: #00657f; /* ciano profundo: textos, links e fundos com texto claro */
	--vc-verde-noite: #003a4a; /* ciano noturno: texto sobre o degradê e seções escuras */
	--vc-ciano: #00c7fb; /* topo do degradê */
	--vc-verde-agua: #00f9c3; /* base do degradê */
	--vc-verde: #00e0df; /* tom médio do degradê: fallback sólido */
	--vc-verde-claro: #5cdafc;
	--vc-verde-menta: #b3ecfd;
	--vc-turquesa: #00c7fb;
	--vc-degrade: linear-gradient(180deg, var(--vc-ciano) 0%, var(--vc-verde-agua) 100%);
	--vc-amarelo: #f5d33d;
	--vc-laranja: #ef8a2b;
	--vc-creme: #fdf6e9;
	--vc-areia: #e7dbc4;
	--vc-texto: #0b2e3a;
	--vc-texto-suave: #43606b;

	--vc-branco: #ffffff;
	--vc-raio: 16px;
	--vc-raio-g: 24px;
	--vc-largura: 1240px;
	--vc-gap: 24px;
	--vc-fonte-titulo: "Baloo 2", "Trebuchet MS", system-ui, sans-serif;
	--vc-fonte-texto: "Nunito Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
	--vc-sombra: 0 10px 30px rgba(0, 101, 127, 0.1);
	--vc-transicao: 0.22s ease;
}

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

html {
	scroll-behavior: smooth;
	scroll-padding-top: 110px;
}

body.vc-body {
	margin: 0;
	background: var(--vc-creme);
	color: var(--vc-texto);
	font-family: var(--vc-fonte-texto);
	font-size: 17px;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
	text-wrap: pretty;
	overflow-wrap: break-word;
}

img,
svg,
video,
iframe {
	max-width: 100%;
}

img {
	height: auto;
}

a {
	color: var(--vc-verde-escuro);
	text-decoration: none;
	transition: color var(--vc-transicao);
}

a:hover,
a:focus {
	color: var(--vc-laranja);
}

h1,
h2,
h3,
h4,
h5 {
	font-family: var(--vc-fonte-titulo);
	font-weight: 700;
	line-height: 1.1;
	margin: 0 0 0.4em;
	color: var(--vc-verde-escuro);
}

p {
	margin: 0 0 1em;
}

::selection {
	background: var(--vc-amarelo);
	color: var(--vc-verde-escuro);
}

:focus-visible {
	outline: 3px solid var(--vc-laranja);
	outline-offset: 2px;
	border-radius: 4px;
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	*,
	*::before,
	*::after {
		animation-duration: 0.001ms !important;
		transition-duration: 0.001ms !important;
	}
}

/* =====================================================================
 * 2. Utilitários
 * ================================================================== */

.vc-container {
	width: 100%;
	max-width: var(--vc-largura);
	margin: 0 auto;
	padding: 0 24px;
	padding-left: max(24px, env(safe-area-inset-left));
	padding-right: max(24px, env(safe-area-inset-right));
}

.vc-site {
	overflow-x: clip;
}

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

.vc-skip-link:focus {
	position: fixed !important;
	top: 12px;
	left: 12px;
	z-index: 999;
	width: auto;
	height: auto;
	clip: auto;
	padding: 12px 20px;
	background: var(--vc-amarelo);
	color: var(--vc-verde-escuro);
	font-weight: 800;
	border-radius: 999px;
}

.vc-secao {
	padding-top: 68px;
	padding-bottom: 68px;
}

.vc-secao--curta {
	padding-top: 40px;
	padding-bottom: 40px;
}

.vc-secao__cabecalho {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 20px;
	margin-bottom: 32px;
}

.vc-secao__kicker {
	display: block;
	font-size: 13px;
	font-weight: 900;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--vc-laranja);
	margin-bottom: 6px;
}

.vc-secao__titulo {
	font-size: clamp(30px, 4vw, 46px);
	margin: 0;
}

.vc-secao__titulo a {
	color: inherit;
}

.vc-secao__intro {
	max-width: 430px;
	margin: 0;
	color: var(--vc-texto-suave);
	font-size: 16px;
}

.vc-secao__cabecalho--claro .vc-secao__titulo,
.vc-secao__cabecalho--claro p {
	color: var(--vc-creme);
}

.vc-destaque-amarelo {
	color: var(--vc-amarelo);
}

.vc-icon {
	width: 20px;
	height: 20px;
	flex: 0 0 auto;
}

.vc-etiqueta {
	display: inline-block;
	font-size: 11px;
	font-weight: 900;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	padding: 5px 11px;
	border-radius: 999px;
	background: var(--vc-amarelo);
	color: var(--vc-verde-escuro);
}

.vc-etiqueta--laranja {
	background: transparent;
	color: var(--vc-laranja);
	padding: 0;
}

.vc-etiqueta--amarela {
	background: transparent;
	color: var(--vc-amarelo);
	padding: 0;
}

.vc-botao {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-family: var(--vc-fonte-texto);
	font-size: 14px;
	font-weight: 800;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	padding: 13px 26px;
	border: 2px solid transparent;
	border-radius: 999px;
	cursor: pointer;
	transition: background var(--vc-transicao), color var(--vc-transicao), border-color var(--vc-transicao);
}

.vc-botao--laranja {
	background: var(--vc-laranja);
	color: #fff;
}

.vc-botao--laranja:hover,
.vc-botao--laranja:focus {
	background: var(--vc-verde-escuro);
	color: #fff;
}

.vc-botao--contorno {
	background: transparent;
	border-color: var(--vc-amarelo);
	color: var(--vc-amarelo);
	padding: 10px 20px;
}

.vc-botao--contorno:hover,
.vc-botao--contorno:focus {
	background: var(--vc-amarelo);
	color: var(--vc-verde-escuro);
}

.vc-botao--contorno-escuro {
	background: transparent;
	border-color: var(--vc-verde-escuro);
	color: var(--vc-verde-escuro);
	padding: 10px 20px;
}

.vc-botao--contorno-escuro:hover,
.vc-botao--contorno-escuro:focus {
	background: var(--vc-verde-escuro);
	color: #fff;
}

.vc-link-destaque {
	font-size: 14px;
	font-weight: 800;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: var(--vc-amarelo);
}

.vc-link-destaque--laranja {
	color: var(--vc-laranja);
}

.vc-grade {
	display: grid;
	gap: var(--vc-gap);
}

.vc-grade--3 {
	grid-template-columns: repeat(3, 1fr);
}

.vc-lista {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.vc-media__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.vc-media__placeholder {
	position: absolute;
	inset: 0;
	display: block;
	background: repeating-linear-gradient(135deg, #efe3cc 0 14px, #f6ecd9 14px 28px);
}

.vc-mini-slider {
	position: absolute;
	inset: 0;
	display: block;
}

.vc-mini-slider__slide {
	position: absolute;
	inset: 0;
	opacity: 0;
	transition: opacity 1.2s ease;
}

.vc-mini-slider__slide.is-active {
	opacity: 1;
}

/* =====================================================================
 * 3. Cabeçalho, menu e busca
 * ================================================================== */

.vc-topbar {
	background: var(--vc-degrade);
	color: var(--vc-verde-noite);
	font-size: 13px;
	letter-spacing: 0.03em;
}

.vc-topbar__interno {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding-top: 9px;
	padding-bottom: 9px;
}

.vc-topbar__orgao {
	font-weight: 700;
	text-transform: uppercase;
}

.vc-topbar__lista {
	display: flex;
	gap: 18px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.vc-topbar a {
	color: var(--vc-verde-noite);
}

.vc-topbar a:hover {
	color: var(--vc-verde-noite);
	text-decoration: underline;
}

.vc-header {
	position: sticky;
	top: 0;
	z-index: 50;
	background: var(--vc-creme);
	border-bottom: 1px solid var(--vc-areia);
}

.vc-header__interno {
	display: flex;
	align-items: center;
	gap: 28px;
	padding-top: 12px;
	padding-bottom: 12px;
}

.vc-header__marca {
	flex-shrink: 0;
}

.vc-logo {
	display: flex;
	flex-direction: column;
	line-height: 0.82;
}

.custom-logo-link img,
.vc-logo__img {
	max-height: 62px;
	width: auto;
}

.vc-nav {
	flex: 1;
	min-width: 0;
}

.vc-nav--esquerda {
	display: flex;
	justify-content: flex-end;
}

.vc-nav--direita {
	display: flex;
	justify-content: flex-start;
}

.vc-nav__lista {
	display: flex;
	align-items: center;
	gap: 24px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.vc-nav__item {
	position: relative;
}

.vc-nav__link {
	display: block;
	padding: 8px 0;
	font-size: 14px;
	font-weight: 800;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--vc-texto);
	border-bottom: 3px solid transparent;
}

.vc-nav__link:hover,
.vc-nav__item.is-ativo > .vc-nav__link {
	color: var(--vc-verde-escuro);
	border-bottom-color: var(--vc-amarelo);
}

.vc-nav__submenu {
	position: absolute;
	top: 100%;
	left: -14px;
	min-width: 230px;
	margin: 0;
	padding: 10px 0;
	list-style: none;
	background: #fff;
	border: 1px solid var(--vc-areia);
	border-radius: 12px;
	box-shadow: var(--vc-sombra);
	opacity: 0;
	visibility: hidden;
	transform: translateY(6px);
	transition: all var(--vc-transicao);
}

.vc-nav__item--tem-filhos:hover > .vc-nav__submenu,
.vc-nav__item--tem-filhos:focus-within > .vc-nav__submenu {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.vc-nav__submenu .vc-nav__link {
	padding: 8px 18px;
	border-bottom: 0;
	text-transform: none;
	letter-spacing: 0;
	font-size: 15px;
	font-weight: 700;
}

.vc-header__acoes {
	display: flex;
	align-items: center;
	gap: 10px;
	padding-left: 14px;
	border-left: 1px solid var(--vc-areia);
}

/* Seletor de idiomas (GTranslate ou TranslatePress): só aparece com plugin ativo. */
.vc-idiomas {
	position: relative;
	z-index: 5;
	font-size: 14px;
	font-weight: 700;
}

.vc-idiomas .trp-language-switcher {
	width: auto;
	height: 42px;
}

.vc-idiomas .trp-language-switcher > div {
	padding: 8px 12px;
	background-color: #fff;
	border: 1px solid var(--vc-areia);
	border-radius: 21px;
	color: var(--vc-verde-escuro);
}

.vc-idiomas .trp-language-switcher > div > a {
	color: inherit;
}

.vc-idiomas .trp-language-switcher > div > a:hover {
	background: var(--vc-areia);
}

.vc-idiomas .trp-language-switcher > div > a.trp-ls-shortcode-disabled-language {
	display: none;
}

/* GTranslate: seletor próprio (PT | EN | ES), um link por idioma. */
.vc-idiomas__lista {
	display: inline-flex;
	align-items: center;
	gap: 2px;
	height: 44px;
	padding: 3px;
	background-color: #fff;
	border: 1px solid var(--vc-areia);
	border-radius: 22px;
}

.vc-idiomas__lista a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 38px;
	height: 100%;
	padding: 0 8px;
	border-radius: 19px;
	color: var(--vc-verde-escuro);
	font-size: 13px;
	line-height: 1;
	text-decoration: none;
}

.vc-idiomas__lista a:hover {
	background: var(--vc-areia);
}

.vc-idiomas__lista a.is-ativo {
	background: var(--vc-verde-escuro);
	color: #fff;
}

.vc-busca-toggle,
.vc-menu-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	background: transparent;
	border: 1px solid var(--vc-areia);
	border-radius: 999px;
	color: var(--vc-verde-escuro);
	cursor: pointer;
	transition: background var(--vc-transicao);
}

.vc-busca-toggle:hover,
.vc-menu-toggle:hover {
	background: var(--vc-areia);
}

.vc-menu-toggle {
	display: none;
}

.vc-menu-toggle__barras {
	display: block;
	width: 20px;
}

.vc-menu-toggle__barras i {
	display: block;
	height: 2px;
	margin: 4px 0;
	background: currentColor;
	border-radius: 2px;
	transition: transform var(--vc-transicao), opacity var(--vc-transicao);
}

.vc-menu-toggle[aria-expanded="true"] .vc-menu-toggle__barras i:nth-child(1) {
	transform: translateY(6px) rotate(45deg);
}

.vc-menu-toggle[aria-expanded="true"] .vc-menu-toggle__barras i:nth-child(2) {
	opacity: 0;
}

.vc-menu-toggle[aria-expanded="true"] .vc-menu-toggle__barras i:nth-child(3) {
	transform: translateY(-6px) rotate(-45deg);
}

.vc-busca {
	background: #fff;
	border-top: 1px solid var(--vc-areia);
	padding: 18px 0;
}

.vc-menu-mobile {
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	/* Fica dentro do cabeçalho fixo: abre sempre à vista e rola por dentro.
	 * O theme.js ajusta a altura à borda real do cabeçalho; este é o reserva. */
	max-height: calc(100vh - 120px);
	max-height: calc(100dvh - 120px);
	overflow-y: auto;
	overscroll-behavior: contain;
	background: var(--vc-ciano);
	box-shadow: var(--vc-sombra);
	padding: 18px 24px 28px;
}

.vc-menu-mobile__lista {
	list-style: none;
	margin: 0 0 18px;
	padding: 0;
}

.vc-menu-mobile__lista .vc-nav__link,
.vc-menu-mobile .vc-nav__link {
	color: var(--vc-verde-noite);
	border-bottom: 1px solid rgba(0, 58, 74, 0.18);
	padding: 14px 0;
}

.vc-menu-mobile .vc-nav__link:hover,
.vc-menu-mobile .vc-nav__item.is-ativo > .vc-nav__link {
	color: var(--vc-verde-noite);
	border-bottom-color: var(--vc-verde-noite);
}

.vc-menu-mobile .vc-nav__submenu {
	position: static;
	opacity: 1;
	visibility: visible;
	transform: none;
	background: transparent;
	border: 0;
	box-shadow: none;
	padding: 0 0 0 16px;
}

/* =====================================================================
 * 4. Hero em vídeo
 * ================================================================== */

.vc-hero {
	position: relative;
	background: var(--vc-degrade);
}

.vc-hero__palco {
	position: relative;
	height: clamp(420px, 62vh, 620px);
	overflow: hidden;
}

.vc-hero__video,
.vc-hero__img,
.vc-hero__slider {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

.vc-hero__video,
.vc-hero__img {
	object-fit: cover;
	object-position: center 65%;
}

/* Slides empilhados; o theme.js desliza o atual e o vizinho com transform. */
.vc-hero__slider {
	touch-action: pan-y;
	user-select: none;
	-webkit-user-select: none;
}

.vc-hero__slider.is-arrastando {
	cursor: grabbing;
}

.vc-hero__slide {
	position: absolute;
	inset: 0;
	margin: 0;
	visibility: hidden;
	will-change: transform;
}

.vc-hero__slide.is-active {
	visibility: visible;
}

/* Setas: aparecem ao passar o mouse (ou com foco do teclado). */
.vc-hero__seta {
	position: absolute;
	top: 50%;
	z-index: 2;
	display: grid;
	place-items: center;
	width: 52px;
	height: 52px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: rgba(0, 58, 74, 0.72);
	color: var(--vc-branco);
	cursor: pointer;
	opacity: 0;
	transform: translateY(-50%);
	transition: opacity var(--vc-transicao), background var(--vc-transicao);
}

.vc-hero__seta svg {
	width: 26px;
	height: 26px;
}

.vc-hero__seta--anterior {
	left: clamp(12px, 2vw, 28px);
}

.vc-hero__seta--proxima {
	right: clamp(12px, 2vw, 28px);
}

.vc-hero__palco:hover .vc-hero__seta,
.vc-hero__seta:focus-visible {
	opacity: 1;
}

.vc-hero__seta:hover {
	background: var(--vc-verde-noite);
}

.vc-hero__seta:focus-visible {
	outline: 3px solid var(--vc-amarelo);
	outline-offset: 2px;
}

/* Sem mouse (telas de toque) as setas somem: a troca é pelo arrasto. */
@media (hover: none) {
	.vc-hero__seta {
		display: none;
	}
}

.vc-hero__slide-img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center 65%;
}

/* Vinheta escura na base do slide: dá leitura ao título sobre fotos claras. */
.vc-hero__slide::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(0, 18, 24, 0) 45%, rgba(0, 18, 24, 0.45) 75%, rgba(0, 18, 24, 0.78) 100%);
	pointer-events: none;
}

/*
 * Título sobre a imagem: termos ou frases curtas com o texto preenchido pelo
 * degradê do tema. O bloco se alinha às bordas do .vc-container e o texto
 * segue o mesmo lado da posição escolhida (esquerda, centro ou direita).
 */
.vc-hero__legenda {
	position: absolute;
	inset: 0;
	z-index: 1;
	display: flex;
	align-items: flex-end;
	padding: clamp(28px, 7vh, 64px) 0;
	pointer-events: none;
}

.vc-hero__legenda-caixa {
	display: flex;
	justify-content: flex-start;
}

.vc-hero__titulo {
	max-width: min(100% + 0.12em, 14ch + 0.12em); /* soma a folga lateral abaixo */
	/*
	 * O degradê só pinta dentro da caixa, e com line-height < 1 os acentos
	 * das maiúsculas (É, Ã, Ô) e as descendentes passam dela. A folga interna
	 * aumenta a caixa e a margem negativa devolve o título ao mesmo lugar.
	 */
	margin: -0.22em -0.06em -0.12em;
	padding: 0.22em 0.06em 0.12em;
	color: var(--vc-verde-agua); /* sem suporte a background-clip: text */
	/* A sombra vem do filter: text-shadow cobriria o texto recortado. */
	filter: drop-shadow(0 2px 3px rgba(0, 18, 24, 0.55)) drop-shadow(0 8px 24px rgba(0, 18, 24, 0.35));
	font-family: var(--vc-fonte-titulo);
	font-size: clamp(40px, 7.4vw, 104px);
	font-weight: 800;
	line-height: 0.98;
	letter-spacing: -0.015em;
	text-align: center;
	text-wrap: balance;
	overflow-wrap: break-word;
	hyphens: auto;
	opacity: 0;
	transform: translateY(18px);
	transition: opacity 0.7s ease 0.35s, transform 0.7s ease 0.35s;
}

@supports ((-webkit-background-clip: text) or (background-clip: text)) {
	.vc-hero__titulo {
		background: var(--vc-degrade);
		-webkit-background-clip: text;
		background-clip: text;
		color: transparent;
		-webkit-text-fill-color: transparent;
	}
}

.vc-hero__slide.is-active .vc-hero__titulo {
	opacity: 1;
	transform: none;
}

/* Posições */
.vc-hero__slide--esquerda .vc-hero__titulo,
.vc-hero__slide--inferior-esquerda .vc-hero__titulo {
	text-align: left;
}

.vc-hero__slide--direita .vc-hero__titulo,
.vc-hero__slide--inferior-direita .vc-hero__titulo {
	text-align: right;
}

.vc-hero__slide--esquerda .vc-hero__legenda,
.vc-hero__slide--direita .vc-hero__legenda {
	align-items: center;
}

.vc-hero__slide--inferior-centro .vc-hero__legenda-caixa {
	justify-content: center;
}

.vc-hero__slide--direita .vc-hero__legenda-caixa,
.vc-hero__slide--inferior-direita .vc-hero__legenda-caixa {
	justify-content: flex-end;
}

/* =====================================================================
 * 5. Seções da home
 * ================================================================== */

.vc-conheca__grade {
	display: grid;
	grid-template-columns: repeat(var(--vc-conheca-colunas, 5), 1fr);
	gap: 18px;
}

/* Página que sobrepõe as Atividades (Personalizador). */
.vc-sobreposicao {
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
	align-items: center;
	gap: 40px;
	background: var(--vc-branco);
	border-radius: var(--vc-raio-g);
	box-shadow: var(--vc-sombra);
	overflow: hidden;
}

.vc-conheca__grade + .vc-sobreposicao {
	margin-top: 32px;
}

.vc-sobreposicao__media {
	position: relative;
	display: block;
	align-self: stretch;
	min-height: 340px;
	background: var(--vc-degrade);
}

.vc-sobreposicao__media .vc-media__img {
	position: absolute;
	inset: 0;
	transition: transform 0.6s ease;
}

.vc-sobreposicao:hover .vc-sobreposicao__media .vc-media__img {
	transform: scale(1.04);
}

.vc-sobreposicao__texto {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 16px;
	padding: 40px 40px 40px 0;
}

.vc-sobreposicao__titulo {
	margin: 0;
	font-family: var(--vc-fonte-titulo);
	font-size: clamp(28px, 3.2vw, 40px);
	font-weight: 700;
	line-height: 1.1;
	color: var(--vc-verde-escuro);
}

.vc-sobreposicao__titulo a {
	color: inherit;
}

.vc-sobreposicao__resumo {
	margin: 0;
	font-size: 17px;
	line-height: 1.6;
	color: var(--vc-texto-suave);
}

.vc-card-alto {
	position: relative;
	display: block;
	height: 270px;
	border-radius: var(--vc-raio);
	overflow: hidden;
	background: var(--vc-degrade);
	transition: transform var(--vc-transicao);
}

.vc-card-alto:hover {
	transform: translateY(-4px);
}

.vc-card-alto__media {
	position: absolute;
	inset: 0;
	background: var(--vc-degrade);
}

.vc-card-alto__media .vc-media__placeholder {
	background: var(--vc-degrade);
}

.vc-card-alto::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(0, 58, 74, 0) 40%, rgba(0, 58, 74, 0.92) 100%);
}

.vc-card-alto__texto {
	position: absolute;
	inset: auto 0 0 0;
	z-index: 2;
	padding: 20px;
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.vc-card-alto__titulo {
	font-family: var(--vc-fonte-titulo);
	font-size: 24px;
	font-weight: 700;
	line-height: 1.05;
	color: var(--vc-creme);
}

.vc-card-alto__meta {
	font-size: 13px;
	font-weight: 700;
	color: var(--vc-amarelo);
}

.vc-agenda__caixa {
	background: var(--vc-degrade);
	border-radius: var(--vc-raio-g);
	padding: 44px;
	color: var(--vc-verde-noite);
}

.vc-agenda__caixa .vc-secao__cabecalho--claro .vc-secao__titulo {
	color: var(--vc-verde-escuro);
}

.vc-agenda__caixa .vc-secao__cabecalho--claro p {
	color: var(--vc-verde-noite);
}

.vc-agenda__caixa .vc-link-destaque {
	color: var(--vc-verde-noite);
}

.vc-agenda__caixa .vc-botao--contorno {
	border-color: var(--vc-verde-noite);
	color: var(--vc-verde-noite);
}

.vc-agenda__caixa .vc-botao--contorno:hover,
.vc-agenda__caixa .vc-botao--contorno:focus {
	background: var(--vc-verde-noite);
	color: var(--vc-amarelo);
}

.vc-agenda__lista {
	list-style: none;
	margin: 0;
	padding: 0;
}

.vc-agenda__item {
	display: grid;
	grid-template-columns: 104px 1fr 200px auto;
	align-items: center;
	gap: 22px;
	padding: 20px 0;
	border-top: 1px solid rgba(0, 58, 74, 0.2);
}

.vc-agenda__data {
	text-align: center;
	background: var(--vc-verde-noite);
	border-radius: 12px;
	padding: 10px 6px;
}

.vc-agenda__dia {
	display: block;
	font-family: var(--vc-fonte-titulo);
	font-size: 30px;
	font-weight: 800;
	line-height: 1.1;
	color: var(--vc-amarelo);
}

.vc-agenda__mes {
	display: block;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.1em;
	color: #c4eefb;
}

.vc-agenda__nome {
	font-family: var(--vc-fonte-titulo);
	font-size: 24px;
	font-weight: 600;
	color: var(--vc-verde-noite);
	display: block;
}

.vc-agenda__nome:hover {
	color: var(--vc-verde-escuro);
}

.vc-agenda__cat {
	font-size: 14px;
	color: var(--vc-verde-noite);
}

.vc-agenda__local {
	font-size: 15px;
	color: var(--vc-verde-noite);
}

.vc-servicos__grade {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--vc-gap);
}

.vc-card-servico {
	position: relative;
	display: block;
	height: 330px;
	border-radius: 20px;
	overflow: hidden;
	transition: transform var(--vc-transicao);
}

.vc-card-servico:hover {
	transform: translateY(-4px);
}

.vc-card-servico__media {
	position: absolute;
	inset: 0;
}

.vc-card-servico--laranja .vc-card-servico__media {
	background: repeating-linear-gradient(135deg, #ef8a2b 0 14px, #f59a45 14px 28px);
}

.vc-card-servico--turquesa .vc-card-servico__media {
	background: repeating-linear-gradient(135deg, #00c7fb 0 14px, #2ad2fc 14px 28px);
}

.vc-card-servico--amarelo .vc-card-servico__media {
	background: repeating-linear-gradient(135deg, #f5d33d 0 14px, #fadd5f 14px 28px);
}

.vc-card-servico::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(0, 40, 52, 0) 42%, rgba(0, 40, 52, 0.9) 100%);
}

.vc-card-servico__texto {
	position: absolute;
	inset: auto 0 0 0;
	z-index: 2;
	padding: 24px;
	display: flex;
	flex-direction: column;
	gap: 6px;
	color: #fff;
}

.vc-card-servico__titulo {
	font-family: var(--vc-fonte-titulo);
	font-size: 32px;
	font-weight: 700;
	line-height: 1.05;
}

.vc-card-servico__descricao {
	font-size: 15px;
	color: rgba(255, 255, 255, 0.86);
}

.vc-play {
	background: var(--vc-verde-noite);
}

.vc-play__linha {
	margin: 0;
	color: #8fbccb;
	font-size: 14px;
}

.vc-play__grade {
	display: grid;
	grid-template-columns: 1.6fr 1fr;
	gap: 20px;
}

.vc-play__principal {
	position: relative;
	display: block;
	border-radius: 18px;
	overflow: hidden;
	min-height: 400px;
	background: var(--vc-degrade);
}

.vc-play__media {
	position: absolute;
	inset: 0;
}

.vc-play__media .vc-media__placeholder {
	background: var(--vc-degrade);
}

.vc-play__principal::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(0, 58, 74, 0) 45%, rgba(0, 58, 74, 0.94) 100%);
}

.vc-play__botao {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 76px;
	height: 76px;
	border-radius: 999px;
	background: var(--vc-amarelo);
	z-index: 2;
}

.vc-play__botao::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 54%;
	transform: translate(-50%, -50%);
	border-left: 20px solid var(--vc-verde-escuro);
	border-top: 13px solid transparent;
	border-bottom: 13px solid transparent;
}

.vc-play__botao--pequeno {
	width: 48px;
	height: 48px;
}

.vc-play__botao--pequeno::before {
	border-left-width: 13px;
	border-top-width: 9px;
	border-bottom-width: 9px;
}

.vc-play__texto {
	position: absolute;
	inset: auto 0 0 0;
	z-index: 2;
	padding: 24px;
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.vc-play__titulo {
	font-family: var(--vc-fonte-titulo);
	font-size: 30px;
	font-weight: 700;
	line-height: 1.08;
	color: var(--vc-creme);
}

.vc-play__lista {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.vc-play__item {
	display: flex;
	gap: 16px;
	align-items: center;
	background: var(--vc-verde-escuro);
	border-radius: 14px;
	padding: 14px;
	transition: box-shadow var(--vc-transicao);
}

.vc-play__item:hover {
	box-shadow: inset 0 0 0 2px var(--vc-verde-claro);
}

.vc-play__item-media {
	position: relative;
	width: 112px;
	height: 74px;
	flex: 0 0 auto;
	border-radius: 10px;
	overflow: hidden;
	background: var(--vc-degrade);
}

.vc-play__item-texto {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.vc-play__item-titulo {
	font-family: var(--vc-fonte-titulo);
	font-size: 18px;
	font-weight: 600;
	line-height: 1.16;
	color: var(--vc-creme);
}

.vc-play__duracao {
	font-size: 13px;
	color: #c4eefb;
}

/* =====================================================================
 * 6. Cards e listagens
 * ================================================================== */

.vc-card {
	background: #fff;
	border: 1px solid var(--vc-areia);
	border-radius: 18px;
	overflow: hidden;
	transition: border-color var(--vc-transicao), transform var(--vc-transicao);
	display: flex;
	flex-direction: column;
}

.vc-card:hover {
	border-color: var(--vc-amarelo);
	transform: translateY(-3px);
}

.vc-card__link {
	display: flex;
	flex-direction: column;
	height: 100%;
	color: inherit;
}

.vc-card__media {
	position: relative;
	display: block;
	aspect-ratio: 3 / 2;
	overflow: hidden;
	background: var(--vc-areia);
}

.vc-card__media--capa {
	aspect-ratio: 3 / 4;
}

.vc-card__tag {
	position: absolute;
	left: 14px;
	bottom: 14px;
	z-index: 2;
	background: var(--vc-verde-escuro);
	color: var(--vc-amarelo);
	font-size: 11px;
	font-weight: 900;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	padding: 5px 11px;
	border-radius: 999px;
}

.vc-card__duracao {
	position: absolute;
	right: 12px;
	bottom: 12px;
	z-index: 2;
	background: rgba(0, 58, 74, 0.86);
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	padding: 3px 8px;
	border-radius: 6px;
}

.vc-card__corpo {
	display: block;
	padding: 20px 22px 24px;
}

.vc-card__titulo {
	font-size: 23px;
	font-weight: 600;
	margin: 8px 0;
	color: var(--vc-verde-escuro);
}

.vc-card__titulo a {
	color: inherit;
}

.vc-card__resumo {
	margin: 0 0 10px;
	font-size: 15px;
	color: var(--vc-texto-suave);
}

.vc-card__infos {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 14px;
	margin: 0;
	font-size: 13px;
	font-weight: 700;
	color: var(--vc-verde-escuro);
}

.vc-card__data {
	display: block;
	margin-top: 10px;
	font-size: 13px;
	color: var(--vc-texto-suave);
}

.vc-card--guia .vc-card__corpo {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 8px;
}

.vc-evento {
	display: grid;
	grid-template-columns: 96px 1fr auto;
	align-items: center;
	gap: 22px;
	background: #fff;
	border: 1px solid var(--vc-areia);
	border-radius: var(--vc-raio);
	padding: 18px 22px;
	transition: border-color var(--vc-transicao);
}

.vc-evento:hover {
	border-color: var(--vc-amarelo);
}

.vc-evento__data {
	text-align: center;
	background: var(--vc-verde-escuro);
	border-radius: 12px;
	padding: 12px 6px;
	color: var(--vc-creme);
}

.vc-evento__dia {
	display: block;
	font-family: var(--vc-fonte-titulo);
	font-size: 30px;
	font-weight: 800;
	line-height: 1;
	color: var(--vc-amarelo);
}

.vc-evento__mes {
	display: block;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.1em;
}

.vc-evento__ano {
	display: block;
	font-size: 11px;
	color: #c4eefb;
}

.vc-evento__titulo {
	font-size: 24px;
	margin: 6px 0;
}

.vc-evento__resumo {
	margin: 0 0 8px;
	color: var(--vc-texto-suave);
	font-size: 15px;
}

.vc-evento__infos {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 16px;
	margin: 0;
	font-size: 13px;
	font-weight: 700;
	color: var(--vc-verde-escuro);
}

.vc-evento__media {
	position: relative;
	display: block;
	width: 150px;
	height: 100px;
	border-radius: 12px;
	overflow: hidden;
}

.vc-filtros {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-bottom: 30px;
}

.vc-chip {
	display: inline-block;
	border: 2px solid var(--vc-areia);
	background: #fff;
	color: var(--vc-verde-escuro);
	border-radius: 999px;
	padding: 9px 20px;
	font-size: 14px;
	font-weight: 800;
	transition: background var(--vc-transicao), color var(--vc-transicao);
}

.vc-chip:hover {
	border-color: var(--vc-laranja);
	color: var(--vc-laranja);
}

.vc-chip.is-ativo {
	background: var(--vc-ciano);
	border-color: var(--vc-ciano);
	color: var(--vc-verde-noite);
}

.vc-paginacao,
.wp-block-query-pagination,
.navigation.pagination {
	margin-top: 48px;
}

.vc-paginacao .nav-links,
.navigation.pagination .nav-links {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 6px;
	width: fit-content;
	max-width: 100%;
	margin: 0 auto;
	padding: 6px;
	background: var(--vc-branco);
	border: 1px solid var(--vc-areia);
	border-radius: 999px;
	box-shadow: var(--vc-sombra);
}

.vc-paginacao .page-numbers,
.navigation.pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	min-width: 44px;
	height: 44px;
	padding: 0 14px;
	border-radius: 999px;
	font-family: var(--vc-fonte-titulo);
	font-size: 17px;
	font-weight: 700;
	line-height: 1;
	color: var(--vc-verde-escuro);
	text-decoration: none;
	transition: background-color var(--vc-transicao), color var(--vc-transicao), transform var(--vc-transicao);
}

.vc-paginacao a.page-numbers:hover,
.navigation.pagination a.page-numbers:hover {
	background: var(--vc-creme);
	color: var(--vc-laranja);
}

.vc-paginacao a.page-numbers:active,
.navigation.pagination a.page-numbers:active {
	transform: scale(0.95);
}

.vc-paginacao .page-numbers.current,
.navigation.pagination .page-numbers.current {
	background: var(--vc-ciano);
	color: var(--vc-verde-noite);
}

.vc-paginacao .page-numbers.dots,
.navigation.pagination .page-numbers.dots {
	min-width: 24px;
	padding: 0 2px;
	color: var(--vc-texto-suave);
}

.vc-paginacao .page-numbers.prev,
.vc-paginacao .page-numbers.next,
.navigation.pagination .page-numbers.prev,
.navigation.pagination .page-numbers.next {
	background: var(--vc-laranja);
	color: var(--vc-branco);
	padding: 0 18px;
}

.vc-paginacao .page-numbers.prev:hover,
.vc-paginacao .page-numbers.next:hover,
.navigation.pagination .page-numbers.prev:hover,
.navigation.pagination .page-numbers.next:hover {
	background: var(--vc-verde-escuro);
	color: var(--vc-amarelo);
}

.vc-paginacao .page-numbers.prev {
	margin-right: 4px;
}

.vc-paginacao .page-numbers.next {
	margin-left: 4px;
}

.vc-paginacao__seta {
	width: 18px;
	height: 18px;
	flex-shrink: 0;
	transition: transform var(--vc-transicao);
}

.vc-paginacao .prev:hover .vc-paginacao__seta {
	transform: translateX(-3px);
}

.vc-paginacao .next:hover .vc-paginacao__seta {
	transform: translateX(3px);
}

.vc-vazio {
	text-align: center;
	padding: 60px 20px;
	background: #fff;
	border: 1px dashed var(--vc-areia);
	border-radius: var(--vc-raio-g);
}

.vc-vazio__titulo {
	font-size: 30px;
}

.vc-vazio .vc-form-busca {
	max-width: 460px;
	margin: 0 auto 20px;
}

.vc-atalho {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	background: #fff;
	border: 1px solid var(--vc-areia);
	border-radius: var(--vc-raio);
	padding: 22px 24px;
	font-family: var(--vc-fonte-titulo);
	font-size: 22px;
	font-weight: 700;
	color: var(--vc-verde-escuro);
}

.vc-atalho:hover {
	border-color: var(--vc-amarelo);
	color: var(--vc-laranja);
}

.vc-resultados {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.vc-resultado {
	background: #fff;
	border: 1px solid var(--vc-areia);
	border-radius: var(--vc-raio);
	padding: 22px 24px;
}

.vc-resultado__titulo {
	font-size: 25px;
	margin: 6px 0 8px;
}

.vc-resultado__resumo {
	margin: 0;
	color: var(--vc-texto-suave);
	font-size: 15px;
}

/* =====================================================================
 * 7. Páginas internas e conteúdo
 * ================================================================== */

.vc-pagehead {
	padding: 52px 0 44px;
	color: var(--vc-verde-noite); /* texto escuro: o degradê é claro demais para texto branco */
	background: var(--vc-degrade);
}

.vc-pagehead--laranja {
	background: var(--vc-laranja);
	color: #fff;
}

.vc-pagehead--turquesa {
	background: var(--vc-turquesa);
	color: var(--vc-verde-noite);
}

.vc-pagehead--amarelo {
	background: var(--vc-amarelo);
	color: #5c4a00;
}

.vc-pagehead--noite {
	background: var(--vc-verde-noite);
	color: var(--vc-creme);
}

.vc-pagehead__titulo {
	font-size: clamp(34px, 6vw, 62px);
	color: inherit;
	margin: 10px 0 10px;
}

/* Conteúdo individual: títulos longos de matéria não passam de 2–3 linhas. */
.single .vc-pagehead__titulo {
	font-size: clamp(28px, 3.4vw, 44px);
	line-height: 1.12;
}

.vc-pagehead__cabeca {
	display: flex;
	flex-direction: row-reverse;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 20px;
}

.vc-pagehead__texto {
	flex: 1 1 320px;
	min-width: 0;
}

.vc-pagehead__cabeca .vc-pagehead__titulo {
	margin: 10px 0;
}

.vc-pagehead__termos {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 6px;
}

.vc-pagehead__termos a {
	display: inline-block;
	padding: 6px 16px;
	border: 1px solid currentColor;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.14);
	color: inherit;
	font-size: 14px;
	font-weight: 800;
	line-height: 1.3;
	text-decoration: none;
	transition: background var(--vc-transicao), color var(--vc-transicao);
}

.vc-pagehead__termos a:hover {
	background: var(--vc-creme);
	border-color: var(--vc-creme);
	color: var(--vc-verde-escuro);
}

.vc-pagehead__logo {
	flex-shrink: 0;
	width: 200px;
	height: 200px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 8px;
	border-radius: 10px;
	background: rgba(255, 255, 255, 0.92);
}

.vc-pagehead__logo img {
	max-width: 100%;
	max-height: 100%;
	width: auto;
	height: auto;
	object-fit: contain;
}

.vc-pagehead__subtitulo {
	max-width: 640px;
	margin: 0;
	font-size: 18px;
	opacity: 0.92;
}

.vc-breadcrumbs {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	opacity: 0.82;
}

.vc-breadcrumbs a,
.vc-breadcrumbs span {
	color: inherit;
}

.vc-breadcrumbs a:hover {
	text-decoration: underline;
}

.vc-layout {
	display: block;
}

.vc-layout--com-lateral {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 300px;
	gap: 48px;
	align-items: start;
}

.vc-layout--indice {
	display: grid;
	grid-template-columns: 260px minmax(0, 1fr);
	gap: 52px;
	align-items: start;
}

.vc-indice__caixa {
	position: sticky;
	top: 110px;
}

.vc-indice__titulo {
	font-size: 12px;
	font-weight: 900;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--vc-laranja);
	margin-bottom: 12px;
}

.vc-indice__nav {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.vc-indice__link {
	padding: 10px 14px;
	border-radius: 10px;
	font-size: 15px;
	font-weight: 700;
	color: var(--vc-texto-suave);
}

.vc-indice__link:hover,
.vc-indice__link.is-ativo {
	background: var(--vc-amarelo);
	color: var(--vc-verde-escuro);
}

.vc-indice__contato {
	margin-top: 26px;
	background: #fff;
	border: 1px solid var(--vc-areia);
	border-radius: 14px;
	padding: 18px;
	font-size: 14px;
	color: var(--vc-texto-suave);
	line-height: 1.5;
}

.vc-indice__contato-titulo {
	font-family: var(--vc-fonte-titulo);
	font-size: 19px;
	font-weight: 700;
	color: var(--vc-verde-escuro);
	margin-bottom: 6px;
}

.vc-artigo__capa {
	margin: 0 0 28px;
	border-radius: var(--vc-raio);
	overflow: hidden;
}

.vc-artigo__capa figcaption {
	font-size: 14px;
	color: var(--vc-texto-suave);
	padding: 10px 4px 0;
}

.vc-artigo__download {
	margin: 28px 0 0;
}

.vc-postmeta {
	font-size: 14px;
	color: var(--vc-texto-suave);
	margin-bottom: 18px;
}

.vc-conteudo {
	font-size: 17px;
	line-height: 1.72;
	color: #2a4a56;
}

.vc-conteudo--centro {
	max-width: 760px;
	margin: 0 auto;
}

.vc-conteudo > * {
	max-width: 760px;
}

.vc-conteudo > .alignwide,
.vc-conteudo > .alignfull,
.vc-conteudo > figure,
.vc-conteudo > .wp-block-table,
.vc-artigo .vc-conteudo > * {
	max-width: none;
}

.vc-conteudo h2 {
	font-size: clamp(26px, 3.4vw, 38px);
	margin: 44px 0 12px;
	scroll-margin-top: 110px;
}

.vc-conteudo h3 {
	font-size: clamp(21px, 2.6vw, 26px);
	color: var(--vc-laranja);
	margin: 30px 0 10px;
}

.vc-conteudo ul,
.vc-conteudo ol {
	padding-left: 22px;
}

.vc-conteudo li {
	margin-bottom: 8px;
}

.vc-conteudo blockquote {
	margin: 28px 0;
	padding: 18px 24px;
	border-left: 6px solid var(--vc-amarelo);
	background: #fff;
	border-radius: 0 12px 12px 0;
}

.vc-conteudo img,
.vc-conteudo .wp-block-image img {
	border-radius: var(--vc-raio);
}

.vc-conteudo table,
.wp-block-table table {
	width: 100%;
	border-collapse: collapse;
	background: #fff;
	border-radius: var(--vc-raio);
	overflow: hidden;
	font-size: 15px;
}

.vc-conteudo th,
.wp-block-table th {
	background: var(--vc-ciano);
	color: var(--vc-verde-noite);
	font-family: var(--vc-fonte-titulo);
	text-align: left;
	padding: 12px 18px;
}

.vc-conteudo td,
.wp-block-table td {
	padding: 11px 18px;
	border-bottom: 1px solid #f1e7d3;
}

.wp-block-table {
	overflow-x: auto;
}

.vc-dados {
	margin: 28px 0 0;
	background: #fff;
	border: 1px solid var(--vc-areia);
	border-radius: var(--vc-raio);
	padding: 8px 22px;
}

.vc-dados__linha {
	display: grid;
	grid-template-columns: 170px 1fr;
	gap: 14px;
	padding: 12px 0;
	border-bottom: 1px solid #f1e7d3;
}

.vc-dados__linha:last-child {
	border-bottom: 0;
}

.vc-dados dt {
	font-size: 12px;
	font-weight: 900;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--vc-laranja);
	margin: 0;
}

.vc-dados dd {
	margin: 0;
	font-size: 16px;
}

.vc-evento-dados {
	margin-bottom: 28px;
}

.vc-evento-dados .vc-dados {
	margin-top: 0;
}

.vc-evento-dados .vc-botao {
	margin-top: 18px;
}

.vc-video {
	position: relative;
	aspect-ratio: 16 / 9;
	margin-bottom: 28px;
	border-radius: var(--vc-raio);
	overflow: hidden;
	background: var(--vc-verde-noite);
}

.vc-video iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

.vc-tags {
	margin-top: 28px;
	font-size: 14px;
}

.vc-tags a {
	display: inline-block;
	background: #fff;
	border: 1px solid var(--vc-areia);
	border-radius: 999px;
	padding: 5px 14px;
	margin: 0 6px 6px 0;
}

.vc-widget,
.vc-layout__lateral .widget {
	background: #fff;
	border: 1px solid var(--vc-areia);
	border-radius: var(--vc-raio);
	padding: 22px 24px;
	margin-bottom: 20px;
}

.vc-widget__title {
	font-size: 20px;
	margin-bottom: 12px;
}

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

.vc-widget li {
	padding: 7px 0;
	border-bottom: 1px solid #f1e7d3;
}

/* =====================================================================
 * 8. Formulários e comentários
 * ================================================================== */

.vc-form-busca {
	display: flex;
	gap: 8px;
}

.vc-form-busca__campo,
input[type="text"],
input[type="email"],
input[type="url"],
input[type="search"],
input[type="tel"],
textarea {
	width: 100%;
	font-family: inherit;
	font-size: 16px;
	padding: 12px 18px;
	border: 1px solid var(--vc-areia);
	border-radius: 999px;
	background: #fff;
	color: var(--vc-texto);
}

textarea {
	border-radius: var(--vc-raio);
	min-height: 150px;
}

.vc-form-busca__botao {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	flex: 0 0 auto;
	border: 0;
	border-radius: 999px;
	background: var(--vc-verde-escuro);
	color: var(--vc-amarelo);
	cursor: pointer;
}

.vc-form-busca__botao:hover {
	background: var(--vc-laranja);
	color: #fff;
}

.vc-busca-topo {
	max-width: 560px;
	margin-bottom: 34px;
}

.vc-comentarios {
	margin-top: 52px;
	padding-top: 34px;
	border-top: 1px solid var(--vc-areia);
}

.vc-comentarios__lista {
	list-style: none;
	margin: 0 0 30px;
	padding: 0;
}

.vc-comentarios__lista .children {
	list-style: none;
	padding-left: 28px;
}

.vc-comentarios__lista .comment-body {
	background: #fff;
	border: 1px solid var(--vc-areia);
	border-radius: var(--vc-raio);
	padding: 20px 24px;
	margin-bottom: 16px;
}

.comment-form input:not([type="submit"]),
.comment-form textarea {
	max-width: 100%;
}

.comment-form .submit {
	background: var(--vc-laranja);
	color: #fff;
	border: 0;
	border-radius: 999px;
	padding: 13px 28px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	cursor: pointer;
}

/* =====================================================================
 * 9. Rodapé
 * ================================================================== */

.vc-footer {
	background: var(--vc-degrade);
	color: var(--vc-verde-noite);
	padding: 60px 0 28px;
	margin-top: 20px;
}

.vc-footer__grid {
	display: grid;
	grid-template-columns: 1.5fr 1fr;
	gap: 40px;
	padding-bottom: 40px;
	border-bottom: 1px solid rgba(0, 58, 74, 0.2);
}

.vc-footer__marca {
	display: inline-block;
	line-height: 0;
}

/* Um pouco mais de área que a logo do cabeçalho (62px) para marcas horizontais. */
.vc-footer__marca-img {
	width: auto;
	height: auto;
	max-width: min(240px, 100%);
	max-height: 72px;
}

.vc-footer__slogan {
	font-family: var(--vc-fonte-titulo);
	font-size: 22px;
	font-weight: 600;
	color: var(--vc-verde-escuro);
	margin: 14px 0;
}

.vc-footer__sobre,
.vc-footer__aviso {
	font-size: 14px;
	line-height: 1.6;
	color: var(--vc-verde-noite);
	margin: 0;
}

.vc-footer__title {
	font-family: var(--vc-fonte-texto);
	font-size: 12px;
	font-weight: 900;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--vc-verde-noite);
	margin-bottom: 14px;
}

.vc-footer__lista {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 9px;
	font-size: 15px;
}

.vc-footer__lista--redes a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

.vc-footer a {
	color: var(--vc-verde-noite);
}

.vc-footer a:hover {
	color: var(--vc-verde-noite);
	text-decoration: underline;
}

.vc-footer__base {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	padding-top: 26px;
}

.vc-footer__logos {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 22px;
}

.vc-footer__logo img {
	max-width: 150px;
	max-height: 80px;
	width: auto;
	height: auto;
}

.vc-footer__legal {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 20px;
	font-size: 13px;
	color: var(--vc-verde-noite);
}

.vc-footer__copy {
	margin: 0;
}

.vc-footer__legal-lista {
	display: flex;
	gap: 16px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.vc-topo {
	position: fixed;
	right: 22px;
	bottom: 22px;
	z-index: 40;
	width: 46px;
	height: 46px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 0;
	border-radius: 999px;
	background: var(--vc-verde-escuro);
	color: var(--vc-amarelo);
	box-shadow: var(--vc-sombra);
	cursor: pointer;
}

.vc-topo:hover {
	background: var(--vc-laranja);
	color: #fff;
}

/* =====================================================================
 * 10. Responsivo
 * ================================================================== */

@media (max-width: 1100px) {
	.vc-conheca__grade {
		grid-template-columns: repeat(3, 1fr);
	}

	.vc-play__grade {
		grid-template-columns: 1fr;
	}

	.vc-play__principal {
		min-height: 320px;
	}

	.vc-layout--indice {
		grid-template-columns: 220px minmax(0, 1fr);
		gap: 36px;
	}
}

@media (max-width: 980px) {
	.vc-nav {
		display: none;
	}

	.vc-sobreposicao {
		grid-template-columns: 1fr;
		gap: 0;
	}

	.vc-sobreposicao__media {
		min-height: 240px;
	}

	.vc-sobreposicao__texto {
		padding: 28px 24px 32px;
	}

	.vc-header__acoes {
		margin-left: auto;
		border-left: 0;
	}

	.vc-idiomas__lista a {
		min-width: 40px;
		font-size: 14px;
	}

	.vc-menu-toggle {
		display: inline-flex;
	}

	.vc-grade--3,
	.vc-servicos__grade {
		grid-template-columns: repeat(2, 1fr);
	}

	.vc-layout--com-lateral,
	.vc-layout--indice {
		grid-template-columns: minmax(0, 1fr);
		gap: 32px;
	}

	.vc-indice__caixa {
		position: static;
	}

	.vc-indice__nav {
		flex-direction: row;
		flex-wrap: wrap;
	}

	.vc-agenda__caixa {
		padding: 28px 22px;
	}

	.vc-agenda__item {
		grid-template-columns: 84px 1fr;
		gap: 16px;
	}

	.vc-agenda__local {
		grid-column: 2;
	}

	.vc-agenda__item .vc-botao {
		grid-column: 2;
		justify-self: start;
	}
}

@media (max-width: 720px) {
	.vc-paginacao .nav-links {
		gap: 2px;
		padding: 4px;
	}

	.vc-paginacao .page-numbers {
		min-width: 40px;
		height: 40px;
		padding: 0 10px;
		font-size: 16px;
	}

	.vc-paginacao .page-numbers.prev,
	.vc-paginacao .page-numbers.next {
		padding: 0;
		width: 40px;
	}

	.vc-paginacao__rotulo {
		position: absolute;
		width: 1px;
		height: 1px;
		margin: -1px;
		overflow: hidden;
		clip: rect(0, 0, 0, 0);
		white-space: nowrap;
	}

	body.vc-body {
		font-size: 16px;
	}

	.vc-container {
		padding-left: max(28px, env(safe-area-inset-left));
		padding-right: max(28px, env(safe-area-inset-right));
	}

	.vc-secao {
		padding-top: 48px;
		padding-bottom: 48px;
	}

	.vc-pagehead {
		padding: 40px 0 32px;
	}

	.vc-pagehead__titulo {
		font-size: clamp(28px, 8vw, 42px);
	}

	.single .vc-pagehead__titulo {
		font-size: clamp(24px, 6.4vw, 30px);
	}

	.vc-pagehead__cabeca {
		flex-direction: column;
		align-items: flex-start;
		gap: 4px;
	}

	.vc-pagehead__cabeca .vc-pagehead__titulo {
		margin: 0;
	}

	.vc-pagehead__texto {
		flex-basis: auto;
	}

	.vc-pagehead__logo {
		width: 140px;
		height: 140px;
	}

	.vc-menu-mobile {
		padding: 18px 28px 28px;
	}

	.vc-header__interno {
		padding-top: 14px;
		padding-bottom: 14px;
	}

	.vc-topbar__interno {
		flex-direction: column;
		align-items: flex-start;
		gap: 4px;
		font-size: 12px;
	}

	.vc-conheca__grade,
	.vc-grade--3,
	.vc-servicos__grade {
		grid-template-columns: 1fr;
	}

	.vc-card-alto {
		height: 220px;
	}

	.vc-evento {
		grid-template-columns: 78px 1fr;
	}

	.vc-evento__media {
		display: none;
	}

	.vc-dados__linha {
		grid-template-columns: 1fr;
		gap: 2px;
	}

	.vc-footer__grid {
		grid-template-columns: 1fr;
		gap: 28px;
	}

	.vc-footer__base {
		flex-direction: column;
		align-items: flex-start;
	}
}

@media (max-width: 400px) {
	.vc-paginacao .nav-links {
		gap: 0;
		padding: 3px;
	}

	.vc-paginacao .page-numbers,
	.vc-paginacao .page-numbers.prev,
	.vc-paginacao .page-numbers.next {
		min-width: 34px;
		height: 34px;
		padding: 0 6px;
		font-size: 15px;
	}

	.vc-paginacao .page-numbers.prev,
	.vc-paginacao .page-numbers.next {
		width: 34px;
		padding: 0;
		margin: 0;
	}

	.vc-paginacao .page-numbers.dots {
		min-width: 18px;
		padding: 0;
	}

	.vc-container {
		padding-left: max(18px, env(safe-area-inset-left));
		padding-right: max(18px, env(safe-area-inset-right));
	}

	.vc-menu-mobile {
		padding: 18px 18px 28px;
	}

	.vc-header__interno {
		padding-top: 16px;
		padding-bottom: 16px;
	}

	.vc-header__marca {
		padding: 6px 0;
	}

	.custom-logo-link img,
	.vc-logo__img {
		max-height: 48px;
	}
}

/* =====================================================================
 * Impressão
 * ================================================================== */

@media print {
	.vc-topbar,
	.vc-header,
	.vc-menu-mobile,
	.vc-footer,
	.vc-topo,
	.vc-hero__video,
	.vc-hero__slider,
	.vc-filtros {
		display: none !important;
	}

	body.vc-body {
		background: #fff;
		color: #000;
	}
}

/* Ícone de tela cheia do lightbox (core usa z-index 100 e passava por cima do header fixo). */
.wp-lightbox-container button {
	z-index: 2;
}
