/**
 * Logos 1 – título, faixa de logos (marquee) e carrossel de citações (Embla via carousel.js).
 */

.shadcn-logos1 {
	box-sizing: border-box;
	width: 100%;
	padding-top: var(--shadcn-logos1-padding-top, var(--sui-section-padding-top, 8rem));
	padding-bottom: var(--shadcn-logos1-padding-bottom, var(--sui-section-padding-bottom, 8rem));
}

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

.shadcn-logos1-container {
	width: 100%;
	max-width: 100rem;
	margin-left: auto;
	margin-right: auto;
	padding-left: 0;
	padding-right: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
}

.shadcn-logos1-section-badge {
	align-self: center;
	margin-bottom: 0.5rem;
}

/* h2: tipografia no Personalizar */
/* h2: tipografia no Personalizar */
.shadcn-logos1-heading {
	margin: 1.5rem 0;
	text-wrap: balance;
	max-width: 48rem;
}

/* Faixa superior: relative mx-auto flex justify-center pt-8 lg:max-w-5xl */
.shadcn-logos1-strip-wrap {
	position: relative;
	margin-left: auto;
	margin-right: auto;
	margin-top: 2rem;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	width: 100%;
	max-width: 64rem;
}

@media (min-width: 1024px) {
	.shadcn-logos1-strip-wrap {
		max-width: 64rem;
	}
}

.shadcn-logos1-strip {
	display: flex;
	align-items: center;
	flex-wrap: nowrap;
	width: max-content;
	min-width: 100%;
}

ul.shadcn-logos1-strip,
ul.shadcn-logos1-testimonials-row {
	list-style: none;
	margin-block: 0;
	padding-inline-start: 0;
}

figure.shadcn-logos1-strip-item-inner {
	margin: 0;
}

/* screen-reader-only captions (no impact on layout) */
.shadcn-logos1 .sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.shadcn-logos1-strip--animate {
	animation: shadcn-logos1-scroll 35s linear infinite;
}

@keyframes shadcn-logos1-scroll {
	0% {
		transform: translateX(0);
	}
	100% {
		transform: translateX(-50%);
	}
}

@media (prefers-reduced-motion: reduce) {
	.shadcn-logos1-strip--animate {
		animation: none;
	}
	.shadcn-logos1-strip-wrap {
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
	}
	.shadcn-logos1-strip-wrap::-webkit-scrollbar {
		display: none;
	}
}

/* basis-1/3 sm:1/4 md:1/5 lg:1/6 */
.shadcn-logos1-strip-item {
	position: relative;
	flex: 0 0 33.333%;
	min-width: 0;
	display: flex;
	justify-content: center;
	padding-left: 0;
}

@media (min-width: 640px) {
	.shadcn-logos1-strip-item {
		flex: 0 0 25%;
	}
}

@media (min-width: 768px) {
	.shadcn-logos1-strip-item {
		flex: 0 0 20%;
	}
}

@media (min-width: 1024px) {
	.shadcn-logos1-strip-item {
		flex: 0 0 16.666%;
	}
}

.shadcn-logos1-strip-item-inner {
	display: flex;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	width: 100%;
}

@media (min-width: 1024px) {
	.shadcn-logos1-strip-item-inner {
		margin-left: 2.5rem;
		margin-right: 2.5rem;
	}
}

.shadcn-logos1-strip-img {
	height: 100%;
	width: auto;
	max-width: 100%;
	object-fit: contain;
}

/* w-12 fades */
.shadcn-logos1-fade {
	pointer-events: none;
	position: absolute;
	top: 0;
	bottom: 0;
	width: 3rem;
}

.shadcn-logos1-fade-left {
	left: 0;
	background: linear-gradient(to right, var(--background, #fff), transparent);
}

.shadcn-logos1-fade-right {
	right: 0;
	background: linear-gradient(to left, var(--background, #fff), transparent);
}

/* Separador: mx-auto my-15 max-w-5xl h-px */
.shadcn-logos1-sep {
	display: block;
	width: 100%;
	max-width: 64rem;
	height: 1px;
	margin: 3.75rem auto;
	border: none;
	background: var(--border, #e4e4e7);
}

/*
 * Testemunhos: grelha estática – largura total; flex -ml-4 + pl-4; basis full / md:1/2 / lg:1/3; px-12 md:px-8 nas células.
 */
.shadcn-logos1-testimonials {
	position: relative;
	width: 100%;
	max-width: none;
	box-sizing: border-box;
}

.shadcn-logos1-testimonials-inner {
	width: 100%;
	overflow: visible;
	box-sizing: border-box;
}

.shadcn-logos1-testimonials-row {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	margin-left: -1rem;
	box-sizing: border-box;
}

.shadcn-logos1-t-col {
	flex: 0 0 100%;
	max-width: 100%;
	min-width: 0;
	padding-left: 1rem;
	box-sizing: border-box;
	display: flex;
}

@media (min-width: 768px) {
	.shadcn-logos1-t-col {
		flex: 0 0 50%;
		max-width: 50%;
	}
}

@media (min-width: 1024px) {
	.shadcn-logos1-t-col {
		flex: 0 0 33.333333%;
		max-width: 33.333333%;
	}
}

/* Célula: border-r; px-12 md:px-8 (referência shadcn) */
.shadcn-logos1-t-inner {
	position: relative;
	display: flex;
	flex-direction: column;
	width: 100%;
	flex: 1 1 auto;
	text-align: center;
	border-right: 1px solid var(--border, #e4e4e7);
	padding-left: 3rem;
	padding-right: 3rem;
	box-sizing: border-box;
}

@media (min-width: 768px) {
	.shadcn-logos1-t-inner {
		text-align: left;
		padding-left: 2rem;
		padding-right: 2rem;
	}
}

.shadcn-logos1-t-inner--first {
	border-left: none;
}

@media (min-width: 1024px) {
	.shadcn-logos1-t-inner--first {
		border-left: 1px solid var(--border, #e4e4e7);
	}
}

/* blockquote: não encolher abaixo do texto (evita cortar citações longas com colunas alinhadas) */
.shadcn-logos1-t-quote-block {
	margin: 0 0 3.5rem;
	padding: 0;
	border: none;
	flex: 1 1 auto;
	min-height: min-content;
	display: flex;
	flex-direction: column;
	align-items: stretch;
}

@media (min-width: 768px) {
	.shadcn-logos1-t-quote-block {
		margin-bottom: 7rem;
	}
}

figure.shadcn-logos1-t-logo-figure {
	margin: 0;
}

/* h5 / text-lg text-muted-foreground – texto completo; espaço grande fica no blockquote */
.shadcn-logos1-t-quote {
	margin: 1.25rem 0 0;
	flex-shrink: 0;
	min-height: min-content;
	padding: 0;
	font-size: 1.125rem;
	font-weight: 400;
	line-height: 1.5;
	letter-spacing: -0.025em;
	color: var(--sui-gp-text-muted);
	overflow: visible;
	word-wrap: break-word;
	overflow-wrap: break-word;
}

/* Separ até ao rodapé vem do margin-bottom do blockquote (mb-14 / md:mb-28) */
.shadcn-logos1-t-foot {
	margin-top: 0;
	flex-shrink: 0;
}

@media (min-width: 768px) {
	.shadcn-logos1-t-foot {
		margin-top: auto;
	}
}

.shadcn-logos1-t-name {
	display: block;
	margin: 0;
	font-style: normal;
	line-height: 1.4;
	color: var(--sui-gp-text);
	font-weight: 600;
}

.shadcn-logos1-t-logo {
	display: block;
	width: 10rem;
	max-width: 100%;
	height: auto;
	margin: 1.25rem auto 0;
	object-fit: contain;
}

@media (min-width: 768px) {
	.shadcn-logos1-t-logo {
		margin-left: 0;
		margin-right: 0;
	}
}

/*
 * Logos: nunca aplicar filter:invert global (causava branco↔preto em PNGs com fundo claro).
 * !important vence folhas em cache ou regras antigas que ainda aplicavam invert.
 */
.shadcn-logos1 img.shadcn-logos1-strip-img,
.shadcn-logos1 img.shadcn-logos1-t-logo {
	filter: none !important;
	-webkit-filter: none !important;
}
