/*
 * ============================================================================
 *  FERREIRA CHARCUTARIA — ferreira-custom.css
 *  Personalizações do tema Toluca para a Ferreira Charcutaria.
 *
 *  Este arquivo é carregado via <link> no layouts/layout.tpl,
 *  após style-critical.scss e style-colors.scss.
 *
 *  Estrutura de blocos:
 *    1. Hover da segunda imagem (correção global, vale para home e categoria)
 *    2. Cards da home — "Mais pedidos da casa" e "Selecionados para você"
 *    3. Botão WhatsApp no card (global, usada em home e categoria)
 *    4. Cards da categoria / listagem
 *    5. Seção Institucional (home)
 *    6. Seção Depoimentos (home)
 *
 *  Regras de escopo:
 *    — Nenhuma regra genérica em .btn, .card, .container, .row, .col, img, a, form
 *    — Todos os seletores têm prefixo de seção ou classe de guarda (.fc-*)
 *    — Não altera: checkout, carrinho, header, Swiper de produtos, grid base
 * ============================================================================
 */


/* ============================================================================
   1. HOVER DA SEGUNDA IMAGEM — correção global
   Garante que produtos com apenas 1 foto NÃO ativem hover cinza/quebrado.
   A classe .fc-no-real-secondary é adicionada pelo JS em home.tpl e
   category.tpl quando a imagem secundária é um placeholder ou é idêntica
   à imagem principal.
   As regras nativas do tema (product-item-secondary-images-loaded) são
   mantidas intactas no style-critical.scss; aqui só adicionamos a blindagem.
   ============================================================================ */

/* Blindagem: produtos sem segunda imagem real NÃO devem mostrar hover secundário */
.product-item-secondary-images-loaded.fc-no-real-secondary:hover .item-image-featured,
.product-item-secondary-images-loaded.fc-no-real-secondary:hover .item-image-featured ~ .item-image-secondary {
  opacity: 1 !important;
  transition-delay: 0s !important;
}
.product-item-secondary-images-loaded.fc-no-real-secondary:hover .item-image-featured ~ .item-image-secondary {
  opacity: 0 !important;
}

/* ============================================================================
   FALLBACK PARCELAMENTO — .fc-installment-fallback
   Exibe "1 x de R$valor sem juros" em cards sem parcelamento real.
   Herda 100% da .item-installments (tema + ferreira-custom).
   ============================================================================ */
.fc-installment-fallback {
  display: block;
}


/* ============================================================================
   2. CARDS DA HOME — .section-featured-home
   Aplica-se às seções "Mais pedidos da casa" e "Selecionados para você".
   Escopo: .section-featured-home (nunca afeta categoria, depoimentos, etc.)
   ============================================================================ */

/* Card: borda fina, radius, fundo branco */
.section-featured-home .js-item-container.item {
  background: #ffffff;
  border: 1px solid #e8e1dc;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: none;
}

/* Título: vinho, centralizado */
.section-featured-home .item-name {
  color: #6b1f1f;
  text-align: center;
  opacity: 1;
}

/* Preço principal: laranja */
.section-featured-home .item-price {
  color: #f05a35;
  text-align: center;
}

/* Preço antigo: centralizado */
.section-featured-home .price-compare {
  text-align: center;
}

/* Parcelamento: vinho claro, centralizado */
.section-featured-home .item-installments {
  color: #6b1f1f;
  text-align: center;
}

/* Área de texto: centralizada */
.section-featured-home .item-description {
  text-align: center;
}

/* Botão Comprar: verde
   Alcança span (produto c/ variantes) e input (sem variantes)
   NAO toca o formulário oculto dentro de .js-item-variants.hidden */
.section-featured-home .js-item-quickshop-container .btn.btn-primary,
.section-featured-home .fc-inline-product-form .btn.btn-primary,
.section-featured-home .fc-inline-product-form input[type="submit"].btn-primary {
  background-color: #63c45f;
  border-color: #63c45f;
  color: #ffffff;
}

.section-featured-home .js-item-quickshop-container .btn.btn-primary:hover,
.section-featured-home .js-item-quickshop-container .btn.btn-primary:focus,
.section-featured-home .fc-inline-product-form .btn.btn-primary:hover,
.section-featured-home .fc-inline-product-form .btn.btn-primary:focus,
.section-featured-home .fc-inline-product-form input[type="submit"].btn-primary:hover,
.section-featured-home .fc-inline-product-form input[type="submit"].btn-primary:focus {
  background-color: #4caf4f;
  border-color: #4caf4f;
  color: #ffffff;
}

/* Seletor de quantidade no form inline: centrado */
.section-featured-home .fc-inline-product-form .js-quantity {
  justify-content: center;
  margin-bottom: 8px;
}

/* Form inline: padding interno */
.section-featured-home .fc-inline-product-form {
  padding: 0 12px 4px;
}

@media (max-width: 767px) {
  .section-featured-home .fc-inline-product-form {
    padding: 0 8px 4px;
  }
}


/* ============================================================================
   3. BOTÃO WHATSAPP NO CARD — .fc-product-whatsapp
   Global (reutilizado em home e categoria).
   Criado dinamicamente pelo JS; nunca altera o botão nativo do tema.
   ============================================================================ */

.fc-product-whatsapp {
  display: block;
  margin-top: 8px;
  padding: 8px 12px;
  background-color: #25d366;
  color: #ffffff;
  border: none;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 600;
  text-align: center;
  text-decoration: none;
  line-height: 1.4;
  cursor: pointer;
  transition: background-color 0.2s ease;
}

.fc-product-whatsapp::before {
  content: "💬 ";
}

.fc-product-whatsapp:hover,
.fc-product-whatsapp:focus {
  background-color: #1ebe5d;
  color: #ffffff;
  text-decoration: none;
}


/* ============================================================================
   4a. CATEGORIA DESKTOP — Filtros horizontais + grid 100% largura
   Escopo: [data-store^="category-grid-"]
   Breakpoint: min-width 992px (não afeta mobile/tablet)
   ============================================================================ */

@media (min-width: 992px) {

  /* ── Row principal: wrap para empilhar sidebar + produtos ─────── */
  [data-store^="category-grid-"] > .container > .row {
    flex-wrap: wrap !important;
  }

  /* ── Sidebar → faixa horizontal, largura total, acima ────────── */
  [data-store^="category-grid-"] > .container > .row > .filters-sidebar {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    width: 100% !important;
    order: 1 !important;
    display: block !important;
    padding: 0 15px !important;
    margin-bottom: 24px !important;
  }

  /* ── #filters (div pai dos filtros): grid 2 colunas ──────────── */
  [data-store^="category-grid-"] .filters-sidebar #filters {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)) !important;
    gap: 16px !important;
    align-items: start;
  }

  /* ── Cada card de filtro: visual consistente ──────────────────── */
  [data-store^="category-grid-"] .filters-sidebar #filters > * {
    margin: 0 !important;
  }

  /* ── Applied filters: largura total, acima ───────────────────── */
  [data-store^="category-grid-"] > .container > .row > .col-12.mb-3 {
    order: 0 !important;
    flex: 0 0 100% !important;
    max-width: 100% !important;
  }

  /* ── Coluna de produtos: largura total, abaixo ───────────────── */
  [data-store^="category-grid-"] > .container > .row > .col {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    width: 100% !important;
    order: 2 !important;
  }

  /* ── Grid de produtos: 4 colunas ─────────────────────────────── */
  [data-store^="category-grid-"] .js-product-table {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 24px !important;
  }

  /* ── Neutraliza Bootstrap col-* nos itens do grid ────────────── */
  [data-store^="category-grid-"] .js-product-table > .js-item-product,
  [data-store^="category-grid-"] .js-product-table > .item-product,
  [data-store^="category-grid-"] .js-product-table > .col-grid {
    flex: none !important;
    max-width: 100% !important;
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  /* ── Imagem desktop: preenche o card sem espremimento ─────────── */
  [data-store^="category-grid-"] .js-product-table .item-image img.img-absolute,
  [data-store^="category-grid-"] .js-product-table .item-image img.img-absolute-centered {
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
    transform: none !important;
    -webkit-transform: none !important;
  }
}

/* ============================================================================
   4b. CATEGORIA / LISTAGEM — Réplica exata do CSS da HOME
   Seletor: [data-store^="category-grid-"] .js-product-table
   ============================================================================ */

/* ── Estilos visuais (réplica de .section-featured-home) ──────── */

/* Card: borda fina, radius, fundo branco */
[data-store^="category-grid-"] .js-product-table .js-item-container.item {
  background: #ffffff;
  border: 1px solid #e8e1dc;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: none;
}

/* MOBILE — remove overflow:hidden para o conteúdo (Comprar + WhatsApp)
   não ser cortado. O border-radius é preservado pelo clip da imagem. */
@media (max-width: 767px) {
  [data-store^="category-grid-"] .js-product-table .js-item-container.item {
    overflow: visible !important;
    border-radius: 8px !important;
  }
  /* Re-aplica clip apenas na imagem para preservar o arredondamento */
  [data-store^="category-grid-"] .js-product-table .js-item-container.item > .item-image,
  [data-store^="category-grid-"] .js-product-table .js-item-container.item > .js-item-quickshop-or-colors-container {
    border-radius: 8px 8px 0 0;
    overflow: hidden;
  }
}

/* Título: vinho, centralizado */
[data-store^="category-grid-"] .js-product-table .item-name {
  color: #6b1f1f;
  text-align: center;
  opacity: 1;
}

/* Preço principal: laranja */
[data-store^="category-grid-"] .js-product-table .item-price {
  color: #f05a35;
  text-align: center;
}

/* Preço antigo: centralizado */
[data-store^="category-grid-"] .js-product-table .price-compare {
  text-align: center;
}

/* Parcelamento: vinho claro, centralizado */
[data-store^="category-grid-"] .js-product-table .item-installments {
  color: #6b1f1f;
  text-align: center;
}

/* Área de texto: centralizada */
[data-store^="category-grid-"] .js-product-table .item-description {
  text-align: center;
}

/* Botão Comprar: verde (form inline movido pelo JS) */
[data-store^="category-grid-"] .js-product-table .fc-inline-product-form .btn.btn-primary,
[data-store^="category-grid-"] .js-product-table .fc-inline-product-form input[type="submit"].btn-primary {
  background-color: #63c45f;
  border-color: #63c45f;
  color: #ffffff;
}

[data-store^="category-grid-"] .js-product-table .fc-inline-product-form .btn.btn-primary:hover,
[data-store^="category-grid-"] .js-product-table .fc-inline-product-form .btn.btn-primary:focus,
[data-store^="category-grid-"] .js-product-table .fc-inline-product-form input[type="submit"].btn-primary:hover,
[data-store^="category-grid-"] .js-product-table .fc-inline-product-form input[type="submit"].btn-primary:focus {
  background-color: #4caf4f;
  border-color: #4caf4f;
  color: #ffffff;
}

/* Seletor de quantidade no form inline: centrado */
[data-store^="category-grid-"] .js-product-table .fc-inline-product-form .js-quantity {
  justify-content: center;
  margin-bottom: 8px;
}

/* Form inline: padding interno */
[data-store^="category-grid-"] .js-product-table .fc-inline-product-form {
  padding: 0 12px 4px;
}

@media (max-width: 767px) {
  [data-store^="category-grid-"] .js-product-table .fc-inline-product-form {
    padding: 0 8px 4px;
  }
}


[data-store^="category-grid-"] .js-product-table {
	align-items: stretch !important;
}

/* Esconde o botão nativo preto "COMPRAR" em TODOS os viewports — o form inline verde já existe */
[data-store^="category-grid-"] .js-product-table .js-quickshop-or-stock-container,
[data-store^="category-grid-"] .js-product-table .js-item-quickshop-container,
[data-store^="category-grid-"] .js-product-table .js-quickshop-modal-open,
[data-store^="category-grid-"] .js-product-table .item-actions,
.category-body .js-product-table .js-quickshop-or-stock-container,
.category-body .js-product-table .js-quickshop-modal-open,
.category-body .js-product-table .js-item-quickshop-container {
	display: none !important;
}

[data-store^="category-grid-"] .js-product-table>.item-product, [data-store^="category-grid-"] .js-product-table>.js-item-product {
	display: flex !important;
}

[data-store^="category-grid-"] .js-product-table .js-item-container.item {
	width: 100% !important;
	height: 100% !important;
	display: flex !important;
	flex-direction: column !important;
}

[data-store^="category-grid-"] .js-product-table .js-item-quickshop-or-colors-container, [data-store^="category-grid-"] .js-product-table .item-image {
	flex: 0 0 auto !important;
}

[data-store^="category-grid-"] .js-product-table .item-description {
	flex: 1 1 auto !important;
	display: flex !important;
	flex-direction: column !important;
	padding: 14px 14px 16px !important;
}

[data-store^="category-grid-"] .js-product-table .item-description>.item-link {
	height: 100% !important;
	display: flex !important;
	flex-direction: column !important;
}

/* MOBILE — item-link não deve forçar height:100%;
   deixa o conteúdo crescer naturalmente */
@media (max-width: 767px) {
	[data-store^="category-grid-"] .js-product-table .item-description>.item-link {
		height: auto !important;
		flex: 0 0 auto !important;
	}
}

[data-store^="category-grid-"] .js-product-table .item-name {
	height: 42px !important;
	min-height: 42px !important;
	max-height: 42px !important;
	margin: 0 0 10px !important;
	overflow: hidden !important;
}

[data-store^="category-grid-"] .js-product-table .labels[data-store="product-item-labels"] {
	height: 0 !important;
	min-height: 0 !important;
	margin: 0 !important;
	overflow: hidden !important;
}

[data-store^="category-grid-"] .js-product-table .item-price-container {
	height: 56px !important;
	min-height: 56px !important;
	margin: 0 !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: flex-start !important;
}

[data-store^="category-grid-"] .js-product-table .item-price, [data-store^="category-grid-"] .js-product-table .js-price-display {
	min-height: 28px !important;
	line-height: 28px !important;
}

[data-store^="category-grid-"] .js-product-table .item-installments, [data-store^="category-grid-"] .js-product-table .js-max-installments-container {
	min-height: 18px !important;
	margin-top: 2px !important;
}

[data-store^="category-grid-"] .js-product-table .js-item-colors-container {
	height: 0 !important;
	min-height: 0 !important;
	margin: 0 !important;
	overflow: hidden !important;
}

/* quickshop-or-stock: ocultado — ver bloco de ocultação acima */

[data-store^="category-grid-"] .js-product-table .js-quickshop-modal-open, [data-store^="category-grid-"] .js-product-table .js-addtocart, [data-store^="category-grid-"] .js-product-table .btn {
	min-height: 38px !important;
}

[data-store^="category-grid-"] .js-product-table .item-stock, [data-store^="category-grid-"] .js-product-table .js-item-stock-container {
	display: none !important;
}

@media (max-width:767px) {
	/* ── Área de conteúdo: padding-bottom generoso para não cortar botões ── */
	[data-store^="category-grid-"] .js-product-table .item-description {
		padding: 11px 10px 16px !important;
		flex: 1 1 auto !important;
		display: flex !important;
		flex-direction: column !important;
	}

	/* ── Nome: altura fixa (alinhamento entre cards) ────────────────── */
	[data-store^="category-grid-"] .js-product-table .item-name {
		height: 40px !important;
		min-height: 40px !important;
		max-height: 40px !important;
		margin-bottom: 8px !important;
		overflow: hidden !important;
	}

	/* ── Preço: altura AUTO no mobile — sem corte em preços grandes ─── */
	[data-store^="category-grid-"] .js-product-table .item-price-container {
		height: auto !important;
		min-height: 48px !important;
		max-height: none !important;
		margin-bottom: 4px !important;
	}

	[data-store^="category-grid-"] .js-product-table .item-price,
	[data-store^="category-grid-"] .js-product-table .js-price-display {
		min-height: 26px !important;
		line-height: 26px !important;
	}

	[data-store^="category-grid-"] .js-product-table .item-installments,
	[data-store^="category-grid-"] .js-product-table .js-max-installments-container {
		min-height: 16px !important;
	}

	/* ── Form inline (quantidade + Comprar): empurrado ao final ─────── */
	[data-store^="category-grid-"] .js-product-table .fc-inline-product-form {
		margin-top: auto !important;
		padding: 0 0 4px !important;
		width: 100% !important;
		flex-shrink: 0 !important;
	}

	/* ── Botão Comprar: altura e texto legível ───────────────────────── */
	[data-store^="category-grid-"] .js-product-table .fc-inline-product-form .js-addtocart,
	[data-store^="category-grid-"] .js-product-table .fc-inline-product-form .btn.btn-primary {
		min-height: 38px !important;
		height: 38px !important;
		font-size: 12px !important;
		font-weight: 700 !important;
		width: 100% !important;
	}

	/* ── Botão WhatsApp: sempre visível, abaixo do Comprar ───────────── */
	[data-store^="category-grid-"] .js-product-table .fc-product-whatsapp {
		display: block !important;
		margin-top: 8px !important;
		padding: 8px 10px !important;
		font-size: 12px !important;
		width: 100% !important;
		box-sizing: border-box !important;
		flex-shrink: 0 !important;
	}

	/* quickshop-or-stock e modal-open: ocultados */
	[data-store^="category-grid-"] .js-product-table .item-stock,
	[data-store^="category-grid-"] .js-product-table .js-item-stock-container {
		min-height: 0 !important;
		display: none !important;
	}
}

[data-store^="category-grid-"] .js-product-table .item-image, [data-store^="category-grid-"] .js-product-table .product-item-image-container {
	position: relative !important;
	overflow: hidden !important;
}

[data-store^="category-grid-"] .js-product-table .item-image::after, [data-store^="category-grid-"] .js-product-table .product-item-image-container::after {
	content: "Destaque";
	position: absolute;
	top: 12px;
	right: 12px;
	z-index: 20;
	background: #f05a35;
	color: #fff;
	padding: 8px 18px;
	border-radius: 4px;
	font-size: 13px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: .02em;
	box-shadow: 0 4px 12px rgba(0, 0, 0, .16);
	pointer-events: none;
}

@media (max-width:767px) {
	[data-store^="category-grid-"] .js-product-table .item-image::after, [data-store^="category-grid-"] .js-product-table .product-item-image-container::after {
		top: 8px;
		right: 8px;
		padding: 6px 12px;
		font-size: 11px;
		border-radius: 4px;
	}

	/* Fix: imagem preenche o card sem espremimento */
	[data-store^="category-grid-"] .js-product-table .item-image img.img-absolute,
	[data-store^="category-grid-"] .js-product-table .item-image img.img-absolute-centered {
		left: 0 !important;
		width: 100% !important;
		height: 100% !important;
		object-fit: cover !important;
		object-position: center center !important;
		transform: none !important;
		-webkit-transform: none !important;
	}
}



/* ============================================================================
   5. SEÇÃO INSTITUCIONAL (HOME)
   Escopo: section[data-store="home-institutional-message"]
           .section-institutional-home
   NAO altera: cards, imagens, Swiper, carrinho, checkout
   ============================================================================ */

/* Seção: fundo creme, espaçamento encorpado */
section[data-store="home-institutional-message"],
.section-institutional-home {
  background-color: #f5f0ea;
  padding: 80px 20px;
  position: relative;
}

/* Linhas decorativas topo e base */
section[data-store="home-institutional-message"]::before,
section[data-store="home-institutional-message"]::after {
  content: "";
  display: block;
  width: 60px;
  height: 2px;
  background-color: #7c2d2d;
  margin: 0 auto;
  opacity: 0.4;
}
section[data-store="home-institutional-message"]::before {
  margin-bottom: 40px;
}
section[data-store="home-institutional-message"]::after {
  margin-top: 40px;
}

/* Card interno centralizado */
section[data-store="home-institutional-message"] .js-section-institutional-message-align {
  position: relative;
}

section[data-store="home-institutional-message"] .col-md-7 {
  background-color: #fffdf8;
  border: 1px solid #e2d5c8;
  border-radius: 4px;
  padding: 48px 52px;
  box-shadow: 0 2px 16px rgba(90, 40, 20, 0.07);
  position: relative;
}

/* Eyecatcher: "FERREIRA CHARCUTARIA" acima do título */
section[data-store="home-institutional-message"] .js-institutional-message-title::before {
  content: "FERREIRA CHARCUTARIA";
  display: block;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: #7c2d2d;
  opacity: 0.75;
  margin-bottom: 16px;
}

/* Linha sutil abaixo do eyecatcher */
section[data-store="home-institutional-message"] .col-md-7::after {
  content: "";
  display: block;
  width: 40px;
  height: 1px;
  background-color: #7c2d2d;
  margin: 20px auto 0;
  opacity: 0.3;
}

/* Logo da Charcutaria na Seção Institucional */
.fc-institutional-logo {
  display: block !important;
  width: 105px !important;
  max-width: 105px !important;
  height: auto !important;
  margin: 0 auto 22px !important;
  object-fit: contain !important;
}

@media (max-width: 767px) {
  .fc-institutional-logo {
    width: 82px !important;
    max-width: 82px !important;
    margin-bottom: 18px !important;
  }
}


/* Título */
section[data-store="home-institutional-message"] .js-institutional-message-title {
  font-size: 1.9rem;
  font-weight: 700;
  color: #2e1a0e;
  line-height: 1.25;
  letter-spacing: -0.01em;
  margin-bottom: 20px !important;
}

/* Parágrafo */
section[data-store="home-institutional-message"] .js-institutional-message-text {
  font-size: 1rem;
  line-height: 1.85;
  color: #4a3728;
  max-width: 520px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 28px !important;
}

/* Botão premium vinho escuro */
section[data-store="home-institutional-message"] .js-institutional-message-link {
  display: inline-block;
  padding: 13px 34px;
  background-color: #5a1a1a;
  color: #f5f0ea !important;
  border: 1.5px solid #5a1a1a;
  border-radius: 3px;
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  text-decoration: none !important;
  transition: background-color 0.22s ease, color 0.22s ease, border-color 0.22s ease;
}

section[data-store="home-institutional-message"] .js-institutional-message-link:hover,
section[data-store="home-institutional-message"] .js-institutional-message-link:focus {
  background-color: transparent;
  color: #5a1a1a !important;
  border-color: #5a1a1a;
  text-decoration: none !important;
}

/* Responsivo: mobile */
@media (max-width: 767px) {
  section[data-store="home-institutional-message"],
  .section-institutional-home {
    padding: 48px 16px;
  }

  section[data-store="home-institutional-message"]::before {
    margin-bottom: 24px;
  }
  section[data-store="home-institutional-message"]::after {
    margin-top: 24px;
  }

  section[data-store="home-institutional-message"] .col-md-7 {
    padding: 32px 24px;
  }

  section[data-store="home-institutional-message"] .js-institutional-message-title {
    font-size: 1.45rem;
  }

  section[data-store="home-institutional-message"] .js-institutional-message-text {
    font-size: 0.95rem;
    line-height: 1.75;
  }

  section[data-store="home-institutional-message"] .js-institutional-message-link {
    width: 100%;
    text-align: center;
    padding: 13px 20px;
  }
}


/* ============================================================================
   6. SEÇÃO DEPOIMENTOS (HOME)
   Escopo: section[data-store="home-testimonials"]
           .section-testimonials-home
   NAO altera: cards de produto, imagens, Swiper de produtos,
               botão Comprar, botão WhatsApp, classes globais
   ============================================================================ */

/* Seção: fundo creme encorpado */
section[data-store="home-testimonials"],
.section-testimonials-home {
  background-color: #f0ebe3;
  padding: 72px 0;
  position: relative;
}

/* Eyecatcher acima do título */
section[data-store="home-testimonials"] .js-testimonial-title-container {
  text-align: center;
  margin-bottom: 36px;
  position: relative;
}

section[data-store="home-testimonials"] .js-testimonial-title-container::before {
  content: "O QUE DIZEM NOSSOS CLIENTES";
  display: block;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: #7c2d2d;
  opacity: 0.7;
  margin-bottom: 10px;
}

/* Linha decorativa sob o eyecatcher */
section[data-store="home-testimonials"] .js-testimonial-title-container::after {
  content: "";
  display: block;
  width: 36px;
  height: 1px;
  background-color: #7c2d2d;
  margin: 12px auto 0;
  opacity: 0.35;
}

/* Título principal */
section[data-store="home-testimonials"] .js-testimonial-title {
  font-size: 1.55rem !important;
  font-weight: 700 !important;
  color: #2e1a0e !important;
  letter-spacing: -0.01em;
  line-height: 1.2;
  margin-bottom: 0 !important;
}

/* Swiper: ajuste de padding */
section[data-store="home-testimonials"] .swiper-testimonials {
  padding: 12px 4px 20px !important;
}

/* Card de depoimento */
section[data-store="home-testimonials"] .js-testimonial-slide .card {
  background-color: #fffdf8;
  border: 1px solid #e2d4c3;
  border-radius: 6px;
  padding: 36px 32px 28px !important;
  box-shadow: 0 2px 14px rgba(80, 35, 15, 0.08);
  position: relative;
  text-align: center;
  transition: box-shadow 0.2s ease;
}

section[data-store="home-testimonials"] .js-testimonial-slide .card:hover {
  box-shadow: 0 6px 24px rgba(80, 35, 15, 0.13);
}

/* Aspas decorativas */
section[data-store="home-testimonials"] .js-testimonial-slide .card::before {
  content: "\201C";
  display: block;
  font-size: 64px;
  line-height: 1;
  color: #7c2d2d;
  opacity: 0.18;
  font-family: Georgia, "Times New Roman", serif;
  margin-bottom: 8px;
  margin-top: -8px;
}

/* Foto do cliente */
section[data-store="home-testimonials"] .testimonials-image {
  margin-bottom: 16px !important;
}

section[data-store="home-testimonials"] .testimonials-image-background {
  width: 64px;
  height: 64px;
  object-fit: cover;
  border-radius: 50%;
  border: 2px solid #e2d4c3;
  box-shadow: 0 0 0 3px #f0ebe3;
  display: block;
  margin: 0 auto;
}

/* Nome do cliente */
section[data-store="home-testimonials"] .js-testimonial-name {
  font-size: 0.82rem !important;
  font-weight: 700 !important;
  color: #5a1a1a !important;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  margin-bottom: 10px !important;
}

/* Texto do depoimento */
section[data-store="home-testimonials"] .js-testimonial-description {
  font-size: 0.93rem !important;
  line-height: 1.8 !important;
  color: #4a3728 !important;
  font-style: italic;
  margin-bottom: 0 !important;
}

/* Paginação: bolinhas elegantes em vinho */
section[data-store="home-testimonials"] .js-swiper-testimonials-pagination {
  margin-top: 20px;
}

section[data-store="home-testimonials"] .js-swiper-testimonials-pagination .swiper-pagination-bullet {
  width: 7px;
  height: 7px;
  background-color: #c4a882;
  opacity: 1;
  transition: background-color 0.2s ease, transform 0.2s ease;
}

section[data-store="home-testimonials"] .js-swiper-testimonials-pagination .swiper-pagination-bullet-active {
  background-color: #7c2d2d;
  transform: scale(1.3);
}

/* Responsivo: mobile */
@media (max-width: 767px) {
  section[data-store="home-testimonials"],
  .section-testimonials-home {
    padding: 48px 0;
  }

  section[data-store="home-testimonials"] .js-testimonial-title-container {
    margin-bottom: 24px;
  }

  section[data-store="home-testimonials"] .js-testimonial-title {
    font-size: 1.3rem !important;
  }

  section[data-store="home-testimonials"] .js-testimonial-slide .card {
    padding: 28px 20px 22px !important;
  }

  section[data-store="home-testimonials"] .js-testimonial-slide .card::before {
    font-size: 48px;
  }
}


/* =========================================================
   LEGACY - CSS que estava no painel da Nuvemshop
   Manter temporariamente até limpar duplicações
========================================================= */



.js-products-featured-grid {
	align-items: stretch !important;
}

.js-products-featured-grid>.item-product, .js-products-featured-grid>.js-item-product {
	display: flex !important;
}

.js-products-featured-grid .js-item-container.item {
	width: 100% !important;
	height: 100% !important;
	display: flex !important;
	flex-direction: column !important;
}

.js-products-featured-grid .js-item-quickshop-or-colors-container, .js-products-featured-grid .item-image {
	flex: 0 0 auto !important;
}

.js-products-featured-grid .item-description {
	flex: 1 1 auto !important;
	display: flex !important;
	flex-direction: column !important;
	padding: 14px 14px 16px !important;
}

.js-products-featured-grid .item-description>.item-link {
	height: 100% !important;
	display: flex !important;
	flex-direction: column !important;
}

.js-products-featured-grid .item-name {
	height: 42px !important;
	min-height: 42px !important;
	max-height: 42px !important;
	margin: 0 0 10px !important;
	overflow: hidden !important;
}

.js-products-featured-grid .labels[data-store="product-item-labels"] {
	height: 0 !important;
	min-height: 0 !important;
	margin: 0 !important;
	overflow: hidden !important;
}

.js-products-featured-grid .item-price-container {
	height: 56px !important;
	min-height: 56px !important;
	margin: 0 !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: flex-start !important;
}

.js-products-featured-grid .item-price, .js-products-featured-grid .js-price-display {
	min-height: 28px !important;
	line-height: 28px !important;
}

.js-products-featured-grid .item-installments, .js-products-featured-grid .js-max-installments-container {
	min-height: 18px !important;
	margin-top: 2px !important;
}

.js-products-featured-grid .js-item-colors-container {
	height: 0 !important;
	min-height: 0 !important;
	margin: 0 !important;
	overflow: hidden !important;
}

.js-products-featured-grid .js-quickshop-or-stock-container {
	margin-top: auto !important;
	width: 100% !important;
	min-height: 42px !important;
	display: flex !important;
	align-items: center !important;
}

.js-products-featured-grid .js-quickshop-modal-open, .js-products-featured-grid .js-addtocart, .js-products-featured-grid .btn {
	min-height: 38px !important;
}

.js-products-featured-grid .item-stock, .js-products-featured-grid .js-item-stock-container {
	min-height: 18px !important;
	display: flex !important;
	align-items: center !important;
}

@media (max-width:767px) {
	.js-products-featured-grid .item-description {
		padding: 11px 10px 13px !important;
	}
	
	.js-products-featured-grid .item-name {
		height: 40px !important;
		min-height: 40px !important;
		max-height: 40px !important;
		margin-bottom: 8px !important;
	}
	
	.js-products-featured-grid .item-price-container {
		height: 52px !important;
		min-height: 52px !important;
	}
	
	.js-products-featured-grid .item-price, .js-products-featured-grid .js-price-display {
		min-height: 26px !important;
		line-height: 26px !important;
	}
	
	.js-products-featured-grid .item-installments, .js-products-featured-grid .js-max-installments-container {
		min-height: 16px !important;
	}
	
	.js-products-featured-grid .js-quickshop-or-stock-container {
		min-height: 40px !important;
	}
	
	.js-products-featured-grid .js-quickshop-modal-open, .js-products-featured-grid .js-addtocart, .js-products-featured-grid .btn {
		min-height: 36px !important;
	}
	
	.js-products-featured-grid .item-stock, .js-products-featured-grid .js-item-stock-container {
		min-height: 16px !important;
	}
}

.js-products-featured-grid .item-image, .js-products-featured-grid .product-item-image-container {
	position: relative !important;
	overflow: hidden !important;
}

.js-products-featured-grid .item-image::after, .js-products-featured-grid .product-item-image-container::after {
	content: "Destaque";
	position: absolute;
	top: 12px;
	right: 12px;
	z-index: 20;
	background: #f05a35;
	color: #fff;
	padding: 8px 18px;
	border-radius: 4px;
	font-size: 13px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: .02em;
	box-shadow: 0 4px 12px rgba(0, 0, 0, .16);
	pointer-events: none;
}

@media (max-width:767px) {
	.js-products-featured-grid .item-image::after, .js-products-featured-grid .product-item-image-container::after {
		top: 8px;
		right: 8px;
		padding: 6px 12px;
		font-size: 11px;
		border-radius: 4px;
	}
}

.js-products-new-grid {
	align-items: stretch !important;
}

.js-products-new-grid>.swiper-slide {
	height: auto !important;
	display: flex !important;
}

.js-products-new-grid .item-product, .js-products-new-grid .js-item-product, .js-products-new-grid .item-slide, .js-products-new-grid .js-item-slide {
	width: 100% !important;
	height: 100% !important;
	display: flex !important;
	flex-direction: column !important;
}

.js-products-new-grid .js-item-container.item {
	width: 100% !important;
	height: 100% !important;
	display: flex !important;
	flex-direction: column !important;
}

.js-products-new-grid .js-item-quickshop-or-colors-container, .js-products-new-grid .item-image, .js-products-new-grid .product-item-image-container {
	flex: 0 0 auto !important;
}

.js-products-new-grid .item-description {
	flex: 1 1 auto !important;
	display: flex !important;
	flex-direction: column !important;
	padding: 14px 14px 16px !important;
}

.js-products-new-grid .item-description>.item-link {
	height: 100% !important;
	display: flex !important;
	flex-direction: column !important;
}

.js-products-new-grid .item-name {
	height: 42px !important;
	min-height: 42px !important;
	max-height: 42px !important;
	margin: 0 0 10px !important;
	overflow: hidden !important;
}

.js-products-new-grid .labels[data-store="product-item-labels"] {
	height: 0 !important;
	min-height: 0 !important;
	margin: 0 !important;
	overflow: hidden !important;
}

.js-products-new-grid .item-price-container {
	height: 56px !important;
	min-height: 56px !important;
	margin: 0 !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: flex-start !important;
}

.js-products-new-grid .item-price, .js-products-new-grid .js-price-display {
	min-height: 28px !important;
	line-height: 28px !important;
}

.js-products-new-grid .item-installments, .js-products-new-grid .js-max-installments-container {
	min-height: 18px !important;
	margin-top: 2px !important;
}

.js-products-new-grid .js-item-colors-container {
	height: 0 !important;
	min-height: 0 !important;
	margin: 0 !important;
	overflow: hidden !important;
}

.js-products-new-grid .js-quickshop-or-stock-container {
	margin-top: auto !important;
	width: 100% !important;
	min-height: 42px !important;
	display: flex !important;
	align-items: center !important;
}

.js-products-new-grid .js-quickshop-modal-open, .js-products-new-grid .js-addtocart, .js-products-new-grid .btn {
	min-height: 38px !important;
}

.js-products-new-grid .item-stock, .js-products-new-grid .js-item-stock-container {
	min-height: 18px !important;
	display: flex !important;
	align-items: center !important;
}

@media (max-width:767px) {
	.js-products-new-grid .item-description {
		padding: 11px 10px 13px !important;
	}
	
	.js-products-new-grid .item-name {
		height: 40px !important;
		min-height: 40px !important;
		max-height: 40px !important;
		margin-bottom: 8px !important;
	}
	
	.js-products-new-grid .item-price-container {
		height: 52px !important;
		min-height: 52px !important;
	}
	
	.js-products-new-grid .item-price, .js-products-new-grid .js-price-display {
		min-height: 26px !important;
		line-height: 26px !important;
	}
	
	.js-products-new-grid .item-installments, .js-products-new-grid .js-max-installments-container {
		min-height: 16px !important;
	}
	
	.js-products-new-grid .js-quickshop-or-stock-container {
		min-height: 40px !important;
	}
	
	.js-products-new-grid .js-quickshop-modal-open, .js-products-new-grid .js-addtocart, .js-products-new-grid .btn {
		min-height: 36px !important;
	}
	
	.js-products-new-grid .item-stock, .js-products-new-grid .js-item-stock-container {
		min-height: 16px !important;
	}
}

.js-products-new-grid .item-image, .js-products-new-grid .product-item-image-container {
	position: relative !important;
	overflow: hidden !important;
}

.js-products-new-grid .item-image::after, .js-products-new-grid .product-item-image-container::after {
	content: "Novidade";
	position: absolute;
	top: 12px;
	right: 12px;
	z-index: 20;
	background: #f05a35;
	color: #fff;
	padding: 8px 18px;
	border-radius: 4px;
	font-size: 13px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: .02em;
	box-shadow: 0 4px 12px rgba(0, 0, 0, .16);
	pointer-events: none;
}

@media (max-width:767px) {
	.js-products-new-grid .item-image::after, .js-products-new-grid .product-item-image-container::after {
		top: 8px;
		right: 8px;
		padding: 6px 12px;
		font-size: 11px;
		border-radius: 4px;
	}
}

.js-products-featured-grid .product-item-image-container, .js-products-featured-grid .item-image, .js-products-new-grid .product-item-image-container, .js-products-new-grid .item-image {
	position: relative !important;
	overflow: hidden !important;
	background: #f3f3f3 !important;
}

.js-products-featured-grid .js-item-image-padding, .js-products-new-grid .js-item-image-padding {
	position: relative !important;
	display: block !important;
	width: 100% !important;
	overflow: hidden !important;
}

.js-products-featured-grid .js-item-image-padding .product-item-image, .js-products-featured-grid .js-item-image-padding .js-item-image, .js-products-new-grid .js-item-image-padding .product-item-image, .js-products-new-grid .js-item-image-padding .js-item-image {
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	right: auto !important;
	bottom: auto !important;
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	max-height: none !important;
	object-fit: cover !important;
	object-position: center center !important;
	transform: none !important;
}

.js-products-featured-grid .img-absolute-centered, .js-products-new-grid .img-absolute-centered {
	left: 0 !important;
	top: 0 !important;
	transform: none !important;
}

.js-products-featured-grid .product-item-image-secondary, .js-products-new-grid .product-item-image-secondary {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	object-position: center center !important;
}

.js-products-featured-grid .js-max-installments-container, .js-products-featured-grid .item-installments, .js-products-featured-grid .js-max-installments, .js-products-new-grid .js-max-installments-container, .js-products-new-grid .item-installments, .js-products-new-grid .js-max-installments {
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
	height: auto !important;
	min-height: 18px !important;
	max-height: none !important;
	overflow: visible !important;
	color: #6b1f1f !important;
	font-size: 12px !important;
	font-weight: 500 !important;
	line-height: 1.25 !important;
	text-align: center !important;
}

.js-products-featured-grid .item-price-container, .js-products-new-grid .item-price-container {
	height: auto !important;
	min-height: 62px !important;
	overflow: visible !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: flex-start !important;
}

.js-products-featured-grid .item-price, .js-products-featured-grid .js-price-display, .js-products-new-grid .item-price, .js-products-new-grid .js-price-display {
	display: block !important;
	color: #111 !important;
	font-weight: 800 !important;
	text-align: center !important;
	margin-bottom: 4px !important;
}

@media (max-width:767px) {
	.js-products-featured-grid .item-description, .js-products-new-grid .item-description {
		padding: 12px 10px 14px !important;
		text-align: center !important;
	}
	
	.js-products-featured-grid .item-description>.item-link, .js-products-new-grid .item-description>.item-link {
		height: auto !important;
		flex: 1 1 auto !important;
		display: flex !important;
		flex-direction: column !important;
	}
	
	.js-products-featured-grid .item-name, .js-products-new-grid .item-name {
		height: 42px !important;
		min-height: 42px !important;
		max-height: 42px !important;
		margin: 0 0 8px !important;
		font-size: 14px !important;
		line-height: 1.25 !important;
		text-align: center !important;
		overflow: hidden !important;
	}
	
	.js-products-featured-grid .item-price, .js-products-featured-grid .js-price-display, .js-products-new-grid .item-price, .js-products-new-grid .js-price-display {
		font-size: 24px !important;
		line-height: 1.05 !important;
		min-height: 28px !important;
		margin-bottom: 3px !important;
	}
	
	.js-products-featured-grid .js-max-installments-container, .js-products-featured-grid .item-installments, .js-products-featured-grid .js-max-installments, .js-products-new-grid .js-max-installments-container, .js-products-new-grid .item-installments, .js-products-new-grid .js-max-installments {
		display: block !important;
		visibility: visible !important;
		opacity: 1 !important;
		min-height: 18px !important;
		margin-top: 2px !important;
		margin-bottom: 8px !important;
		font-size: 11px !important;
		line-height: 1.25 !important;
		color: #6b1f1f !important;
		text-align: center !important;
	}
	
	.js-products-featured-grid .js-quickshop-or-stock-container, .js-products-new-grid .js-quickshop-or-stock-container {
		display: flex !important;
		flex-direction: column !important;
		align-items: stretch !important;
		justify-content: flex-start !important;
		gap: 6px !important;
		min-height: auto !important;
		margin-top: auto !important;
	}
	
	.js-products-featured-grid .js-item-quickshop-container, .js-products-featured-grid .js-item-stock-container, .js-products-new-grid .js-item-quickshop-container, .js-products-new-grid .js-item-stock-container {
		width: 100% !important;
		max-width: 100% !important;
		flex: none !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
	}
	
	.js-products-featured-grid .js-quickshop-modal-open, .js-products-featured-grid .js-addtocart, .js-products-featured-grid .btn, .js-products-new-grid .js-quickshop-modal-open, .js-products-new-grid .js-addtocart, .js-products-new-grid .btn {
		width: 100% !important;
		min-height: 38px !important;
		font-size: 12px !important;
		font-weight: 800 !important;
		letter-spacing: .04em !important;
	}
	
	.js-products-featured-grid .item-stock, .js-products-featured-grid .js-item-stock-container, .js-products-new-grid .item-stock, .js-products-new-grid .js-item-stock-container {
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		min-height: 16px !important;
		margin: 0 !important;
		font-size: 11px !important;
		font-weight: 700 !important;
		color: #111 !important;
		text-align: center !important;
	}
	
	.js-products-featured-grid .fc-product-whatsapp, .js-products-new-grid .fc-product-whatsapp {
		min-height: 38px !important;
		margin-top: 8px !important;
		padding: 8px 10px !important;
		font-size: 12px !important;
		font-weight: 800 !important;
		line-height: 1.2 !important;
		border-radius: 7px !important;
	}
}

.js-products-featured-grid .fc-hide-original-buy, .js-products-new-grid .fc-hide-original-buy {
	display: none !important;
}

.js-products-featured-grid .fc-inline-product-form, .js-products-new-grid .fc-inline-product-form {
	width: 100% !important;
	margin-top: 10px !important;
}

.js-products-featured-grid .fc-inline-product-form .js-product-variants, .js-products-new-grid .fc-inline-product-form .js-product-variants {
	display: none !important;
}

.js-products-featured-grid .fc-inline-product-form .row.mt-3, .js-products-new-grid .fc-inline-product-form .row.mt-3 {
	display: flex !important;
	align-items: stretch !important;
	gap: 8px !important;
	margin: 0 !important;
}

.js-products-featured-grid .fc-inline-product-form .col-4, .js-products-new-grid .fc-inline-product-form .col-4 {
	flex: 0 0 82px !important;
	max-width: 82px !important;
	padding: 0 !important;
}

.js-products-featured-grid .fc-inline-product-form .col-8, .js-products-new-grid .fc-inline-product-form .col-8 {
	flex: 1 1 auto !important;
	max-width: none !important;
	padding: 0 !important;
}

.js-products-featured-grid .fc-inline-product-form .form-quantity, .js-products-new-grid .fc-inline-product-form .form-quantity {
	height: 42px !important;
	border: 1px solid #ddd !important;
	border-radius: 6px !important;
	background: #fff !important;
	overflow: hidden !important;
}

.js-products-featured-grid .fc-inline-product-form .js-quantity-input, .js-products-new-grid .fc-inline-product-form .js-quantity-input {
	height: 42px !important;
	border: 0 !important;
	text-align: center !important;
	font-size: 15px !important;
	font-weight: 600 !important;
}

.js-products-featured-grid .fc-inline-product-form .form-quantity-icon, .js-products-new-grid .fc-inline-product-form .form-quantity-icon {
	height: 42px !important;
	color: #8a6b63 !important;
}

.js-products-featured-grid .fc-inline-product-form .js-addtocart, .js-products-new-grid .fc-inline-product-form .js-addtocart {
	width: 100% !important;
	height: 42px !important;
	min-height: 42px !important;
	background: #63c45f !important;
	border-color: #63c45f !important;
	color: #fff !important;
	border-radius: 6px !important;
	font-size: 14px !important;
	font-weight: 800 !important;
	text-transform: none !important;
}

.js-products-featured-grid .fc-inline-product-form .font-small, .js-products-new-grid .fc-inline-product-form .font-small {
	display: none !important;
}

.js-products-featured-grid .fc-product-whatsapp, .js-products-new-grid .fc-product-whatsapp {
	margin-top: 8px !important;
}

@media (max-width:767px) {
	.js-products-featured-grid .fc-inline-product-form .row.mt-3, .js-products-new-grid .fc-inline-product-form .row.mt-3 {
		gap: 6px !important;
	}
	
	.js-products-featured-grid .fc-inline-product-form .col-4, .js-products-new-grid .fc-inline-product-form .col-4 {
		flex: 0 0 72px !important;
		max-width: 72px !important;
	}
	
	.js-products-featured-grid .fc-inline-product-form .form-quantity, .js-products-new-grid .fc-inline-product-form .form-quantity, .js-products-featured-grid .fc-inline-product-form .js-quantity-input, .js-products-new-grid .fc-inline-product-form .js-quantity-input, .js-products-featured-grid .fc-inline-product-form .form-quantity-icon, .js-products-new-grid .fc-inline-product-form .form-quantity-icon, .js-products-featured-grid .fc-inline-product-form .js-addtocart, .js-products-new-grid .fc-inline-product-form .js-addtocart {
		height: 38px !important;
		min-height: 38px !important;
	}
	
	.js-products-featured-grid .fc-inline-product-form .js-addtocart, .js-products-new-grid .fc-inline-product-form .js-addtocart {
		font-size: 12px !important;
	}
}

.js-products-featured-grid .item-description>.item-link, .js-products-new-grid .item-description>.item-link {
	height: auto !important;
	flex: 0 0 auto !important;
	display: flex !important;
	flex-direction: column !important;
}

.js-products-featured-grid .fc-inline-product-form, .js-products-new-grid .fc-inline-product-form {
	width: 100% !important;
	margin-top: 12px !important;
	padding: 0 !important;
}

.js-products-featured-grid .fc-inline-product-form .js-product-variants, .js-products-new-grid .fc-inline-product-form .js-product-variants {
	display: none !important;
}

.js-products-featured-grid .fc-inline-product-form .row.mt-3, .js-products-new-grid .fc-inline-product-form .row.mt-3 {
	display: flex !important;
	flex-wrap: nowrap !important;
	align-items: stretch !important;
	gap: 8px !important;
	width: 100% !important;
	margin: 0 !important;
}

.js-products-featured-grid .fc-inline-product-form .row.mt-3>div, .js-products-new-grid .fc-inline-product-form .row.mt-3>div {
	padding: 0 !important;
}

.js-products-featured-grid .fc-inline-product-form .col-4, .js-products-new-grid .fc-inline-product-form .col-4 {
	flex: 0 0 92px !important;
	width: 92px !important;
	max-width: 92px !important;
}

.js-products-featured-grid .fc-inline-product-form .col-8, .js-products-new-grid .fc-inline-product-form .col-8 {
	flex: 1 1 auto !important;
	width: auto !important;
	max-width: none !important;
}

.js-products-featured-grid .fc-inline-product-form .form-quantity, .js-products-new-grid .fc-inline-product-form .form-quantity {
	width: 100% !important;
	height: 42px !important;
	display: flex !important;
	align-items: center !important;
	border: 1px solid #d9d9d9 !important;
	border-radius: 6px !important;
	background: #fff !important;
	overflow: hidden !important;
}

.js-products-featured-grid .fc-inline-product-form .js-quantity-input, .js-products-new-grid .fc-inline-product-form .js-quantity-input {
	height: 42px !important;
	min-height: 42px !important;
	border: 0 !important;
	box-shadow: none !important;
	text-align: center !important;
	font-size: 15px !important;
	font-weight: 700 !important;
}

.js-products-featured-grid .fc-inline-product-form .form-quantity-icon, .js-products-new-grid .fc-inline-product-form .form-quantity-icon {
	height: 42px !important;
	min-width: 26px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	color: #8a6b63 !important;
}

.js-products-featured-grid .fc-inline-product-form .js-addtocart, .js-products-new-grid .fc-inline-product-form .js-addtocart {
	width: 100% !important;
	height: 42px !important;
	min-height: 42px !important;
	background: #63c45f !important;
	border-color: #63c45f !important;
	color: #fff !important;
	border-radius: 6px !important;
	font-size: 14px !important;
	font-weight: 800 !important;
	letter-spacing: .02em !important;
	text-transform: none !important;
}

.js-products-featured-grid .fc-inline-product-form .font-small, .js-products-new-grid .fc-inline-product-form .font-small {
	display: none !important;
}

.js-products-featured-grid .fc-product-whatsapp, .js-products-new-grid .fc-product-whatsapp {
	margin-top: 8px !important;
}

@media (max-width:767px) {
	.js-products-featured-grid .item-description, .js-products-new-grid .item-description {
		padding: 12px 10px 14px !important;
	}
	
	.js-products-featured-grid .item-name, .js-products-new-grid .item-name {
		height: 40px !important;
		min-height: 40px !important;
		max-height: 40px !important;
		font-size: 14px !important;
		line-height: 1.25 !important;
		margin-bottom: 8px !important;
	}
	
	.js-products-featured-grid .item-price, .js-products-featured-grid .js-price-display, .js-products-new-grid .item-price, .js-products-new-grid .js-price-display {
		font-size: 23px !important;
		line-height: 1.05 !important;
		margin-bottom: 3px !important;
	}
	
	.js-products-featured-grid .item-installments, .js-products-featured-grid .js-max-installments-container, .js-products-new-grid .item-installments, .js-products-new-grid .js-max-installments-container {
		font-size: 11px !important;
		line-height: 1.25 !important;
		min-height: 16px !important;
		margin-bottom: 8px !important;
	}
	
	.js-products-featured-grid .fc-inline-product-form .row.mt-3, .js-products-new-grid .fc-inline-product-form .row.mt-3 {
		gap: 6px !important;
	}
	
	.js-products-featured-grid .fc-inline-product-form .col-4, .js-products-new-grid .fc-inline-product-form .col-4 {
		flex: 0 0 72px !important;
		width: 72px !important;
		max-width: 72px !important;
	}
	
	.js-products-featured-grid .fc-inline-product-form .form-quantity, .js-products-new-grid .fc-inline-product-form .form-quantity, .js-products-featured-grid .fc-inline-product-form .js-quantity-input, .js-products-new-grid .fc-inline-product-form .js-quantity-input, .js-products-featured-grid .fc-inline-product-form .form-quantity-icon, .js-products-new-grid .fc-inline-product-form .form-quantity-icon, .js-products-featured-grid .fc-inline-product-form .js-addtocart, .js-products-new-grid .fc-inline-product-form .js-addtocart {
		height: 38px !important;
		min-height: 38px !important;
	}
	
	.js-products-featured-grid .fc-inline-product-form .js-addtocart, .js-products-new-grid .fc-inline-product-form .js-addtocart {
		font-size: 12px !important;
		letter-spacing: .02em !important;
	}
	
	.js-products-featured-grid .fc-product-whatsapp, .js-products-new-grid .fc-product-whatsapp {
		min-height: 38px !important;
		font-size: 12px !important;
		margin-top: 7px !important;
	}
}

.js-products-featured-grid .item-description>.item-link .js-quickshop-or-stock-container, .js-products-new-grid .item-description>.item-link .js-quickshop-or-stock-container {
	display: none !important;
	visibility: hidden !important;
	opacity: 0 !important;
	height: 0 !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
}

.js-products-featured-grid .fc-inline-product-form, .js-products-new-grid .fc-inline-product-form {
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
}

.js-products-featured-grid .fc-inline-product-form .js-addtocart-placeholder, .js-products-new-grid .fc-inline-product-form .js-addtocart-placeholder {
	display: none !important;
	visibility: hidden !important;
	opacity: 0 !important;
}

.js-products-featured-grid .fc-inline-product-form input.js-addtocart, .js-products-new-grid .fc-inline-product-form input.js-addtocart {
	display: block !important;
}

.js-products-featured-grid .fc-inline-product-form div.js-addtocart:not(input), .js-products-new-grid .fc-inline-product-form div.js-addtocart:not(input), .js-products-featured-grid .fc-inline-product-form span.js-addtocart:not(input), .js-products-new-grid .fc-inline-product-form span.js-addtocart:not(input) {
	display: none !important;
}

.js-products-featured-grid .fc-inline-product-form .row.mt-3, .js-products-new-grid .fc-inline-product-form .row.mt-3 {
	display: flex !important;
	align-items: stretch !important;
	gap: 10px !important;
}

.js-products-featured-grid .fc-inline-product-form .form-quantity, .js-products-new-grid .fc-inline-product-form .form-quantity {
	height: 44px !important;
	min-height: 44px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	border: 1px solid #d9d9d9 !important;
	border-radius: 6px !important;
	background: #fff !important;
	overflow: hidden !important;
}

.js-products-featured-grid .fc-inline-product-form .js-quantity-down, .js-products-featured-grid .fc-inline-product-form .js-quantity-up, .js-products-new-grid .fc-inline-product-form .js-quantity-down, .js-products-new-grid .fc-inline-product-form .js-quantity-up {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex: 0 0 30px !important;
	width: 30px !important;
	height: 44px !important;
	min-height: 44px !important;
	padding: 0 !important;
	margin: 0 !important;
	color: #8a6b63 !important;
	font-size: 0 !important;
	line-height: 1 !important;
	cursor: pointer !important;
}

.js-products-featured-grid .fc-inline-product-form .js-quantity-down svg, .js-products-featured-grid .fc-inline-product-form .js-quantity-up svg, .js-products-new-grid .fc-inline-product-form .js-quantity-down svg, .js-products-new-grid .fc-inline-product-form .js-quantity-up svg {
	display: none !important;
}

.js-products-featured-grid .fc-inline-product-form .js-quantity-down::before, .js-products-new-grid .fc-inline-product-form .js-quantity-down::before {
	content: "−";
	display: block;
	font-size: 22px;
	font-weight: 500;
	line-height: 1;
	color: #8a6b63;
}

.js-products-featured-grid .fc-inline-product-form .js-quantity-up::before, .js-products-new-grid .fc-inline-product-form .js-quantity-up::before {
	content: "+";
	display: block;
	font-size: 20px;
	font-weight: 500;
	line-height: 1;
	color: #8a6b63;
}

.js-products-featured-grid .fc-inline-product-form .js-quantity-input, .js-products-new-grid .fc-inline-product-form .js-quantity-input {
	flex: 1 1 auto !important;
	width: 100% !important;
	height: 44px !important;
	min-height: 44px !important;
	padding: 0 !important;
	margin: 0 !important;
	border: 0 !important;
	box-shadow: none !important;
	background: transparent !important;
	text-align: center !important;
	font-size: 16px !important;
	font-weight: 700 !important;
	line-height: 44px !important;
}

.js-products-featured-grid .fc-inline-product-form .js-quantity-input, .js-products-new-grid .fc-inline-product-form .js-quantity-input {}

.js-products-featured-grid .fc-inline-product-form input.js-addtocart, .js-products-new-grid .fc-inline-product-form input.js-addtocart {
	display: block !important;
	height: 44px !important;
	min-height: 44px !important;
	padding: 0 !important;
	margin: 0 !important;
	line-height: 44px !important;
	text-align: center !important;
	vertical-align: middle !important;
	font-size: 15px !important;
	font-weight: 800 !important;
	letter-spacing: .02em !important;
}

@media (max-width:767px) {
	.js-products-featured-grid .fc-inline-product-form .row.mt-3, .js-products-new-grid .fc-inline-product-form .row.mt-3 {
		gap: 7px !important;
	}
	
	.js-products-featured-grid .fc-inline-product-form .form-quantity, .js-products-new-grid .fc-inline-product-form .form-quantity {
		height: 40px !important;
		min-height: 40px !important;
	}
	
	.js-products-featured-grid .fc-inline-product-form .js-quantity-down, .js-products-featured-grid .fc-inline-product-form .js-quantity-up, .js-products-new-grid .fc-inline-product-form .js-quantity-down, .js-products-new-grid .fc-inline-product-form .js-quantity-up {
		flex: 0 0 24px !important;
		width: 24px !important;
		height: 40px !important;
		min-height: 40px !important;
	}
	
	.js-products-featured-grid .fc-inline-product-form .js-quantity-down::before, .js-products-new-grid .fc-inline-product-form .js-quantity-down::before {
		font-size: 19px !important;
	}
	
	.js-products-featured-grid .fc-inline-product-form .js-quantity-up::before, .js-products-new-grid .fc-inline-product-form .js-quantity-up::before {
		font-size: 18px !important;
	}
	
	.js-products-featured-grid .fc-inline-product-form .js-quantity-input, .js-products-new-grid .fc-inline-product-form .js-quantity-input {
		height: 40px !important;
		min-height: 40px !important;
		line-height: 40px !important;
		font-size: 14px !important;
	}
	
	.js-products-featured-grid .fc-inline-product-form input.js-addtocart, .js-products-new-grid .fc-inline-product-form input.js-addtocart {
		height: 40px !important;
		min-height: 40px !important;
		line-height: 40px !important;
		font-size: 13px !important;
	}
}

@media (max-width:767px) {
	.js-products-featured-grid .item-description, .js-products-new-grid .item-description {
		padding: 12px 10px 14px !important;
	}
	
	.js-products-featured-grid .fc-inline-product-form, .js-products-new-grid .fc-inline-product-form {
		width: 100% !important;
		margin-top: 10px !important;
	}
	
	.js-products-featured-grid .fc-inline-product-form .row.mt-3, .js-products-new-grid .fc-inline-product-form .row.mt-3 {
		display: grid !important;
		grid-template-columns: 82px minmax(0, 1fr) !important;
		gap: 6px !important;
		width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
		align-items: stretch !important;
	}
	
	.js-products-featured-grid .fc-inline-product-form .row.mt-3>div, .js-products-new-grid .fc-inline-product-form .row.mt-3>div, .js-products-featured-grid .fc-inline-product-form .col-4, .js-products-featured-grid .fc-inline-product-form .col-8, .js-products-new-grid .fc-inline-product-form .col-4, .js-products-new-grid .fc-inline-product-form .col-8 {
		width: auto !important;
		max-width: none !important;
		min-width: 0 !important;
		flex: none !important;
		padding: 0 !important;
		margin: 0 !important;
	}
	
	.js-products-featured-grid .fc-inline-product-form .form-quantity, .js-products-new-grid .fc-inline-product-form .form-quantity {
		width: 82px !important;
		height: 38px !important;
		min-height: 38px !important;
		display: grid !important;
		grid-template-columns: 22px 1fr 22px !important;
		align-items: center !important;
		border: 1px solid #ddd !important;
		border-radius: 7px !important;
		background: #fff !important;
		overflow: hidden !important;
	}
	
	.js-products-featured-grid .fc-inline-product-form .js-quantity-down, .js-products-featured-grid .fc-inline-product-form .js-quantity-up, .js-products-new-grid .fc-inline-product-form .js-quantity-down, .js-products-new-grid .fc-inline-product-form .js-quantity-up {
		width: 22px !important;
		height: 38px !important;
		min-height: 38px !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		padding: 0 !important;
		margin: 0 !important;
	}
	
	.js-products-featured-grid .fc-inline-product-form .js-quantity-down::before, .js-products-new-grid .fc-inline-product-form .js-quantity-down::before {
		font-size: 18px !important;
	}
	
	.js-products-featured-grid .fc-inline-product-form .js-quantity-up::before, .js-products-new-grid .fc-inline-product-form .js-quantity-up::before {
		font-size: 17px !important;
	}
	
	.js-products-featured-grid .fc-inline-product-form .js-quantity-input, .js-products-new-grid .fc-inline-product-form .js-quantity-input {
		width: 100% !important;
		height: 38px !important;
		min-height: 38px !important;
		padding: 0 !important;
		margin: 0 !important;
		border: 0 !important;
		background: transparent !important;
		box-shadow: none !important;
		text-align: center !important;
		font-size: 14px !important;
		font-weight: 700 !important;
		line-height: 38px !important;
	}
	
	.js-products-featured-grid .fc-inline-product-form input.js-addtocart, .js-products-new-grid .fc-inline-product-form input.js-addtocart {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		height: 38px !important;
		min-height: 38px !important;
		padding: 0 6px !important;
		margin: 0 !important;
		display: block !important;
		box-sizing: border-box !important;
		line-height: 38px !important;
		text-align: center !important;
		font-size: 12px !important;
		font-weight: 800 !important;
		letter-spacing: 0 !important;
		white-space: nowrap !important;
		border-radius: 7px !important;
	}
	
	.js-products-featured-grid .fc-product-whatsapp, .js-products-new-grid .fc-product-whatsapp {
		width: 100% !important;
		min-height: 40px !important;
		margin-top: 8px !important;
		padding: 8px 8px !important;
		font-size: 11px !important;
		font-weight: 800 !important;
		line-height: 1.15 !important;
		text-align: center !important;
		border-radius: 7px !important;
	}
}

@media (max-width:767px) {
	.js-products-featured-grid .item-description, .js-products-new-grid .item-description {
		padding: 12px 10px 14px !important;
	}
	
	.js-products-featured-grid .fc-inline-product-form, .js-products-new-grid .fc-inline-product-form {
		width: 100% !important;
		margin-top: 10px !important;
	}
	
	.js-products-featured-grid .fc-inline-product-form .row.mt-3, .js-products-new-grid .fc-inline-product-form .row.mt-3 {
		display: grid !important;
		grid-template-columns: 82px minmax(0, 1fr) !important;
		gap: 6px !important;
		width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
		align-items: stretch !important;
	}
	
	.js-products-featured-grid .fc-inline-product-form .row.mt-3>div, .js-products-new-grid .fc-inline-product-form .row.mt-3>div, .js-products-featured-grid .fc-inline-product-form .col-4, .js-products-featured-grid .fc-inline-product-form .col-8, .js-products-new-grid .fc-inline-product-form .col-4, .js-products-new-grid .fc-inline-product-form .col-8 {
		width: auto !important;
		max-width: none !important;
		min-width: 0 !important;
		flex: none !important;
		padding: 0 !important;
		margin: 0 !important;
	}
	
	.js-products-featured-grid .fc-inline-product-form .form-quantity, .js-products-new-grid .fc-inline-product-form .form-quantity {
		width: 82px !important;
		height: 38px !important;
		min-height: 38px !important;
		display: grid !important;
		grid-template-columns: 22px 1fr 22px !important;
		align-items: center !important;
		border: 1px solid #ddd !important;
		border-radius: 7px !important;
		background: #fff !important;
		overflow: hidden !important;
	}
	
	.js-products-featured-grid .fc-inline-product-form .js-quantity-down, .js-products-featured-grid .fc-inline-product-form .js-quantity-up, .js-products-new-grid .fc-inline-product-form .js-quantity-down, .js-products-new-grid .fc-inline-product-form .js-quantity-up {
		width: 22px !important;
		height: 38px !important;
		min-height: 38px !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		padding: 0 !important;
		margin: 0 !important;
	}
	
	.js-products-featured-grid .fc-inline-product-form .js-quantity-down::before, .js-products-new-grid .fc-inline-product-form .js-quantity-down::before {
		font-size: 18px !important;
	}
	
	.js-products-featured-grid .fc-inline-product-form .js-quantity-up::before, .js-products-new-grid .fc-inline-product-form .js-quantity-up::before {
		font-size: 17px !important;
	}
	
	.js-products-featured-grid .fc-inline-product-form .js-quantity-input, .js-products-new-grid .fc-inline-product-form .js-quantity-input {
		width: 100% !important;
		height: 38px !important;
		min-height: 38px !important;
		padding: 0 !important;
		margin: 0 !important;
		border: 0 !important;
		background: transparent !important;
		box-shadow: none !important;
		text-align: center !important;
		font-size: 14px !important;
		font-weight: 700 !important;
		line-height: 38px !important;
	}
	
	.js-products-featured-grid .fc-inline-product-form input.js-addtocart, .js-products-new-grid .fc-inline-product-form input.js-addtocart {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		height: 38px !important;
		min-height: 38px !important;
		padding: 0 6px !important;
		margin: 0 !important;
		display: block !important;
		box-sizing: border-box !important;
		line-height: 38px !important;
		text-align: center !important;
		font-size: 12px !important;
		font-weight: 800 !important;
		letter-spacing: 0 !important;
		white-space: nowrap !important;
		border-radius: 7px !important;
	}
	
	.js-products-featured-grid .fc-product-whatsapp, .js-products-new-grid .fc-product-whatsapp {
		width: 100% !important;
		min-height: 40px !important;
		margin-top: 8px !important;
		padding: 8px 8px !important;
		font-size: 11px !important;
		font-weight: 800 !important;
		line-height: 1.15 !important;
		text-align: center !important;
		border-radius: 7px !important;
	}
}

@media (max-width:767px) {
	.js-products-featured-grid .item-description, .js-products-new-grid .item-description {
		padding: 12px 10px 14px !important;
	}
	
	.js-products-featured-grid .fc-inline-product-form, .js-products-new-grid .fc-inline-product-form {
		width: 100% !important;
		margin-top: 10px !important;
		padding: 0 !important;
		overflow: hidden !important;
	}
	
	.js-products-featured-grid .fc-inline-product-form .row.mt-3, .js-products-new-grid .fc-inline-product-form .row.mt-3 {
		display: flex !important;
		flex-direction: column !important;
		flex-wrap: nowrap !important;
		gap: 8px !important;
		width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
	}
	
	.js-products-featured-grid .fc-inline-product-form .row.mt-3>div, .js-products-new-grid .fc-inline-product-form .row.mt-3>div, .js-products-featured-grid .fc-inline-product-form .col-4, .js-products-featured-grid .fc-inline-product-form .col-8, .js-products-new-grid .fc-inline-product-form .col-4, .js-products-new-grid .fc-inline-product-form .col-8 {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		flex: 0 0 auto !important;
		padding: 0 !important;
		margin: 0 !important;
	}
	
	.js-products-featured-grid .fc-inline-product-form .form-quantity, .js-products-new-grid .fc-inline-product-form .form-quantity {
		width: 100% !important;
		max-width: 100% !important;
		height: 40px !important;
		min-height: 40px !important;
		display: grid !important;
		grid-template-columns: 34px 1fr 34px !important;
		align-items: center !important;
		border: 1px solid #ddd !important;
		border-radius: 7px !important;
		background: #fff !important;
		overflow: hidden !important;
	}
	
	.js-products-featured-grid .fc-inline-product-form .js-quantity-down, .js-products-featured-grid .fc-inline-product-form .js-quantity-up, .js-products-new-grid .fc-inline-product-form .js-quantity-down, .js-products-new-grid .fc-inline-product-form .js-quantity-up {
		width: 34px !important;
		height: 40px !important;
		min-height: 40px !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		padding: 0 !important;
		margin: 0 !important;
		color: #8a6b63 !important;
		font-size: 0 !important;
		line-height: 1 !important;
	}
	
	.js-products-featured-grid .fc-inline-product-form .js-quantity-down svg, .js-products-featured-grid .fc-inline-product-form .js-quantity-up svg, .js-products-new-grid .fc-inline-product-form .js-quantity-down svg, .js-products-new-grid .fc-inline-product-form .js-quantity-up svg {
		display: none !important;
	}
	
	.js-products-featured-grid .fc-inline-product-form .js-quantity-down::before, .js-products-new-grid .fc-inline-product-form .js-quantity-down::before {
		content: "−" !important;
		display: block !important;
		font-size: 21px !important;
		font-weight: 500 !important;
		line-height: 1 !important;
		color: #8a6b63 !important;
	}
	
	.js-products-featured-grid .fc-inline-product-form .js-quantity-up::before, .js-products-new-grid .fc-inline-product-form .js-quantity-up::before {
		content: "+" !important;
		display: block !important;
		font-size: 20px !important;
		font-weight: 500 !important;
		line-height: 1 !important;
		color: #8a6b63 !important;
	}
	
	.js-products-featured-grid .fc-inline-product-form .js-quantity-input, .js-products-new-grid .fc-inline-product-form .js-quantity-input {
		width: 100% !important;
		height: 40px !important;
		min-height: 40px !important;
		padding: 0 !important;
		margin: 0 !important;
		border: 0 !important;
		background: transparent !important;
		box-shadow: none !important;
		text-align: center !important;
		font-size: 15px !important;
		font-weight: 800 !important;
		line-height: 40px !important;
	}
	
	.js-products-featured-grid .fc-inline-product-form input.js-addtocart, .js-products-featured-grid .fc-inline-product-form .btn-add-to-cart, .js-products-new-grid .fc-inline-product-form input.js-addtocart, .js-products-new-grid .fc-inline-product-form .btn-add-to-cart {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		height: 40px !important;
		min-height: 40px !important;
		padding: 0 10px !important;
		margin: 0 !important;
		display: block !important;
		box-sizing: border-box !important;
		line-height: 40px !important;
		text-align: center !important;
		font-size: 13px !important;
		font-weight: 800 !important;
		letter-spacing: .01em !important;
		white-space: nowrap !important;
		border-radius: 7px !important;
	}
	
	.js-products-featured-grid .fc-inline-product-form .js-addtocart-placeholder, .js-products-new-grid .fc-inline-product-form .js-addtocart-placeholder {
		display: none !important;
	}
	
	.js-products-featured-grid .fc-product-whatsapp, .js-products-new-grid .fc-product-whatsapp {
		width: 100% !important;
		min-height: 40px !important;
		margin-top: 8px !important;
		padding: 8px 8px !important;
		font-size: 11px !important;
		font-weight: 800 !important;
		line-height: 1.15 !important;
		text-align: center !important;
		border-radius: 7px !important;
	}
}

.fc-inline-product-form .form-quantity {
	display: grid !important;
	grid-template-columns: 42px 1fr 42px !important;
	align-items: center !important;
	overflow: hidden !important;
}

.fc-inline-product-form .js-quantity-down, .fc-inline-product-form .js-quantity-up {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	height: 100% !important;
}

.fc-inline-product-form .js-quantity-input {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	height: 100% !important;
	min-height: 44px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	appearance: none !important;
	text-align: center !important;
	vertical-align: middle !important;
	line-height: 1 !important;
	font-size: 16px !important;
	font-weight: 700 !important;
	color: #111 !important;
}

@media (max-width:767px) {
	.fc-inline-product-form .form-quantity {
		min-height: 46px !important;
		grid-template-columns: 40px 1fr 40px !important;
	}
	
	.fc-inline-product-form .js-quantity-input {
		min-height: 46px !important;
		font-size: 15px !important;
	}
}

.js-products-featured-grid .js-item-image-padding>.js-product-item-image-link-private, .js-products-new-grid .js-item-image-padding>.js-product-item-image-link-private {
	position: absolute !important;
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	overflow: hidden !important;
}

.js-products-featured-grid .js-item-image-padding img.product-item-image-secondary, .js-products-featured-grid .js-item-image-padding img.item-image-secondary, .js-products-featured-grid .js-item-image-padding img.js-product-item-secondary-image-private, .js-products-new-grid .js-item-image-padding img.product-item-image-secondary, .js-products-new-grid .js-item-image-padding img.item-image-secondary, .js-products-new-grid .js-item-image-padding img.js-product-item-secondary-image-private {
	position: absolute !important;
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	min-width: 100% !important;
	min-height: 100% !important;
	max-width: none !important;
	max-height: none !important;
	object-fit: cover !important;
	object-position: center center !important;
	transform: none !important;
}

.js-products-featured-grid .js-item-image-padding img.product-item-image-secondary, .js-products-featured-grid .js-item-image-padding img.item-image-secondary, .js-products-featured-grid .js-item-image-padding img.js-product-item-secondary-image-private, .js-products-new-grid .js-item-image-padding img.product-item-image-secondary, .js-products-new-grid .js-item-image-padding img.item-image-secondary, .js-products-new-grid .js-item-image-padding img.js-product-item-secondary-image-private {
	opacity: 0 !important;
	visibility: hidden !important;
	z-index: 2 !important;
}

.js-products-featured-grid .item-image:hover img.product-item-image-secondary, .js-products-featured-grid .item-image:hover img.item-image-secondary, .js-products-featured-grid .item-image:hover img.js-product-item-secondary-image-private, .js-products-new-grid .item-image:hover img.product-item-image-secondary, .js-products-new-grid .item-image:hover img.item-image-secondary, .js-products-new-grid .item-image:hover img.js-product-item-secondary-image-private {
	opacity: 1 !important;
	visibility: visible !important;
}

.js-products-featured-grid .item-image:hover img.item-image-featured, .js-products-featured-grid .item-image:hover img.product-item-image-featured, .js-products-new-grid .item-image:hover img.item-image-featured, .js-products-new-grid .item-image:hover img.product-item-image-featured {
	opacity: 0 !important;
}

@media (max-width:767px) {
	.js-products-featured-grid .js-item-image-padding img.product-item-image-secondary, .js-products-featured-grid .js-item-image-padding img.item-image-secondary, .js-products-featured-grid .js-item-image-padding img.js-product-item-secondary-image-private, .js-products-new-grid .js-item-image-padding img.product-item-image-secondary, .js-products-new-grid .js-item-image-padding img.item-image-secondary, .js-products-new-grid .js-item-image-padding img.js-product-item-secondary-image-private {
		opacity: 0 !important;
		visibility: hidden !important;
	}
	
	.js-products-featured-grid .item-image:hover img.item-image-featured, .js-products-featured-grid .item-image:hover img.product-item-image-featured, .js-products-new-grid .item-image:hover img.item-image-featured, .js-products-new-grid .item-image:hover img.product-item-image-featured {
		opacity: 1 !important;
	}
}

.js-products-featured-grid .item-image:hover img.item-image-featured, .js-products-featured-grid .item-image:hover img.product-item-image-featured, .js-products-new-grid .item-image:hover img.item-image-featured, .js-products-new-grid .item-image:hover img.product-item-image-featured {
	opacity: 1 !important;
	visibility: visible !important;
}
/* =========================================================
   FERREIRA CHARCUTARIA
   HOME - Variações como carrossel horizontal no card
========================================================= */

/* Container das variações em formato de trilho horizontal */
.js-products-featured-grid .js-product-variants,
.js-products-new-grid .js-product-variants {
  position: relative !important;

  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;

  width: 100% !important;
  min-height: 88px !important;
  max-height: 88px !important;

  margin: 0 0 14px !important;
  padding: 32px 4px 10px !important;

  gap: 8px !important;

  overflow-x: auto !important;
  overflow-y: hidden !important;

  scroll-snap-type: x proximity !important;
  -webkit-overflow-scrolling: touch !important;
}

/* Título da variação fica fixo acima dos chips */
.js-products-featured-grid .js-product-variants > label:not(.btn-variant):not(.js-insta-variant),
.js-products-new-grid .js-product-variants > label:not(.btn-variant):not(.js-insta-variant),
.js-products-featured-grid .js-product-variants .form-label,
.js-products-new-grid .js-product-variants .form-label {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;

  width: 100% !important;
  height: 24px !important;
  min-height: 24px !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  padding: 0 !important;
  margin: 0 !important;

  background: transparent !important;
  border: 0 !important;

  color: #211c19 !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;
  text-align: center !important;

  white-space: nowrap !important;
}

/* Chips das variações */
.js-products-featured-grid .js-insta-variant,
.js-products-new-grid .js-insta-variant,
.js-products-featured-grid .btn-variant,
.js-products-new-grid .btn-variant {
  flex: 0 0 auto !important;

  min-width: max-content !important;
  min-height: 36px !important;

  padding: 8px 14px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  background: #f8f3ef !important;
  border: 1px solid rgba(90, 36, 29, 0.22) !important;
  border-radius: 7px !important;

  color: #2b211e !important;
  font-size: 14px !important;
  font-weight: 650 !important;
  line-height: 1 !important;
  white-space: nowrap !important;

  scroll-snap-align: start !important;
  cursor: pointer !important;
}

/* Selecionado */
.js-products-featured-grid .js-insta-variant.selected,
.js-products-new-grid .js-insta-variant.selected,
.js-products-featured-grid .btn-variant.selected,
.js-products-new-grid .btn-variant.selected,
.js-products-featured-grid .js-product-variants .selected,
.js-products-new-grid .js-product-variants .selected {
  background: #080808 !important;
  border-color: #080808 !important;
  color: #ffffff !important;
}

/* Scrollbar discreta no desktop */
.js-products-featured-grid .js-product-variants::-webkit-scrollbar,
.js-products-new-grid .js-product-variants::-webkit-scrollbar {
  height: 4px !important;
}

.js-products-featured-grid .js-product-variants::-webkit-scrollbar-track,
.js-products-new-grid .js-product-variants::-webkit-scrollbar-track {
  background: transparent !important;
}

.js-products-featured-grid .js-product-variants::-webkit-scrollbar-thumb,
.js-products-new-grid .js-product-variants::-webkit-scrollbar-thumb {
  background: rgba(90, 36, 29, 0.25) !important;
  border-radius: 999px !important;
}

/* Mantém cards alinhados com área fixa de variação */
.js-products-featured-grid .js-item-variants,
.js-products-new-grid .js-item-variants {
  flex: 1 1 auto !important;
  display: flex !important;
  flex-direction: column !important;
}

/* Form continua no fundo */
.js-products-featured-grid .fc-inline-product-form,
.js-products-new-grid .fc-inline-product-form,
.js-products-featured-grid .js-product-form,
.js-products-new-grid .js-product-form {
  margin-top: auto !important;
}

/* Mobile */
@media (max-width: 767px) {
  .js-products-featured-grid .js-product-variants,
  .js-products-new-grid .js-product-variants {
    min-height: 82px !important;
    max-height: 82px !important;

    padding: 30px 4px 9px !important;
    gap: 7px !important;
  }

  .js-products-featured-grid .js-product-variants > label:not(.btn-variant):not(.js-insta-variant),
  .js-products-new-grid .js-product-variants > label:not(.btn-variant):not(.js-insta-variant),
  .js-products-featured-grid .js-product-variants .form-label,
  .js-products-new-grid .js-product-variants .form-label {
    height: 22px !important;
    min-height: 22px !important;

    font-size: 12px !important;
  }

  .js-products-featured-grid .js-insta-variant,
  .js-products-new-grid .js-insta-variant,
  .js-products-featured-grid .btn-variant,
  .js-products-new-grid .btn-variant {
    min-height: 34px !important;
    padding: 8px 12px !important;

    font-size: 12px !important;
  }
}

/* =========================================================
   FERREIRA CHARCUTARIA
   HOME - Setas para scroll horizontal das variações
   Escopo: .js-products-featured-grid, .js-products-new-grid
   NAO afeta: categoria, checkout, carrinho, Swiper de produtos
========================================================= */

.js-products-featured-grid .fc-variants-carousel,
.js-products-new-grid .fc-variants-carousel {
  position: relative !important;
  width: 100% !important;
  margin: 0 0 14px !important;
  padding: 28px 34px 6px !important;
}

/* Trilho horizontal */
.js-products-featured-grid .fc-variants-carousel .js-product-variants,
.js-products-new-grid .fc-variants-carousel .js-product-variants {
  position: static !important;
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  width: 100% !important;
  min-height: 44px !important;
  max-height: 44px !important;
  margin: 0 !important;
  padding: 0 !important;
  gap: 8px !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  scroll-behavior: smooth !important;
  scroll-snap-type: x proximity !important;
  -webkit-overflow-scrolling: touch !important;
  scrollbar-width: none !important;
}

.js-products-featured-grid .fc-variants-carousel .js-product-variants::-webkit-scrollbar,
.js-products-new-grid .fc-variants-carousel .js-product-variants::-webkit-scrollbar {
  display: none !important;
}

/* Título da variação fica acima */
.js-products-featured-grid .fc-variants-carousel .js-product-variants > label:not(.btn-variant):not(.js-insta-variant),
.js-products-new-grid .fc-variants-carousel .js-product-variants > label:not(.btn-variant):not(.js-insta-variant),
.js-products-featured-grid .fc-variants-carousel .js-product-variants .form-label,
.js-products-new-grid .fc-variants-carousel .js-product-variants .form-label {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  height: 22px !important;
  min-height: 22px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  color: #211c19 !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;
  text-align: center !important;
  pointer-events: none !important;
}

/* Chips das variações */
.js-products-featured-grid .fc-variants-carousel .js-insta-variant,
.js-products-new-grid .fc-variants-carousel .js-insta-variant,
.js-products-featured-grid .fc-variants-carousel .btn-variant,
.js-products-new-grid .fc-variants-carousel .btn-variant {
  flex: 0 0 auto !important;
  min-width: max-content !important;
  min-height: 36px !important;
  padding: 8px 14px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  white-space: nowrap !important;
  scroll-snap-align: start !important;
}

/* Botões das setas */
.js-products-featured-grid .fc-variant-arrow,
.js-products-new-grid .fc-variant-arrow {
  position: absolute !important;
  top: 30px !important;
  z-index: 4 !important;
  width: 26px !important;
  height: 36px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  margin: 0 !important;
  background: #ffffff !important;
  border: 1px solid rgba(90, 36, 29, 0.22) !important;
  border-radius: 6px !important;
  color: #111 !important;
  font-size: 18px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  cursor: pointer !important;
  box-shadow: 0 4px 12px rgba(58, 36, 24, 0.08) !important;
}

.js-products-featured-grid .fc-variant-arrow-prev,
.js-products-new-grid .fc-variant-arrow-prev {
  left: 0 !important;
}

.js-products-featured-grid .fc-variant-arrow-next,
.js-products-new-grid .fc-variant-arrow-next {
  right: 0 !important;
}

.js-products-featured-grid .fc-variant-arrow.is-disabled,
.js-products-new-grid .fc-variant-arrow.is-disabled {
  opacity: 0.25 !important;
  pointer-events: none !important;
}

/* Mobile */
@media (max-width: 767px) {
  .js-products-featured-grid .fc-variants-carousel,
  .js-products-new-grid .fc-variants-carousel {
    padding: 27px 30px 6px !important;
  }

  .js-products-featured-grid .fc-variant-arrow,
  .js-products-new-grid .fc-variant-arrow {
    top: 29px !important;
    width: 24px !important;
    height: 34px !important;
    font-size: 16px !important;
  }

  .js-products-featured-grid .fc-variants-carousel .js-insta-variant,
  .js-products-new-grid .fc-variants-carousel .js-insta-variant,
  .js-products-featured-grid .fc-variants-carousel .btn-variant,
  .js-products-new-grid .fc-variants-carousel .btn-variant {
    min-height: 34px !important;
    padding: 8px 12px !important;
    font-size: 12px !important;
  }
}

/* =========================================================
   FERREIRA CHARCUTARIA — HOME — Variações carousel v2
   Override das regras legacy. Estrutura criada pelo JS:
     .fc-variants-carousel
       .fc-variants-title       ← label extraído
       .fc-variants-row         ← flex: seta | trilho | seta
         .fc-variant-arrow-prev
         .js-product-variants   ← o trilho original (flex nowrap)
         .fc-variant-arrow-next
   Escopo: .js-products-featured-grid, .js-products-new-grid
   NAO altera: categoria, imagens, Comprar, quantidade, WhatsApp
========================================================= */

/* 1. Wrapper do carousel: sem padding/posicionamento antigo */
.js-products-featured-grid .fc-variants-carousel,
.js-products-new-grid .fc-variants-carousel {
  position: static !important;
  width: 100% !important;
  margin: 0 0 12px !important;
  padding: 0 !important;
}

/* 2. Título acima da linha de chips */
.js-products-featured-grid .fc-variants-title,
.js-products-new-grid .fc-variants-title {
  display: block !important;
  width: 100% !important;
  margin: 0 0 4px !important;
  padding: 0 !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  color: #4b3f3a !important;
  text-align: center !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

/* 3. Row: alinha setas + trilho em linha */
.js-products-featured-grid .fc-variants-row,
.js-products-new-grid .fc-variants-row {
  display: flex !important;
  align-items: center !important;
  width: 100% !important;
  gap: 3px !important;
  overflow: hidden !important;
}

/* 4. Setas: flex items (não absolute) */
.js-products-featured-grid .fc-variants-row .fc-variant-arrow,
.js-products-new-grid .fc-variants-row .fc-variant-arrow {
  position: static !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  flex: 0 0 24px !important;
  width: 24px !important;
  min-width: 24px !important;
  height: 34px !important;
  min-height: 34px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  margin: 0 !important;
  background: #fff !important;
  border: 1px solid rgba(90, 36, 29, 0.22) !important;
  border-radius: 5px !important;
  color: #111 !important;
  font-size: 17px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  cursor: pointer !important;
  box-shadow: 0 2px 6px rgba(58, 36, 24, 0.08) !important;
  z-index: auto !important;
}

.js-products-featured-grid .fc-variants-row .fc-variant-arrow.is-disabled,
.js-products-new-grid .fc-variants-row .fc-variant-arrow.is-disabled {
  opacity: 0.2 !important;
  pointer-events: none !important;
}

/* 5. Trilho (.js-product-variants agora dentro da row):
   reset das regras legacy (position, padding, min/max-height) */
.js-products-featured-grid .fc-variants-row .js-product-variants,
.js-products-new-grid .fc-variants-row .js-product-variants {
  position: static !important;
  flex: 1 1 auto !important;
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  width: auto !important;
  min-width: 0 !important;
  min-height: 34px !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 2px 0 !important;
  gap: 6px !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  scroll-behavior: smooth !important;
  scroll-snap-type: x proximity !important;
  -webkit-overflow-scrolling: touch !important;
  scrollbar-width: none !important;
}

.js-products-featured-grid .fc-variants-row .js-product-variants::-webkit-scrollbar,
.js-products-new-grid .fc-variants-row .js-product-variants::-webkit-scrollbar {
  display: none !important;
}

/* 6. Label título que ficou no trilho (removido pelo JS, mas fallback CSS) */
.js-products-featured-grid .fc-variants-row .js-product-variants > label:not(.btn-variant):not(.js-insta-variant),
.js-products-new-grid .fc-variants-row .js-product-variants > label:not(.btn-variant):not(.js-insta-variant),
.js-products-featured-grid .fc-variants-row .js-product-variants .form-label:not(.btn-variant),
.js-products-new-grid .fc-variants-row .js-product-variants .form-label:not(.btn-variant) {
  display: none !important;
}

/* 7. Chips dentro do trilho */
.js-products-featured-grid .fc-variants-row .js-insta-variant,
.js-products-new-grid .fc-variants-row .js-insta-variant,
.js-products-featured-grid .fc-variants-row .btn-variant,
.js-products-new-grid .fc-variants-row .btn-variant {
  flex: 0 0 auto !important;
  position: static !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: max-content !important;
  width: auto !important;
  height: 32px !important;
  min-height: 32px !important;
  max-height: 32px !important;
  padding: 0 11px !important;
  margin: 0 !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  white-space: nowrap !important;
  scroll-snap-align: start !important;
  cursor: pointer !important;
}

/* Mobile */
@media (max-width: 767px) {
  .js-products-featured-grid .fc-variants-row .fc-variant-arrow,
  .js-products-new-grid .fc-variants-row .fc-variant-arrow {
    flex: 0 0 22px !important;
    width: 22px !important;
    min-width: 22px !important;
    height: 32px !important;
    font-size: 15px !important;
  }

  .js-products-featured-grid .fc-variants-row .js-insta-variant,
  .js-products-new-grid .fc-variants-row .js-insta-variant,
  .js-products-featured-grid .fc-variants-row .btn-variant,
  .js-products-new-grid .fc-variants-row .btn-variant {
    height: 30px !important;
    min-height: 30px !important;
    max-height: 30px !important;
    padding: 0 9px !important;
    font-size: 12px !important;
  }
}

/* =========================================================
   FIX: Bootstrap .row e .col-12 dentro do carousel de variações
   O tema envolve os chips em:
     .js-product-variants.row          ← Bootstrap row (margin negativa)
       .js-product-variants-group.col-12  ← col-12 força width:100% → chips empilham
         label.form-label              ← extraído pelo JS para .fc-variants-title
         a.js-insta-variant            ← chip
         a.js-insta-variant            ← chip
   Solução: cancelar col-12 e fazer o grupo ser flex nowrap.
   Escopo: apenas dentro de .fc-variants-row (home)
========================================================= */

/* 1. Cancela margens negativas do Bootstrap .row */
.js-products-featured-grid .fc-variants-row .js-product-variants,
.js-products-new-grid .fc-variants-row .js-product-variants {
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* 2. Cancela col-12 (flex: 0 0 100%; width: 100%) e vira flex row com chips */
.js-products-featured-grid .fc-variants-row .js-product-variants-group,
.js-products-new-grid .fc-variants-row .js-product-variants-group {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: 6px !important;

  /* cancelar Bootstrap col-12 */
  flex: 0 0 auto !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;

  /* cancelar Bootstrap col padding */
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin: 0 !important;

  min-height: 32px !important;
  overflow: visible !important; /* pai .js-product-variants já tem overflow-x:auto */
}

/* 3. Select dropdown (já tem d-none do Bootstrap, garante hidden) */
.js-products-featured-grid .fc-variants-row .js-product-variants-group .form-group.d-none,
.js-products-new-grid .fc-variants-row .js-product-variants-group .form-group.d-none {
  display: none !important;
}

/* 4. Label título dentro do grupo (JS já extrai, mas fallback CSS) */
.js-products-featured-grid .fc-variants-row .js-product-variants-group > .form-label,
.js-products-new-grid .fc-variants-row .js-product-variants-group > .form-label {
  display: none !important;
}

/* 5. Chips como flex items inline */
.js-products-featured-grid .fc-variants-row .js-product-variants-group .js-insta-variant,
.js-products-new-grid .fc-variants-row .js-product-variants-group .js-insta-variant,
.js-products-featured-grid .fc-variants-row .js-product-variants-group .btn-variant,
.js-products-new-grid .fc-variants-row .js-product-variants-group .btn-variant {
  flex: 0 0 auto !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: max-content !important;
  width: auto !important;
  height: 32px !important;
  min-height: 32px !important;
  max-height: 32px !important;
  padding: 0 11px !important;
  margin: 0 !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  white-space: nowrap !important;
  scroll-snap-align: start !important;
}

@media (max-width: 767px) {
  .js-products-featured-grid .fc-variants-row .js-product-variants-group .js-insta-variant,
  .js-products-new-grid .fc-variants-row .js-product-variants-group .js-insta-variant,
  .js-products-featured-grid .fc-variants-row .js-product-variants-group .btn-variant,
  .js-products-new-grid .fc-variants-row .js-product-variants-group .btn-variant {
    height: 30px !important;
    min-height: 30px !important;
    max-height: 30px !important;
    padding: 0 9px !important;
    font-size: 12px !important;
  }
}

/* =========================================================
   FIX: Centraliza chips quando não há overflow (1-2 variações)
   Classe .fc-variants-centered adicionada pelo JS (updateArrows)
   quando track.scrollWidth <= track.clientWidth
========================================================= */

.js-products-featured-grid .fc-variants-row .js-product-variants.fc-variants-centered .js-product-variants-group,
.js-products-new-grid .fc-variants-row .js-product-variants.fc-variants-centered .js-product-variants-group {
  margin-left: auto !important;
  margin-right: auto !important;
}

/* =========================================================
   HOVER GUARD — segunda imagem
   Classes adicionadas pelo JS (fcSecondaryImageGuard):
     .fc-has-secondary-image → swap de imagem no hover ativado
     .fc-no-secondary-image  → hover NÃO troca imagem
   Escopo: home + categoria
   Não toca: preço, Comprar, quantidade, WhatsApp, variações
========================================================= */

/* ── Produtos SEM segunda imagem: neutraliza TODOS os hovers de imagem ── */

/* Garante que a imagem principal permaneça visível */
.fc-no-secondary-image:hover img.item-image-featured,
.fc-no-secondary-image:hover img.product-item-image-featured,
.fc-no-secondary-image:hover .img-absolute,
.fc-no-secondary-image:hover .img-absolute-centered,
.fc-no-secondary-image:hover .product-item-image,
.fc-no-secondary-image:hover .js-item-image {
  opacity: 1 !important;
  visibility: visible !important;
}

/* Garante que a imagem secundária (que não existe) fique sempre oculta */
.fc-no-secondary-image img.product-item-image-secondary,
.fc-no-secondary-image img.item-image-secondary,
.fc-no-secondary-image img.js-product-item-secondary-image-private,
.fc-no-secondary-image:hover img.product-item-image-secondary,
.fc-no-secondary-image:hover img.item-image-secondary,
.fc-no-secondary-image:hover img.js-product-item-secondary-image-private {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* ── Produtos COM segunda imagem: swap de hover mantido ── */

/* Imagem secundária: visível no hover */
.fc-has-secondary-image:hover img.product-item-image-secondary,
.fc-has-secondary-image:hover img.item-image-secondary,
.fc-has-secondary-image:hover img.js-product-item-secondary-image-private {
  opacity: 1 !important;
  visibility: visible !important;
}

/* Imagem principal: some no hover (cede espaço para a secundária) */
.fc-has-secondary-image:hover img.item-image-featured,
.fc-has-secondary-image:hover img.product-item-image-featured {
  opacity: 0 !important;
}

/* Mobile: desativa swap em qualquer caso (touch não tem hover real) */
@media (max-width: 767px) {
  .fc-has-secondary-image:hover img.product-item-image-secondary,
  .fc-has-secondary-image:hover img.item-image-secondary,
  .fc-has-secondary-image:hover img.js-product-item-secondary-image-private {
    opacity: 0 !important;
    visibility: hidden !important;
  }
  .fc-has-secondary-image:hover img.item-image-featured,
  .fc-has-secondary-image:hover img.product-item-image-featured {
    opacity: 1 !important;
  }
}

/* =========================================================
   HOME MOBILE — Largura dos cards
   ATENÇÃO: NÃO forçar width/flex nos .swiper-slide.
   O Swiper calcula a largura via data-mobile-slider-columns="1.20"
   no home-featured-grid.tpl. Forçar width via CSS quebra o cálculo
   interno do Swiper e trava o scroll.
   Única exceção permitida: altura da imagem (não afeta slideWidth).
========================================================= */

@media (max-width: 767px) {
  /* Imagem: altura controlada para não ficar gigante no mobile */
  .js-products-featured-grid .product-item-image-container,
  .js-products-featured-grid .item-image,
  .js-products-featured-grid .js-product-item-image-container-private,
  .js-products-new-grid .product-item-image-container,
  .js-products-new-grid .item-image,
  .js-products-new-grid .js-product-item-image-container-private {
    height: 190px !important;
    min-height: 190px !important;
    max-height: 190px !important;
  }
}

/* =========================================================
   HOME MOBILE — Conflito de scroll: variações vs. Swiper
   O Swiper captura swipes horizontais no card inteiro.
   As variações têm scroll horizontal próprio via setas.
   Solução CSS: isolation de touch na área das variações.
   Escopo: home, apenas mobile (≤767px)
   NÃO altera: desktop, categoria, layout interno dos cards.
========================================================= */

@media (max-width: 767px) {
  /* Wrapper do carousel de variações: contém o gesto */
  .js-products-featured-grid .fc-variants-carousel,
  .js-products-new-grid .fc-variants-carousel {
    touch-action: manipulation;
    overscroll-behavior-x: contain;
  }

  /* Row: seta | trilho | seta */
  .js-products-featured-grid .fc-variants-row,
  .js-products-new-grid .fc-variants-row {
    touch-action: manipulation;
    overscroll-behavior-x: contain;
  }

  /* Trilho: contém o overscroll (não usa overflow:hidden para
     não quebrar o scrollBy() das setas) */
  .js-products-featured-grid .fc-variants-row .js-product-variants,
  .js-products-new-grid .fc-variants-row .js-product-variants {
    overscroll-behavior-x: contain;
  }

  /* Setas: toque pontual, não arrastar */
  .js-products-featured-grid .fc-variant-arrow,
  .js-products-new-grid .fc-variant-arrow {
    touch-action: manipulation;
  }
}

/* =============================================================
   HOME MOBILE — Redesign compacto (inspiração Maturar)
   data-mobile-slider-columns="2.10" → ~185px por card
   Objetivo: 2 cards por tela, tudo compacto, scroll fluido.
   Escopo: @media ≤767px | .js-products-featured-grid | .js-products-new-grid
   NÃO altera: desktop, categoria, header, carrinho, checkout.
============================================================= */
@media (max-width: 767px) {

  /* ── Imagem ── */
  .js-products-featured-grid .product-item-image-container,
  .js-products-featured-grid .item-image,
  .js-products-featured-grid .js-product-item-image-container-private,
  .js-products-new-grid .product-item-image-container,
  .js-products-new-grid .item-image,
  .js-products-new-grid .js-product-item-image-container-private {
    height: 155px !important;
    min-height: 155px !important;
    max-height: 155px !important;
  }

  /* ── Padding do card ── */
  .js-products-featured-grid .item-description,
  .js-products-new-grid .item-description {
    padding: 7px 7px 9px !important;
  }

  /* ── Nome do produto: 2 linhas compactas ── */
  .js-products-featured-grid .item-name,
  .js-products-new-grid .item-name {
    font-size: 13px !important;
    line-height: 1.25 !important;
    height: 34px !important;
    min-height: 34px !important;
    max-height: 34px !important;
    margin: 0 0 4px !important;
  }

  /* ── Preço principal ── */
  .js-products-featured-grid .item-price,
  .js-products-featured-grid .js-price-display,
  .js-products-new-grid .item-price,
  .js-products-new-grid .js-price-display {
    font-size: 21px !important;
    line-height: 1.1 !important;
    margin-bottom: 2px !important;
    min-height: 24px !important;
  }

  /* ── Parcelamento ── */
  .js-products-featured-grid .js-max-installments-container,
  .js-products-featured-grid .item-installments,
  .js-products-featured-grid .js-max-installments,
  .js-products-new-grid .js-max-installments-container,
  .js-products-new-grid .item-installments,
  .js-products-new-grid .js-max-installments {
    font-size: 10px !important;
    min-height: 13px !important;
    margin-bottom: 4px !important;
    line-height: 1.2 !important;
  }

  /* ── Variações: sem setas, chips em scroll horizontal direto ──
     Com cards de ~185px, as setas ocupam muito espaço.
     Chips ficam navegáveis com swipe (touch-action já está em pan-y
     no trilho para não interferir com o Swiper pai).             */
  .js-products-featured-grid .fc-variants-carousel,
  .js-products-new-grid .fc-variants-carousel {
    margin: 0 0 5px !important;
    padding: 0 !important;
    max-height: 54px !important;
    overflow: hidden !important;
  }

  /* Título da variação */
  .js-products-featured-grid .fc-variants-title,
  .js-products-new-grid .fc-variants-title {
    font-size: 10px !important;
    margin-bottom: 3px !important;
    line-height: 1 !important;
  }

  /* Setas: escondidas no mobile — chips são scrolláveis por swipe */
  .js-products-featured-grid .fc-variants-row .fc-variant-arrow,
  .js-products-new-grid .fc-variants-row .fc-variant-arrow {
    display: none !important;
  }

  /* Trilho: scroll horizontal via swipe do usuário */
  .js-products-featured-grid .fc-variants-row .js-product-variants,
  .js-products-new-grid .fc-variants-row .js-product-variants {
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
    /* Com setas escondidas, o trilho ocupa a largura total */
    width: 100% !important;
    flex: 1 1 auto !important;
  }

  /* Chips menores para caber em ~185px */
  .js-products-featured-grid .fc-variants-row .js-product-variants-group,
  .js-products-new-grid .fc-variants-row .js-product-variants-group {
    gap: 4px !important;
  }

  .js-products-featured-grid .fc-variants-row .js-product-variants-group .js-insta-variant,
  .js-products-new-grid .fc-variants-row .js-product-variants-group .js-insta-variant,
  .js-products-featured-grid .fc-variants-row .js-product-variants-group .btn-variant,
  .js-products-new-grid .fc-variants-row .js-product-variants-group .btn-variant {
    height: 26px !important;
    min-height: 26px !important;
    max-height: 26px !important;
    padding: 0 7px !important;
    font-size: 11px !important;
    font-weight: 600 !important;
  }

  /* ── Formulário: quantidade + Comprar na mesma linha ── */
  .js-products-featured-grid .fc-inline-product-form,
  .js-products-new-grid .fc-inline-product-form {
    margin-top: 5px !important;
  }

  .js-products-featured-grid .fc-inline-product-form .row.mt-3,
  .js-products-new-grid .fc-inline-product-form .row.mt-3 {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 5px !important;
  }

  /* col-4 = seletor de quantidade: mais estreito */
  .js-products-featured-grid .fc-inline-product-form .col-4,
  .js-products-new-grid .fc-inline-product-form .col-4 {
    flex: 0 0 62px !important;
    max-width: 62px !important;
    min-width: 62px !important;
  }

  /* col-8 = botão Comprar: ocupa o restante */
  .js-products-featured-grid .fc-inline-product-form .col-8,
  .js-products-new-grid .fc-inline-product-form .col-8 {
    flex: 1 1 auto !important;
    max-width: none !important;
  }

  /* Altura do seletor de quantidade */
  .js-products-featured-grid .fc-inline-product-form .form-quantity,
  .js-products-new-grid .fc-inline-product-form .form-quantity {
    height: 36px !important;
  }

  .js-products-featured-grid .fc-inline-product-form .js-quantity-input,
  .js-products-new-grid .fc-inline-product-form .js-quantity-input,
  .js-products-featured-grid .fc-inline-product-form .form-quantity-icon,
  .js-products-new-grid .fc-inline-product-form .form-quantity-icon {
    height: 36px !important;
    font-size: 13px !important;
  }

  /* Botão Comprar */
  .js-products-featured-grid .fc-inline-product-form .js-addtocart,
  .js-products-new-grid .fc-inline-product-form .js-addtocart {
    height: 36px !important;
    min-height: 36px !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    border-radius: 6px !important;
  }

  /* ── Botão WhatsApp: outlined, menor e discreto ── */
  .js-products-featured-grid .fc-product-whatsapp,
  .js-products-new-grid .fc-product-whatsapp {
    height: 32px !important;
    min-height: 32px !important;
    max-height: 32px !important;
    margin-top: 5px !important;
    padding: 0 6px !important;
    font-size: 10px !important;
    font-weight: 600 !important;
    line-height: 32px !important;
    border-radius: 6px !important;
    background: #ffffff !important;
    border: 1.5px solid #20d060 !important;
    color: #18a84a !important;
  }
}

/* =============================================================
   HOME MOBILE — Maximizar largura dos cards (layout Maturar)
   Problema: Bootstrap container (15px padding/lado) + swiper p-1 (4px)
             + Swiper spaceBetween (15px margin-right) deixam os cards
             estreitos demais.
   Solução:  Reduzir padding lateral e gap para maximizar card width.
   Escopo:   @media ≤767px | seções home featured + new + best-seller
   NÃO altera: desktop, categoria, header, carrinho, checkout.
============================================================= */
@media (max-width: 767px) {

  /* Container da seção: reduz padding lateral 15px → 8px */
  .js-products-featured-container.container,
  .js-products-new-container.container,
  .js-products-best-seller-container.container,
  .js-products-sale-container.container,
  .js-products-promotion-container.container {
    padding-left: 8px !important;
    padding-right: 8px !important;
  }

  /* swiper-container (tem classe p-1 = 4px padding): remove padding */
  .js-swiper-featured,
  .js-swiper-new,
  .js-swiper-best-seller,
  .js-swiper-sale,
  .js-swiper-promotion {
    padding: 2px 0 !important; /* manter 2px top/bottom para sombra do card */
  }

  /* Slides: Swiper aplica margin-right:15px inline.
     !important no stylesheet sobrescreve inline style sem !important. */
  .js-products-featured-grid.swiper-wrapper > *,
  .js-products-new-grid.swiper-wrapper > *,
  .js-products-best-seller-grid.swiper-wrapper > *,
  .js-products-sale-grid.swiper-wrapper > *,
  .js-products-promotion-grid.swiper-wrapper > * {
    margin-right: 8px !important;
  }
}

/* ═══════════════════════════════════════════════════════════════
   HOME MOBILE — Ajuste definitivo padrão Maturar
   Cobre as 14 tarefas solicitadas.
   Escopo: APENAS @media ≤767px e APENAS home (.featured / .new / .best-seller)
   NÃO altera: desktop, categoria, header, carrinho, checkout, produto.
═══════════════════════════════════════════════════════════════ */
@media (max-width: 767px) {

  /* ── T2: Ocultar variações no mobile ──────────────────────────
     Sem variações visíveis, o card fica compacto como Maturar.
     O form customizado (fc-inline-product-form) usa a seleção padrão. */
  .js-products-featured-grid .fc-variants-carousel,
  .js-products-featured-grid .fc-variants-title,
  .js-products-new-grid .fc-variants-carousel,
  .js-products-new-grid .fc-variants-title,
  .js-products-best-seller-grid .fc-variants-carousel,
  .js-products-best-seller-grid .fc-variants-title {
    display: none !important;
  }

  /* ── T4: Imagem — 175px, cover, topo do card ─────────────────── */
  .js-products-featured-grid .product-item-image-container,
  .js-products-featured-grid .item-image,
  .js-products-featured-grid .js-product-item-image-container-private,
  .js-products-new-grid .product-item-image-container,
  .js-products-new-grid .item-image,
  .js-products-new-grid .js-product-item-image-container-private,
  .js-products-best-seller-grid .product-item-image-container,
  .js-products-best-seller-grid .item-image,
  .js-products-best-seller-grid .js-product-item-image-container-private {
    height: 175px !important;
    min-height: 175px !important;
    max-height: 175px !important;
    overflow: hidden !important;
  }

  .js-products-featured-grid .product-item-image-container img,
  .js-products-new-grid .product-item-image-container img,
  .js-products-best-seller-grid .product-item-image-container img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
  }

  /* ── T5: Badges — compactos, #f45132, canto superior ────────── */
  .js-products-featured-grid .item-tag,
  .js-products-featured-grid .badge,
  .js-products-featured-grid .product-badge,
  .js-products-featured-grid [class*="badge"],
  .js-products-new-grid .item-tag,
  .js-products-new-grid .badge,
  .js-products-new-grid .product-badge,
  .js-products-new-grid [class*="badge"],
  .js-products-best-seller-grid .item-tag,
  .js-products-best-seller-grid .badge,
  .js-products-best-seller-grid .product-badge,
  .js-products-best-seller-grid [class*="badge"] {
    background: #f45132 !important;
    color: #fff !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    border-radius: 4px !important;
    padding: 3px 8px !important;
    line-height: 1.3 !important;
  }

  /* ── T6: Nome do produto — vinho, 15px, 2 linhas fixas ──────── */
  .js-products-featured-grid .item-name,
  .js-products-new-grid .item-name,
  .js-products-best-seller-grid .item-name {
    color: #6b1f1f !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    line-height: 1.25 !important;
    height: 38px !important;
    min-height: 38px !important;
    max-height: 38px !important;
    margin: 0 0 5px !important;
    overflow: hidden !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    text-align: center !important;
  }

  /* ── T7: Preço — laranja/vermelho Maturar ───────────────────── */
  .js-products-featured-grid .item-price,
  .js-products-featured-grid .js-price-display,
  .js-products-featured-grid .item-price .money,
  .js-products-new-grid .item-price,
  .js-products-new-grid .js-price-display,
  .js-products-new-grid .item-price .money,
  .js-products-best-seller-grid .item-price,
  .js-products-best-seller-grid .js-price-display {
    color: #f45132 !important;
    font-size: 23px !important;
    font-weight: 800 !important;
    line-height: 1.1 !important;
    text-align: center !important;
    margin-bottom: 3px !important;
  }

  /* ── T8: Parcelamento — compacto, vinho ──────────────────────── */
  .js-products-featured-grid .js-max-installments-container,
  .js-products-featured-grid .item-installments,
  .js-products-featured-grid .js-max-installments,
  .js-products-new-grid .js-max-installments-container,
  .js-products-new-grid .item-installments,
  .js-products-new-grid .js-max-installments,
  .js-products-best-seller-grid .js-max-installments-container,
  .js-products-best-seller-grid .item-installments,
  .js-products-best-seller-grid .js-max-installments {
    color: #6b1f1f !important;
    font-size: 11px !important;
    line-height: 1.3 !important;
    text-align: center !important;
    margin-bottom: 6px !important;
    min-height: 14px !important;
  }

  /* ── T9: Quantidade + Comprar na mesma linha ─────────────────── */
  .js-products-featured-grid .fc-inline-product-form .row.mt-3,
  .js-products-new-grid .fc-inline-product-form .row.mt-3,
  .js-products-best-seller-grid .fc-inline-product-form .row.mt-3 {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 6px !important;
    margin: 0 !important;
  }

  .js-products-featured-grid .fc-inline-product-form .col-4,
  .js-products-new-grid .fc-inline-product-form .col-4,
  .js-products-best-seller-grid .fc-inline-product-form .col-4 {
    flex: 0 0 68px !important;
    max-width: 68px !important;
    min-width: 68px !important;
    padding: 0 !important;
  }

  .js-products-featured-grid .fc-inline-product-form .col-8,
  .js-products-new-grid .fc-inline-product-form .col-8,
  .js-products-best-seller-grid .fc-inline-product-form .col-8 {
    flex: 1 1 auto !important;
    max-width: none !important;
    padding: 0 !important;
  }

  .js-products-featured-grid .fc-inline-product-form .form-quantity,
  .js-products-new-grid .fc-inline-product-form .form-quantity,
  .js-products-best-seller-grid .fc-inline-product-form .form-quantity {
    height: 38px !important;
    border-radius: 5px !important;
  }

  .js-products-featured-grid .fc-inline-product-form .js-quantity-input,
  .js-products-new-grid .fc-inline-product-form .js-quantity-input,
  .js-products-best-seller-grid .fc-inline-product-form .js-quantity-input,
  .js-products-featured-grid .fc-inline-product-form .form-quantity-icon,
  .js-products-new-grid .fc-inline-product-form .form-quantity-icon,
  .js-products-best-seller-grid .fc-inline-product-form .form-quantity-icon {
    height: 38px !important;
    font-size: 13px !important;
  }

  .js-products-featured-grid .fc-inline-product-form .js-addtocart,
  .js-products-new-grid .fc-inline-product-form .js-addtocart,
  .js-products-best-seller-grid .fc-inline-product-form .js-addtocart {
    height: 38px !important;
    min-height: 38px !important;
    background: #63c45f !important;
    border-color: #63c45f !important;
    color: #fff !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    border-radius: 5px !important;
    width: 100% !important;
  }

  /* ── T10: WhatsApp — branco com borda verde (padrão Maturar) ── */
  .js-products-featured-grid .fc-product-whatsapp,
  .js-products-new-grid .fc-product-whatsapp,
  .js-products-best-seller-grid .fc-product-whatsapp {
    background: #ffffff !important;
    border: 1.5px solid #20c957 !important;
    color: #18a84a !important;
    height: 36px !important;
    min-height: 36px !important;
    max-height: 36px !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    border-radius: 5px !important;
    margin-top: 5px !important;
    line-height: 36px !important;
    padding: 0 8px !important;
    width: 100% !important;
  }

  /* ── T3/T11: Padding do card e área de conteúdo ─────────────── */
  .js-products-featured-grid .item-description,
  .js-products-new-grid .item-description,
  .js-products-best-seller-grid .item-description {
    padding: 8px 8px 10px !important;
  }
}

/* ═══════════════════════════════════════════════════════════════
   HOME MOBILE — Fix: WhatsApp sem quebra + Quantidade alinhada
═══════════════════════════════════════════════════════════════ */
@media (max-width: 767px) {

  /* FIX: WhatsApp — texto em linha única, sem quebra */
  .js-products-featured-grid .fc-product-whatsapp,
  .js-products-new-grid .fc-product-whatsapp,
  .js-products-best-seller-grid .fc-product-whatsapp {
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 4px !important;
    line-height: 1 !important; /* override do line-height:36px que impedia flex */
  }

  /* FIX: Número da quantidade — maior, negrito, centralizado */
  .js-products-featured-grid .fc-inline-product-form .js-quantity-input,
  .js-products-new-grid .fc-inline-product-form .js-quantity-input,
  .js-products-best-seller-grid .fc-inline-product-form .js-quantity-input {
    font-size: 15px !important;
    font-weight: 700 !important;
    text-align: center !important;
    color: #111 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    flex: 1 1 auto !important;
  }

  /* FIX: form-quantity — flex para alinhar − número + */
  .js-products-featured-grid .fc-inline-product-form .form-quantity,
  .js-products-new-grid .fc-inline-product-form .form-quantity,
  .js-products-best-seller-grid .fc-inline-product-form .form-quantity {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    overflow: hidden !important;
  }

  /* FIX: Botões − e + da quantidade */
  .js-products-featured-grid .fc-inline-product-form .form-quantity-icon,
  .js-products-new-grid .fc-inline-product-form .form-quantity-icon,
  .js-products-best-seller-grid .fc-inline-product-form .form-quantity-icon {
    flex: 0 0 22px !important;
    width: 22px !important;
    height: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 16px !important;
    color: #6b1f1f !important;
    cursor: pointer !important;
    padding: 0 !important;
  }
}


/* ============================================================================
   7. PÁGINA DE EVENTOS — .fc-eventos-page
   Escopo: .fc-eventos-page e .fc-ev-*
   Não afeta: home, categorias, PDP, checkout, carrinho
   Tokens de cor:
     --fc-ev-dark:    #1a0f08   (preto quente)
     --fc-ev-wine:    #5a1a1a   (vinho escuro)
     --fc-ev-cream:   #f5f0ea   (creme)
     --fc-ev-orange:  #f05a35   (laranja/selo)
     --fc-ev-green:   #3d8c40   (verde botão)
     --fc-ev-border:  #e2d5c8   (borda)
   ============================================================================ */

/* ── Reset local: remove espaçamento do page-header nativo ── */
.fc-eventos-page ~ .background-secondary,
.fc-eventos-page + .background-secondary {
  display: none;
}
.fc-eventos-page {
  /* Remove qualquer padding extra que o tema injete no body da página */
  margin-top: 0;
  padding-top: 0;
}

/* ─────────────────────────────────────────────────────────────
   LABEL EYEBROW (reutilizável em todas as seções)
───────────────────────────────────────────────────────────── */
.fc-ev-label {
  display: inline-block;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: #5a1a1a;
  opacity: 0.8;
  margin-bottom: 12px;
}
.fc-ev-label--light {
  color: #e2d5c8;
  opacity: 0.75;
}

/* =============================================================
   HERO
============================================================= */
.fc-ev-hero {
  position: relative;
  min-height: 520px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background-color: #1a0f08;
  background-image:
    radial-gradient(ellipse at 20% 60%, rgba(90,26,26,0.45) 0%, transparent 55%),
    radial-gradient(ellipse at 80% 30%, rgba(61,140,64,0.15) 0%, transparent 50%),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");
  background-size: auto, auto, 300px 300px;
}

/* Hero background image */
.fc-ev-hero__bg-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 40%;
  z-index: 0;
  transform: scale(1.02);
}

.fc-ev-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    135deg,
    rgba(26,15,8,0.92) 0%,
    rgba(26,15,8,0.75) 50%,
    rgba(26,15,8,0.88) 100%
  );
  pointer-events: none;
}

.fc-ev-hero__content {
  position: relative;
  z-index: 2;
  text-align: center;
  max-width: 760px;
  padding: 80px 24px 88px;
  margin: 0 auto;
}

.fc-ev-hero__eyebrow {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: #c4a882;
  margin-bottom: 20px;
  opacity: 0.85;
}

.fc-ev-hero__title {
  font-size: clamp(2rem, 5vw, 3.6rem);
  font-weight: 800;
  color: #f5f0ea;
  line-height: 1.1;
  letter-spacing: -0.02em;
  margin-bottom: 20px;
}

.fc-ev-hero__subtitle {
  font-size: clamp(1rem, 2vw, 1.2rem);
  color: #d4c5b0;
  line-height: 1.7;
  max-width: 560px;
  margin: 0 auto 36px;
}

.fc-ev-hero__cta {
  display: inline-block;
  padding: 14px 38px;
  background-color: #3d8c40;
  color: #ffffff !important;
  border: 2px solid #3d8c40;
  border-radius: 4px;
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  text-decoration: none !important;
  transition: background-color 0.22s ease, border-color 0.22s ease, transform 0.18s ease;
}

.fc-ev-hero__cta:hover,
.fc-ev-hero__cta:focus {
  background-color: #2e6b31;
  border-color: #2e6b31;
  color: #ffffff !important;
  text-decoration: none !important;
  transform: translateY(-1px);
}

/* Decorative bottom border */
.fc-ev-hero::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, #5a1a1a 0%, #f05a35 40%, #3d8c40 70%, #5a1a1a 100%);
  opacity: 0.6;
}

/* =============================================================
   INTRO
============================================================= */
.fc-ev-intro {
  background-color: #fffdf8;
  padding: 88px 24px;
  border-bottom: 1px solid #e2d5c8;
}

.fc-ev-intro__inner {
  max-width: 700px;
  margin: 0 auto;
  text-align: center;
}

.fc-ev-intro__title {
  font-size: clamp(1.4rem, 3vw, 2rem);
  font-weight: 700;
  color: #2e1a0e;
  margin-bottom: 20px;
  letter-spacing: -0.01em;
}

.fc-ev-intro__text {
  font-size: 1.05rem;
  line-height: 1.9;
  color: #4a3728;
}

/* =============================================================
   CARDS DOS EVENTOS
============================================================= */
.fc-ev-cards {
  background-color: #f5f0ea;
  padding: 88px 24px;
  border-bottom: 1px solid #e2d5c8;
}

.fc-ev-cards__inner {
  max-width: 1120px;
  margin: 0 auto;
  text-align: center;
}

.fc-ev-cards__title {
  font-size: clamp(1.5rem, 3vw, 2.1rem);
  font-weight: 700;
  color: #2e1a0e;
  margin-bottom: 48px;
  letter-spacing: -0.01em;
}

.fc-ev-cards__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
  align-items: stretch;
}

/* ── Card ── */
.fc-ev-card {
  background: #fffdf8;
  border: 1px solid #e2d5c8;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 2px 16px rgba(90,40,20,0.08);
  display: flex;
  flex-direction: column;
  transition: transform 0.22s ease, box-shadow 0.22s ease;
}

.fc-ev-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 10px 32px rgba(90,40,20,0.15);
}

/* Image wrapper: maintains 4:3 ratio */
.fc-ev-card__img-wrap {
  position: relative;
  width: 100%;
  aspect-ratio: 4/3;
  background-color: #2e1a0e;
  overflow: hidden;
}

/* Fallback (shown when img has onerror) */
.fc-ev-card__img-fallback {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #2e1a0e 0%, #5a1a1a 100%);
  color: #c4a882;
  gap: 12px;
  pointer-events: none;
}
.fc-ev-card__img-fallback span {
  font-size: 48px;
  line-height: 1;
}
.fc-ev-card__img-fallback p {
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.85;
  margin: 0;
}

/* When image loads normally, hide fallback */
.fc-ev-card__img-wrap:not(.fc-ev-card__img-wrap--fallback) .fc-ev-card__img-fallback {
  display: none;
}

.fc-ev-card__img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: transform 0.4s ease;
}

.fc-ev-card:hover .fc-ev-card__img {
  transform: scale(1.04);
}

.fc-ev-card__body {
  padding: 24px 24px 28px;
  flex: 1;
  display: flex;
  flex-direction: column;
  text-align: left;
}

/* Tags */
.fc-ev-card__tag {
  display: inline-block;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  padding: 4px 10px;
  border-radius: 20px;
  margin-bottom: 14px;
  width: fit-content;
}
.fc-ev-card__tag--festival {
  background-color: rgba(240,90,53,0.12);
  color: #c94520;
}
.fc-ev-card__tag--degustacao {
  background-color: rgba(90,26,26,0.1);
  color: #5a1a1a;
}
.fc-ev-card__tag--feira {
  background-color: rgba(61,140,64,0.12);
  color: #2e6b31;
}

.fc-ev-card__name {
  font-size: 1.1rem;
  font-weight: 700;
  color: #2e1a0e;
  margin-bottom: 12px;
  line-height: 1.3;
}

.fc-ev-card__desc {
  font-size: 0.93rem;
  line-height: 1.75;
  color: #5a4535;
  margin: 0;
  flex: 1;
}

/* =============================================================
   TIMELINE
============================================================= */
.fc-ev-timeline {
  background-color: #1a0f08;
  padding: 88px 24px;
  position: relative;
}

.fc-ev-timeline::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, #5a1a1a 30%, #f05a35 50%, #5a1a1a 70%, transparent);
  opacity: 0.5;
}

.fc-ev-timeline__inner {
  max-width: 900px;
  margin: 0 auto;
  text-align: center;
}

.fc-ev-timeline__title {
  font-size: clamp(1.4rem, 3vw, 2rem);
  font-weight: 700;
  color: #f5f0ea;
  margin-bottom: 64px;
  letter-spacing: -0.01em;
}

.fc-ev-timeline__track {
  display: flex;
  flex-direction: column;
  gap: 0;
  position: relative;
  text-align: left;
}

/* Vertical line */
.fc-ev-timeline__track::before {
  content: "";
  position: absolute;
  left: 40px;
  top: 20px;
  bottom: 20px;
  width: 2px;
  background: linear-gradient(to bottom, #5a1a1a, #f05a35 50%, #3d8c40);
  opacity: 0.4;
}

.fc-ev-timeline__item {
  display: flex;
  align-items: flex-start;
  gap: 32px;
  padding: 0 0 48px 0;
  position: relative;
}

.fc-ev-timeline__item:last-child {
  padding-bottom: 0;
}

.fc-ev-timeline__dot {
  flex: 0 0 80px;
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background-color: #2e1a0e;
  border: 2px solid #f05a35;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  position: relative;
  z-index: 2;
  box-shadow: 0 0 0 4px rgba(240,90,53,0.12);
  flex-shrink: 0;
}

.fc-ev-timeline__dot--future {
  border-color: #3d8c40;
  box-shadow: 0 0 0 4px rgba(61,140,64,0.12);
}

.fc-ev-timeline__year {
  font-size: 14px;
  font-weight: 800;
  color: #c4a882;
  letter-spacing: 0.02em;
}

.fc-ev-timeline__content {
  padding-top: 16px;
  flex: 1;
}

.fc-ev-timeline__badge {
  display: inline-block;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  padding: 3px 10px;
  border-radius: 20px;
  margin-bottom: 10px;
  background-color: rgba(240,90,53,0.15);
  color: #f07050;
}
.fc-ev-timeline__badge--wine {
  background-color: rgba(90,26,26,0.3);
  color: #c4a882;
}
.fc-ev-timeline__badge--green {
  background-color: rgba(61,140,64,0.2);
  color: #63c45f;
}

.fc-ev-timeline__name {
  font-size: 1.15rem;
  font-weight: 700;
  color: #f5f0ea;
  margin-bottom: 8px;
}

.fc-ev-timeline__desc {
  font-size: 0.95rem;
  line-height: 1.75;
  color: #a89080;
  font-style: italic;
  margin: 0;
}

/* =============================================================
   CTA WHATSAPP
============================================================= */
.fc-ev-cta {
  background-color: #2e1a0e;
  background-image:
    radial-gradient(ellipse at 20% 50%, rgba(90,26,26,0.35) 0%, transparent 60%),
    radial-gradient(ellipse at 80% 50%, rgba(61,140,64,0.12) 0%, transparent 50%);
  padding: 96px 24px;
  position: relative;
}

.fc-ev-cta::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, #3d8c40 30%, #63c45f 50%, #3d8c40 70%, transparent);
  opacity: 0.5;
}

.fc-ev-cta__inner {
  max-width: 680px;
  margin: 0 auto;
  text-align: center;
}

.fc-ev-cta__title {
  font-size: clamp(1.5rem, 3vw, 2.2rem);
  font-weight: 800;
  color: #f5f0ea;
  margin-bottom: 16px;
  letter-spacing: -0.01em;
}

.fc-ev-cta__text {
  font-size: 1.05rem;
  line-height: 1.75;
  color: #a89080;
  margin-bottom: 40px;
}

.fc-ev-cta__btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 16px 44px;
  background-color: #25d366;
  color: #ffffff !important;
  border: 2px solid #25d366;
  border-radius: 4px;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-decoration: none !important;
  transition: background-color 0.22s ease, border-color 0.22s ease, transform 0.18s ease;
  cursor: pointer;
}

.fc-ev-cta__btn:hover,
.fc-ev-cta__btn:focus {
  background-color: #1ebe5d;
  border-color: #1ebe5d;
  color: #ffffff !important;
  text-decoration: none !important;
  transform: translateY(-2px);
}

/* =============================================================
   RESPONSIVIDADE — TABLET (≤ 991px)
============================================================= */
@media (max-width: 991px) {
  .fc-ev-cards__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
  }

  .fc-ev-timeline__track::before {
    left: 36px;
  }
  .fc-ev-timeline__dot {
    width: 72px;
    height: 72px;
    flex: 0 0 72px;
  }
  .fc-ev-timeline__year {
    font-size: 13px;
  }
}

/* =============================================================
   RESPONSIVIDADE — MOBILE (≤ 767px)
============================================================= */
@media (max-width: 767px) {

  /* Hero */
  .fc-ev-hero {
    min-height: 360px;
  }
  .fc-ev-hero__content {
    padding: 60px 20px 68px;
  }
  .fc-ev-hero__title {
    font-size: 1.9rem;
  }
  .fc-ev-hero__subtitle {
    font-size: 0.95rem;
  }
  .fc-ev-hero__cta {
    width: 100%;
    max-width: 320px;
    text-align: center;
    padding: 14px 24px;
  }

  /* Intro */
  .fc-ev-intro {
    padding: 56px 20px;
  }
  .fc-ev-intro__title {
    font-size: 1.35rem;
  }
  .fc-ev-intro__text {
    font-size: 0.97rem;
  }

  /* Cards */
  .fc-ev-cards {
    padding: 56px 16px;
  }
  .fc-ev-cards__grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .fc-ev-card__body {
    padding: 18px 18px 22px;
  }
  .fc-ev-card__name {
    font-size: 1.05rem;
  }

  /* Timeline */
  .fc-ev-timeline {
    padding: 56px 16px;
  }
  .fc-ev-timeline__title {
    margin-bottom: 48px;
  }
  .fc-ev-timeline__track::before {
    left: 28px;
  }
  .fc-ev-timeline__item {
    gap: 20px;
    padding-bottom: 36px;
  }
  .fc-ev-timeline__dot {
    width: 56px;
    height: 56px;
    flex: 0 0 56px;
  }
  .fc-ev-timeline__year {
    font-size: 11px;
  }
  .fc-ev-timeline__content {
    padding-top: 8px;
  }
  .fc-ev-timeline__name {
    font-size: 1rem;
  }
  .fc-ev-timeline__desc {
    font-size: 0.9rem;
  }

  /* CTA */
  .fc-ev-cta {
    padding: 64px 20px;
  }
  .fc-ev-cta__title {
    font-size: 1.4rem;
  }
  .fc-ev-cta__text {
    font-size: 0.97rem;
  }
  .fc-ev-cta__btn {
    width: 100%;
    max-width: 340px;
    justify-content: center;
    padding: 16px 24px;
    font-size: 0.95rem;
  }
}

/* Prevent horizontal overflow from the events page */
.fc-eventos-page {
  overflow-x: hidden;
  width: 100%;
  box-sizing: border-box;
}
.fc-eventos-page * {
  box-sizing: border-box;
}

/* PDP Quantity Block Fix */
.fc-product-buy-row {
  align-items: flex-start;
}

.fc-quantity-title {
  margin: 0 0 10px;
  color: #111;
  font-size: 18px;
  font-weight: 800;
  line-height: 1.2;
}

.fc-product-buy-row .form-group.js-quantity {
  margin-bottom: 0;
}

.fc-product-buy-row .form-quantity {
  height: 64px;
}

.fc-product-buy-row .js-prod-submit-form {
  height: 64px;
  min-height: 64px;
  display: flex;
  align-items: center;
  justify-content: center;
}

@media (max-width: 767px) {
  .fc-quantity-title {
    font-size: 16px;
    margin-bottom: 8px;
  }

  .fc-product-buy-row .form-quantity,
  .fc-product-buy-row .js-prod-submit-form {
    height: 54px;
    min-height: 54px;
  }
}

/* Stock Status Badge */
.fc-stock-status {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;

  margin-top: 10px;
  padding: 7px 12px;

  background: rgba(34, 198, 91, 0.10);
  border: 1px solid rgba(34, 198, 91, 0.28);
  border-radius: 999px;

  color: #16833d;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.2;
}

.fc-stock-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  width: 16px;
  height: 16px;

  background: #22c65b;
  color: #fff;
  border-radius: 999px;

  font-size: 11px;
  font-weight: 900;
}

@media (max-width: 767px) {
  .fc-stock-status {
    margin-top: 8px;
    padding: 6px 10px;
    font-size: 13px;
  }
}

/* Product Description Card Premium */
.fc-product-description-section {
  width: 100%;
  margin: 64px 0 56px;
  padding: 0 16px;
}

.fc-product-description-card {
  max-width: 1080px;
  margin: 0 auto;
  padding: 46px 52px;

  background: #fffaf6;
  border: 1px solid rgba(107, 31, 31, 0.14);
  border-radius: 22px;
  box-shadow: 0 16px 42px rgba(40, 25, 18, 0.08);
}

.fc-product-description-header {
  max-width: 760px;
  margin-bottom: 30px;
}

.fc-product-description-eyebrow {
  display: inline-block;
  margin-bottom: 12px;

  color: #f45132;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 1.5px;
  text-transform: uppercase;
}

.fc-product-description-header h2 {
  margin: 0 0 12px;

  color: #111;
  font-size: 38px;
  font-weight: 900;
  line-height: 1.1;
}

.fc-product-description-header p {
  margin: 0;

  color: #666;
  font-size: 17px;
  line-height: 1.55;
}

.fc-product-description-body {
  max-width: 900px;

  color: #222;
  font-size: 17px;
  line-height: 1.75;
}

.fc-product-description-body h1,
.fc-product-description-body h2,
.fc-product-description-body h3,
.fc-product-description-body h4 {
  color: #6b1f1f;
  font-weight: 900;
  margin: 0 0 14px;
}

.fc-product-description-body p {
  margin: 0 0 16px;
}

.fc-product-description-body strong,
.fc-product-description-body b {
  color: #6b1f1f;
  font-weight: 900;
}

@media (max-width: 767px) {
  .fc-product-description-section {
    margin: 42px 0 38px;
    padding: 0 14px;
  }

  .fc-product-description-card {
    padding: 28px 22px;
    border-radius: 16px;
  }

  .fc-product-description-header {
    margin-bottom: 22px;
  }

  .fc-product-description-header h2 {
    font-size: 28px;
  }

  .fc-product-description-header p {
    font-size: 15px;
  }

  .fc-product-description-body {
    font-size: 15.5px;
    line-height: 1.65;
  }
}

/* =========================================================
   FERREIRA CHARCUTARIA - Ajustes nos cards (Julho 2026)
========================================================= */

/* 1. Adicionar padding lateral no form para os botões não ficarem colados */
.js-products-featured-grid .fc-inline-product-form,
.js-products-new-grid .fc-inline-product-form,
[data-store^="category-grid-"] .js-product-table .fc-inline-product-form {
  padding-left: 10px !important;
  padding-right: 10px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

/* Fazer o carrossel de variações ignorar o padding para manter seu layout original */
.js-products-featured-grid .fc-variants-carousel,
.js-products-new-grid .fc-variants-carousel,
[data-store^="category-grid-"] .js-product-table .fc-variants-carousel {
  margin-left: -10px !important;
  margin-right: -10px !important;
  width: calc(100% + 20px) !important;
}

/* 2. Ajustar o gap entre quantidade e botão comprar para o botão não quebrar */
.js-products-featured-grid .fc-inline-product-form .row,
.js-products-new-grid .fc-inline-product-form .row,
[data-store^="category-grid-"] .js-product-table .fc-inline-product-form .row {
  margin-left: -5px !important;
  margin-right: -5px !important;
}

.js-products-featured-grid .fc-inline-product-form .col-4,
.js-products-new-grid .fc-inline-product-form .col-4,
.js-products-featured-grid .fc-inline-product-form .col-8,
.js-products-new-grid .fc-inline-product-form .col-8,
[data-store^="category-grid-"] .js-product-table .fc-inline-product-form .col-4,
[data-store^="category-grid-"] .js-product-table .fc-inline-product-form .col-8 {
  padding-left: 5px !important;
  padding-right: 5px !important;
}

/* O botão WhatsApp precisa de margem para acompanhar o respiro do form */
.js-products-featured-grid .fc-product-whatsapp,
.js-products-new-grid .fc-product-whatsapp,
[data-store^="category-grid-"] .js-product-table .fc-product-whatsapp {
  width: calc(100% - 20px) !important;
  margin-left: 10px !important;
  margin-right: 10px !important;
  margin-bottom: 15px !important;
}

/* 3. Remover espaço vazio gigante quando NÃO há variações */
.js-products-featured-grid .fc-no-variants,
.js-products-new-grid .fc-no-variants,
[data-store^="category-grid-"] .js-product-table .fc-no-variants {
  margin-top: 10px !important;
}

/* Absorve o espaço no final do card para que os botões subam juntos */
.js-products-featured-grid .fc-no-variants + .fc-product-whatsapp,
.js-products-new-grid .fc-no-variants + .fc-product-whatsapp,
[data-store^="category-grid-"] .js-product-table .fc-no-variants + .fc-product-whatsapp {
  margin-bottom: auto !important;
}

/* =========================================================
   FERREIRA CHARCUTARIA - Reviews / Perguntas e Respostas
========================================================= */

#reviewsapp {
  max-width: 1080px;
  margin: 60px auto 80px;
  padding: 0 16px;
  font-family: inherit;
}

/* 1. Título Geral (Perguntas e Respostas) */
#reviewsapp h2,
#reviewsapp h3,
#reviewsapp h4,
#reviewsapp .title,
#reviewsapp .header-title,
#reviewsapp .review-title {
  text-align: center !important;
  margin-bottom: 40px !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  font-size: 28px !important;
  font-weight: 700 !important;
  color: #222 !important;
  letter-spacing: -0.5px !important;
}

/* Caso o app use divs para o título com fundo cinza (como na imagem) */
#reviewsapp .panel,
#reviewsapp .panel-heading,
#reviewsapp .box-header,
#reviewsapp > div:not(:has(form)):not(:has(input)) {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

/* 2. Card do Formulário (Pergunte ao vendedor) */
#reviewsapp form,
#reviewsapp .review-form,
#reviewsapp .form-container,
#reviewsapp .q-and-a-box,
#reviewsapp .ask-question {
  background: #faf9f7 !important;
  border: 1px solid rgba(0, 0, 0, 0.05) !important;
  border-radius: 12px !important;
  padding: 32px !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.02) !important;
  margin-bottom: 30px !important;
  display: block !important;
}

/* Título dentro do card */
#reviewsapp form h3,
#reviewsapp form h4,
#reviewsapp form .title,
#reviewsapp form p strong,
#reviewsapp form label,
#reviewsapp .ask-title {
  font-size: 18px !important;
  font-weight: 700 !important;
  color: #333 !important;
  margin-bottom: 20px !important;
  display: block !important;
  text-align: left !important;
}

/* 3. Inputs */
#reviewsapp input[type="text"],
#reviewsapp input[type="email"],
#reviewsapp textarea,
#reviewsapp .input-group input {
  width: 100% !important;
  padding: 14px 20px !important;
  font-size: 15px !important;
  border: 1px solid #e0e0e0 !important;
  border-radius: 8px !important;
  background: #fff !important;
  color: #444 !important;
  box-sizing: border-box !important;
  transition: all 0.2s ease !important;
  box-shadow: none !important;
  height: 52px !important;
}

#reviewsapp textarea {
  height: auto !important;
  min-height: 100px !important;
}

#reviewsapp input[type="text"]:focus,
#reviewsapp input[type="email"]:focus,
#reviewsapp textarea:focus {
  border-color: #6b1f1f !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(107, 31, 31, 0.1) !important;
}

#reviewsapp input::placeholder,
#reviewsapp textarea::placeholder {
  color: #999 !important;
  font-weight: 400 !important;
}

/* 4. Botão Perguntar */
#reviewsapp button,
#reviewsapp input[type="submit"],
#reviewsapp .btn-ask {
  background: #222 !important;
  color: #fff !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  padding: 0 32px !important;
  height: 52px !important;
  line-height: 52px !important;
  border: none !important;
  border-radius: 8px !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  text-transform: none !important;
  margin: 0 !important; 
  display: inline-block !important;
}

#reviewsapp button:hover,
#reviewsapp input[type="submit"]:hover {
  background: #444 !important;
}

/* 5. Alinhamento lado a lado (Desktop) */
@media (min-width: 768px) {
  #reviewsapp form .input-group,
  #reviewsapp form .row,
  #reviewsapp form .flex-wrapper,
  #reviewsapp form > div:has(input) {
    display: flex !important;
    gap: 12px !important;
    align-items: flex-start !important;
  }
  
  #reviewsapp form > div:has(input) input[type="text"] {
    flex: 1 !important;
    margin-bottom: 0 !important;
  }
}

/* 6. Mobile Responsivo */
@media (max-width: 767px) {
  #reviewsapp {
    margin: 40px auto;
  }
  
  #reviewsapp h2,
  #reviewsapp h3,
  #reviewsapp .title,
  #reviewsapp > div:first-child * {
    font-size: 24px !important;
    margin-bottom: 24px !important;
  }
  
  #reviewsapp form,
  #reviewsapp .review-form {
    padding: 24px 20px !important;
  }
  
  #reviewsapp button,
  #reviewsapp input[type="submit"] {
    width: 100% !important;
    margin-top: 12px !important;
  }
  
  #reviewsapp form .input-group,
  #reviewsapp form .row,
  #reviewsapp form .flex-wrapper,
  #reviewsapp form > div:has(input) {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
  }
}

/* =========================================================
   FERREIRA CHARCUTARIA - Ajustes Faixa de Copyright
========================================================= */

/* Desktop: Faixa mais fina */
.footer-legal {
  padding: 12px 0 !important;
}

/* Remover margins verticais desnecessárias dos filhos */
.footer-legal p {
  margin-bottom: 0 !important;
}

@media (min-width: 768px) {
  .footer-legal .mt-3,
  .footer-legal .mb-3,
  .footer-legal .mt-2,
  .footer-legal .mb-2 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  
  .footer-legal .font-smallest {
    line-height: 1.2 !important;
  }
}

/* Mobile: Levemente maior que desktop, mas compacta */
@media (max-width: 767px) {
  .footer-legal {
    padding: 16px 0 !important;
  }
  
  .footer-legal .mt-3 {
    margin-top: 8px !important;
  }
  
  .footer-legal .mb-2 {
    margin-bottom: 4px !important;
  }
  
  .footer-legal .font-smallest {
    font-size: 11px !important;
    line-height: 1.3 !important;
  }
}
