/* Academy - Parceiros: estilos do shortcode [parceiros] */

/* ---- Marquee automatico (sem setas) ---- */
.msg-parceiros-marquee {
	position: relative;
	width: 100%;
	overflow: hidden;
	/* Fade suave nas extremidades */
	-webkit-mask-image: linear-gradient(to right, transparent 0, #000 6%, #000 94%, transparent 100%);
	        mask-image: linear-gradient(to right, transparent 0, #000 6%, #000 94%, transparent 100%);
}

.msg-parceiros-track {
	display: flex;
	width: max-content;
	will-change: transform;
	animation: msg-parceiros-scroll 35s linear infinite;
}

/* Pausa ao passar o rato por cima de qualquer ponto da faixa */
.msg-parceiros-marquee:hover .msg-parceiros-track {
	animation-play-state: paused;
}

/* Cada conjunto de logos. O padding-right cria a mesma folga entre o
   ultimo logo de um conjunto e o primeiro do seguinte, tornando o
   loop perfeito com translateX(-50%). */
.msg-parceiros-set {
	display: flex;
	align-items: center;
	gap: 48px;
	padding-right: 48px;
}

@keyframes msg-parceiros-scroll {
	from { transform: translateX(0); }
	to   { transform: translateX(-50%); }
}

/* Acessibilidade: respeitar quem desativou animacoes */
@media (prefers-reduced-motion: reduce) {
	.msg-parceiros-track {
		animation: none;
		flex-wrap: wrap;
		justify-content: center;
	}
}

/* ---- Item / logo ---- */
.msg-parceiro-item {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	height: 104px; /* altura fixa: reserva espaco e evita CLS */
}

.msg-parceiro-item img {
	display: block;
	height: 104px;
	width: auto;
	max-width: none;
	object-fit: contain;
}

.msg-parceiro-item a {
	display: flex;
	align-items: center;
	height: 100%;
}

@media (max-width: 640px) {
	.msg-parceiros-set {
		gap: 32px;
		padding-right: 32px;
	}

	.msg-parceiro-item,
	.msg-parceiro-item img {
		height: 76px;
	}
}

/* ---- Fila estatica (ex.: parceiros de um curso) ---- */
.msg-parceiros-static {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 48px;
}
@media (max-width: 640px) {
	.msg-parceiros-static { gap: 32px; }
}

/* ============================================================
 * Parceiros filtraveis: chips de area + grelha de logos
 * ============================================================ */
.msg-parceiros-filtravel { font-family: 'Montserrat', sans-serif; }
.msg-parceiros-filtravel .msg-areas-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 32px; }
.msg-parceiros-filtravel .msg-area-chip { appearance: none; cursor: pointer; background-color: #F4F6F8; border: 1px solid #D6DEE5; border-radius: 50px; color: #0E1419; font-family: 'Montserrat', sans-serif; font-weight: 500; font-size: 14px; line-height: 1; padding: 9px 16px; transition: background-color .2s ease, border-color .2s ease, color .2s ease; }
.msg-parceiros-filtravel .msg-area-chip:hover { border-color: #009CDD; color: #009CDD; }
.msg-parceiros-filtravel .msg-area-chip.is-active { background-color: #009CDD; border-color: #009CDD; color: #FFFFFF; }
.msg-parceiros-filtravel .msg-area-chip:focus-visible { outline: 2px solid #002C56; outline-offset: 2px; }
.msg-parceiros-grelha { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 24px; align-items: center; }
.msg-parceiros-grelha .msg-parceiro-item { display: flex; align-items: center; justify-content: center; min-height: 90px; padding: 12px; }
.msg-parceiros-grelha .msg-parceiro-item img { max-width: 100%; height: auto; object-fit: contain; }
.msg-parceiros-grelha .msg-parceiro-item[hidden] { display: none; }
.msg-parceiros-vazio { margin-top: 24px; color: #4E5B66; font-size: 16px; }
@media (max-width: 640px) { .msg-parceiros-grelha { grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); gap: 16px; } }

/* Fila fixa resolvida por layout=auto (poucos logos).
   Alinha a esquerda, como o resto do conteudo da pagina do curso, e limita a
   altura para um logotipo sozinho nao aparecer ampliado. */
.msg-parceiros-static--auto { display: flex; flex-wrap: wrap; justify-content: flex-start; align-items: center; gap: 32px; }
.msg-parceiros-static--auto .msg-parceiro-item { flex: 0 0 auto; }
.msg-parceiros-static--auto .msg-parceiro-item img { display: block; width: auto; max-width: 180px; max-height: 72px; height: auto; object-fit: contain; }
@media (max-width: 640px) { .msg-parceiros-static--auto { gap: 20px; } .msg-parceiros-static--auto .msg-parceiro-item img { max-width: 130px; max-height: 56px; } }
