/*
 * Quadro de fotos + previa (FabCfg_Fotos). Duas abas no alto; "Fotos" mostra o
 * carrossel, "Sua peca" mostra a previa ao vivo que ja existia (palco do
 * adesivo ou previa da calculadora).
 */

.fq {
	--fq-acento: var( --wp--preset--color--acento, var( --wp--preset--color--amarelo, #F3B431 ) );
	--fq-acento-tinta: var( --wp--preset--color--acento-tinta, #373435 );
	--fq-tinta: var( --wp--preset--color--grafite, #373435 );
	--fq-suave: var( --wp--preset--color--grafite-suave, #6E6A6C );
	--fq-borda: var( --wp--preset--color--borda, #E3E1E2 );
	--fq-fundo: var( --wp--preset--color--cinza-fundo, #F5F4F3 );
	color: var( --fq-tinta );
}

/* Quem gruda na coluna agora e' o quadro inteiro; a previa dentro dele fica
   parada (sticky so' viaja dentro do pai, e o pai dela passou a ser o quadro). */
.produto-col-arte > .fq {
	position: sticky;
	top: 140px;
}

.fq > .fabcfg-palco,
.fq > .fcalc-previa {
	position: static;
}

/* aba escolhida */
.fq[data-fq-aba="fotos"] > .fabcfg-palco,
.fq[data-fq-aba="fotos"] > .fcalc-previa,
.fq[data-fq-aba="peca"] > .fq-fotos {
	display: none !important;
}

/* ------------------------------------------------------------------ abas */

.fq-abas {
	display: flex;
	gap: 4px;
	width: fit-content;
	margin: 0 0 12px;
	padding: 4px;
	border-radius: 999px;
	background: var( --fq-fundo );
	box-shadow: inset 0 0 0 1px var( --fq-borda );
}

.fq-aba {
	appearance: none;
	border: 0;
	margin: 0;
	padding: 8px 18px;
	border-radius: 999px;
	background: transparent;
	color: var( --fq-suave );
	font: inherit;
	font-size: 0.9375rem;
	font-weight: 700;
	cursor: pointer;
	transition: background 0.15s, color 0.15s;
}

.fq-aba[aria-selected="true"] {
	background: #fff;
	color: var( --fq-tinta );
	box-shadow: 0 1px 4px rgba( 0, 0, 0, 0.12 );
}

/* -------------------------------------------------------------- carrossel */

.fq-fotos {
	position: relative;
}

.fq-trilho {
	display: flex;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	border-radius: 18px;
	background: var( --fq-fundo );
	aspect-ratio: 4 / 3;
}

.fq-trilho::-webkit-scrollbar {
	display: none;
}

.fq-foto {
	flex: 0 0 100%;
	margin: 0;
	scroll-snap-align: start;
}

.fq-foto img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.fq-seta {
	position: absolute;
	top: calc( 50% - 38px );
	width: 40px;
	height: 40px;
	border: 0;
	border-radius: 50%;
	background: rgba( 255, 255, 255, 0.92 );
	color: var( --fq-tinta );
	font-size: 26px;
	line-height: 1;
	box-shadow: 0 2px 8px rgba( 0, 0, 0, 0.18 );
	cursor: pointer;
}

.fq-ant { left: 12px; }
.fq-prox { right: 12px; }

.fq-minis {
	display: flex;
	gap: 8px;
	margin-top: 10px;
}

.fq-mini {
	width: 64px;
	height: 64px;
	padding: 0;
	border: 2px solid transparent;
	border-radius: 10px;
	overflow: hidden;
	background: var( --fq-fundo );
	cursor: pointer;
	opacity: 0.7;
}

.fq-mini[aria-current="true"] {
	border-color: var( --fq-tinta );
	opacity: 1;
}

.fq-mini img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* aviso "ver previa" — so' no celular, ver fotos.js */
.fq-aviso {
	position: fixed;
	left: 50%;
	transform: translateX( -50% );
	z-index: 60;
	border: 0;
	padding: 10px 18px;
	border-radius: 999px;
	background: var( --fq-tinta );
	color: #fff;
	font: inherit;
	font-size: 0.9375rem;
	font-weight: 700;
	box-shadow: 0 4px 16px rgba( 0, 0, 0, 0.25 );
	cursor: pointer;
}

.fq-aviso[hidden] {
	display: none;
}

/* ------------------------------------------------------------------ celular */

@media ( max-width: 781px ) {
	.fq {
		margin: 0 0 1.25rem;
	}

	.fq > .fabcfg-palco {
		margin-bottom: 0;
	}

	/* as setas atrapalham o dedo e cobrem a foto: arrasta-se */
	.fq-seta {
		display: none;
	}

	/* miniaturas viram pontinhos */
	.fq-minis {
		justify-content: center;
		gap: 6px;
	}

	.fq-mini {
		width: 8px;
		height: 8px;
		border: 0;
		border-radius: 50%;
		background: var( --fq-borda );
		opacity: 1;
	}

	.fq-mini[aria-current="true"] {
		width: 20px;
		border-radius: 4px;
		background: var( --fq-tinta );
	}

	.fq-mini img {
		display: none;
	}
}
