/* S&N Inspira Equipe: cards da coordenação e janela da biografia. Cores da paleta S&N (fallback se o sn-inspira-core não estiver ativo). */
.sni-eq-grade, .sni-eq-modal {
	--e-bg: var(--sni-bg, #F8F8F6);
	--e-text: var(--sni-text, #3D3D3D);
	--e-gold: var(--sni-gold, #C29D63);
	--e-gold-hover: var(--sni-gold-hover, #B08A4F);
	--e-gold-text: var(--sni-gold-text, #8A6A36);
	--e-ink: var(--sni-ink, #1F1F1F);
	--e-white: var(--sni-white, #FFFFFF);
	--e-line: var(--sni-line, #E6E1D8);
	--e-titulo: "Barlow Condensed", "Arial Narrow", sans-serif;
	--e-corpo: "Inter", system-ui, sans-serif;

	--e-gap: 28px;
	--e-raio: 20px;
	--e-pad: 24px;
	--e-nome: 28px;
	--e-cargo: 15px;
	--e-etiqueta: 12px;
	--e-link: 13px;
}
@media (max-width: 880px) {
	.sni-eq-grade, .sni-eq-modal {
		--e-gap: 3vw;
		--e-raio: 2.4vw;
		--e-pad: 2.9vw;
		--e-nome: max(20px, 3.4vw);
		--e-cargo: max(13px, 1.8vw);
		--e-etiqueta: max(12px, 1.4vw);
		--e-link: max(12px, 1.6vw);
	}
}
@media (max-width: 767px) {
	.sni-eq-grade, .sni-eq-modal {
		--e-gap: 3.2vw;
		--e-raio: 4.3vw;
		--e-pad: 4vw;
		--e-nome: max(18px, 5.4vw);
		--e-cargo: max(13px, 3.5vw);
		--e-etiqueta: max(12px, 3vw);
		--e-link: max(12px, 3.2vw);
	}
}

/* ---------- Grade: 3 colunas em telas grandes, 2 nas pequenas ---------- */
/* Flex com largura fixa por card: a última linha incompleta fica centralizada. */
.sni-eq-grade {
	--e-colunas: 3;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: var(--e-gap);
	width: 100%;
}
.sni-eq-grade > .sni-eq-card {
	width: calc((100% - (var(--e-colunas) - 1) * var(--e-gap)) / var(--e-colunas));
}
@media (max-width: 880px) {
	.sni-eq-grade { --e-colunas: 2; }
}

/* ---------- Card ---------- */
.sni-eq-card {
	position: relative;
	display: flex;
	flex-direction: column;
	overflow: hidden;
	background: var(--e-white);
	border: 1px solid var(--e-line);
	border-radius: var(--e-raio);
	box-shadow: 0 10px 30px -12px rgba(61, 61, 61, .18);
	transition: transform .3s ease, box-shadow .3s ease;
}
/* Filete dourado no topo, como na referência */
.sni-eq-card::before {
	content: "";
	position: absolute;
	inset: 0 0 auto 0;
	height: 4px;
	z-index: 2;
	background: linear-gradient(90deg, var(--e-ink), var(--e-gold) 50%, var(--e-ink));
}
.sni-eq-card:hover { transform: translateY(-4px); box-shadow: 0 24px 50px -24px rgba(61, 61, 61, .35); }

.sni-eq-card__foto {
	position: relative;
	aspect-ratio: 9 / 8;
	overflow: hidden;
	background: var(--e-bg);
}
.sni-eq-card__foto[data-sni-eq-abrir] { cursor: pointer; }
.sni-eq-card__img,
.sni-eq-card__foto img {
	display: block;
	width: 100% !important;
	height: 100% !important;
	max-width: none;
	object-fit: cover;
	object-position: center 25%;
	transition: transform .6s ease;
}
.sni-eq-card:hover .sni-eq-card__foto img { transform: scale(1.04); }

/* Sem foto: iniciais sobre o dourado */
.sni-eq-card__iniciais {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	/* Cor sólida de reserva: o "lazy load" de fundos do Elementor tira o gradiente até a seção aparecer. */
	background-color: var(--e-gold);
	background-image: linear-gradient(135deg, var(--e-gold), var(--e-gold-hover));
	font-family: var(--e-titulo);
	font-size: calc(var(--e-nome) * 2.6);
	font-weight: 700;
	color: var(--e-ink);
}

.sni-eq-card__corpo {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 6px;
	flex: 1;
	padding: var(--e-pad);
}
.sni-eq-card__etiqueta,
.sni-eq-modal .sni-eq-card__etiqueta {
	margin: 0;
	font-family: var(--e-corpo);
	font-size: var(--e-etiqueta);
	font-weight: 700;
	letter-spacing: .14em;
	line-height: 1.3;
	text-transform: uppercase;
	color: var(--e-gold-text);
}
.sni-eq-card .sni-eq-card__nome {
	margin: 0;
	font-family: var(--e-titulo);
	font-size: var(--e-nome);
	font-weight: 700;
	line-height: 1.08;
	color: var(--e-ink);
}
.sni-eq-card .sni-eq-card__cargo,
.sni-eq-modal .sni-eq-card__cargo {
	margin: 0;
	font-family: var(--e-corpo);
	font-size: var(--e-cargo);
	line-height: 1.4;
	color: var(--e-text);
}
/* O Kit do Elementor estiliza todo <button>: estas regras precisam ser mais específicas. */
.sni-eq-grade .sni-eq-card .sni-eq-card__link,
.sni-eq-grade .sni-eq-card .sni-eq-card__link:hover,
.sni-eq-grade .sni-eq-card .sni-eq-card__link:focus {
	min-height: 0;
	border-radius: 0;
	box-shadow: none;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-top: auto;
	padding: 10px 0 0;
	border: 0;
	background: none;
	font-family: var(--e-corpo);
	font-size: var(--e-link);
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--e-ink);
	cursor: pointer;
}
.sni-eq-grade .sni-eq-card .sni-eq-card__link span { color: var(--e-gold-text); transition: transform .2s ease; }
.sni-eq-grade .sni-eq-card .sni-eq-card__link:hover span { transform: translateX(4px); }
.sni-eq-card__link:focus-visible { outline: 3px solid var(--e-text); outline-offset: 3px; border-radius: 4px; }

/* Celular estreito (2 colunas de ~140px): "Ler biografia →" cabe numa linha. */
@media (max-width: 380px) {
	.sni-eq-grade .sni-eq-card .sni-eq-card__link { gap: 4px; letter-spacing: .02em; white-space: nowrap; }
}

/* ---------- Janela da biografia ---------- */
html.sni-eq-travado { overflow: hidden; }
.sni-eq-modal {
	width: min(880px, calc(100% - 32px));
	max-height: calc(100vh - 48px);
	margin: auto;
	padding: 0;
	border: 0;
	border-radius: calc(var(--e-raio) * 1.2);
	background: var(--e-white);
	color: var(--e-text);
	box-shadow: 0 40px 80px -30px rgba(31, 31, 31, .55);
	overflow: hidden;
}
.sni-eq-modal::backdrop {
	background: rgba(31, 31, 31, .72);
	-webkit-backdrop-filter: blur(4px);
	backdrop-filter: blur(4px);
}
.sni-eq-modal[open] { animation: sni-eq-entrar .3s ease; }
@keyframes sni-eq-entrar { from { opacity: 0; transform: translateY(16px) scale(.98); } }

.sni-eq-modal__caixa {
	position: relative;
	display: grid;
	grid-template-columns: 2fr 3fr;
	max-height: calc(100vh - 48px);
}
.sni-eq-modal__foto { position: relative; min-height: 100%; background: var(--e-bg); }
.sni-eq-modal__foto img,
.sni-eq-modal__foto .sni-eq-card__img { position: absolute; inset: 0; width: 100% !important; height: 100% !important; object-fit: cover; object-position: center 25%; }
.sni-eq-modal__foto .sni-eq-card__iniciais { position: absolute; inset: 0; }
.sni-eq-modal__texto {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 8px;
	padding: 48px 44px;
	overflow-y: auto;
	max-height: calc(100vh - 48px);
}
.sni-eq-modal .sni-eq-modal__nome {
	margin: 0;
	font-family: var(--e-titulo);
	font-size: calc(var(--e-nome) * 1.4);
	font-weight: 700;
	line-height: 1.05;
	color: var(--e-ink);
}
.sni-eq-modal__bio {
	margin-top: 12px;
	font-family: var(--e-corpo);
	font-size: max(16px, var(--e-cargo));
	line-height: 1.65;
}
.sni-eq-modal__bio > :first-child { margin-top: 0; }
.sni-eq-modal__bio > :last-child { margin-bottom: 0; }
.sni-eq-modal .sni-eq-modal__fechar,
.sni-eq-modal .sni-eq-modal__fechar:focus {
	min-height: 0;
	padding: 0;
	box-shadow: none;
	position: absolute;
	top: 14px;
	right: 14px;
	z-index: 3;
	width: 44px;
	height: 44px;
	border: 1px solid var(--e-line);
	border-radius: 999px;
	background: var(--e-white);
	font-size: 26px;
	line-height: 1;
	color: var(--e-ink);
	cursor: pointer;
}
.sni-eq-modal .sni-eq-modal__fechar:hover { background: var(--e-bg); color: var(--e-ink); }
.sni-eq-modal__fechar:focus-visible { outline: 3px solid var(--e-text); outline-offset: 2px; }

@media (max-width: 767px) {
	.sni-eq-modal { width: calc(100% - 6vw); max-height: calc(100vh - 6vw); }
	.sni-eq-modal__caixa { grid-template-columns: 1fr; max-height: calc(100vh - 6vw); overflow-y: auto; }
	.sni-eq-modal__foto { aspect-ratio: 9 / 8; min-height: 0; }
	.sni-eq-modal__texto { padding: 6.4vw; max-height: none; overflow: visible; }
}

@media (prefers-reduced-motion: reduce) {
	.sni-eq-card, .sni-eq-card__foto img, .sni-eq-card__link span { transition: none; }
	.sni-eq-modal[open] { animation: none; }
}
