/**
 * Widgets do tema para o Elementor.
 *
 * Só o indispensável: estrutura, proporção e estados. Cor, tipografia,
 * espaçamento e borda vêm dos controles de cada widget e sobrescrevem o que
 * estiver aqui, o que mantém as páginas editáveis sem tocar em código.
 */

/* Herói */

.lnd-w-heroi {
	align-items: center;
	background-position: center;
	background-size: cover;
	border-radius: var(--lnd-radius-lg);
	display: flex;
	min-height: 520px;
	overflow: hidden;
	position: relative;
}

.lnd-w-heroi__veu {
	background: #0d1117;
	inset: 0;
	opacity: 0.55;
	position: absolute;
}

.lnd-w-heroi__interno {
	max-width: 640px;
	padding: var(--lnd-s-8);
	position: relative;
	z-index: 1;
}

.lnd-w-heroi__titulo {
	color: #fff;
	font-size: var(--lnd-fs-800);
	margin-bottom: var(--lnd-s-4);
}

.lnd-w-heroi__etiqueta { color: var(--lnd-accent); }
.lnd-w-heroi__texto { color: rgba(255, 255, 255, 0.85); font-size: var(--lnd-fs-500); }
.lnd-w-heroi__acoes { display: flex; flex-wrap: wrap; gap: var(--lnd-s-3); margin-top: var(--lnd-s-5); }
.lnd-w-heroi .lnd-botao--fantasma { border-color: rgba(255, 255, 255, 0.5); color: #fff; }

/* Título de seção */

.lnd-w-titulo {
	align-items: flex-end;
	border-bottom: 1px solid var(--lnd-borda);
	display: flex;
	flex-wrap: wrap;
	gap: var(--lnd-s-4);
	justify-content: space-between;
	padding-bottom: var(--lnd-s-4);
}

.lnd-w-titulo__titulo { margin: 0; }
.lnd-w-titulo__apoio { color: var(--lnd-ink-2); margin: var(--lnd-s-2) 0 0; max-width: 60ch; }
.lnd-w-titulo__link { flex: none; font-size: var(--lnd-fs-300); }

/* Texto de leitura */

.lnd-w-texto { max-width: 680px; }
.lnd-w-texto > *:first-child { margin-top: 0; }
.lnd-w-texto > *:last-child { margin-bottom: 0; }
.lnd-w-texto--duas { columns: 2; column-gap: var(--lnd-s-7); max-width: 100%; }

@media (max-width: 720px) {
	.lnd-w-texto--duas { columns: 1; }
}

/* Blocos de destaque */

.lnd-w-cartoes {
	display: grid;
	gap: var(--lnd-s-5);
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.lnd-w-cartao {
	background: var(--lnd-surface);
	border: 1px solid var(--lnd-borda);
	border-radius: var(--lnd-radius-md);
	display: flex;
	flex-direction: column;
	overflow: hidden;
	position: relative;
	transition: transform 0.18s ease, box-shadow 0.18s ease;
}

.lnd-w-cartao:hover { box-shadow: var(--lnd-sombra); transform: translateY(-2px); }

.lnd-w-cartao__midia {
	aspect-ratio: 16 / 10;
	background-position: center;
	background-size: cover;
}

.lnd-w-cartao__corpo { padding: var(--lnd-s-5); }
.lnd-w-cartao__titulo { font-size: var(--lnd-fs-500); margin: 0 0 var(--lnd-s-2); }
.lnd-w-cartao__titulo a { color: inherit; text-decoration: none; }
.lnd-w-cartao__texto { color: var(--lnd-ink-2); font-size: var(--lnd-fs-300); margin: 0; }

.lnd-w-cartoes--capa .lnd-w-cartao { min-height: 320px; justify-content: flex-end; }

.lnd-w-cartoes--capa .lnd-w-cartao__midia {
	aspect-ratio: auto;
	inset: 0;
	position: absolute;
}

.lnd-w-cartoes--capa .lnd-w-cartao__corpo {
	background: linear-gradient(180deg, transparent, rgba(13, 17, 23, 0.92));
	position: relative;
}

.lnd-w-cartoes--capa .lnd-w-cartao__titulo,
.lnd-w-cartoes--capa .lnd-w-cartao__titulo a { color: #fff; }
.lnd-w-cartoes--capa .lnd-w-cartao__texto { color: rgba(255, 255, 255, 0.82); }

@media (max-width: 900px) {
	.lnd-w-cartoes { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 600px) {
	.lnd-w-cartoes { grid-template-columns: minmax(0, 1fr); }
}

/* Faixa de chamada */

.lnd-w-faixa {
	background-position: center;
	background-size: cover;
	border-radius: var(--lnd-radius-lg);
	overflow: hidden;
	padding: var(--lnd-s-8);
	position: relative;
}

.lnd-w-faixa__veu { background: #0d1117; inset: 0; opacity: 0.6; position: absolute; }

.lnd-w-faixa__interno {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: var(--lnd-s-5);
	justify-content: space-between;
	position: relative;
	z-index: 1;
}

.lnd-w-faixa--centro .lnd-w-faixa__interno { flex-direction: column; text-align: center; }
.lnd-w-faixa__titulo { color: #fff; margin: 0 0 var(--lnd-s-2); }
.lnd-w-faixa__texto { color: rgba(255, 255, 255, 0.85); margin: 0; max-width: 60ch; }

/* Mosaico */

.lnd-w-mosaico {
	display: grid;
	gap: var(--lnd-s-4);
	grid-template-columns: 2fr 1fr;
	min-height: 460px;
}

.lnd-w-mosaico__coluna { display: grid; gap: var(--lnd-s-4); }

.lnd-w-mosaico__bloco {
	background-position: center;
	background-size: cover;
	border-radius: var(--lnd-radius-md);
	display: flex;
	align-items: flex-end;
	overflow: hidden;
	position: relative;
}

.lnd-w-mosaico__veu { background: #0d1117; inset: 0; opacity: 0.55; position: absolute; }
.lnd-w-mosaico__corpo { padding: var(--lnd-s-5); position: relative; z-index: 1; }
.lnd-w-mosaico__titulo { color: #fff; margin: 0 0 var(--lnd-s-2); }
.lnd-w-mosaico__titulo a { color: inherit; text-decoration: none; }
.lnd-w-mosaico__destaque .lnd-w-mosaico__titulo { font-size: var(--lnd-fs-700); }
.lnd-w-mosaico__texto { color: rgba(255, 255, 255, 0.82); font-size: var(--lnd-fs-300); margin: 0; }

@media (max-width: 860px) {
	.lnd-w-mosaico { grid-template-columns: minmax(0, 1fr); }
}

/* Bloco de livro */

.lnd-w-livro {
	background: var(--lnd-surface);
	border: 1px solid var(--lnd-borda);
	border-radius: var(--lnd-radius-lg);
	display: grid;
	gap: var(--lnd-s-7);
	grid-template-columns: 280px minmax(0, 1fr);
	padding: var(--lnd-s-7);
}

.lnd-w-livro__capa img { border-radius: var(--lnd-radius-sm); box-shadow: var(--lnd-sombra); width: 100%; }
.lnd-w-livro__titulo { margin-bottom: var(--lnd-s-3); }
.lnd-w-livro__sinopse { color: var(--lnd-ink-2); }

.lnd-w-livro__ficha {
	border-top: 1px solid var(--lnd-borda);
	display: grid;
	gap: var(--lnd-s-3);
	grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
	margin: var(--lnd-s-5) 0;
	padding-top: var(--lnd-s-4);
}

.lnd-w-livro__ficha dt {
	color: var(--lnd-ink-3);
	font-family: var(--lnd-font-mono);
	font-size: var(--lnd-fs-100);
	text-transform: var(--lnd-caixa-etiqueta);
}

.lnd-w-livro__ficha dd { margin: 0; }

@media (max-width: 760px) {
	.lnd-w-livro { grid-template-columns: minmax(0, 1fr); }
}

/* Números */

.lnd-w-numeros { display: grid; gap: var(--lnd-s-4); grid-template-columns: repeat(3, minmax(0, 1fr)); }

.lnd-w-numero {
	background: var(--lnd-surface);
	border: 1px solid var(--lnd-borda);
	border-radius: var(--lnd-radius-md);
	display: block;
	padding: var(--lnd-s-5);
	text-align: center;
	text-decoration: none;
}

a.lnd-w-numero:hover { border-color: var(--lnd-accent); }

.lnd-w-numero__valor {
	color: var(--lnd-accent);
	display: block;
	font-family: var(--lnd-font-display);
	font-size: var(--lnd-fs-800);
	line-height: 1;
}

.lnd-w-numero__rotulo {
	color: var(--lnd-ink-2);
	display: block;
	font-size: var(--lnd-fs-200);
	margin-top: var(--lnd-s-2);
	text-transform: var(--lnd-caixa-etiqueta);
}

/* Perguntas e respostas */

.lnd-w-acordeao { display: flex; flex-direction: column; gap: var(--lnd-s-3); }

.lnd-w-acordeao__item {
	background: var(--lnd-surface);
	border: 1px solid var(--lnd-borda);
	border-radius: var(--lnd-radius-md);
	padding: var(--lnd-s-4) var(--lnd-s-5);
}

.lnd-w-acordeao__pergunta {
	cursor: pointer;
	font-family: var(--lnd-font-display);
	font-size: var(--lnd-fs-400);
	font-weight: 600;
}

.lnd-w-acordeao__resposta { color: var(--lnd-ink-2); padding-top: var(--lnd-s-3); }
.lnd-w-acordeao__resposta > *:last-child { margin-bottom: 0; }

/* Telas estreitas ------------------------------------------------------ */

@media (max-width: 860px) {
	.lnd-w-mosaico {
		gap: var(--lnd-s-3);
		grid-template-columns: minmax(0, 1fr);
		min-height: 0;
	}

	/* Sem altura fixa o texto deixa de ser cortado: cada bloco cresce
	   conforme o próprio conteúdo. */

	.lnd-w-mosaico__bloco { min-height: 260px; }
	.lnd-w-mosaico__destaque { min-height: 320px; }
	.lnd-w-mosaico__destaque .lnd-w-mosaico__titulo { font-size: var(--lnd-fs-600); }
	.lnd-w-mosaico__corpo { padding: var(--lnd-s-4); }
	.lnd-w-mosaico__texto { display: block; }
}

@media (max-width: 782px) {
	.lnd-w-heroi { min-height: 0; }
	.lnd-w-heroi__interno { padding: var(--lnd-s-6) var(--lnd-s-5); }
	.lnd-w-heroi__titulo { font-size: var(--lnd-fs-700); overflow-wrap: anywhere; }
	.lnd-w-heroi__acoes { flex-direction: column; align-items: stretch; }
	.lnd-w-heroi__acoes .lnd-botao { text-align: center; }

	.lnd-w-titulo { align-items: flex-start; flex-direction: column; gap: var(--lnd-s-2); }
	.lnd-w-titulo__titulo { font-size: var(--lnd-fs-600); }

	.lnd-w-faixa { padding: var(--lnd-s-6) var(--lnd-s-5); }
	.lnd-w-faixa__interno { align-items: flex-start; flex-direction: column; }

	.lnd-w-livro { gap: var(--lnd-s-5); padding: var(--lnd-s-5); }
	.lnd-w-livro__capa { max-width: 200px; }

	.lnd-w-numeros { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
	.lnd-w-numero__valor { font-size: var(--lnd-fs-700); }

	.lnd-w-cartoes { grid-template-columns: minmax(0, 1fr) !important; }
	.lnd-w-cartoes--capa .lnd-w-cartao { min-height: 260px; }

	.lnd-w-acordeao__item { padding: var(--lnd-s-3) var(--lnd-s-4); }

	.lnd-w-texto--duas { columns: 1; }
}
