/*
Theme Name:   Colen Turismo
Theme URI:    https://colenturismo.com.br
Description:  Tema filho do Astra feito para a Colen Turismo: Home com foto em destaque (Hero), cards de pacotes, páginas internas e rodapé com newsletter. Os dados (pacotes, inscritos, configurações) ficam no plugin "Colen Turismo".
Author:       Colen Turismo
Template:     astra
Version:      1.2.2
Text Domain:  colen
*/

/* Histórico
 * 1.0.0 (30/10/2026) — Primeira versão; substitui Divi + Sintext.
 * 1.1.0 (30/10/2026) — Encontro com o panfleto inteiro (4 imagens) na primeira linha.
 * 1.2.0 (02/11/2026) — Celular com rolagem menor: panfleto em 2 colunas (toque amplia),
 *   cards em linha (foto ao lado do texto), vídeos, estilos, diferenciais e rodapé em 2 colunas.
 * 1.2.1 (02/11/2026) — Botões de Instagram, Facebook e YouTube no topo, no menu do celular e no rodapé.
 * 1.2.2 (02/11/2026) — Redes sociais com os ícones oficiais, nas cores de cada marca.
 */

/* ===================================================================
 * Cores e medidas (mude aqui e vale para o site todo)
 * =================================================================== */
:root {
	--ct-marinho: #001a32;   /* azul-marinho do site antigo */
	--ct-marinho-2: #172b3f;
	--ct-agua: #0097a7;      /* verde-água do globo do logo */
	--ct-verde: #86bc2e;     /* verde do "Colen" no logo */
	--ct-whats: #0b7a6e;
	--ct-claro: #f8faff;     /* fundo claro do site antigo */
	--ct-texto: #3b4856;
	--ct-suave: #66727f;
	--ct-borda: #e2e8f0;
	--ct-raio: 10px;
	--ct-sombra: 0 6px 24px rgba(0, 26, 50, .10);
	--ct-largura: 1200px;
	--ct-fonte: "Lato", -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
}

/* ===================================================================
 * Base
 * =================================================================== */
body.colen {
	margin: 0;
	background: #fff;
	color: var(--ct-texto);
	font-family: var(--ct-fonte);
	font-size: 17px;
	line-height: 1.65;
}
.colen h1, .colen h2, .colen h3, .colen h4 {
	color: var(--ct-marinho);
	font-family: var(--ct-fonte);
	line-height: 1.2;
	margin: 0 0 .5em;
}
.colen a { color: var(--ct-agua); }
.colen img { max-width: 100%; height: auto; }

.ct-largura {
	width: 100%;
	max-width: var(--ct-largura);
	margin: 0 auto;
	padding: 0 20px;
	box-sizing: border-box;
}
.ct-conteudo { display: block; min-height: 40vh; }

/* ===================================================================
 * Botões
 * =================================================================== */
.colen-botao {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 12px 26px;
	border: 2px solid var(--ct-marinho);
	border-radius: 999px;
	background: var(--ct-marinho);
	color: #fff !important;
	font-family: var(--ct-fonte);
	font-size: 15px;
	font-weight: 700;
	letter-spacing: .03em;
	line-height: 1.2;
	text-decoration: none !important;
	text-transform: uppercase;
	cursor: pointer;
	transition: transform .15s, background-color .15s, border-color .15s;
}
.colen-botao:hover { transform: translateY(-1px); background: var(--ct-marinho-2); }
.colen-botao--destaque { background: var(--ct-verde); border-color: var(--ct-verde); color: var(--ct-marinho) !important; }
.colen-botao--destaque:hover { background: #95c93d; border-color: #95c93d; }
.colen-botao--claro { background: transparent; border-color: #fff; }
.colen-botao--claro:hover { background: rgba(255, 255, 255, .15); }
.colen-botao--whats { background: var(--ct-whats); border-color: var(--ct-whats); }
.colen-botao--whats:hover { background: #096a5f; }
.colen-botao--card { padding: 9px 20px; font-size: 13px; background: transparent; color: var(--ct-marinho) !important; }
.colen-botao--card:hover { background: var(--ct-marinho); color: #fff !important; }
.colen-botao--bloco { display: flex; width: 100%; margin-top: 10px; }

/* ===================================================================
 * Cabeçalho
 * =================================================================== */
.ct-topo {
	position: sticky;
	top: 0;
	z-index: 50;
	background: rgba(255, 255, 255, .96);
	backdrop-filter: blur(6px);
	box-shadow: 0 1px 0 var(--ct-borda);
}
.admin-bar .ct-topo { top: 32px; }
.ct-topo__barra {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	gap: 24px;
	min-height: 92px;
}
.ct-topo__logo { display: block; line-height: 0; }
.ct-topo__logo img { height: 74px; width: auto; }
.ct-topo__menu { display: flex; align-items: center; gap: 18px; }
.ct-topo__menu--esq { justify-content: flex-end; }
.ct-topo__menu--dir { justify-content: flex-start; }
.ct-menu { display: flex; flex-wrap: wrap; gap: 6px 22px; list-style: none; margin: 0; padding: 0; }
.ct-topo .ct-menu a {
	color: var(--ct-marinho);
	font-size: 15px;
	font-weight: 700;
	letter-spacing: .06em;
	text-decoration: none;
	text-transform: uppercase;
	padding: 6px 0;
	border-bottom: 2px solid transparent;
}
.ct-topo .ct-menu a:hover,
.ct-topo .ct-menu .current-menu-item > a { border-bottom-color: var(--ct-verde); }
.ct-topo__whats { padding: 9px 18px; font-size: 13px; }
.ct-topo__abrir { display: none; }
.ct-gaveta[hidden] { display: none; }

/* ===================================================================
 * Hero (Home) e faixa das páginas internas
 * =================================================================== */
.ct-hero,
.ct-faixa {
	position: relative;
	background-color: var(--ct-marinho);
	background-position: center;
	background-size: cover;
	color: #fff;
	text-align: center;
}
.ct-hero::before,
.ct-faixa::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(0, 26, 50, .5) 0%, rgba(0, 26, 50, .45) 45%, rgba(0, 26, 50, .8) 100%);
}
.ct-hero__conteudo,
.ct-faixa__conteudo { position: relative; }
.ct-hero {
	display: flex;
	align-items: center;
	min-height: min(82vh, 760px);
	padding: 60px 0 70px;
}
.ct-hero__logo img { width: 220px; filter: drop-shadow(0 2px 8px rgba(0, 0, 0, .35)); }
.ct-hero__titulo {
	color: #fff !important;
	font-size: clamp(34px, 5.2vw, 62px);
	font-weight: 900;
	letter-spacing: .01em;
	text-transform: uppercase;
	text-shadow: 0 2px 16px rgba(0, 0, 0, .35);
	max-width: 900px;
	margin: 18px auto 10px !important;
}
.ct-hero__sub { font-size: clamp(18px, 2vw, 24px); margin: 0 0 30px; text-shadow: 0 1px 8px rgba(0, 0, 0, .4); }
.ct-hero__botoes { display: flex; flex-wrap: wrap; justify-content: center; gap: 14px; }

.ct-faixa { padding: 90px 0 70px; }
.ct-faixa__titulo {
	color: #fff !important;
	font-size: clamp(30px, 4vw, 46px);
	font-weight: 900;
	text-transform: uppercase;
	margin: 0 !important;
}
.ct-faixa__sub { margin: 10px 0 0; font-size: 19px; }

/* ===================================================================
 * Seções da Home
 * =================================================================== */
.ct-secao { padding: 80px 0; }
.ct-secao--clara { background: var(--ct-claro); }
.ct-secao__cabeca { text-align: center; margin-bottom: 40px; }
.ct-secao__sobre {
	color: var(--ct-agua);
	font-size: 14px;
	font-weight: 900;
	letter-spacing: .18em;
	text-transform: uppercase;
	margin: 0 0 6px;
}
.ct-secao__titulo { font-size: clamp(28px, 3.4vw, 40px); font-weight: 900; margin: 0 !important; }
.ct-secao__titulo::after {
	content: "";
	display: block;
	width: 60px;
	height: 4px;
	margin: 16px auto 0;
	border-radius: 2px;
	background: var(--ct-verde);
}
.ct-secao__mais { text-align: center; margin: 40px 0 0; }

/* Estilos de viagem (categorias) */
.ct-estilos { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.ct-estilo {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	min-height: 240px;
	padding: 20px;
	overflow: hidden;
	border-radius: var(--ct-raio);
	background: var(--ct-marinho) center / cover;
	color: #fff !important;
	text-decoration: none !important;
	box-shadow: var(--ct-sombra);
	transition: transform .2s;
}
.ct-estilo::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0, 26, 50, 0) 30%, rgba(0, 26, 50, .85) 100%); }
.ct-estilo:hover { transform: translateY(-4px); }
.ct-estilo__nome, .ct-estilo__total { position: relative; }
.ct-estilo__nome { font-size: 21px; font-weight: 900; line-height: 1.2; }
.ct-estilo__total { font-size: 14px; color: #d8f0b8; }

/* Vídeos */
.ct-videos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.ct-video, .ct-videos iframe {
	position: relative;
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	padding: 0;
	border: 0;
	border-radius: var(--ct-raio);
	overflow: hidden;
	background: #000;
	cursor: pointer;
	box-shadow: var(--ct-sombra);
}
.ct-video img { width: 100%; height: 100%; object-fit: cover; opacity: .85; transition: opacity .2s; }
.ct-video:hover img { opacity: 1; }
.ct-video__play {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 74px;
	height: 74px;
	margin: -37px 0 0 -37px;
	border-radius: 50%;
	background: rgba(0, 26, 50, .85);
}
.ct-video__play::after {
	content: "";
	position: absolute;
	top: 24px;
	left: 30px;
	border-style: solid;
	border-width: 13px 0 13px 21px;
	border-color: transparent transparent transparent #fff;
}

/* Newsletter */
.ct-news { background: var(--ct-marinho); color: #dbe6f0; padding: 64px 0; }
.ct-news--rodape { background: var(--ct-marinho-2); padding: 48px 0; }
.ct-news__grade { display: grid; grid-template-columns: 1fr 1.3fr; gap: 40px; align-items: center; }
.ct-news__titulo { color: #fff !important; font-size: clamp(24px, 2.6vw, 32px); font-weight: 900; }
.ct-news p { margin: 0; }
.colen-newsletter__campos { display: flex; flex-wrap: wrap; gap: 10px; }
.colen-newsletter input[type="text"],
.colen-newsletter input[type="email"] {
	flex: 1 1 180px;
	min-height: 48px;
	padding: 10px 18px;
	border: 2px solid transparent;
	border-radius: 999px;
	background: #fff;
	color: var(--ct-marinho);
	font-size: 16px;
}
.colen-newsletter input:focus { border-color: var(--ct-verde); outline: none; }
.colen-newsletter__aceite { display: flex; gap: 8px; align-items: flex-start; margin-top: 12px; color: #dbe6f0 !important; font-size: 14px; line-height: 1.4; }
.colen-newsletter__aceite input { margin-top: 3px; }
.colen-armadilha { position: absolute !important; left: -9999px !important; }

.colen-aviso { padding: 10px 16px; border-radius: 8px; margin: 0 0 14px !important; font-weight: 700; }
.colen-aviso--sucesso { background: #e8f6d6; color: #2f5410; }
.colen-aviso--erro { background: #fde8e8; color: #8a1c1c; }

/* ===================================================================
 * Cards de pacotes (plugin)
 * =================================================================== */
.colen-pacotes {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 26px;
	align-items: start;
}
.colen-pacotes--1 { grid-template-columns: minmax(0, 460px); justify-content: center; }
.colen-pacotes--2 { grid-template-columns: repeat(2, minmax(0, 460px)); justify-content: center; }
.colen-pacotes--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }

.colen-card {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	border-radius: var(--ct-raio);
	background: #fff;
	box-shadow: var(--ct-sombra);
	transition: transform .2s, box-shadow .2s;
}
.colen-card:hover { transform: translateY(-4px); box-shadow: 0 12px 32px rgba(0, 26, 50, .16); }
.colen-card__imagem { display: block; line-height: 0; background: var(--ct-claro); }
/* As artes dos pacotes são cartazes com texto: mostrar inteiras, num quadro de mesma altura */
.colen-card__imagem img { display: block; width: 100%; aspect-ratio: 4 / 5; object-fit: contain; }
/* Encontro: imagem inteira, na proporção original (sem corte) */
.colen-card--encontro { outline: 3px solid var(--ct-verde); outline-offset: -3px; }
.colen-card--encontro .colen-card__imagem img { aspect-ratio: auto; height: auto; object-fit: contain; }
.colen-card__corpo { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; padding: 18px 20px 22px; }
.colen-card__titulo { font-size: 19px !important; font-weight: 900; margin: 0 !important; }
.colen-card__titulo a { color: var(--ct-marinho) !important; text-decoration: none; }
.colen-selo {
	display: inline-block;
	padding: 3px 10px;
	border-radius: 999px;
	background: #e6f5f6;
	color: #006874;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
}
.colen-card--encontro .colen-selo { background: var(--ct-verde); color: var(--ct-marinho); }

.colen-infos { list-style: none !important; margin: 0 0 6px !important; padding: 0 !important; font-size: 15px; line-height: 1.5; }
.colen-info { margin: 0 0 2px !important; }
.colen-info__rotulo { color: var(--ct-suave); font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; }
.colen-info__rotulo::after { content: ":"; }
.colen-info__valor { color: var(--ct-marinho); }
.colen-info--valor .colen-info__valor { font-weight: 900; color: #3f6b0c; }

.colen-vazio { text-align: center; color: var(--ct-suave); }

/* Encontro: o panfleto (4 imagens lado a lado) na primeira linha, inteiro e sem corte */
.colen-encontro {
	margin: 0 0 34px;
	overflow: hidden;
	border-radius: var(--ct-raio);
	background: #fff;
	box-shadow: var(--ct-sombra);
	outline: 3px solid var(--ct-verde);
	outline-offset: -3px;
}
.colen-panfleto { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; background: var(--ct-claro); }
.colen-panfleto--1 { grid-template-columns: minmax(0, 480px); justify-content: center; }
.colen-panfleto--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.colen-panfleto--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.colen-panfleto__dica { display: none; margin: 8px 0 0; color: var(--ct-suave); font-size: 13px; text-align: center; }
.colen-panfleto__parte { display: block; line-height: 0; cursor: zoom-in; }
.colen-panfleto__parte img { display: block; width: 100%; height: auto; }
.colen-encontro__corpo { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 30px; padding: 20px 26px; }
.colen-encontro__titulo { flex: 1 1 260px; }
.colen-encontro__titulo .colen-selo { background: var(--ct-verde); color: var(--ct-marinho); margin-bottom: 6px; }
.colen-encontro .colen-card__titulo { font-size: 24px !important; }
.colen-encontro .colen-infos { display: flex; flex-wrap: wrap; gap: 4px 24px; margin: 0 !important; }
.ct-pacote__panfleto { margin: 26px 0 0; }
.ct-pacote__panfleto .colen-panfleto { border-radius: var(--ct-raio); overflow: hidden; box-shadow: var(--ct-sombra); }
.ct-pacote__dica { font-size: 14px; color: var(--ct-suave); text-align: center; margin: 10px 0 0; }
.ct-pacote--encontro .ct-pacote__texto { margin-top: 0; }

/* Abas da página Pacotes */
.colen-abas { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin: 0 0 34px; }
.colen-aba {
	padding: 8px 18px;
	border: 2px solid var(--ct-borda);
	border-radius: 999px;
	color: var(--ct-marinho) !important;
	font-size: 14px;
	font-weight: 700;
	text-decoration: none !important;
}
.colen-aba:hover { border-color: var(--ct-agua); }
.colen-aba.is-ativa { background: var(--ct-marinho); border-color: var(--ct-marinho); color: #fff !important; }

/* Diferenciais */
.colen-diferenciais { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 22px; margin: 50px 0 0; }
.ct-secao .colen-diferenciais { margin-top: 0; }
.colen-diferencial {
	padding: 28px 24px;
	border-radius: var(--ct-raio);
	background: #fff;
	box-shadow: var(--ct-sombra);
	text-align: center;
}
.colen-diferencial h3 { font-size: 18px !important; font-weight: 900; text-transform: uppercase; letter-spacing: .03em; }
.colen-diferencial p { font-size: 15px; margin: 0; }
.colen-diferencial__icone {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 64px;
	height: 64px;
	margin-bottom: 14px;
	border-radius: 50%;
	background: #e6f5f6;
}
.colen-diferencial__icone svg { width: 30px; height: 30px; fill: var(--ct-agua); }
.colen-diferencial--reserva { background: var(--ct-marinho); color: #dbe6f0; }
.colen-diferencial--reserva h3 { color: #fff !important; }
.colen-diferencial--reserva .colen-botao { margin-top: 18px; }

/* ===================================================================
 * Páginas internas
 * =================================================================== */
.ct-pagina { padding-top: 60px; padding-bottom: 80px; }
.ct-texto { max-width: 820px; margin: 0 auto; }
.ct-texto--larga { max-width: none; }
.ct-texto > p:first-child.colen-chamada,
.colen-chamada {
	color: var(--ct-marinho);
	font-size: clamp(21px, 2.2vw, 26px);
	font-weight: 700;
	text-align: center;
	margin-bottom: 1.4em;
}
.ct-texto--larga > p { max-width: 820px; margin-left: auto; margin-right: auto; }
.ct-arquivo { padding-top: 60px; padding-bottom: 80px; }
.ct-lista { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 26px; }

/* Formulário de contato */
.colen-contato { display: flex; flex-wrap: wrap; gap: 0 4%; margin-top: 30px; padding: 30px; border-radius: var(--ct-raio); background: var(--ct-claro); }
.colen-contato p { flex: 1 1 100%; margin: 0 0 16px; }
.colen-contato .colen-contato__metade { flex-basis: 48%; }
.colen-contato label { display: block; color: var(--ct-marinho); font-size: 14px; font-weight: 700; margin-bottom: 4px; }
.colen-contato input, .colen-contato textarea {
	width: 100%;
	box-sizing: border-box;
	padding: 12px 14px;
	border: 1px solid #cfd8e3;
	border-radius: 8px;
	background: #fff;
	font-size: 16px;
}
.colen-contato .colen-aviso { flex-basis: 100%; }

/* ===================================================================
 * Página do pacote
 * =================================================================== */
.ct-pacote { padding-top: 30px; padding-bottom: 70px; }
.ct-trilha { font-size: 14px; color: var(--ct-suave); margin-bottom: 18px; }
.ct-trilha a { color: var(--ct-suave); }
.ct-pacote__titulo { font-size: clamp(30px, 4vw, 46px); font-weight: 900; margin: 10px 0 8px !important; }
.ct-pacote__resumo { font-size: 19px; max-width: 760px; }
.ct-pacote__grade { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(280px, 1fr); gap: 36px; align-items: start; margin-top: 26px; }
.ct-pacote__imagem img { display: block; width: auto; max-width: 100%; height: auto; margin: 0 auto; border-radius: var(--ct-raio); box-shadow: var(--ct-sombra); }
.ct-pacote__caixa {
	position: sticky;
	top: 120px;
	padding: 26px;
	border-radius: var(--ct-raio);
	background: var(--ct-claro);
	border: 1px solid var(--ct-borda);
}
.ct-pacote__caixa-titulo { font-size: 15px !important; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; color: var(--ct-agua) !important; }
.ct-pacote__caixa .colen-infos { font-size: 17px; margin-bottom: 14px !important; }
.ct-pacote__caixa .colen-info { padding: 8px 0; border-bottom: 1px solid var(--ct-borda); }
.ct-pacote__caixa .colen-info__rotulo { display: block; }
.ct-pacote__texto { max-width: none; margin-top: 40px; }
.ct-pacote__texto .gallery { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 12px; }
.ct-pacote__texto .gallery-item { margin: 0; width: auto !important; }
.ct-pacote__texto .gallery img { width: 100%; height: 100%; object-fit: cover; border-radius: 8px; border: 0 !important; }

/* ===================================================================
 * Rodapé
 * =================================================================== */
.ct-rodape { background: var(--ct-marinho); color: #b9c7d6; font-size: 15px; }
.ct-rodape__grade { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1.3fr; gap: 36px; padding-top: 60px; padding-bottom: 40px; }
.ct-rodape__logo img { width: 160px; }
.ct-rodape__titulo { color: #fff !important; font-size: 15px !important; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; margin-bottom: 14px !important; }
.ct-rodape .ct-menu { flex-direction: column; gap: 8px; }
.ct-rodape a { color: #dbe6f0; text-decoration: none; }
.ct-rodape a:hover { color: var(--ct-verde); }
.ct-rodape p { margin: 0 0 10px; }
.ct-rodape__base { background: #00111f; padding: 16px 0; font-size: 14px; text-align: center; }

/* Botões das redes sociais: ícones oficiais, nas cores de cada marca */
.ct-redes { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.ct-redes:empty { display: none; }
a.ct-rede { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-width: 38px; height: 38px; border-radius: 999px; background: #fff; color: var(--ct-marinho); font-size: 14px; font-weight: 700; line-height: 1; text-decoration: none; transition: transform .15s, box-shadow .15s; }
a.ct-rede:hover { transform: translateY(-2px); box-shadow: 0 3px 10px rgba(0, 26, 50, .25); color: var(--ct-marinho); }
.ct-rede svg { display: block; width: 22px; height: 22px; flex: none; box-sizing: border-box; }
.ct-rede--instagram svg { padding: 3px; border-radius: 6px; color: #fff; background: linear-gradient(45deg, #feda75 0%, #fa7e1e 25%, #d62976 50%, #962fbf 75%, #4f5bd5 100%); }
.ct-rede--facebook svg { color: #1877f2; }
.ct-rede--youtube svg { color: #f00; }
.ct-rede--whatsapp svg { color: #25d366; }
a.ct-rede--nome { padding: 0 14px 0 10px; }
.ct-topo__menu--dir, .ct-topo__menu--dir .ct-menu { flex-wrap: nowrap; white-space: nowrap; }
.ct-topo__redes { flex-wrap: nowrap; flex: none; gap: 6px; }
.ct-topo__redes a.ct-rede { min-width: 34px; height: 34px; background: none; }
.ct-topo__redes .ct-rede svg { width: 28px; height: 28px; }
.ct-gaveta__redes { margin-top: 16px; }
.ct-gaveta__redes a.ct-rede { border: 1px solid var(--ct-borda); }
.ct-rodape__redes { margin-top: 14px; }

/* ===================================================================
 * Responsivo
 * =================================================================== */
@media (max-width: 1180px) {
	.ct-topo__redes { display: none; } /* em telas estreitas, os botões ficam só no rodapé e no menu do celular */
}

@media (max-width: 1024px) {
	.colen-pacotes, .colen-pacotes--3, .ct-estilos, .colen-diferenciais, .ct-lista { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ct-rodape__grade { grid-template-columns: 1fr 1fr; }
	.ct-topo__whats, .ct-topo__redes { display: none; }
}

@media (max-width: 860px) {
	.ct-topo__barra { grid-template-columns: 1fr auto; min-height: 72px; }
	.ct-topo__menu { display: none; }
	.ct-topo__logo img { height: 56px; }
	.ct-topo__abrir {
		display: inline-flex;
		align-items: center;
		gap: 10px;
		padding: 10px 16px;
		border: 2px solid var(--ct-marinho);
		border-radius: 999px;
		background: #fff;
		color: var(--ct-marinho);
		font-family: var(--ct-fonte);
		font-size: 14px;
		font-weight: 700;
		text-transform: uppercase;
	}
	.ct-topo__abrir-icone, .ct-topo__abrir-icone::before, .ct-topo__abrir-icone::after { display: block; width: 18px; height: 2px; background: currentColor; }
	.ct-topo__abrir-icone { position: relative; }
	.ct-topo__abrir-icone::before, .ct-topo__abrir-icone::after { content: ""; position: absolute; left: 0; }
	.ct-topo__abrir-icone::before { top: -6px; }
	.ct-topo__abrir-icone::after { top: 6px; }
	.ct-gaveta { padding: 10px 20px 24px; border-top: 1px solid var(--ct-borda); background: #fff; }
	.ct-gaveta .ct-menu { flex-direction: column; gap: 0; }
	.ct-gaveta .ct-menu a { display: block; padding: 14px 0; border-bottom: 1px solid var(--ct-borda); }
	.ct-gaveta .colen-botao { margin-top: 18px; width: 100%; box-sizing: border-box; }

	.ct-pacote__grade, .ct-news__grade { grid-template-columns: 1fr; }
	.colen-panfleto, .colen-panfleto--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ct-pacote__caixa { position: static; }
	.ct-secao { padding: 56px 0; }
}

@media (max-width: 782px) {
	.admin-bar .ct-topo { top: 0; }
}

@media (max-width: 600px) {
	body.colen { font-size: 16px; }
	.colen-pacotes, .colen-pacotes--1, .colen-pacotes--2, .colen-pacotes--3, .ct-lista { grid-template-columns: 1fr; gap: 14px; }
	.ct-estilos, .colen-diferenciais, .ct-videos { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
	.ct-secao { padding: 40px 0; }
	.ct-secao__cabeca { margin-bottom: 22px; }

	/* Rolagem menor: o panfleto do Encontro fica em 2 colunas (o toque abre a parte em tamanho real) */
	.colen-panfleto, .colen-panfleto--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.colen-panfleto__dica { display: block; }

	/* Cards em linha: a foto inteira ao lado do texto */
	.colen-card { display: grid; grid-template-columns: 38% minmax(0, 1fr); align-items: start; }
	.colen-card__imagem { height: 100%; }
	.colen-card__imagem img, .colen-card--encontro .colen-card__imagem img { aspect-ratio: auto; width: 100%; height: auto; }
	.colen-card__corpo { padding: 12px 14px 14px; gap: 6px; }
	.colen-card__titulo { font-size: 17px !important; }
	.colen-card .colen-infos { font-size: 14px; line-height: 1.35; }
	.colen-card .colen-botao { padding: 8px 16px; font-size: 14px; }

	/* Diferenciais e estilos mais compactos */
	.colen-diferencial { padding: 16px 12px; }
	.colen-diferencial h3 { font-size: 14px !important; }
	.colen-diferencial p { font-size: 14px; line-height: 1.35; }
	.ct-estilo__nome { font-size: 17px; }

	/* Rodapé em 2 colunas; a primeira coluna (logo) ocupa a linha toda */
	.ct-rodape__grade { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 18px; padding-top: 36px; padding-bottom: 24px; }
	.ct-rodape__grade > :first-child, .ct-rodape__grade > :last-child { grid-column: 1 / -1; }
	.colen-encontro__corpo { padding: 18px; }
	.ct-hero { min-height: 72vh; }
	.ct-hero__logo img { width: 160px; }
	.ct-faixa { padding: 60px 0 46px; }
	.colen-contato { padding: 20px; }
	.colen-contato .colen-contato__metade { flex-basis: 100%; }
	.colen-botao { padding: 12px 22px; }
}

/* Botão "voltar ao topo" do Astra nas cores da Colen */
#ast-scroll-top { background-color: var(--ct-marinho) !important; color: #fff !important; }
