/* FluxVib Orçamento — identidade Artcris (dourado + rosa + branco)
   Combina com a paleta do logo: dourado, rosa suave, base creme. */

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@600;700&family=Space+Grotesk:wght@400;500;600&display=swap');

.fvo-catalogo-grid,
.fvo-produto-container,
.fvo-carrinho-container {
	--fvo-bg: #FDF8F0;
	--fvo-coral: #C89550;
	--fvo-coral-escuro: #8A6220;
	--fvo-rosa: #D4899B;
	--fvo-rosa-escuro: #9C5265;
	--fvo-texto: #3D2B2E;
	--fvo-texto-suave: #8A6B70;
	--fvo-borda: #EED9DD;
	--fvo-branco: #FFFFFF;
	font-family: 'Space Grotesk', sans-serif;
	color: var(--fvo-texto);
	max-width: 1160px;
	margin: 0 auto;
	padding: 32px 20px;
	box-sizing: border-box;
}

.fvo-produto-titulo, .fvo-carrinho-titulo {
	font-family: 'Playfair Display', serif;
}

.fvo-catalogo-grid *,
.fvo-produto-container *,
.fvo-carrinho-container * {
	box-sizing: border-box;
}

/* Catálogo */
.fvo-catalogo-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
	gap: 24px;
}

.fvo-card-produto {
	display: block;
	text-decoration: none;
	color: inherit;
	background: var(--fvo-branco);
	border: 1px solid var(--fvo-borda);
	border-radius: 4px;
	overflow: hidden;
	transition: border-color 0.2s ease;
}

.fvo-card-produto:hover {
	border-color: var(--fvo-coral);
}

.fvo-card-imagem img,
.fvo-card-imagem-vazia {
	width: 100%;
	height: 220px;
	object-fit: cover;
	display: block;
	background: var(--fvo-bg);
}

.fvo-card-corpo {
	padding: 16px;
}

.fvo-card-titulo {
	font-size: 17px;
	font-weight: 600;
	margin: 0 0 6px;
}

.fvo-card-preco {
	font-size: 16px;
	color: var(--fvo-coral-escuro);
	font-weight: 600;
	margin: 0;
}

.fvo-card-minimo {
	font-size: 13px;
	color: var(--fvo-texto-suave);
	margin: 4px 0 0;
}

.fvo-catalogo-vazio {
	grid-column: 1 / -1;
	text-align: center;
	color: var(--fvo-texto-suave);
	padding: 40px 0;
}

/* Página de produto */
.fvo-produto-container {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 48px;
}

.fvo-produto-imagem-principal img {
	width: 100%;
	border-radius: 4px;
	display: block;
}

.fvo-produto-miniaturas {
	display: flex;
	gap: 8px;
	margin-top: 12px;
}

.fvo-miniatura {
	width: 64px;
	height: 64px;
	object-fit: cover;
	border-radius: 4px;
	border: 1px solid var(--fvo-borda);
}

.fvo-produto-titulo {
	font-size: 30px;
	font-weight: 600;
	margin: 0 0 8px;
}

.fvo-produto-preco {
	font-size: 22px;
	color: var(--fvo-coral-escuro);
	font-weight: 600;
	margin: 0 0 4px;
}

.fvo-produto-minimo {
	font-size: 14px;
	color: var(--fvo-texto-suave);
	margin: 0 0 16px;
}

.fvo-produto-descricao {
	line-height: 1.7;
	margin-bottom: 20px;
}

.fvo-ficha-tecnica {
	background: var(--fvo-branco);
	border: 1px solid var(--fvo-borda);
	border-radius: 4px;
	padding: 16px 20px;
	margin-bottom: 24px;
}

.fvo-ficha-tecnica h3 {
	font-size: 15px;
	margin: 0 0 8px;
}

.fvo-ficha-tecnica ul {
	margin: 0;
	padding-left: 18px;
	font-size: 14px;
	color: var(--fvo-texto-suave);
}

/* Formulário */
.fvo-campo {
	display: block;
	margin-bottom: 14px;
}

.fvo-campo span {
	display: block;
	font-size: 13px;
	font-weight: 600;
	margin-bottom: 4px;
}

.fvo-campo input[type="text"],
.fvo-campo input[type="number"],
.fvo-campo textarea {
	width: 100%;
	padding: 10px 12px;
	border: 1px solid var(--fvo-borda);
	border-radius: 4px;
	font-size: 15px;
	font-family: inherit;
	background: var(--fvo-branco);
}

.fvo-campo input:focus,
.fvo-campo textarea:focus {
	outline: none;
	border-color: var(--fvo-coral);
}

.fvo-campos-personalizacao h3,
.fvo-upload-referencia h3 {
	font-size: 15px;
	margin: 0 0 10px;
}

.fvo-upload-input {
	display: block;
	margin-bottom: 8px;
	font-size: 13px;
}

.fvo-upload-status {
	font-size: 13px;
	color: var(--fvo-texto-suave);
}

.fvo-botao {
	display: inline-block;
	padding: 13px 28px;
	border-radius: 4px;
	font-size: 15px;
	font-weight: 600;
	border: none;
	cursor: pointer;
	font-family: inherit;
	text-align: center;
}

.fvo-botao-adicionar {
	background: var(--fvo-texto);
	color: var(--fvo-branco);
	width: 100%;
	margin-top: 8px;
}

.fvo-botao-adicionar:hover {
	background: var(--fvo-coral);
}

/* Carrinho */
.fvo-carrinho-titulo {
	font-size: 26px;
	font-weight: 600;
	margin: 0 0 24px;
}

.fvo-carrinho-item {
	display: flex;
	gap: 16px;
	padding: 16px 0;
	border-bottom: 1px solid var(--fvo-borda);
	align-items: flex-start;
}

.fvo-carrinho-item img {
	width: 70px;
	height: 70px;
	object-fit: cover;
	border-radius: 4px;
	flex-shrink: 0;
}

.fvo-carrinho-item-info {
	flex: 1;
}

.fvo-carrinho-item-nome {
	font-weight: 600;
	margin: 0 0 4px;
}

.fvo-carrinho-item-detalhe {
	font-size: 13px;
	color: var(--fvo-texto-suave);
	margin: 0;
}

.fvo-carrinho-item-qtd {
	width: 60px;
	padding: 6px;
	border: 1px solid var(--fvo-borda);
	border-radius: 4px;
	text-align: center;
}

.fvo-carrinho-item-remover {
	background: none;
	border: none;
	color: var(--fvo-rosa-escuro);
	font-size: 13px;
	cursor: pointer;
	text-decoration: underline;
	padding: 0;
	margin-top: 6px;
}

.fvo-carrinho-vazio {
	text-align: center;
	color: var(--fvo-texto-suave);
	padding: 40px 0;
}

.fvo-carrinho-resumo {
	padding: 16px 0;
	border-bottom: 1px solid var(--fvo-borda);
	margin-bottom: 20px;
}

.fvo-carrinho-subtotal {
	font-size: 17px;
	margin: 0 0 4px;
}

.fvo-carrinho-aviso {
	font-size: 12px;
	color: var(--fvo-texto-suave);
	margin: 0;
}

.fvo-carrinho-dados {
	margin: 24px 0;
}

.fvo-carrinho-acoes {
	display: flex;
	gap: 12px;
	flex-wrap: wrap;
}

.fvo-botao-secundario {
	background: var(--fvo-branco);
	color: var(--fvo-texto);
	border: 1px solid var(--fvo-borda);
}

.fvo-botao-secundario:hover {
	border-color: var(--fvo-coral-escuro);
}

.fvo-botao-whatsapp {
	background: var(--fvo-coral);
	color: var(--fvo-branco);
	flex: 1;
}

.fvo-botao-whatsapp:hover {
	background: var(--fvo-coral-escuro);
}

.fvo-carrinho-nota-fotos {
	margin-top: 16px;
	font-size: 13px;
	color: var(--fvo-texto-suave);
	background: var(--fvo-branco);
	border: 1px solid var(--fvo-borda);
	border-radius: 4px;
	padding: 12px 16px;
}

/* Header: contador do carrinho */
.fvo-contador-carrinho {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-family: 'Space Grotesk', sans-serif;
	font-weight: 600;
	text-decoration: none;
	color: var(--fvo-texto, #3D2B2E);
}

.fvo-contador-numero {
	background: var(--fvo-coral, #C89550);
	color: #fff;
	border-radius: 50%;
	width: 20px;
	height: 20px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 12px;
}

/* Responsivo */
@media (max-width: 760px) {
	.fvo-produto-container {
		grid-template-columns: 1fr;
		gap: 24px;
	}
}
