/*
 * Vitrine de afiliados. Gerado por tools/vitrine (produtos.py exportar): não edite na landing.
 * Cores vêm das variáveis do site (--brand, --ink, --muted, --line, --paper); cada site
 * pode sobrescrever com --vitrine-* sem mexer neste arquivo.
 */
.vitrine {
	--v-marca: var(--vitrine-marca, var(--brand, #7a563e));
	--v-marca-escura: var(--vitrine-marca-escura, var(--brand-dark, #513624));
	--v-texto: var(--vitrine-texto, var(--ink, #302a26));
	--v-suave: var(--vitrine-suave, var(--muted, #746a63));
	--v-linha: var(--vitrine-linha, var(--line, #e6dfd8));
	--v-fundo: var(--vitrine-fundo, var(--paper, #fff));
	--v-fundo-imagem: var(--vitrine-fundo-imagem, #f6f3f0);
	display: none;
}

.vitrine.vitrine--pronta {
	display: block;
	scroll-margin-top: var(--vitrine-distancia-topo, 0px);
}

.vitrine-atalho[hidden] {
	display: none !important;
}

.vitrine-atalho {
	color: var(--vitrine-marca-escura, var(--brand-dark, #513624));
	font-size: 0.92rem;
	font-weight: 700;
	text-decoration: underline;
	text-decoration-style: dotted;
	text-underline-offset: 3px;
}

.vitrine__titulo {
	margin: 0 0 16px;
	color: var(--v-texto);
}

.vitrine__lista {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
	gap: 14px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.vitrine__item {
	display: flex;
	margin: 0;
}

.vitrine__card {
	display: flex;
	flex-direction: column;
	width: 100%;
	overflow: hidden;
	border: 1px solid var(--v-linha);
	border-radius: 12px;
	background: var(--v-fundo);
	color: var(--v-texto);
	text-decoration: none;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.vitrine__card:hover {
	border-color: var(--v-marca);
	box-shadow: 0 8px 24px rgba(48, 42, 38, 0.08);
}

.vitrine__card:focus-visible {
	outline: 3px solid var(--v-marca);
	outline-offset: 2px;
}

.vitrine__imagem {
	display: block;
	aspect-ratio: 1 / 1;
	background: var(--v-fundo-imagem);
}

.vitrine__imagem img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	mix-blend-mode: multiply;
}

.vitrine__imagem--falhou img {
	visibility: hidden;
}

.vitrine__corpo {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 6px;
	padding: 14px 14px 16px;
}

.vitrine__loja {
	color: var(--v-suave);
	font-size: 0.74rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.vitrine__nome {
	font-size: 0.98rem;
	font-weight: 700;
	line-height: 1.35;
	overflow-wrap: anywhere;
}

.vitrine__descricao {
	color: var(--v-suave);
	font-size: 0.88rem;
	line-height: 1.5;
}

.vitrine__botao {
	align-self: flex-start;
	margin-top: auto;
	padding-top: 8px;
	color: var(--v-marca-escura);
	font-size: 0.9rem;
	font-weight: 700;
	text-decoration: underline;
	text-decoration-style: dotted;
	text-underline-offset: 3px;
}

.vitrine__botao::after {
	content: " \2197";
}

.vitrine__aviso {
	margin: 14px 0 0;
	color: var(--v-suave);
	font-size: 0.82rem;
	line-height: 1.5;
}

.vitrine__sr {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

@media (max-width: 520px) {
	.vitrine__lista {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 10px;
	}

	.vitrine__corpo {
		padding: 10px 10px 12px;
	}

	.vitrine__nome {
		font-size: 0.9rem;
	}

	.vitrine__descricao {
		display: none;
	}
}

@media (prefers-reduced-motion: no-preference) {
	html:has(.vitrine-atalho:not([hidden])) {
		scroll-behavior: smooth;
	}
}

@media (prefers-reduced-motion: reduce) {
	.vitrine__card {
		transition: none;
	}
}
