/*
Theme Name: Trussadi
Description: Child theme for Flatsome (Woozen) - Loja Luiza Marques.
             Direção visual: Editorial Pastel (creme/marrom/caramelo + Cormorant Garamond + Inter)
Author: UX Themes (forked / Luiza Marques)
Template: flatsome
Version: 5.2.104-minicart-mobile-fix
*/

/* ============================================================================
   FONTS — Cormorant Garamond + Inter são carregados via functions.php
   (wp_enqueue 'luiza-editorial-fonts' com display=swap)
   ============================================================================ */

/* ============================================================================
   1. DESIGN TOKENS (CSS Variables)
   Source of truth: H:\WO-RK\DEV\rebranding\preview-luiza.html
   ============================================================================ */
:root {
  /* Cores */
  --luiza-primary:    #8B6F5C;  /* marrom/taupe — cor principal */
  --luiza-heading:    #3B2F2A;  /* marrom-chocolate — títulos/texto forte */
  --luiza-body:       #5a4d46;  /* texto corrido (deriva chocolate -15%) */
  --luiza-bg-cream:   #FAF7F2;  /* creme — fundo página */
  --luiza-soft-bg:    #E8DDD0;  /* areia — hero, footer, sections alt */
  --luiza-accent:     #C9A98C;  /* caramelo — badges sale */
  --luiza-orange:     #F47000;  /* laranja da logo Valentina — acento de marca (fills/badges/barra) */
  --luiza-orange-ink: #C5550A;  /* laranja escurecido — legível em texto sobre creme (eyebrows) + hover dos CTAs */
  --luiza-orange-soft:#DB8552;  /* laranja terracota suave — botões de compra (CTA) + badge do carrinho + ver carrinho */
  --luiza-border:     #D8CFC4;  /* bege claro — bordas */
  --luiza-muted:      #a89e92;  /* cinza-bege — meta */
  --luiza-success:    #5a7a3f;  /* verde escurecido (preço) */
  --luiza-error:      #b20000;  /* mantém vermelho de erro do Flatsome */

  /* Tipografia */
  --luiza-font-heading: 'Cormorant Garamond', 'Playfair Display', Georgia, serif;
  --luiza-font-body:    'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;

  /* Spacing scale (8pt) */
  --luiza-space-1: 4px;
  --luiza-space-2: 8px;
  --luiza-space-3: 12px;
  --luiza-space-4: 16px;
  --luiza-space-6: 24px;
  --luiza-space-8: 32px;
  --luiza-space-10: 40px;
  --luiza-space-12: 48px;
  --luiza-space-16: 64px;
  --luiza-space-20: 80px;
  --luiza-space-24: 100px;

  /* Radii */
  --luiza-radius-sm: 3px;
  --luiza-radius-md: 5px;
  --luiza-radius-lg: 10px;
  --luiza-radius-pill: 999px;

  /* Sombras */
  --luiza-shadow-sm: 0 1px 3px rgba(59, 47, 42, 0.06);
  --luiza-shadow-md: 0 6px 24px rgba(59, 47, 42, 0.10);

  /* Transições */
  --luiza-tx: 0.25s ease;
}

/* ============================================================================
   2. RESET / BASE
   Sobrescreve o que vem do parent (Flatsome) e do legacy.
   IMPORTANTE: Flatsome injeta `<style id="custom-css">` com body color, font-family,
   h1-h6 color via theme_mods. Nossas overrides usam specificity mais alta
   ou !important quando estritamente necessário.
   ============================================================================ */

html body {
  /* Override do legacy `body{font-weight:200!important}` que limpamos no DB.
     Garantimos peso 400 (regular). Flatsome auto-CSS define font-weight:400
     no body, então isso é só uma trava extra. */
  font-weight: 400;
  background: var(--luiza-bg-cream);
  color: var(--luiza-body);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-family: var(--luiza-font-body);
}

/* Headings em Cormorant Garamond. Override do Flatsome auto-CSS que
   força Poppins (vamos trocar via theme_mods também, mas isso é redundância segura) */
h1, h2, h3, h4, h5, h6, .heading-font, .banner h1, .banner h2 {
  font-family: var(--luiza-font-heading) !important;
  color: var(--luiza-heading) !important;
  font-weight: 500;
  letter-spacing: -0.01em;
  line-height: 1.2;
}

a {
  color: var(--luiza-primary);
  transition: color var(--luiza-tx);
}
a:hover {
  color: var(--luiza-orange-ink);
}

/* ============================================================================
   3. HEADER — creme, logo avatar (mantém), menu uppercase
   ============================================================================ */

/* Background do header → creme em vez de branco */
.header-main,
.header-bg-color,
.header-bottom,
.stuck .header-main {
  background-color: var(--luiza-bg-cream) !important;
  border-bottom-color: var(--luiza-border);
}

/* Navegação (menu) — uppercase espaçado */
.header-bottom-nav.nav > li > a,
.header-nav-main > li > a,
.nav-top-link {
  font-family: var(--luiza-font-body);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--luiza-heading);
}

.header:not(.transparent) .header-bottom-nav.nav > li > a {
  color: var(--luiza-heading);
}

.header-bottom-nav.nav > li > a:hover,
.header-nav-main > li > a:hover {
  color: var(--luiza-primary);
}

/* Item ativo do menu — underline marrom */
.header-bottom-nav.nav > li.current-menu-item > a,
.header-bottom-nav.nav > li.current-page > a {
  color: var(--luiza-primary);
}

/* Search field no header — refinado */
.header-main .header-search input.search-field {
  background: white;
  border: 1px solid var(--luiza-border);
  border-radius: var(--luiza-radius-md);
  font-family: var(--luiza-font-body);
  color: var(--luiza-heading);
}

/* Ícones do header (cart, account) */
.header-main .cart-icon strong {
  color: var(--luiza-heading) !important;
  border-color: var(--luiza-heading) !important;
}

/* ============================================================================
   4. HERO / BANNER
   Mantém conceito "Lojinha das Blogueiras" mas com paleta editorial.
   Aplicado em sections do UX Builder com class section-bg e section-content.
   ============================================================================ */

.hero-editorial {
  background: var(--luiza-soft-bg);
  padding: var(--luiza-space-24) 0;
  text-align: center;
}

.hero-editorial .hero-eyebrow,
.section-eyebrow {
  font-family: var(--luiza-font-body);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--luiza-orange-ink);
  margin-bottom: var(--luiza-space-3);
  display: block;
}

/* ============================================================================
   5. SECTION PATTERN (eyebrow + h2 + grid de produtos)
   Aplica nas sections de categoria da home: Bolsas, Vestidos, etc.
   ============================================================================ */

/* Title das sections do UX Builder */
.section-title-container .section-title-main {
  font-family: var(--luiza-font-heading) !important;
  color: var(--luiza-heading) !important;
  font-size: clamp(28px, 4vw, 44px);
  font-weight: 500;
  letter-spacing: -0.01em;
  text-transform: none !important;
}

/* Link "Ver tudo →" da section */
.section-title a {
  font-family: var(--luiza-font-body);
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--luiza-primary);
  border: 0;
  padding: 0;
}

.section-title a:hover {
  color: var(--luiza-heading);
}

/* Linha separadora dos titles do Flatsome — neutralizar */
.section-title b {
  border-color: var(--luiza-border) !important;
}

/* Sections com fundo creme alternado */
.section.section-cream {
  background-color: var(--luiza-bg-cream);
}
.section.section-soft {
  background-color: var(--luiza-soft-bg);
}

/* ============================================================================
   6. PRODUCT CARDS — match preview (Editorial Pastel)
   Estrutura Flatsome:
     .product-small.col (wrapper grid)
       .col-inner
         .product-small.box (CARD real — onde aplicar shadow/radius)
           .box-image (aspect 3:4)
             .image-tools / .grid-tools (overlay hover)
           .box-text.box-text-products
             .title-wrapper > p.name.product-title
             .price-wrapper > .price (com wcsp-container parcelamento)
   ============================================================================ */

/* Wrapper col — espaço entre cards, sem shadow próprio */
.product-small.col {
  background: transparent !important;
  box-shadow: none !important;
  padding: 0 var(--luiza-space-2) var(--luiza-space-6);
}

/* Card REAL — radius, shadow, hover transform */
.product-small.box {
  background: white !important;
  border-radius: var(--luiza-radius-md) !important;
  overflow: hidden !important;
  box-shadow: var(--luiza-shadow-sm) !important;
  transition: box-shadow var(--luiza-tx), transform var(--luiza-tx);
}

.product-small.col:hover .product-small.box {
  box-shadow: var(--luiza-shadow-md) !important;
  transform: translateY(-2px);
}

/* Imagem — aspect ratio 3:4 + bg neutro pra preencher gap */
.product-small.box .box-image {
  border-radius: 0 !important;
  background: var(--luiza-soft-bg);
  position: relative;
  overflow: hidden;
}

.product-small.box .box-image,
.product-small.box .box-image .image-fade_in_back {
  aspect-ratio: 3 / 4;
}

.product-small.box .box-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Box-text (info area do card) — padding generoso, alinhamento centro */
.product-small.box .box-text.box-text-products {
  padding: 18px 14px 22px !important;
  text-align: center;
  background: white;
}

/* Título do produto */
.product-small.box .title-wrapper {
  margin-bottom: 6px;
}

.product-small.box .name.product-title,
.product-small.box .woocommerce-loop-product__title {
  /* Override do legacy `height:50px!important` que limpamos no DB */
  height: auto !important;
  padding-top: 0 !important;
  margin: 0 !important;
}

.product-small.box .name.product-title a,
.product-small.box .woocommerce-loop-product__title a,
.product-small.box .woocommerce-LoopProduct-link {
  font-family: var(--luiza-font-body) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: var(--luiza-heading) !important;
  line-height: 1.4 !important;
  letter-spacing: 0.005em !important;
  text-decoration: none !important;
  display: block;
}

.product-small.box .name.product-title a:hover,
.product-small.box .woocommerce-LoopProduct-link:hover {
  color: var(--luiza-primary) !important;
}

/* Price wrapper */
.product-small.box .price-wrapper {
  margin-top: 8px;
}

.product-small.box .price {
  font-family: var(--luiza-font-body);
  font-size: 15px;
  font-weight: 600;
  color: var(--luiza-heading);
  display: block;
  text-align: center;
}

/* Preço de (riscado) — discreto cinza-bege */
.product-small.box .price del,
.product-small.box .price del .woocommerce-Price-amount,
.product-small.box .price del bdi {
  color: var(--luiza-muted) !important;
  font-weight: 400 !important;
  font-size: 13px !important;
  margin-right: 6px;
}

/* Preço promo (ins) — destaque laranja profundo (orange-ink, legível sobre creme) */
.product-small.box .price ins,
.product-small.box .price ins .woocommerce-Price-amount,
.product-small.box .price ins bdi {
  color: var(--luiza-orange-soft) !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  font-size: 15px !important;
}

/* Símbolo de moeda (R$) — manter mesma cor do preço */
.product-small.box .price ins .woocommerce-Price-currencySymbol {
  color: inherit !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  margin-left: 0 !important;
}

.product-small.box .price del .woocommerce-Price-currencySymbol {
  color: inherit !important;
  font-size: inherit !important;
}

/* Parcelamento ("6x de R$ X") — meta cinza-bege embaixo */
.product-small.box .payment-name,
.product-small.box .payment-name .text {
  display: block !important;
  font-family: var(--luiza-font-body) !important;
  font-size: 11px !important;
  font-weight: 400 !important;
  color: var(--luiza-muted) !important;
  margin-top: 4px !important;
  letter-spacing: 0.03em;
  text-align: center;
}

.product-small.box .payment-name .number,
.product-small.box .payment-name .woocommerce-Price-amount {
  color: var(--luiza-muted) !important;
  font-size: inherit !important;
  font-weight: 500 !important;
}

/* WCSP container reset — não quebrar a tipografia do parcelamento */
.product-small.box .wcsp-container {
  display: block;
}

.product-small.box .payment.payment-card {
  display: block;
}

.product-small.box .payment-info {
  display: block !important;
  align-items: initial !important;
}

.product-small.box .payment-price {
  display: block !important;
  margin-bottom: 0;
}

/* ============================================================================
   6.5. IMAGE TOOLS (Add to cart + Quick view) — overlay on hover
   Manter funcional mas mais discreto e na paleta editorial
   ============================================================================ */

.product-small.box .image-tools {
  z-index: 5;
}

/* Add-to-cart icon (+) no hover — discreto */
.product-small.box .add-to-cart-grid .cart-icon {
  background: var(--luiza-bg-cream) !important;
  color: var(--luiza-heading) !important;
  border: 1px solid var(--luiza-border);
  border-radius: var(--luiza-radius-pill);
  width: 36px;
  height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.product-small.box .add-to-cart-grid:hover .cart-icon {
  background: var(--luiza-primary) !important;
  color: white !important;
  border-color: var(--luiza-primary);
}

.product-small.box .add-to-cart-grid .cart-icon strong {
  font-size: 18px;
  line-height: 1;
  font-weight: 400;
  color: inherit !important;
  border: 0 !important;
}

/* Quick view link "Visualização Rápida" — estilizado discreto */
.product-small.box .quick-view {
  background: var(--luiza-heading) !important;
  color: var(--luiza-bg-cream) !important;
  font-family: var(--luiza-font-body) !important;
  font-size: 10px !important;
  font-weight: 500 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  padding: 8px 14px !important;
  border-radius: var(--luiza-radius-sm) !important;
  border: 0 !important;
  text-decoration: none !important;
  display: inline-block;
}

.product-small.box .quick-view:hover {
  background: var(--luiza-primary) !important;
  color: white !important;
}

/* Grid de produtos — gap maior pra respirar */
.products.row.large-columns-4,
.products.row.medium-columns-3,
.products.row.small-columns-2 {
  margin-left: -12px;
  margin-right: -12px;
}

/* Equalize box heights — preview tem altura uniforme */
.has-equal-box-heights .product-small.box .box-image {
  padding-top: 0 !important;  /* override Flatsome's padding-top hack */
}

/* ============================================================================
   7. BADGES — caramelo (sale) + chocolate (novo) em retângulo
   Substitui o badge rosa pink #ff4fd7 pelo caramelo editorial
   ============================================================================ */

.badge-container {
  position: absolute !important;
  z-index: 10 !important;
  pointer-events: none;
}

.badge-container.absolute.left.top.z-1 {
  inset: 12px auto auto 12px !important;
}

.badge {
  height: auto !important;
  overflow: visible !important;
  opacity: 1 !important;
  visibility: visible !important;
}

/* Badge sale — UNIFICADO marrom #8B6F5C + creme (legacy override removido)
   Padrão único em todo o site: home, archive, PDP gallery */
.badge .badge-inner.on-sale,
.badge .badge-inner.secondary.on-sale,
.badge .badge-inner,
.badge .badge-inner.secondary {
  background: var(--luiza-orange-soft) !important;
  color: #FFFFFF !important;
  border-radius: var(--luiza-radius-sm) !important;
  padding: 4px 9px !important;
  line-height: 1.3 !important;
  display: inline-block !important;
  border: 0 !important;
  transform: none !important;
  font-family: var(--luiza-font-body) !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
}

.badge .badge-inner.on-sale .onsale {
  font-weight: 600;
  font-size: 10px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin: 0;
  background: transparent !important;
  color: inherit !important;
  padding: 0 !important;
  box-shadow: none !important;
}

.badge .badge-inner.on-sale::before,
.badge .badge-inner.on-sale::after {
  content: none !important;
}

.badge.badge-square .badge-inner.on-sale {
  border-radius: var(--luiza-radius-sm) !important;
}

/* Badge "novo" — chocolate dark (mesmo size pattern que sale) */
.badge .badge-inner.new,
.badge.label-new .badge-inner {
  background: var(--luiza-heading) !important;
  color: var(--luiza-bg-cream) !important;
  border-radius: var(--luiza-radius-sm) !important;
  padding: 4px 9px !important;
  font-size: 10px !important;
  letter-spacing: 0.08em !important;
}

/* Badge na single product — MESMO TAMANHO da home (era 12px/5px 12px antes) */
.badge-container.is-larger {
  top: 12px !important;
  left: 12px !important;
}

.badge-container.is-larger .badge-inner.on-sale,
.badge-container.is-larger .badge-inner {
  padding: 4px 9px !important;
  font-size: 10px !important;
}

/* ============================================================================
   8. BRINDE BAR — "compre 3 ganhe 1"
   Restilizada com paleta editorial (era rosa #ff8ef4 antes)
   ============================================================================ */

#progressBarContainer.progress-brinde {
  background: var(--luiza-soft-bg);
  border: 1px solid var(--luiza-border);
  border-radius: var(--luiza-radius-md);
  padding: 16px 20px;
  text-align: center;
  margin: 16px auto;
  max-width: 720px;
}

#progressBarContainer.progress-brinde h3 {
  color: var(--luiza-heading) !important;
  font-family: var(--luiza-font-heading) !important;
  font-size: 18px !important;
  font-weight: 500 !important;
  letter-spacing: 0;
  margin-bottom: 8px;
  text-transform: none;
}

#progressBarContainer.progress-brinde .progress-wrapper {
  background: rgba(139, 111, 92, 0.15);
  border-radius: var(--luiza-radius-pill);
  overflow: hidden;
  height: 8px;
  margin: 8px 0;
}

#progressBarContainer.progress-brinde #progressBar {
  background: var(--luiza-orange-soft);
  height: 100%;
  transition: width 0.5s ease;
}

#progressBarContainer.progress-brinde #progressText {
  color: var(--luiza-body);
  font-size: 13px;
  letter-spacing: 0.02em;
  margin: 0;
}

/* Mobile: brinde bar */
@media (max-width: 768px) {
  #progressBarContainer.progress-brinde h3 {
    font-size: 16px !important;
  }
  #progressBarContainer.progress-brinde #progressText {
    font-size: 12px;
  }
}

/* ============================================================================
   9. BUTTONS — CTAs editoriais
   ============================================================================ */

button.button:not(.icon),
input[type='submit'].button,
.button:not(.icon),
.single_add_to_cart_button.button,
.button.checkout,
.checkout-button {
  font-family: var(--luiza-font-body) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  border-radius: var(--luiza-radius-md) !important;
  transition: all var(--luiza-tx);
}

/* Botão primário — marrom sólido */
.button.primary,
.single_add_to_cart_button.button,
.button#place_order,
.button.checkout,
.checkout-button {
  background: var(--luiza-primary) !important;
  border-color: var(--luiza-primary) !important;
  color: white !important;
}

.button.primary:hover,
.single_add_to_cart_button.button:hover,
.button#place_order:hover,
.button.checkout:hover,
.checkout-button:hover {
  background: var(--luiza-heading) !important;
  border-color: var(--luiza-heading) !important;
}

/* Adicionar ao carrinho — manter 100% width que já era custom */
button[name="add-to-cart"],
.single_add_to_cart_button {
  width: 100% !important;
  padding: 14px !important;
  font-weight: 500 !important;
}

/* Botão "Comprar Agora" do hypercash-checkout — restilizar mas SEM mudar comportamento.
   IMPORTANTE: hypercash é intocável, só ajustamos a aparência via CSS. */
.hc-checkout-button,
.hypercash-checkout-button,
button.hypercash-buy-now,
.btn-comprar-agora {
  background: var(--luiza-primary) !important;
  color: white !important;
  border-radius: var(--luiza-radius-md) !important;
  font-family: var(--luiza-font-body) !important;
  font-weight: 500 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
}

/* ============================================================================
   10. FOOTER — creme/areia, 4-col, newsletter, payment badges
   ============================================================================ */

.footer-1,
.absolute-footer,
html {
  background-color: var(--luiza-soft-bg) !important;
}

.footer-wrapper {
  padding: 80px 0 40px;
}

.footer h4,
.footer .widget-title,
.footer-wrapper h4 {
  font-family: var(--luiza-font-body) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  color: var(--luiza-heading) !important;
  margin-bottom: 20px;
}

.footer a {
  color: var(--luiza-body);
  opacity: 0.85;
}

.footer a:hover {
  color: var(--luiza-primary);
  opacity: 1;
}

.absolute-footer {
  border-top: 1px solid var(--luiza-border);
  padding: 24px 0;
  font-size: 12px;
  color: var(--luiza-muted);
  letter-spacing: 0.05em;
}

/* ============================================================================
   11. CATEGORY PAGE — breadcrumb + category-header + toolbar
   Adicionados via functions.php hooks
   ============================================================================ */

.shop-container .woocommerce-breadcrumb,
.luiza-breadcrumb {
  font-family: var(--luiza-font-body);
  font-size: 12px;
  letter-spacing: 0.05em;
  color: var(--luiza-muted);
  text-transform: uppercase;
  padding: 24px 0 16px;
}

.luiza-breadcrumb a {
  color: var(--luiza-muted);
}

.luiza-breadcrumb a:hover {
  color: var(--luiza-heading);
}

/* PHASE B.5: page-title nativo Flatsome hide (movido de functions.php inline) */
.archive .page-title-inner,
.archive .page-header,
.archive .shop-page-title {
  display: none !important;
}

/* Category header: h1 + descrição */
.luiza-category-header {
  text-align: center;
  padding: 32px 0 16px !important;
  border-bottom: 0 !important;
  margin-bottom: 0 !important;
}

.luiza-category-header h1 {
  font-size: clamp(36px, 5vw, 56px) !important;
  font-weight: 500 !important;
  letter-spacing: -0.01em !important;
  margin: 0 0 12px;
}

.luiza-category-header p {
  font-size: 15px;
  color: var(--luiza-body);
  max-width: 540px;
  margin: 0 auto;
  line-height: 1.6;
}

/* Toolbar (count + sort) */
.shop-container .woocommerce-result-count,
.shop-container .woocommerce-ordering {
  font-family: var(--luiza-font-body);
  font-size: 12px;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--luiza-muted);
}

.shop-container .woocommerce-ordering select {
  background: white;
  border: 1px solid var(--luiza-border);
  border-radius: var(--luiza-radius-md);
  padding: 8px 28px 8px 12px;
  font-family: var(--luiza-font-body);
  font-size: 13px;
  color: var(--luiza-heading);
}

/* Sidebar de categorias / filtros */
.shop-sidebar h3,
.shop-sidebar .widget-title {
  font-family: var(--luiza-font-body) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  color: var(--luiza-heading) !important;
  border: 0 !important;
  padding-bottom: 8px;
  margin-bottom: 16px;
}

.shop-sidebar ul li {
  font-size: 13px;
  letter-spacing: 0.02em;
  padding: 6px 0;
  border-bottom: 0;
}

.shop-sidebar ul li a {
  color: var(--luiza-body);
}

.shop-sidebar ul li.current a,
.shop-sidebar ul li.current-cat a {
  color: var(--luiza-primary);
  font-weight: 500;
}

/* ============================================================================
   12. SINGLE PRODUCT
   ============================================================================ */

.product-title-container > h1,
.product-title {
  color: var(--luiza-heading) !important;
  font-family: var(--luiza-font-heading) !important;
  font-weight: 500 !important;
  font-size: clamp(24px, 3vw, 32px) !important;
  letter-spacing: -0.01em !important;
  margin-bottom: 16px;
}

/* Preço grande */
.product-info .price {
  font-family: var(--luiza-font-body);
  font-size: 24px;
  font-weight: 600;
  margin-bottom: 8px;
}

.product-short-description {
  font-size: 14px;
  color: var(--luiza-body);
  line-height: 1.6;
  /* override do legacy: tinha bg #f5f5f5 + border 3px #222 — agora limpo */
  background: transparent !important;
  padding: 0 !important;
  border-radius: 0 !important;
  border-bottom: 0 !important;
  margin-bottom: 24px;
}

.box-image {
  border-radius: var(--luiza-radius-lg);
}

/* Galeria do produto */
.product-images > .flickity-viewport {
  overflow: visible !important;
}

.product-thumbnails .flickity-viewport {
  overflow: hidden !important;
}

.product-thumbnails .flickity-slider .col {
  width: 25% !important;
}

/* ============================================================================
   13. TESTIMONIALS & FAQ — restyling básico
   ============================================================================ */

.testimonials-section,
#testimonials-title,
.faq-section,
#faq-title {
  font-family: var(--luiza-font-heading) !important;
}

.testimonials-section,
.faq-section {
  background: var(--luiza-bg-cream);
  padding: 80px 0;
}

#testimonials-title,
#faq-title {
  font-size: clamp(28px, 4vw, 40px);
  text-align: center;
  margin-bottom: 48px;
  color: var(--luiza-heading) !important;
}

/* ============================================================================
   14. UTILITY / OVERRIDES — coisas específicas do Flatsome/legado
   ============================================================================ */

/* Esconde elementos que já estavam escondidos no legacy (preserva comportamento) */
.coupon { display: none; }
button[name="update_cart"] { display: none; }
/* REMOVIDO 2026-10-08: ".ux-quantity { display: none; }" era global e escondia
   o seletor de quantidade também no /cart/ (bug reportado). O esconder de
   quantidade no PDP já é feito de forma escopada pela seção "FIX 5.0" abaixo
   (body.single-product .ux-quantity / .sticky-add-to-cart .ux-quantity),
   então esta regra global era redundante ali e destrutiva no carrinho. */

/* FIX 2026-10-08: estepper +/- desalinhado no /cart (sem estilo proprio,
   so o default cru do Flatsome) - unifica altura/borda entre botoes e input */
.ux-quantity.quantity.buttons_added {
  display: inline-flex !important;
  align-items: stretch !important;
  border: 1px solid var(--luiza-border, #e5ddd3) !important;
  border-radius: 4px !important;
  overflow: hidden !important;
  height: 38px !important;
  background: #fff !important;
}
.ux-quantity .ux-quantity__button {
  flex: 0 0 32px !important;
  width: 32px !important;
  height: auto !important;
  border: 0 !important;
  background: transparent !important;
  font-size: 14px !important;
  line-height: 1 !important;
  color: var(--luiza-heading) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  padding: 0 !important;
  box-shadow: none !important;
}
.ux-quantity .ux-quantity__button:hover {
  background: var(--luiza-bg-cream, #f7f2ec) !important;
}
.ux-quantity input.qty {
  border: 0 !important;
  border-left: 1px solid var(--luiza-border, #e5ddd3) !important;
  border-right: 1px solid var(--luiza-border, #e5ddd3) !important;
  width: 42px !important;
  height: 100% !important;
  text-align: center !important;
  padding: 0 !important;
  margin: 0 !important;
  font-size: 14px !important;
  box-shadow: none !important;
  -moz-appearance: textfield;
}
.ux-quantity input.qty::-webkit-inner-spin-button,
.ux-quantity input.qty::-webkit-outer-spin-button {
  -webkit-appearance: none !important;
  margin: 0 !important;
}
.payment-card i,
.payment-card icon { display: none; }
.wcsp-container .payment .icon { display: none; }
.woocommerce-mini-cart__buttons.buttons a:nth-of-type(2) {
  display: none !important;
}

/* row-small img radius (mantém do legacy) */
.row-small img {
  border-radius: var(--luiza-radius-lg);
}

/* Container max-widths */
.box-image,
.product-gallery,
.product-images,
.woocommerce-product-gallery {
  position: relative !important;
  overflow: visible !important;
}

/* ============================================================================
   15. PAYMENT INFO (legacy preservation — usado pelo plugin de checkout)
   Preservado pra compatibilidade com hypercash-checkout que renderiza esses
   elementos. NÃO ALTERAR estilos desse bloco.
   ============================================================================ */

.payment .payment-info .payment-price {
  display: inline-flex;
  align-items: baseline;
  gap: .5rem;
}
.payment .payment-info .payment-price del { order: 2; }
.payment .payment-info .payment-price ins { order: 1; }

.payment .payment-info .payment-price ins bdi {
  color: var(--luiza-heading) !important; /* era --luiza-success (verde) — agora chocolate p/ match preview */
  font-weight: 700;
  font-size: 1.25em;
  line-height: 1.1;
  margin-left: -5px;
}
.payment .payment-info .payment-price ins .woocommerce-Price-currencySymbol {
  font-size: inherit !important;
  color: inherit !important;
}

.payment .payment-info .payment-price del bdi {
  color: var(--luiza-muted) !important;
  font-size: 0.95em;
  text-decoration: line-through;
}

.payment .payment-info .payment-price del .woocommerce-Price-currencySymbol {
  color: inherit !important;
  font-size: inherit !important;
}

.payment .payment-info {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.payment .payment-title,
.payment .product-title,
.payment .payment-info .payment-price,
.payment .payment-name {
  margin-left: 0 !important;
  padding-left: 0 !important;
  text-align: left;
}

.payment h1,
.payment h2,
.payment h3,
.payment h4 {
  margin-left: 0 !important;
  padding-left: 0 !important;
  text-align: left;
}

/* ============================================================================
   16. RESPONSIVE
   ============================================================================ */

/* Tablet */
@media (max-width: 1024px) {
  .luiza-category-header {
    padding: 24px 0 12px !important;
  }
}

/* Mobile */
@media only screen and (max-width: 549px) {
  body { font-size: 95%; }

  .header-bottom-nav.nav > li > a,
  .header-nav-main > li > a {
    font-size: 11px;
    letter-spacing: 0.06em;
  }

  .product-small .name {
    padding: 12px 8px 4px;
  }

  .product-small .price-wrapper {
    padding: 0 8px 14px;
  }

  /* Categoria mobile: sidebar full-width */
  .luiza-category-header h1 {
    font-size: 30px !important;
  }
}

/* ============================================================================
   ETAPA C — HEADER REFINEMENT
   ============================================================================ */

/* Header sticky transition suave */
.header.show-on-scroll,
.stuck .header-main {
  background: var(--luiza-bg-cream) !important;
  border-bottom: 1px solid var(--luiza-border);
  transition: all 0.3s ease;
}

/* Search bar — visual mais limpo */
.header-main .header-search-form {
  max-width: 380px;
}

.header-main input[type="search"].search-field {
  background: white !important;
  border: 1px solid var(--luiza-border) !important;
  border-radius: var(--luiza-radius-md) !important;
  font-family: var(--luiza-font-body) !important;
  font-size: 13px !important;
  height: 38px !important;
  color: var(--luiza-heading) !important;
  padding: 0 36px 0 14px;
  box-shadow: none !important;
}

.header-main input[type="search"].search-field::placeholder {
  color: var(--luiza-muted);
}

.header-main input[type="search"].search-field:focus {
  border-color: var(--luiza-primary) !important;
  outline: none !important;
}

.header-main .search-form button.icon,
.header-main .search-form .ux-search-submit {
  background: transparent !important;
  color: var(--luiza-heading) !important;
  border: 0 !important;
}

/* Cart icon — minimalista */
.header-main .cart-icon strong {
  background: var(--luiza-primary) !important;
  color: white !important;
  border: 0 !important;
  border-radius: var(--luiza-radius-pill) !important;
  font-size: 11px !important;
  font-weight: 600;
  padding: 2px 6px !important;
  position: absolute;
  top: -4px;
  right: -8px;
  min-width: 20px;
  text-align: center;
}

.header-main .cart-icon strong:after {
  display: none !important;
}

/* Logo — wordmark "2h Valentina" (quadrado 1000x1000) */
#logo img {
  max-height: 64px !important;
  width: auto !important;
}

#logo {
  width: auto !important;
  max-width: 80px;
}

/* Top bar invisível por enquanto (não tem conteúdo) */
.header-top.hide-for-medium-only {
  display: none;
}

/* Linha divisória sutil entre menu e cabeçalho */
.header-bottom {
  border-top: 1px solid var(--luiza-border) !important;
  background: var(--luiza-bg-cream) !important;
}

/* ============================================================================
   ETAPA E — HOME SECTIONS (UX Builder content)
   Aplicação de pattern editorial nas sections existentes
   ============================================================================ */

/* Section title container do Flatsome — pattern eyebrow + h2 */
.section-title-container {
  text-align: center;
  margin-bottom: var(--luiza-space-12);
  padding-top: var(--luiza-space-12);
}

.section-title.section-title-normal {
  flex-direction: column;
  gap: 8px;
  border: 0 !important;
  padding: 0;
  margin: 0;
  text-align: center;
  align-items: center !important;
}

.section-title.section-title-normal b {
  display: none !important;  /* esconde linha lateral do Flatsome — não bate com editorial */
}

.section-title.section-title-normal .section-title-main {
  font-family: var(--luiza-font-heading) !important;
  font-size: clamp(28px, 4vw, 44px) !important;
  font-weight: 500 !important;
  letter-spacing: -0.01em !important;
  color: var(--luiza-heading) !important;
  text-transform: none !important;
  margin: 0;
  padding: 0;
  border: 0 !important;
}

.section-title.section-title-normal a {
  font-family: var(--luiza-font-body) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  color: var(--luiza-primary) !important;
  margin-top: 12px !important;
  padding: 0 !important;
  border: 0 !important;
  display: inline-block;
}

.section-title.section-title-normal a i.icon-angle-right {
  margin-left: 6px;
  font-size: 11px;
}

.section-title.section-title-normal a:hover {
  color: var(--luiza-heading) !important;
}

/* Sections com mais respiro vertical */
.section,
section.section {
  padding-top: var(--luiza-space-16);
  padding-bottom: var(--luiza-space-16);
}

/* Sections internas (UX Builder gera muitas) — não duplicar padding */
.section .section,
.section section.section {
  padding-top: 0;
  padding-bottom: 0;
}

/* Hero section (slider "Lojinha das Blogueiras") — não fazer padding extra */
.section:first-of-type {
  padding-top: 0;
}

/* ============================================================================
   ETAPA E — Banner de selos (2 textos com bg) → estilo "dual banner"
   ============================================================================ */

/* Quando section tem múltiplos blocos de texto centralizado lado-a-lado, dá vibe dual-banner */
.row.row-collapse [class*="col-md-6"],
.row.row-collapse [class*="medium-6"] {
  /* Interno: padding generoso no banner-card style */
}

.banner-luiza-selos {
  background: white;
  border: 1px solid var(--luiza-border);
  border-radius: var(--luiza-radius-md);
  padding: 60px 48px;
  text-align: center;
  margin: 12px;
}

.banner-luiza-selos h4 {
  font-family: var(--luiza-font-heading) !important;
  font-size: clamp(20px, 2.5vw, 28px) !important;
  font-weight: 500 !important;
  color: var(--luiza-heading) !important;
  margin: 0 0 12px;
  letter-spacing: -0.01em;
}

/* ============================================================================
   ETAPA F — CATEGORIA: breadcrumb + category-header + toolbar + sidebar
   ============================================================================ */

/* FIX 5.1.6: breadcrumb logo abaixo do header principal — pequeno + discreto */
.luiza-breadcrumb {
  background: transparent !important;
  font-family: var(--luiza-font-body) !important;
  font-size: 11px !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: var(--luiza-muted) !important;
  padding: 14px 0 6px !important;
  margin: 0 !important;
  border-bottom: 1px solid var(--luiza-border) !important;
}

.luiza-breadcrumb .container {
  padding: 0 20px !important;
}

.luiza-breadcrumb a {
  color: var(--luiza-muted) !important;
  text-decoration: none !important;
  transition: color 0.2s ease;
}

.luiza-breadcrumb a:hover {
  color: var(--luiza-heading) !important;
}

.luiza-breadcrumb .sep {
  margin: 0 8px !important;
  color: var(--luiza-border) !important;
}

.luiza-breadcrumb .current {
  color: var(--luiza-heading) !important;
  font-weight: 500 !important;
}

/* Category Header (h1 + descrição) */
.luiza-category-header {
  text-align: center;
  padding: 32px 0 16px !important;
  border-bottom: 0 !important;
  margin-bottom: 0 !important;
}

.luiza-category-header .eyebrow {
  font-family: var(--luiza-font-body);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--luiza-orange-ink);
  margin-bottom: 16px;
}

.luiza-category-header h1 {
  font-family: var(--luiza-font-heading) !important;
  font-size: clamp(36px, 5vw, 56px) !important;
  font-weight: 500 !important;
  letter-spacing: -0.01em !important;
  color: var(--luiza-heading) !important;
  margin: 0 0 12px !important;
  line-height: 1.1 !important;
  text-transform: none !important;
}

/* Count abaixo do h1 — small caps, primary color (FIX 5.1.4) */
.luiza-category-header .luiza-category-count {
  font-family: var(--luiza-font-body) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: var(--luiza-primary) !important;
  margin: 0 0 16px !important;
}

.luiza-category-header .category-description {
  font-family: var(--luiza-font-body);
  font-size: 15px;
  color: var(--luiza-body);
  max-width: 560px;
  margin: 0 auto;
  line-height: 1.6;
}

/* Toolbar (count + sort) — restilizado */
.shop-container .woocommerce-result-count {
  font-family: var(--luiza-font-body) !important;
  font-size: 11px !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: var(--luiza-muted) !important;
  font-weight: 500;
}

.shop-container .woocommerce-ordering select {
  background: white !important;
  border: 1px solid var(--luiza-border) !important;
  border-radius: var(--luiza-radius-md) !important;
  padding: 8px 32px 8px 14px !important;
  font-family: var(--luiza-font-body) !important;
  font-size: 12px !important;
  color: var(--luiza-heading) !important;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  cursor: pointer;
}

.shop-container .woocommerce-ordering select:focus {
  outline: none !important;
  border-color: var(--luiza-primary) !important;
}

/* Sidebar de categoria — refinada */
#shop-sidebar {
  padding-right: 16px;
}

#shop-sidebar h3,
#shop-sidebar .widget-title,
#shop-sidebar h4 {
  font-family: var(--luiza-font-body) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: var(--luiza-heading) !important;
  border: 0 !important;
  padding: 0 0 12px !important;
  margin: 0 0 12px !important;
  border-bottom: 1px solid var(--luiza-border) !important;
}

#shop-sidebar ul {
  list-style: none;
  padding: 0;
  margin: 0 0 32px;
}

#shop-sidebar ul li {
  padding: 6px 0 !important;
  border-bottom: 0 !important;
  font-size: 13px;
  letter-spacing: 0.02em;
}

#shop-sidebar ul li a {
  color: var(--luiza-body) !important;
  text-decoration: none;
  display: flex;
  justify-content: space-between;
  align-items: center;
  transition: color var(--luiza-tx);
}

#shop-sidebar ul li a:hover {
  color: var(--luiza-primary) !important;
}

#shop-sidebar ul li.current-cat > a,
#shop-sidebar ul li.current > a {
  color: var(--luiza-primary) !important;
  font-weight: 600;
}

#shop-sidebar ul li .count {
  font-size: 11px;
  color: var(--luiza-muted);
  letter-spacing: 0.05em;
}

/* Pagination da categoria */
.woocommerce-pagination,
.page-numbers {
  font-family: var(--luiza-font-body);
}

.page-numbers li .page-numbers {
  border: 1px solid var(--luiza-border);
  border-radius: var(--luiza-radius-md);
  color: var(--luiza-heading);
  margin: 0 4px;
  padding: 8px 14px;
  font-size: 13px;
  background: white;
}

.page-numbers li .page-numbers.current {
  background: var(--luiza-primary);
  color: white;
  border-color: var(--luiza-primary);
}

/* ============================================================================
   ETAPA G — SINGLE PRODUCT PAGE
   ============================================================================ */

.single-product .product-info {
  padding-left: 32px;
}

@media (max-width: 768px) {
  .single-product .product-info {
    padding-left: 0;
    padding-top: 24px;
  }
}

.single-product .product-title-container {
  margin-bottom: 16px;
  border: 0;
  padding: 0;
}

.single-product .product-title-container > h1,
.product_title.entry-title {
  font-family: var(--luiza-font-heading) !important;
  font-size: clamp(24px, 3vw, 36px) !important;
  font-weight: 500 !important;
  letter-spacing: -0.005em !important;
  color: var(--luiza-heading) !important;
  margin: 0 0 8px !important;
  line-height: 1.2 !important;
  text-transform: none !important;
}

/* SKU/categoria meta — discreto */
.single-product .product_meta {
  font-family: var(--luiza-font-body);
  font-size: 11px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--luiza-muted);
  border-top: 1px solid var(--luiza-border);
  padding-top: 16px;
  margin-top: 24px;
}

.single-product .product_meta a {
  color: var(--luiza-body);
}

.single-product .product_meta a:hover {
  color: var(--luiza-primary);
}

/* Preço grande no single product */
.single-product .product-info .price {
  font-family: var(--luiza-font-body);
  font-size: 28px;
  font-weight: 600;
  color: var(--luiza-heading);
  display: flex;
  align-items: baseline;
  gap: 12px;
  margin: 8px 0 4px;
}

.single-product .product-info .price ins {
  text-decoration: none;
  color: var(--luiza-heading);
  font-weight: 600;
  font-size: 32px;
  order: 1;
}

.single-product .product-info .price del {
  color: var(--luiza-muted);
  font-weight: 400;
  font-size: 18px;
  order: 2;
  text-decoration: line-through;
}

.single-product .product-info .price ins .woocommerce-Price-amount {
  color: inherit;
  font-size: inherit;
}

/* Parcelamento single product */
.single-product .product-info .payment-name {
  font-family: var(--luiza-font-body);
  font-size: 13px;
  color: var(--luiza-body);
  font-weight: 400;
  margin: 4px 0 16px;
}

.single-product .product-info .payment-name .woocommerce-Price-amount {
  color: var(--luiza-heading);
  font-weight: 600;
}

/* Galeria (imagem grande + thumbs) */
.single-product .product-images {
  border-radius: var(--luiza-radius-lg);
  overflow: hidden;
  background: var(--luiza-soft-bg);
}

.single-product .product-images .badge-container {
  z-index: 5;
}

/* Bloco "Frete Grátis" + "Devoluções Gratuitas" — restilizado discreto */
.single-product .product-info .row[class*="medium-text-center"] .col {
  padding: 16px 12px;
}

/* Ícones do frete/devolução — marrom */
.single-product .product-info .icon-truck,
.single-product .product-info .icon-shield,
.single-product .product-info i[class*="icon-"] {
  color: var(--luiza-primary);
  font-size: 18px;
}

/* Tabs de descrição (se ativas) */
.product-section-title {
  font-family: var(--luiza-font-heading) !important;
  font-size: 24px !important;
  font-weight: 500 !important;
  color: var(--luiza-heading) !important;
  margin-bottom: 20px;
  text-transform: none !important;
}

/* Produtos relacionados */
.related-products-wrapper,
.related.products,
.cross-sells {
  padding: 60px 0;
  border-top: 1px solid var(--luiza-border);
  margin-top: 48px;
}

/* ============================================================================
   ETAPA H — MOBILE RESPONSIVE
   ============================================================================ */

@media (max-width: 1024px) {
  .luiza-category-header {
    padding: 24px 0 12px !important;
    margin-bottom: 0 !important;
  }

  .luiza-category-header h1 {
    font-size: 36px !important;
  }

  .section-title-container {
    margin-bottom: 32px;
    padding-top: 32px;
  }
}

@media (max-width: 768px) {
  /* Header mobile */
  .header-main {
    height: 60px !important;
  }

  #logo img {
    max-height: 40px !important;
  }

  /* Menu mobile */
  .nav-vertical-fly-out > li > a {
    font-family: var(--luiza-font-body);
    font-size: 13px;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    padding: 14px 20px;
  }

  /* Category header mobile */
  .luiza-category-header h1 {
    font-size: 28px !important;
  }

  .luiza-category-header .category-description {
    font-size: 14px;
  }

  /* Single product mobile */
  .single-product .product-info .price ins {
    font-size: 26px;
  }

  /* Cards mobile — 2 colunas */
  .product-small.box .box-text.box-text-products {
    padding: 12px 8px 16px !important;
  }

  .product-small.box .name.product-title a {
    font-size: 13px !important;
  }

  .product-small.box .price ins,
  .product-small.box .price ins bdi {
    font-size: 14px !important;
  }

  /* Section padding mobile */
  .section,
  section.section {
    padding-top: var(--luiza-space-12);
    padding-bottom: var(--luiza-space-12);
  }

  /* Brinde bar mobile */
  #progressBarContainer.progress-brinde {
    padding: 12px 16px;
    margin: 8px;
  }
}

@media (max-width: 549px) {
  /* Mobile pequeno */
  body { font-size: 95%; }

  .luiza-category-header {
    padding: 20px 0 8px !important;
    margin-bottom: 0 !important;
    border-bottom: 0 !important;
  }

  .luiza-category-header h1 {
    font-size: 24px !important;
  }

  /* Section title mobile */
  .section-title.section-title-normal .section-title-main {
    font-size: 24px !important;
  }

  /* Footer mobile */
  .footer-wrapper {
    padding: 40px 0 20px;
  }
}

/* ============================================================================
   MISC OVERRIDES — Flatsome bits que vazam
   ============================================================================ */

/* WP-Admin bar (logged-in) */
#wpadminbar { background: var(--luiza-heading) !important; }

/* Mini cart panel */
.cart-sidebar,
.mfp-content .off-canvas-cart {
  background: var(--luiza-bg-cream) !important;
}

.cart-sidebar .product-name a,
.mini_cart_item a {
  color: var(--luiza-heading) !important;
  font-family: var(--luiza-font-body);
  font-weight: 500;
}

/* Esconde botão "Atualizar carrinho" e linha de actions */
.woocommerce-cart-form tr.actions,
.shop_table.cart tr.actions,
.woocommerce-cart-form button[name="update_cart"],
.shop_table.cart button[name="update_cart"] {
  display: none !important;
}

/* Botão remove (X) — contraste em todas as telas */
.woocommerce-cart-form td.product-remove a.remove,
.shop_table.cart td.product-remove a.remove {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 28px !important;
  height: 28px !important;
  border-radius: 50% !important;
  background: #3B2F2A !important;
  color: #FAF6F0 !important;
  font-size: 18px !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  opacity: 1 !important;
  border: 0 !important;
  transition: background .2s ease !important;
}
.woocommerce-cart-form td.product-remove a.remove:hover,
.shop_table.cart td.product-remove a.remove:hover {
  background: #8B6F5C !important;
  color: #FAF6F0 !important;
}

/* ============================================================================
   CART TOTALS (v5.2.59) — restyle editorial padronizado
   Sistema: 14px Inter pra todos labels/valores | tipo serif só no TOTAL final
   Spacing: 12px entre seções, 16px nos pads do shipping option
   ============================================================================ */
.cart_totals {
  background: #FFFFFF !important;
  border: 1px solid #E8DFD3 !important;
  border-radius: 12px !important;
  padding: 24px 24px 20px !important;
  box-shadow: 0 4px 20px rgba(59, 47, 42, 0.05) !important;
}
.cart_totals > table:first-of-type:not(.shop_table) { display: none !important; }
.cart_totals h2 { display: none !important; }

.cart_totals .shop_table {
  margin: 0 !important;
  border: 0 !important;
  width: 100% !important;
}
.cart_totals .shop_table th,
.cart_totals .shop_table td {
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 14px !important;
  color: #3B2F2A !important;
  vertical-align: middle !important;
  line-height: 1.4 !important;
}

/* Subtotal row — escondido (redundante com Total quando não tem frete/desconto) */
.cart_totals .cart-subtotal {
  display: none !important;
}
.cart_totals .cart-subtotal th,
.cart_totals .cart-subtotal td {
  padding: 0 0 16px !important;
}
.cart_totals .cart-subtotal th {
  font-weight: 400 !important;
  color: #6B5D55 !important;
  text-align: left !important;
}
.cart_totals .cart-subtotal td {
  text-align: right !important;
  font-weight: 600 !important;
  color: #3B2F2A !important;
}
.cart_totals .cart-subtotal .woocommerce-Price-amount {
  font-weight: 600 !important;
  font-size: 14px !important;
}

/* Shipping section */
.cart_totals .woocommerce-shipping-totals.shipping td {
  padding: 16px 0 !important;
  border-top: 1px solid #F2EAD9 !important;
}
.cart_totals .shipping__inner { padding: 0 !important; }
.cart_totals .shipping__table {
  width: 100% !important;
  margin: 0 !important;
  border: 0 !important;
}
.cart_totals .shipping__table th {
  display: block !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  color: #6B5D55 !important;
  padding: 0 0 10px !important;
  text-align: left !important;
  border: 0 !important;
}
.cart_totals .shipping__list {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
}
.cart_totals .shipping__list_item {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 12px 14px !important;
  border: 1px solid #E8DFD3 !important;
  border-radius: 8px !important;
  background: #FAF6F0 !important;
  cursor: pointer !important;
  transition: border-color .2s ease, background .2s ease !important;
  margin: 0 !important;
}
.cart_totals .shipping__list_item:hover { border-color: #C9A77A !important; }
.cart_totals .shipping__list_item:has(input:checked) {
  border-color: #8B6F5C !important;
  background: #FFFFFF !important;
}
.cart_totals .shipping_method,
.cart_totals input[type="radio"].shipping_method {
  -webkit-appearance: none !important;
  appearance: none !important;
  width: 18px !important;
  height: 18px !important;
  border: 2px solid #C9A77A !important;
  border-radius: 50% !important;
  background: #FFFFFF !important;
  cursor: pointer !important;
  margin: 0 !important;
  flex-shrink: 0 !important;
  position: relative !important;
}
.cart_totals .shipping_method:checked { border-color: #8B6F5C !important; }
.cart_totals .shipping_method:checked::after {
  content: '' !important;
  position: absolute !important;
  inset: 3px !important;
  background: #8B6F5C !important;
  border-radius: 50% !important;
}
.cart_totals .shipping__list_label {
  font-family: 'Inter', sans-serif !important;
  font-size: 13px !important;
  color: #3B2F2A !important;
  margin: 0 !important;
  cursor: pointer !important;
  flex: 1 1 auto !important;
  line-height: 1.4 !important;
  font-weight: 400 !important;
}
.cart_totals .shipping__list_label .woocommerce-Price-amount {
  font-weight: 600 !important;
  color: #3B2F2A !important;
  margin-left: 4px !important;
  font-size: 13px !important;
}

/* Texto placeholder "Calculado na próxima etapa" (substituído via JS quando sem CEP) */
.cart_totals .loja-shipping-placeholder {
  display: block !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 13px !important;
  color: #8B6F5C !important;
  font-style: italic !important;
  padding: 4px 0 0 !important;
  letter-spacing: 0.02em !important;
}

/* Destination + change address */
.cart_totals .woocommerce-shipping-destination {
  font-family: 'Inter', sans-serif !important;
  font-size: 12px !important;
  color: #6B5D55 !important;
  margin: 12px 0 0 !important;
  line-height: 1.4 !important;
}
.cart_totals .woocommerce-shipping-destination strong {
  color: #3B2F2A !important;
  font-weight: 600 !important;
}
.cart_totals .shipping-calculator-button {
  display: inline-block !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 12px !important;
  color: #8B6F5C !important;
  text-decoration: underline !important;
  text-decoration-color: rgba(139, 111, 92, .3) !important;
  text-underline-offset: 3px !important;
  margin: 4px 0 0 !important;
}
.cart_totals .shipping-calculator-button:hover {
  color: #3B2F2A !important;
  text-decoration-color: currentColor !important;
}

/* Order total — destaque */
.cart_totals .order-total th,
.cart_totals .order-total td {
  padding: 18px 0 0 !important;
  border-top: 1px solid #F2EAD9 !important;
  vertical-align: middle !important;
}
.cart_totals .order-total th {
  font-family: 'Inter', sans-serif !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  color: #6B5D55 !important;
  text-align: left !important;
}
.cart_totals .order-total td { text-align: right !important; }
.cart_totals .order-total td strong,
.cart_totals .order-total td .woocommerce-Price-amount,
.cart_totals .order-total td > strong > .woocommerce-Price-amount,
.cart_totals .order-total td strong .woocommerce-Price-amount,
.cart_totals .order-total td strong bdi {
  font-family: 'Inter', sans-serif !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  color: #3B2F2A !important;
  line-height: 1.2 !important;
  letter-spacing: 0 !important;
}
/* Parcelamento — alvo CIRÚRGICO no .payment-name (não no wrapper inteiro pra não esconder o total) */
.cart_totals .order-total td .payment-name {
  display: block !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  color: #8B6F5C !important;
  margin-top: 8px !important;
  letter-spacing: 0 !important;
  line-height: 1.3 !important;
  text-align: right !important;
}
/* Force alinhamento à direita em TODAS as telas (Flatsome desktop deixava em left) */
.cart_totals .order-total td .payment-price,
.cart_totals .order-total td .payment-info,
.cart_totals .order-total td .payment-info > *,
.cart_totals .order-total td .payment-price > *,
.cart_totals .order-total td .wcsp-container,
.cart_totals .order-total td .wcsp-container > * {
  text-align: right !important;
}
.cart_totals .order-total td .payment-name .text,
.cart_totals .order-total td .payment-name .number {
  font-family: 'Inter', sans-serif !important;
  font-size: 12px !important;
  letter-spacing: 0 !important;
  color: #8B6F5C !important;
  font-weight: 400 !important;
}
.cart_totals .order-total td .payment-name .woocommerce-Price-amount,
.cart_totals .order-total td .payment-name bdi {
  font-family: 'Inter', sans-serif !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  color: #3B2F2A !important;
  letter-spacing: 0 !important;
}
.cart_totals .order-total td small {
  display: block !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 12px !important;
  color: #8B6F5C !important;
  margin-top: 6px !important;
  font-weight: 400 !important;
}
.cart_totals .order-total td .icon,
.cart_totals .order-total td i.icon,
.cart_totals .order-total td .payment.has-icons .icon,
.cart_totals .order-total td .payment-card .icon,
.cart_totals .order-total td .wcsp-container .icon,
.cart_totals .order-total td svg {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
}
/* Garante que .payment não aplica flex com ícone fantasma */
.cart_totals .order-total td .payment,
.cart_totals .order-total td .payment.has-icons,
.cart_totals .order-total td .payment-info {
  display: block !important;
  text-align: right !important;
  padding: 0 !important;
  margin: 0 !important;
}
.cart_totals .order-total .includes_tax {
  display: block !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 11px !important;
  color: #8B6F5C !important;
  margin-top: 4px !important;
}
.cart_totals .order-total svg { display: none !important; }

/* Botão Finalizar Pedido */
.wc-proceed-to-checkout {
  padding: 20px 0 0 !important;
  margin: 0 !important;
}
.wc-proceed-to-checkout .checkout-button,
.cart_totals .checkout-button {
  display: block !important;
  width: 100% !important;
  background: var(--luiza-orange-soft) !important;
  background-image: none !important;
  color: #FFFFFF !important;
  border: 0 !important;
  border-radius: 8px !important;
  padding: 16px 24px !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  text-align: center !important;
  text-decoration: none !important;
  box-shadow: none !important;
  transition: background .25s ease, transform .15s ease !important;
  cursor: pointer !important;
  margin: 0 !important;
  height: auto !important;
  line-height: 1.2 !important;
}
.wc-proceed-to-checkout .checkout-button:hover,
.cart_totals .checkout-button:hover {
  background: var(--luiza-orange-ink) !important;
  transform: translateY(-1px) !important;
}

/* Continuar Comprando — desktop (editorial outline pequeno alinhado à esquerda) */
.woocommerce-cart-form ~ .continue-shopping,
.woocommerce-cart-form + .continue-shopping,
form.woocommerce-cart-form .continue-shopping,
tr.actions .continue-shopping {
  margin: 20px 0 0 !important;
  padding: 0 !important;
  text-align: left !important;
  float: none !important;
}
.continue-shopping a.button-continue-shopping,
a.button-continue-shopping.button,
.button-continue-shopping {
  display: inline-block !important;
  width: auto !important;
  background: transparent !important;
  background-image: none !important;
  color: #8B6F5C !important;
  border: 1px solid #C9A77A !important;
  border-radius: 8px !important;
  padding: 12px 22px !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  box-shadow: none !important;
  text-align: center !important;
  line-height: 1.2 !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  transition: background .2s ease, color .2s ease, border-color .2s ease !important;
}
a.button-continue-shopping:hover,
.button-continue-shopping:hover {
  background: #FAF6F0 !important;
  color: #3B2F2A !important;
  border-color: #8B6F5C !important;
}

/* "Continuar Comprando" — secundário CLARO (tint laranja leve + borda/texto laranja).
   Hierarquia abaixo do "Finalizar" sólido. Alta especificidade pra vencer fill herdado. */
html body .continue-shopping a.button.primary.button-continue-shopping,
html body .cart_totals a.button.primary.button-continue-shopping,
html body a.button.primary.button-continue-shopping,
html body .button.primary.button-continue-shopping {
  background: #FBEEE3 !important;
  background-color: #FBEEE3 !important;
  background-image: none !important;
  color: var(--luiza-orange-ink) !important;
  border: 1px solid var(--luiza-orange-soft) !important;
  box-shadow: none !important;
}
html body a.button.primary.button-continue-shopping:hover,
html body .button.primary.button-continue-shopping:hover {
  background: #F6E0CE !important;
  background-color: #F6E0CE !important;
  color: var(--luiza-orange-ink) !important;
  border-color: var(--luiza-orange-ink) !important;
}

@media (max-width: 849px) {
  .cart_totals { padding: 22px 18px 18px !important; margin-top: 8px !important; }
  .cart_totals .order-total td strong,
  .cart_totals .order-total td .woocommerce-Price-amount { font-size: 20px !important; }
  /* Mobile-specific tweaks já cobertos acima */

  /* Cart table mobile: esconde header "Quantidade" (mantém só "Produto") */
  .woocommerce-cart-form table thead th.product-quantity,
  .woocommerce-cart-form table thead th.product-price,
  .woocommerce-cart-form table thead th.product-subtotal,
  .shop_table.cart thead th.product-quantity,
  .shop_table.cart thead th.product-price,
  .shop_table.cart thead th.product-subtotal {
    display: none !important;
  }

  /* Aumenta fonte do nome do produto + alinha com topo da foto */
  .woocommerce-cart-form td.product-name,
  .shop_table.cart td.product-name {
    vertical-align: top !important;
    padding-top: 8px !important;
  }
  .woocommerce-cart-form td.product-name a,
  .shop_table.cart td.product-name a {
    font-size: 15px !important;
    font-weight: 500 !important;
    line-height: 1.4 !important;
  }

  /* Reduz gap entre cart items e cart totals */
  .woocommerce-cart-form,
  .cart-collaterals {
    margin-bottom: 0 !important;
  }
  .cart-collaterals {
    margin-top: 8px !important;
  }

  /* Botão remove (X) — aumenta contraste */
  .woocommerce-cart-form td.product-remove a.remove,
  .shop_table.cart td.product-remove a.remove {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 28px !important;
    height: 28px !important;
    border-radius: 50% !important;
    background: #3B2F2A !important;
    color: #FAF6F0 !important;
    font-size: 18px !important;
    font-weight: 500 !important;
    line-height: 1 !important;
    text-decoration: none !important;
    opacity: 1 !important;
    border: 0 !important;
    transition: background .2s ease !important;
  }
  .woocommerce-cart-form td.product-remove a.remove:hover,
  .shop_table.cart td.product-remove a.remove:hover {
    background: #8B6F5C !important;
    color: #FAF6F0 !important;
  }

  /* "Continuar Comprando" movido pra dentro do cart_totals depois do FINALIZAR */
  .cart_totals .continue-shopping {
    margin: 12px 0 0 !important;
    padding: 0 !important;
    text-align: center !important;
    float: none !important;
    width: 100% !important;
  }
  .cart_totals .button-continue-shopping {
    display: inline-block !important;
    width: 100% !important;
    background: transparent !important;
    color: #8B6F5C !important;
    border: 1px solid #C9A77A !important;
    border-radius: 8px !important;
    padding: 14px 20px !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    box-shadow: none !important;
    transition: background .2s ease, color .2s ease !important;
    margin: 0 !important;
    text-align: center !important;
  }
  .cart_totals .button-continue-shopping:hover {
    background: #FAF6F0 !important;
    color: #3B2F2A !important;
  }

  /* Esconde o "Continuar Comprando" original quando aparece em outro lugar
     (caso o JS não move por algum motivo, evita ficar duplicado) */
  .woocommerce-cart-form ~ .continue-shopping,
  form.woocommerce-cart-form + .continue-shopping {
    margin-bottom: 0 !important;
    margin-top: 4px !important;
  }

}

/* Forms gerais (input, select) — paleta editorial */
input[type="email"],
input[type="text"],
input[type="tel"],
input[type="url"],
input[type="password"],
input[type="number"],
textarea,
select {
  background: white !important;
  border: 1px solid var(--luiza-border) !important;
  border-radius: var(--luiza-radius-md) !important;
  color: var(--luiza-heading) !important;
  font-family: var(--luiza-font-body) !important;
  font-weight: 400 !important;
}

input:focus,
textarea:focus,
select:focus {
  border-color: var(--luiza-primary) !important;
  outline: none !important;
}

/* Notice/messages */
.woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-notices-wrapper .woocommerce-info {
  background: var(--luiza-soft-bg) !important;
  border-color: var(--luiza-primary) !important;
  color: var(--luiza-heading) !important;
  border-radius: var(--luiza-radius-md);
}

/* Demo store notice (se ativada) */
.demo_store {
  background: var(--luiza-heading) !important;
  color: var(--luiza-bg-cream) !important;
  font-size: 13px;
  font-weight: 400;
  letter-spacing: 0.05em;
}

/* Custom labels do menu (Novo, Quente, Promoção, Popular) */
.label-new.menu-item > a:after,
.label-hot.menu-item > a:after,
.label-sale.menu-item > a:after,
.label-popular.menu-item > a:after {
  background: var(--luiza-accent) !important;
  color: var(--luiza-heading) !important;
  border-radius: var(--luiza-radius-sm);
  font-size: 9px;
  letter-spacing: 0.05em;
  padding: 2px 6px;
  margin-left: 6px;
  text-transform: uppercase;
}

/* ============================================================================
   ETAPA D.1 — CARDS DE PRODUTO EXATAMENTE COMO O PREVIEW
   Override final - cascata vence regras anteriores. Match exato do preview-luiza.html
   ============================================================================ */

/* Layout do card — separação clara entre imagem (creme) e texto (branco)
   FIX 5.0.8: REMOVI height: 100% do box que quebrava aspect-ratio do box-image
   em archives onde col-inner não tem altura definida.
   Cards uniformes via min-height no box-text + flex no row pai */

.product-small.col {
  padding: 0 12px 24px !important;
}

.product-small.col .col-inner {
  position: relative !important;
}

.product-small.box {
  background: white !important;
  border-radius: var(--luiza-radius-md) !important;
  overflow: hidden !important;
  box-shadow: var(--luiza-shadow-sm) !important;
  border: 0 !important;
}

/* Garante que a row de produtos use stretch para alturas iguais */
.products-row,
ul.products,
.row-large > .row,
.row.has-equal-box-heights,
.row.large-columns-3,
.row.large-columns-4,
.products .row {
  align-items: stretch !important;
}

/* Image area: creme bg, ratio 3:4, foto preenche cover */
.product-small.box .box-image {
  background: var(--luiza-soft-bg) !important;
  position: relative !important;
  overflow: hidden !important;
  border-radius: 0 !important;
  aspect-ratio: 3 / 4 !important;
}

.product-small.box .box-image .image-fade_in_back,
.product-small.box .box-image .image-fade_in_back a,
.product-small.box .box-image > a {
  display: block;
  width: 100%;
  height: 100%;
}

/* FIX imgclick 2026-10-08: o seletor acima tinha ".box-image > div" (generico),
   que também batia nos overlays ".image-tools"/".grid-tools" (quick-view +
   add-to-cart no hover) — são DIVs irmãs de ".image-fade_in_back", filhas
   diretas de ".box-image". Isso forçava width:100%/height:100% nesses overlays
   (nativamente eles são pequenos: barra fina no rodapé ou ícone de canto) e,
   combinado com a regra nativa do Flatsome ".has-hover:hover .show-on-hover
   { pointer-events: inherit }", o overlay de "VISUALIZAÇÃO RÁPIDA" passava a
   cobrir a imagem INTEIRA e capturar o clique antes de chegar no <a> que leva
   pra PDP. Trocado ".box-image > div" (generico) por ".box-image >
   .image-fade_in_back" (especifico) — mesmo efeito de crop pro wrapper da
   imagem, sem inflar os overlays de quick-view/add-to-cart. */
.product-small.box .box-image > .image-fade_in_back {
  display: block;
  width: 100%;
  height: 100%;
}

/* FIX: a img real tem width/height fixos no HTML (ex: 300x300) e fica dentro de
   divs/link sem altura propria ("height:auto"), entao um simples height:100%
   nela nao resolve (percentual de altura so funciona contra ancestral com altura
   definida) - sobrava o fundo (--luiza-soft-bg) visivel atras da foto quadrada,
   em qualquer card de produto do site (home, loja, categoria, PDP). Fix:
   position:absolute ancorado no .box-image (que tem altura definida via
   aspect-ratio), ignora os wrappers do meio e preenche 100% garantido. */
.product-small.box .box-image img {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover !important;
  object-position: center center !important;
  display: block;
}

/* Has-equal-box-heights padding-top hack do Flatsome — NEUTRALIZAR */
.has-equal-box-heights .product-small.box .box-image,
.has-equal-box-heights .box-image {
  padding-top: 0 !important;
}

/* TEXT AREA — branco, padding generoso, TEXT-ALIGN CENTER total
   IMPORTANTE: classe real é `.box-text.text-left` (NÃO box-text-products),
   e Flatsome injeta inline style="padding:0;height:Xpx" via JS — vencemos via
   especificidade alta (`html body` prefix) + !important. */
html body .product-small.box .box-text,
html body .product-small.box .box-text.text-left,
html body .product-small.box .box-text-products,
html body .product-small .box-text {
  padding: 18px 16px 22px !important;
  background: white !important;
  text-align: center !important;
  height: auto !important;
  min-height: 0 !important;
  display: block !important;
}

/* Title-wrapper com altura mínima fixa pra cards alinharem mesmo com nomes de tamanhos diferentes
   FIX 5.1.10: 3 linhas (14px * 1.4 * 3 = ~60px) — comporta nomes longos no flickity-slider */
html body .product-small.box .title-wrapper {
  min-height: 60px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
}

html body .product-small.box .name.product-title,
html body .product-small.box .woocommerce-loop-product__title {
  display: -webkit-box !important;
  -webkit-line-clamp: 3 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

/* Cards uniformes em altura: força row stretch + box-text com min-height
   FIX 5.1.10: bump pra 160px pra acomodar 3 linhas de título + meta + preço */
html body .product-small.box .box-text {
  min-height: 160px !important;
}

/* Garante que a row contenha cards com align-items stretch (defaults flex) */
.row.equalize-box,
ul.products,
.products-row,
.row.has-equal-box-heights,
.flickity-slider,
.row-slider,
.has-equal-box-heights {
  align-items: stretch !important;
}

/* PHASE A.6 FIX: Flickity-slider cells — REMOVIDO height: 100% que colapsava
   em mobile quando flickity-viewport tem h=20. Uniformidade vem do min-height
   no .box-text + .title-wrapper, não de height:100% (que dependia de parent).
   Mantém só align-items stretch que já tá em .has-equal-box-heights acima. */

html body .product-small.box .box-text *,
html body .product-small.box .box-text.text-left *,
html body .product-small.box .title-wrapper,
html body .product-small.box .price-wrapper,
html body .product-small.box .price,
html body .product-small.box .wcsp-container,
html body .product-small.box .payment-card,
html body .product-small.box .payment-info,
html body .product-small.box .payment-price {
  text-align: center !important;
  align-items: center !important;
  justify-content: center !important;
}

/* Title — regular sans, médio */
.product-small.box .title-wrapper {
  margin: 0 0 6px !important;
  text-align: center !important;
}

.product-small.box .name.product-title,
.product-small.box .woocommerce-loop-product__title {
  margin: 0 !important;
  padding: 0 !important;
  height: auto !important;
  line-height: 1.4 !important;
  text-align: center !important;
}

.product-small.box .name.product-title a,
.product-small.box .woocommerce-loop-product__title a,
.product-small.box .woocommerce-LoopProduct-link {
  font-family: var(--luiza-font-body) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: var(--luiza-heading) !important;
  letter-spacing: 0.005em !important;
  text-decoration: none !important;
  display: block !important;
  text-align: center !important;
}

/* META LINE no card — "TAM X · SEMINOVO" (injetado via PHP em functions.php) */
.product-small.box .luiza-card-meta,
.product-small .luiza-card-meta,
ul.products .luiza-card-meta {
  font-family: var(--luiza-font-body, 'Inter', sans-serif) !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  color: var(--luiza-muted, #a89e92) !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
  text-align: center !important;
  margin: 4px 0 10px !important;
  padding: 0 !important;
  line-height: 1.4 !important;
}

/* ESCONDE PARCELAMENTO nos cards de listagem (match preview limpo) */
.product-small.box .payment-name,
.product-small.box .payment-name *,
.product-small.box .payment-card .payment-name {
  display: none !important;
}

/* PRICE — del FIRST (left strikethrough) + ins SECOND (right sale) inline center
   IMPORTANTE: override do legacy `.payment .payment-info .payment-price del{order:2;ins:order:1}`
   que invertia a ordem. No card queremos ordem natural DOM. */

.product-small.box .price-wrapper {
  margin-top: 4px !important;
}

.product-small.box .price {
  display: block !important;
  font-family: var(--luiza-font-body) !important;
  margin: 0 !important;
}

.product-small.box .wcsp-container,
.product-small.box .payment.payment-card,
.product-small.box .payment-info {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.product-small.box .payment-price {
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: baseline !important;
  justify-content: center !important;
  gap: 10px !important;
  width: 100% !important;
  margin: 0 !important;
}

/* Reset order do legacy (queremos del LEFT, ins RIGHT) */
.product-small.box .payment-price del {
  order: 1 !important;
  margin: 0 !important;
}

.product-small.box .payment-price ins {
  order: 2 !important;
  margin: 0 !important;
  background: transparent !important;
}

/* del — riscado discreto cinza-bege */
.product-small.box .payment-price del,
.product-small.box .payment-price del bdi,
.product-small.box .payment-price del .woocommerce-Price-amount {
  font-family: var(--luiza-font-body) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  color: var(--luiza-muted) !important;
  text-decoration: line-through !important;
}

.product-small.box .payment-price del .woocommerce-Price-currencySymbol {
  color: inherit !important;
  font-size: inherit !important;
  font-weight: inherit !important;
}

/* ins — preço promo destaque laranja profundo (orange-ink, legível) */
.product-small.box .payment-price ins,
.product-small.box .payment-price ins bdi,
.product-small.box .payment-price ins .woocommerce-Price-amount {
  font-family: var(--luiza-font-body) !important;
  font-size: 19px !important;
  font-weight: 600 !important;
  color: var(--luiza-orange-soft) !important;
  text-decoration: none !important;
  margin-left: 0 !important;
}

.product-small.box .payment-price ins .woocommerce-Price-currencySymbol {
  color: inherit !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  margin-left: 0 !important;
}

/* Quando NÃO tem promoção (só preço cheio), centra ele */
.product-small.box .price > .woocommerce-Price-amount,
.product-small.box .payment-price > .woocommerce-Price-amount {
  font-family: var(--luiza-font-body) !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  color: var(--luiza-heading) !important;
  text-align: center;
  display: block;
}

/* Hover do card — eleva levemente */
.product-small.col:hover .product-small.box,
.product-small.box:hover {
  box-shadow: var(--luiza-shadow-md) !important;
  transform: translateY(-3px);
  transition: transform var(--luiza-tx), box-shadow var(--luiza-tx);
}

/* BADGE — match preview: caramelo bg, heading color, 10px uppercase weight 600
   IMPORTANTE: badge fica em <li> SIRMÃO do .product-small.box, não dentro dele.
   Markup: .col > .col-inner > .badge-container.absolute.left.top + .product-small.box
   Selectors abaixo NÃO usam .product-small.box ancestor, target direto no col-inner */
.col-inner > .badge-container,
.products .badge-container,
.product .badge-container,
li.product .badge-container {
  top: 12px !important;
  left: 12px !important;
  right: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  z-index: 5 !important;
}

.col-inner > .badge-container .badge,
.col-inner > .badge-container .callout,
.col-inner > .badge-container .badge-frame,
.products .badge .callout,
.products .badge-frame {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  border-radius: 0 !important;
  position: static !important;
  transform: none !important;
}

/* BADGE — UNIVERSAL: aplica em TODA badge-inner do site (home, archive, PDP gallery)
   Padrão único: marrom #8B6F5C + creme + 4x9 padding + 10px */
html body .badge-inner,
html body .badge-inner.secondary,
html body .badge-inner.on-sale,
html body .badge-inner.secondary.on-sale,
html body .product .onsale,
html body .products .onsale,
html body span.onsale,
html body .col-inner > .badge-container .badge-inner,
html body .products .badge-inner,
html body li.product .badge-inner,
html body.single-product .badge-inner,
html body.single-product .product .onsale,
html body.single-product .product-gallery .badge-inner,
html body.single-product .product-images .badge-inner,
html body.single-product .product-images .onsale {
  background: var(--luiza-primary) !important;
  color: var(--luiza-bg-cream) !important;
  border: 0 !important;
  border-radius: 3px !important;
  padding: 4px 9px !important;
  font-family: var(--luiza-font-body, 'Inter', sans-serif) !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  line-height: 1.3 !important;
  display: inline-block !important;
  box-shadow: 0 2px 5px rgba(59, 47, 42, 0.12) !important;
  text-shadow: none !important;
  position: static !important;
}

/* Quando é "novo" (não-sale), badge fica preto/heading com texto creme */
.col-inner > .badge-container .badge-inner.featured,
.col-inner > .badge-container .badge-inner.new,
.col-inner > .badge-container .badge-inner.is-new,
.products .badge-inner.featured,
.products .badge-inner.new {
  background: var(--luiza-heading) !important;
  color: var(--luiza-bg-cream) !important;
}

/* Mobile — 2 colunas, padding menor */
@media (max-width: 768px) {
  .product-small.col {
    padding: 0 6px 16px !important;
  }

  .product-small.box .box-text.box-text-products {
    padding: 12px 8px 16px !important;
  }

  .product-small.box .name.product-title a {
    font-size: 13px !important;
  }

  .product-small.box .payment-price del,
  .product-small.box .payment-price del bdi {
    font-size: 12px !important;
  }

  .product-small.box .payment-price ins,
  .product-small.box .payment-price ins bdi {
    font-size: 14px !important;
  }

  .product-small.box .payment-price {
    gap: 6px !important;
  }
}

/* ============================================================================
   ETAPA C.3 — HEADER MATCH PREVIEW (seletores REAIS após inspeção do DOM)
   ============================================================================
   Realidade descoberta inspecionando HTML servido:
   - Search é <li.header-search-form> com FORM expandido inline (não dropdown/icon)
   - Cart usa <span.header-cart-title>Carrinho</span> (não .menu-title)
   - Divider real é <li.header-divider>
   - Account icon NÃO existe → injetado via JS no functions.php
   ============================================================================ */

/* 1. Esconder TODO o LI da busca expandida (não só o form interno) */
.header-main ul.nav-left > li.header-search-form,
.header-main .header-nav > li.header-search-form,
.header-main li.header-search-form.search-form,
.header-main li.header-search-dropdown,
.header-main .mobile-nav > li.header-search-dropdown {
  display: none !important;
}

/* 2. Esconder texto "Carrinho" (só ícone) */
.header-main .header-cart-title,
.header-cart-link > .header-cart-title {
  display: none !important;
}

/* 3. Esconder divider antes do cart (linha vertical) */
.header-main li.header-divider {
  display: none !important;
}

/* 4. Ícones injetados via JS (search + account) — match preview */
.header-main .luiza-icon-link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 36px;
  height: 36px;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--luiza-heading) !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: var(--luiza-radius-pill) !important;
  transition: background 0.2s ease, color 0.2s ease;
  text-decoration: none !important;
}

.header-main .luiza-icon-link:hover {
  background: var(--luiza-soft-bg) !important;
  color: var(--luiza-primary) !important;
}

.header-main .luiza-icon-link svg {
  width: 18px;
  height: 18px;
  stroke: currentColor;
  fill: none;
  stroke-width: 1.6;
  display: block;
}

.header-main li.luiza-search-icon-li,
.header-main li.luiza-orders-icon-li,
.header-main li.luiza-account-icon-li {
  display: flex !important;
  align-items: center !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Sidebar mobile: ícone "Meus pedidos" ao lado do search */
.mobile-sidebar .header-search-form-wrapper {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  border-bottom: 0 !important;
}
.mobile-sidebar .header-search-form-wrapper .searchform-wrapper {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  border-bottom: 0 !important;
  border: 0 !important;
}
.mobile-sidebar .header-search-form-wrapper .searchform-wrapper::after,
.mobile-sidebar .searchform-wrapper::after {
  display: none !important;
}
/* Remove a linha separadora do <li> que envolve o search no menu lateral */
.mobile-sidebar li.header-search-form,
.mobile-sidebar li.header-search-form.search-form,
.mobile-sidebar ul li.html.has-icon:first-child {
  border-bottom: 0 !important;
  border: 0 !important;
}
.luiza-mobile-orders-icon {
  flex: 0 0 auto !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 40px !important;
  height: 40px !important;
  border-radius: 50% !important;
  background: transparent !important;
  color: #3B2F2A !important;
  text-decoration: none !important;
  transition: background .2s ease, color .2s ease;
  border: 1px solid #E8DFD3 !important;
}
.luiza-mobile-orders-icon:hover {
  background: #F2EAD9 !important;
  color: #8B6F5C !important;
}
.luiza-mobile-orders-icon svg {
  width: 20px !important;
  height: 20px !important;
  stroke: currentColor !important;
  fill: none !important;
}

/* 5. Cart icon — só sacolinha, layout limpo */
.header-main .header-cart-link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  position: relative !important;
  width: 36px;
  height: 36px;
  padding: 0 !important;
  border-radius: var(--luiza-radius-pill);
  transition: background 0.2s ease;
}

.header-main .header-cart-link:hover {
  background: var(--luiza-soft-bg);
}

.header-main .header-cart-link .header-cart-icon {
  position: relative !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
}

.header-main .header-cart-link .cart-img-icon {
  width: 18px !important;
  filter: brightness(0) saturate(100%);
  opacity: 0.85;
}

/* 6. Badge sobre a sacolinha via data-icon-label (laranja soft circular).
   html body + !important pra vencer regra fantasma (#8B6F5C) que vem do DB/Customizer. */
html body .header-main .header-cart-link .header-cart-icon[data-icon-label]::after,
html body .header-main .header-cart-link .image-icon[data-icon-label]::after,
.header-main .header-cart-link .header-cart-icon[data-icon-label]::after {
  content: attr(data-icon-label);
  position: absolute;
  top: -8px;
  right: -10px;
  background: var(--luiza-orange-soft) !important;
  color: #FFFFFF !important;
  font-family: var(--luiza-font-body, 'Inter', sans-serif);
  font-size: 10px;
  font-weight: 600;
  width: 18px;
  height: 18px;
  min-width: 18px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  padding: 0;
  letter-spacing: 0;
  z-index: 2;
}

.header-main .header-cart-link .header-cart-icon[data-icon-label="0"]::after {
  display: none;
}

/* Esconder o <strong> nativo do Flatsome (badge antigo) — usamos ::after */
.header-main .header-cart-link strong,
.header-main .cart-icon strong,
.header-main .header-cart-link .cart-count {
  display: none !important;
}

/* 7. Layout do nav-right — alinhamento horizontal limpo */
.header-main ul.nav-right,
.header-main .flex-col.flex-right > ul {
  display: flex !important;
  align-items: center !important;
  gap: 4px !important;
}

/* Search icon legacy (caso tenha) — discreto */
.header-main .ux-search-icon-toggle,
.header-main a.is-small.icon[data-open="#search-lightbox"],
.header-main .icon-search,
.header-main button.icon.is-search {
  background: transparent !important;
  border: 0 !important;
  color: var(--luiza-heading) !important;
  font-size: 18px;
  width: 36px;
  height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.header-main .ux-search-icon-toggle:hover,
.header-main button.icon.is-search:hover {
  color: var(--luiza-primary) !important;
}

/* Ícones header right — espaçamento + tamanho consistente */
.header-main .header-icons,
.header-main .flex-col.flex-right {
  gap: 18px;
  align-items: center;
}

.header-main .nav-icon a,
.header-main .header-button > a,
.header-main .header-button > button,
.header-main .icon-shopping-bag,
.header-main .icon-user {
  color: var(--luiza-heading) !important;
  font-size: 18px;
  width: 36px;
  height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--luiza-radius-pill);
  transition: background var(--luiza-tx);
}

.header-main .nav-icon a:hover,
.header-main .header-button > a:hover {
  background: var(--luiza-soft-bg);
}

/* Cart badge "2" — caramelo redondo igual preview */
.header-main .cart-icon strong,
.header-main .header-cart-link .cart-count {
  background: var(--luiza-accent) !important;
  color: var(--luiza-heading) !important;
  border: 0 !important;
  border-radius: var(--luiza-radius-pill) !important;
  font-family: var(--luiza-font-body);
  font-size: 10px !important;
  font-weight: 600 !important;
  width: 18px;
  height: 18px;
  min-width: 18px;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: -2px;
  right: -6px;
  line-height: 1;
}

.header-main .cart-icon strong:after {
  display: none !important;
}

/* Wrapper do cart icon — relative pra badge ficar position absolute */
.header-main .cart-icon,
.header-main .header-cart-link {
  position: relative;
}

/* Menu — reduzir font pra acomodar 11 itens elegantemente */
.header-bottom-nav.nav > li > a,
.header-nav-main > li > a,
.header-bottom-nav .nav-top-link {
  font-family: var(--luiza-font-body) !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: var(--luiza-heading) !important;
  padding: 16px 12px !important;
  line-height: 1 !important;
}

@media (min-width: 1200px) {
  .header-bottom-nav.nav > li > a {
    font-size: 12px !important;
    padding: 16px 14px !important;
  }
}

/* Espaçamento entre itens */
.header-bottom-nav.nav > li {
  margin: 0 !important;
}

/* Underline animation no hover (igual preview) */
.header-bottom-nav.nav > li > a {
  position: relative;
}

.header-bottom-nav.nav > li > a:after {
  content: '';
  position: absolute;
  left: 50%;
  bottom: 8px;
  width: 0;
  height: 1px;
  background: var(--luiza-primary);
  transition: width 0.25s ease, left 0.25s ease;
}

.header-bottom-nav.nav > li > a:hover {
  color: var(--luiza-primary) !important;
}

.header-bottom-nav.nav > li > a:hover:after {
  width: calc(100% - 24px);
  left: 12px;
}

.header-bottom-nav.nav > li.current-menu-item > a:after {
  width: calc(100% - 24px);
  left: 12px;
}

/* Hide divider que separa elementos (era visual rosa) */
.header-main .divider {
  display: none !important;
}

/* Account icon estilizado */
.header-main .account-icon a,
.header-main .header-button .icon-user {
  color: var(--luiza-heading) !important;
}

/* Layout do header — remover backgrounds extras de hover */
.stuck .header-main,
.header.show-on-scroll .header-main {
  background: rgba(250, 247, 242, 0.96) !important;
  backdrop-filter: blur(8px);
}

/* ============================================================================
   ETAPA E.1 — SECTION HEADERS: eyebrow + serif title (match preview)
   Aplica em todas as seções de produtos (.section, .row-large, etc)
   Eyebrow é injetado via JS no functions.php e estilizado aqui.
   ============================================================================ */

/* Eyebrow injetado via JS — "— mais desejados —" */
.luiza-section-eyebrow {
  display: block !important;
  font-family: var(--luiza-font-body, 'Inter', sans-serif) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  color: var(--luiza-orange-ink) !important;
  text-align: center !important;
  margin: 0 auto 8px !important;
  padding: 0 !important;
  border: 0 !important;
  width: 100%;
}

/* Eyebrows dos blocos custom (depoimentos/FAQ na home) — mesmo laranja-ink das
   demais. O estilo vem inline do UX Builder, por isso !important pra sobrescrever. */
.loja-testimonials__eyebrow,
.loja-faq__eyebrow {
  color: var(--luiza-orange-ink) !important;
}

/* Section titles (Flatsome UX Builder) — serif Cormorant Garamond match preview */
.section .row h3.section-title-main,
.row-large h3.section-title-main,
.section h3.section-title-main,
section h3.section-title-main,
.section-title-main {
  font-family: var(--luiza-font-heading, 'Cormorant Garamond', serif) !important;
  font-size: clamp(32px, 4vw, 44px) !important;
  font-weight: 400 !important;
  letter-spacing: -0.01em !important;
  color: var(--luiza-heading) !important;
  text-align: center !important;
  text-transform: none !important;
  margin: 0 auto 12px !important;
  line-height: 1.2 !important;
  border: 0 !important;
  padding: 0 !important;
}

/* Remove a "barrinha" debaixo do title-main que o Flatsome desenha */
.section-title-main b,
.section-title-main:after,
.section-title-main:before,
h3.section-title-main b {
  display: none !important;
  background: transparent !important;
  border: 0 !important;
  height: 0 !important;
}

/* Section title container — empilhar eyebrow + h3 + (opcional) link "VER TUDO"
   FIX 5.0: reduzir spacing — estava 60px, muito espaço em branco */
.section .row .section-title.section-title-normal,
.row .section-title-container,
.section-title-container {
  display: block !important;
  text-align: center !important;
  margin-bottom: 24px !important;
  margin-top: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  border-bottom: 0 !important;
}

/* Reduz padding interno das sections que envolvem produtos */
.section .section-content,
.section.dark.section-content,
.section .section-bg + .section-content {
  padding-top: 24px !important;
  padding-bottom: 24px !important;
}

/* Reduz padding-top das sections que vêm depois do header — comprime layout */
.section.luiza-tight,
.row .section-title-container + .row,
.section-title-container + * {
  margin-top: 0 !important;
}

/* O "VER TUDO" link — discreto abaixo */
.section-title.section-title-normal > a,
.section-title-container .more-link,
.section-title-container a.more-link {
  font-family: var(--luiza-font-body, 'Inter', sans-serif) !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  color: var(--luiza-primary) !important;
  display: inline-block !important;
  margin-top: 10px !important;
  padding: 0 !important;
  border: 0 !important;
}

.section-title.section-title-normal > a:hover {
  color: var(--luiza-heading) !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
}

/* Mobile — eyebrow menor, title menor */
@media (max-width: 768px) {
  .luiza-section-eyebrow {
    font-size: 11px !important;
    letter-spacing: 0.16em !important;
  }
  .section-title-main {
    font-size: 28px !important;
  }
  .section-title-container {
    margin-bottom: 16px !important;
  }
}

/* FIX 5.0.3: Reduz drasticamente padding-top dos containers de section-title
   (Flatsome injeta padding-top: 48px por default — visualmente exagerado) */
.row .section-title-container,
.row > .section-title-container,
.section-title-container,
.section .section-title-container,
section .section-title-container {
  padding-top: 0 !important;
}

/* Section que envolve title — reduz seu padding-vertical também */
.section[class*="luiza-products"],
.section.luiza-section,
.section .row > .col > .section-title-container {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

/* Header mobile — icon-menu (hamburger) muito grande no mobile (~34px) — alinha com outros 18px */
.header-bottom .icon-menu,
.icon-menu,
.nav-icon i.icon-menu,
.toggle-nav .icon-menu,
button.icon-menu {
  font-size: 18px !important;
  width: 18px !important;
  height: 18px !important;
  line-height: 18px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.nav-icon.has-icon,
.header-block .nav-icon {
  width: auto !important;
  height: auto !important;
}

/* Em algumas plataformas o icon-menu é renderizado como background image */
.nav-icon i.icon-menu:before,
.icon-menu:before {
  font-size: 18px !important;
  line-height: 1 !important;
}

/* ============================================================================
   ETAPA F.1 — CATEGORY PAGE: sidebar editorial style (match preview)
   Preview TEM sidebar com filtros (Tamanho, Cor, Preço, Marca).
   PROD usa sidebar com lista de categorias (Flatsome default).
   Estilizamos a sidebar PROD pra ter look editorial igual o preview.
   ============================================================================ */

/* Reset width — sidebar fica 22%, content 78% (preview-like) */
body.archive .shop-container > .row > .large-3.col,
body.tax-product_cat .shop-container > .row > .large-3.col,
body.post-type-archive-product .shop-container > .row > .large-3.col {
  display: block !important;
  flex: 0 0 22% !important;
  max-width: 22% !important;
  padding-right: 32px !important;
}

body.archive .shop-container > .row > .large-9.col,
body.tax-product_cat .shop-container > .row > .large-9.col,
body.post-type-archive-product .shop-container > .row > .large-9.col {
  flex: 0 0 78% !important;
  max-width: 78% !important;
}

/* Mobile — sidebar vira accordion ou esconde */
@media (max-width: 850px) {
  body.archive .shop-container > .row > .large-3.col,
  body.tax-product_cat .shop-container > .row > .large-3.col {
    display: none !important;
  }
  body.archive .shop-container > .row > .large-9.col,
  body.tax-product_cat .shop-container > .row > .large-9.col {
    flex: 0 0 100% !important;
    max-width: 100% !important;
  }
}

/* Sidebar styling — editorial */
.shop-sidebar,
#shop-sidebar,
body.archive aside.shop-sidebar,
body.tax-product_cat aside.shop-sidebar {
  background: transparent !important;
  padding: 0 !important;
  border: 0 !important;
}

.shop-sidebar h3,
.shop-sidebar h4,
.shop-sidebar .widget-title,
#shop-sidebar h3,
#shop-sidebar .widget-title {
  font-family: var(--luiza-font-body, 'Inter', sans-serif) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  color: var(--luiza-heading) !important;
  margin: 0 0 16px !important;
  padding: 0 0 12px !important;
  border-bottom: 1px solid var(--luiza-border) !important;
  background: transparent !important;
}

.shop-sidebar .widget,
#shop-sidebar .widget {
  margin-bottom: 32px !important;
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
}

.shop-sidebar ul,
#shop-sidebar ul {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.shop-sidebar ul li,
#shop-sidebar ul li {
  border: 0 !important;
  margin: 0 !important;
  padding: 8px 0 !important;
  background: transparent !important;
}

.shop-sidebar ul li a,
#shop-sidebar ul li a {
  font-family: var(--luiza-font-body) !important;
  font-size: 14px !important;
  color: var(--luiza-heading) !important;
  text-decoration: none !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  font-weight: 400 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 0 !important;
  border: 0 !important;
}

.shop-sidebar ul li a:hover,
#shop-sidebar ul li a:hover {
  color: var(--luiza-primary) !important;
}

.shop-sidebar ul li.current-cat > a,
.shop-sidebar ul li.current-menu-item > a {
  color: var(--luiza-primary) !important;
  font-weight: 500 !important;
}

.shop-sidebar .count,
#shop-sidebar .count {
  font-family: var(--luiza-font-body) !important;
  font-size: 12px !important;
  color: var(--luiza-muted) !important;
  margin-left: auto !important;
}

/* Toolbar do shop — count + ordenação acima do grid */
body.archive .woocommerce-result-count,
body.tax-product_cat .woocommerce-result-count {
  font-family: var(--luiza-font-body) !important;
  font-size: 12px !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
  color: var(--luiza-muted) !important;
  margin: 0 !important;
  padding: 16px 0 !important;
  border-top: 1px solid var(--luiza-border) !important;
  border-bottom: 1px solid var(--luiza-border) !important;
}

body.archive .woocommerce-ordering,
body.tax-product_cat .woocommerce-ordering {
  margin: 0 !important;
  padding: 12px 0 !important;
  border-top: 1px solid var(--luiza-border) !important;
  border-bottom: 1px solid var(--luiza-border) !important;
}

body.archive .woocommerce-ordering select,
body.tax-product_cat .woocommerce-ordering select {
  font-family: var(--luiza-font-body) !important;
  font-size: 13px !important;
  color: var(--luiza-heading) !important;
  border: 1px solid var(--luiza-border) !important;
  border-radius: 4px !important;
  background: white !important;
  padding: 8px 32px 8px 12px !important;
  cursor: pointer !important;
}

/* ============================================================================
   ETAPA H.1 — MOBILE MENU (off-canvas) editorial style match preview
   ============================================================================ */

/* Off-canvas menu container — bg creme */
#main-menu,
.mfp-content #main-menu,
.off-canvas-cart,
#cart-popup {
  background: var(--luiza-bg-cream) !important;
}

/* Botões do popup do carrinho ("Ver Carrinho" / "Finalizar") — laranja soft */
html body .off-canvas-cart .button,
html body #cart-popup .button,
html body .widget_shopping_cart .buttons .button,
html body .woocommerce-mini-cart__buttons .button,
html body .cart-sidebar .button {
  background: var(--luiza-orange-soft) !important;
  border-color: var(--luiza-orange-soft) !important;
  color: #FFFFFF !important;
}
html body .off-canvas-cart .button:hover,
html body #cart-popup .button:hover,
html body .widget_shopping_cart .buttons .button:hover,
html body .woocommerce-mini-cart__buttons .button:hover,
html body .cart-sidebar .button:hover {
  background: var(--luiza-orange-ink) !important;
  border-color: var(--luiza-orange-ink) !important;
  color: #FFFFFF !important;
}

#main-menu .sidebar-menu,
#main-menu .nav-sidebar,
#main-menu ul.nav {
  background: var(--luiza-bg-cream) !important;
  padding: 0 !important;
}

/* Items do menu mobile — uppercase, letter-spacing, Inter */
#main-menu li > a,
.sidebar-menu li > a,
.nav-sidebar li > a,
#main-menu .nav-sidebar li > a,
#main-menu ul.nav > li > a {
  font-family: var(--luiza-font-body, 'Inter', sans-serif) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: var(--luiza-heading) !important;
  padding: 18px 24px !important;
  border-bottom: 1px solid var(--luiza-border) !important;
  background: transparent !important;
  display: block !important;
  line-height: 1.4 !important;
}

#main-menu li > a:hover,
.sidebar-menu li > a:hover {
  color: var(--luiza-primary) !important;
  background: rgba(232, 221, 208, 0.5) !important;
}

#main-menu li.current-menu-item > a,
.sidebar-menu li.current-menu-item > a {
  color: var(--luiza-primary) !important;
  font-weight: 600 !important;
}

/* Search bar dentro do menu mobile */
#main-menu .header-search-form,
#main-menu .searchform-wrapper,
.sidebar-menu .header-search-form {
  padding: 20px 16px !important;
  border-bottom: 0 !important;
  background: transparent !important;
}

#main-menu .search-field,
#main-menu input[type="search"],
.sidebar-menu input[type="search"] {
  font-family: var(--luiza-font-body) !important;
  font-size: 13px !important;
  letter-spacing: 0.05em !important;
  border: 1px solid var(--luiza-border) !important;
  border-radius: 999px !important;
  background: white !important;
  color: var(--luiza-heading) !important;
  padding: 10px 16px !important;
  height: auto !important;
  outline: none !important;
}

#main-menu .search-field:focus {
  border-color: var(--luiza-primary) !important;
}

#main-menu .submit-button,
#main-menu .ux-search-submit {
  background: transparent !important;
  border: 0 !important;
  color: var(--luiza-heading) !important;
}

/* Botão fechar (X) do off-canvas */
.mfp-close,
.off-canvas-close,
#main-menu .mfp-close {
  color: var(--luiza-heading) !important;
  font-size: 24px !important;
  opacity: 1 !important;
}

/* ============================================================================
   ETAPA G.1 — SINGLE PRODUCT PAGE (refinement match preview)
   ============================================================================ */

/* Container — match cream bg, generous padding */
body.single-product .product-main,
body.single-product .product-page-main,
body.single-product .single-product-main {
  padding-top: 40px !important;
  padding-bottom: 40px !important;
}

/* Title do produto — serif large */
body.single-product .product_title,
body.single-product h1.product_title,
body.single-product .summary h1.product_title {
  font-family: var(--luiza-font-heading) !important;
  font-size: clamp(32px, 4vw, 44px) !important;
  font-weight: 400 !important;
  letter-spacing: -0.01em !important;
  color: var(--luiza-heading) !important;
  margin: 0 0 16px !important;
  line-height: 1.2 !important;
}

/* Price */
body.single-product .price,
body.single-product .product-page-price,
body.single-product .summary .price {
  font-family: var(--luiza-font-body) !important;
  font-size: 24px !important;
  font-weight: 600 !important;
  color: var(--luiza-heading) !important;
  margin: 16px 0 24px !important;
  display: flex !important;
  align-items: baseline !important;
  gap: 12px !important;
}

body.single-product .price del,
body.single-product .price del bdi {
  color: var(--luiza-muted) !important;
  font-weight: 400 !important;
  font-size: 18px !important;
}

body.single-product .price ins,
body.single-product .price ins bdi {
  background: transparent !important;
  color: var(--luiza-heading) !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}

/* Add to cart button — primary brown */
body.single-product .single_add_to_cart_button,
body.single-product button.single_add_to_cart_button {
  background: var(--luiza-primary) !important;
  color: var(--luiza-bg-cream) !important;
  border: 1px solid var(--luiza-primary) !important;
  border-radius: 5px !important;
  font-family: var(--luiza-font-body) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  padding: 16px 32px !important;
  height: auto !important;
  width: auto !important;
  margin-top: 16px !important;
  transition: background 0.2s ease, border-color 0.2s ease !important;
}

body.single-product .single_add_to_cart_button:hover {
  background: var(--luiza-heading) !important;
  border-color: var(--luiza-heading) !important;
  color: var(--luiza-bg-cream) !important;
}

/* Tabs (descrição etc) — editorial style */
body.single-product .woocommerce-tabs ul.tabs {
  border-bottom: 1px solid var(--luiza-border) !important;
  padding: 0 !important;
  margin-bottom: 32px !important;
  display: flex !important;
  gap: 0 !important;
}

body.single-product .woocommerce-tabs ul.tabs li {
  background: transparent !important;
  border: 0 !important;
  border-bottom: 2px solid transparent !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
}

body.single-product .woocommerce-tabs ul.tabs li a {
  font-family: var(--luiza-font-body) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: var(--luiza-muted) !important;
  padding: 16px 24px !important;
  display: block !important;
  background: transparent !important;
  border: 0 !important;
}

body.single-product .woocommerce-tabs ul.tabs li.active a,
body.single-product .woocommerce-tabs ul.tabs li.active {
  color: var(--luiza-heading) !important;
  border-bottom: 2px solid var(--luiza-primary) !important;
}

/* Product short description */
body.single-product .product-short-description,
body.single-product .woocommerce-product-details__short-description {
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  margin: 0 0 24px !important;
  font-family: var(--luiza-font-body) !important;
  font-size: 15px !important;
  color: var(--luiza-heading) !important;
  line-height: 1.6 !important;
  opacity: 0.85 !important;
}

/* Mobile — single product */
@media (max-width: 768px) {
  body.single-product .product_title {
    font-size: 26px !important;
  }
  body.single-product .price {
    font-size: 20px !important;
  }
}

/* OVERRIDE wc-simulador-parcelas plugin colors on single product page */
body.single-product .payment-price,
body.single-product .payment-price ins,
body.single-product .payment-price ins bdi,
body.single-product .payment-price .woocommerce-Price-amount,
body.single-product .payment-card .payment-price,
body.single-product .product-page-price,
body.single-product .product-page-price ins,
body.single-product .product-page-price ins bdi,
body.single-product .summary .price ins,
body.single-product .summary .price ins bdi,
body.single-product .summary .price > span,
body.single-product .summary .price > span > span,
body.single-product .summary .price > .woocommerce-Price-amount,
html body.single-product .price ins .woocommerce-Price-amount,
html body.single-product .price ins,
html body.single-product .price ins bdi {
  color: var(--luiza-orange-soft) !important;
  background: transparent !important;
  text-decoration: none !important;
  font-weight: 600 !important;
}

body.single-product .price del,
body.single-product .price del bdi,
body.single-product .price del .woocommerce-Price-amount,
body.single-product .payment-price del,
body.single-product .payment-price del bdi {
  color: var(--luiza-muted, #a89e92) !important;
  font-weight: 400 !important;
}

/* Parcelamento (Em até 6x de R$ X) — discreto muted */
body.single-product .payment-name,
body.single-product .payment-card .payment-name,
body.single-product .wcsp-container .payment-name {
  color: var(--luiza-muted, #a89e92) !important;
  font-family: var(--luiza-font-body) !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  margin: 4px 0 !important;
  display: block !important;
}

/* ============================================================================
   ETAPA G.2 — PDP: preço grande + badge discount + eyebrow + features grid
   Match preview's PDP structure (.pdp-* classes)
   ============================================================================ */

/* Preço promocional GRANDE (32px) e em destaque
   FIX 5.0.6: spacing reduzido ~50% — usuário pediu menos espaço */
body.single-product .price.product-page-price,
body.single-product .product-page-price,
body.single-product p.price.product-page-price {
  display: flex !important;
  align-items: baseline !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  margin: 0 0 2px !important;
  padding: 0 !important;
  font-family: var(--luiza-font-body) !important;
}

body.single-product .product-page-price .payment-price ins,
body.single-product .product-page-price .payment-price ins bdi,
body.single-product .product-page-price .payment-price ins .woocommerce-Price-amount,
body.single-product .product-page-price ins bdi {
  font-size: 43px !important;
  font-weight: 700 !important;
  color: var(--luiza-orange-soft) !important;
  line-height: 1.1 !important;
  text-decoration: none !important;
  background: transparent !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.single-product .product-page-price .payment-price del,
body.single-product .product-page-price .payment-price del bdi,
body.single-product .product-page-price del bdi {
  font-size: 22px !important;
  color: #8b7d72 !important;
  text-decoration: line-through !important;
  font-weight: 500 !important;
  order: -1 !important;
  opacity: 0.95 !important;
}

/* Parcelamento PDP — em linha separada abaixo do preço
   FIX 5.0.6: margin reduzida ~50% */
body.single-product .product-page-price .payment-name,
body.single-product .wcsp-container .payment-name {
  font-family: var(--luiza-font-body) !important;
  font-size: 13px !important;
  color: var(--luiza-muted) !important;
  display: block !important;
  width: 100% !important;
  margin: 4px 0 12px !important;
  font-weight: 400 !important;
}

body.single-product .product-page-price .payment-name strong,
body.single-product .wcsp-container .payment-name strong {
  color: var(--luiza-heading) !important;
  font-weight: 600 !important;
}

/* Eyebrow injetada via JS antes do título — categoria · marca
   FIX 5.0.6: spacing reduzido */
.luiza-pdp-eyebrow {
  font-family: var(--luiza-font-body, 'Inter', sans-serif) !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  color: var(--luiza-orange-ink) !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  margin: 0 0 6px !important;
  display: block !important;
}

/* PDP title — reduz margem-bottom (Flatsome default era 16-24px) */
body.single-product .product_title,
body.single-product h1.product_title,
body.single-product h1.entry-title {
  margin: 0 0 8px !important;
  padding: 0 !important;
  line-height: 1.15 !important;
}

/* PDP rating — reduz margem-bottom (FIX 5.0.9: usuário pediu menos espaço entre rating e preço) */
body.single-product .luiza-pdp-rating,
body .luiza-pdp-rating {
  margin: 0 0 4px !important;
}

/* Container .cart (qty + button) — reduz margem (estava 24px) */
body.single-product .cart,
body.single-product form.cart {
  margin: 0 0 12px !important;
}

/* Comprar Agora margin (estava 8px 0 28px) */
body.single-product .single_add_to_cart_button,
body.single-product .checkoutbtn,
body.single-product .product-info .single_add_to_cart_button,
body.single-product form.cart .single_add_to_cart_button,
body.single-product .product-info button[name="add-to-cart"],
body.single-product .pp-buynow-btn,
body.single-product .buy-now-button {
  margin: 0 0 12px !important;
}

/* Container que envolve o botão (.cart) — sem margem extra acima */
body.single-product .product-info .cart,
body.single-product .product-info form.cart {
  margin: 0 0 8px !important;
  padding: 0 !important;
}

/* Variations / size selector spacing reduzido */
body.single-product .variations {
  margin: 12px 0 !important;
}

/* Description spacing */
body.single-product .product-short-description,
body.single-product .woocommerce-product-details__short-description {
  margin: 8px 0 14px !important;
}

/* Botão Comprar Agora — primary editorial */
body.single-product .single_add_to_cart_button,
body.single-product button.single_add_to_cart_button,
body.single-product .product-info button[name="add-to-cart"],
body.single-product .checkoutbtn,
body.single-product .button.checkoutbtn,
body.single-product .pp-buynow-btn,
body.single-product .buy-now-button {
  background: var(--luiza-orange-soft) !important;
  color: #FFFFFF !important;
  border: 1px solid var(--luiza-orange-soft) !important;
  border-radius: 5px !important;
  font-family: var(--luiza-font-body) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  padding: 18px 32px !important;
  height: auto !important;
  width: auto !important;
  min-width: 240px !important;
  margin: 8px 0 28px !important;
  cursor: pointer !important;
  box-shadow: none !important;
  text-shadow: none !important;
  transition: background 0.2s ease, border-color 0.2s ease !important;
}

body.single-product .single_add_to_cart_button:hover,
body.single-product .checkoutbtn:hover {
  background: var(--luiza-orange-ink) !important;
  border-color: var(--luiza-orange-ink) !important;
  color: #FFFFFF !important;
}

/* Features (Frete Grátis / Devoluções etc) — 3-col grid editorial */
body.single-product .ux-flip-box-grid,
body.single-product .feature-list,
body.single-product .product-features-grid,
body.single-product .pdp-features {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 16px !important;
  padding: 24px 0 !important;
  border-top: 1px solid var(--luiza-border) !important;
  border-bottom: 1px solid var(--luiza-border) !important;
  margin: 32px 0 !important;
}

@media (max-width: 768px) {
  body.single-product .ux-flip-box-grid,
  body.single-product .feature-list,
  body.single-product .pdp-features {
    grid-template-columns: 1fr !important;
  }
}

/* Cards individuais de feature (Frete Grátis, Devoluções) — flex icon + texto */
body.single-product .feature-list-item,
body.single-product .pdp-feature,
body.single-product .ux-flip-box-front {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  font-family: var(--luiza-font-body) !important;
}

body.single-product .feature-list-item img,
body.single-product .feature-list-item svg,
body.single-product .pdp-feature svg {
  width: 22px !important;
  height: 22px !important;
  color: var(--luiza-primary) !important;
  flex-shrink: 0 !important;
}

body.single-product .feature-list-item strong,
body.single-product .pdp-feature strong {
  display: block !important;
  font-weight: 600 !important;
  font-size: 13px !important;
  color: var(--luiza-heading) !important;
  margin-bottom: 2px !important;
  font-family: var(--luiza-font-body) !important;
}

body.single-product .feature-list-item span,
body.single-product .feature-list-item p,
body.single-product .pdp-feature span {
  font-size: 12px !important;
  color: var(--luiza-muted) !important;
  font-family: var(--luiza-font-body) !important;
  margin: 0 !important;
  line-height: 1.4 !important;
}

/* FIX 5.0: Quantity selector REMOVIDO no PDP - 99% peças desapego = 1 unidade
   Esconde tanto na PDP normal quanto no sticky-add-to-cart */
body.single-product .quantity,
body.single-product .ux-quantity,
body.single-product .ux-quantity.quantity,
body.single-product .quantity.buttons_added,
body.single-product .ux-quantity.quantity.buttons_added,
body.single-product .product-info .quantity,
body.single-product .cart .quantity,
body.single-product form.cart .quantity,
.sticky-add-to-cart .quantity,
.sticky-add-to-cart .ux-quantity,
.sticky-add-to-cart--active .quantity,
.sticky-add-to-cart--active .ux-quantity {
  display: none !important;
  visibility: hidden !important;
  width: 0 !important;
  height: 0 !important;
  opacity: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  position: absolute !important;
  pointer-events: none !important;
}

/* Garante que o botão "Comprar agora" pegue largura total da row */
body.single-product .cart {
  display: flex !important;
  gap: 0 !important;
  align-items: stretch !important;
  margin-bottom: 24px !important;
}

body.single-product .cart .single_add_to_cart_button {
  flex: 1 1 auto !important;
}

/* Cart button row — flex com qty + add */
body.single-product .cart {
  display: flex !important;
  gap: 12px !important;
  align-items: center !important;
  margin-bottom: 24px !important;
}

/* Variations (size selector) — bonito tipo preview
   FIX 2026-10-08: espacamento reduzido a pedido do usuario */
body.single-product .variations {
  margin: 14px 0 !important;
  border: 0 !important;
}

body.single-product .variations label,
body.single-product .variations th {
  font-family: var(--luiza-font-body) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: var(--luiza-heading) !important;
  background: transparent !important;
  border: 0 !important;
  padding: 0 0 8px !important;
}

body.single-product .variations select {
  font-family: var(--luiza-font-body) !important;
  font-size: 13px !important;
  color: var(--luiza-heading) !important;
  border: 1px solid var(--luiza-border) !important;
  border-radius: 4px !important;
  background: white !important;
  padding: 12px 32px 12px 14px !important;
  cursor: pointer !important;
  height: auto !important;
}

/* Description PDP (woocommerce-product-details__short-description) */
body.single-product .product-short-description,
body.single-product .woocommerce-product-details__short-description {
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  margin: 16px 0 28px !important;
  font-family: var(--luiza-font-body) !important;
  font-size: 15px !important;
  color: var(--luiza-heading) !important;
  line-height: 1.7 !important;
  opacity: 0.85 !important;
}

/* ============================================================================
   FIX 5.1.0 — PDP FEATURE BOXES (Frete Grátis, Devoluções Gratuitas)
   Markup do Flatsome: .icon-box.featured-box.icon-box-left.text-left
   Substitui icones quebrados (screenshots de tela) por SVGs editoriais via JS,
   força tipografia Inter consistente, layout flex de 2 colunas elegante
   ============================================================================ */

body.single-product .icon-box.featured-box.icon-box-left.text-left,
body.single-product .icon-box.featured-box,
body.single-product .icon-box.featured-box.icon-box-top {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: flex-start !important;
  gap: 14px !important;
  padding: 16px 0 !important;
  margin: 0 !important;
  background: transparent !important;
  border: 0 !important;
  font-family: var(--luiza-font-body, 'Inter', sans-serif) !important;
  width: 100% !important;
}

/* Hide o IMG original (screenshots de tela "Captura-de-tela-...") — substituido via JS */
body.single-product .icon-box.featured-box .icon-box-img img,
body.single-product .icon-box-img > .icon img {
  display: none !important;
}

/* Container do icon-box-img — esconde se vazio (depois da remoção do img) */
body.single-product .icon-box.featured-box .icon-box-img {
  width: 32px !important;
  min-width: 32px !important;
  height: 32px !important;
  flex-shrink: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

body.single-product .icon-box.featured-box .icon-box-img .icon,
body.single-product .icon-box.featured-box .icon-box-img .icon-inner {
  width: 32px !important;
  height: 32px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* SVG injetado via JS */
body.single-product .icon-box.featured-box .icon-box-img svg,
body.single-product .luiza-feature-svg {
  width: 28px !important;
  height: 28px !important;
  color: var(--luiza-primary) !important;
  stroke: var(--luiza-primary) !important;
  fill: none !important;
  stroke-width: 1.5 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
  flex: none !important;
  flex-shrink: 0 !important;
  display: block !important;
}

/* FIX 5.1.5: força fill:none nos filhos da SVG (path, polyline, circle, rect)
   pra evitar render de círculo preenchido como o user reportou */
body.single-product .luiza-feature-svg *,
body.single-product .luiza-feature-svg path,
body.single-product .luiza-feature-svg polyline,
body.single-product .luiza-feature-svg circle,
body.single-product .luiza-feature-svg rect,
body.single-product .luiza-feature-svg line,
body.single-product .icon-box.featured-box .icon-box-img svg path,
body.single-product .icon-box.featured-box .icon-box-img svg polyline,
body.single-product .icon-box.featured-box .icon-box-img svg circle,
body.single-product .icon-box.featured-box .icon-box-img svg rect {
  fill: none !important;
  stroke: var(--luiza-primary) !important;
  stroke-width: 1.5 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

/* Title H3 — Inter bold 13px, NÃO serif */
body.single-product .icon-box.featured-box .icon-box-text h3,
body.single-product .icon-box.featured-box h3,
body.single-product .icon-box.featured-box h3 b {
  font-family: var(--luiza-font-body, 'Inter', sans-serif) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: var(--luiza-heading) !important;
  line-height: 1.3 !important;
  margin: 0 0 3px !important;
  padding: 0 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

/* Description P — Inter regular 12px muted */
body.single-product .icon-box.featured-box .icon-box-text p,
body.single-product .icon-box.featured-box p {
  font-family: var(--luiza-font-body, 'Inter', sans-serif) !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  color: var(--luiza-muted) !important;
  line-height: 1.5 !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.single-product .icon-box.featured-box .icon-box-text {
  flex: 1 1 auto !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Override do .text wrapper id-based custom inline-style (font-size: 0.75rem etc) */
body.single-product .icon-box.featured-box .icon-box-text .text,
body.single-product .icon-box.featured-box .icon-box-text > .text > * {
  font-family: var(--luiza-font-body, 'Inter', sans-serif) !important;
  font-size: 12px !important;
  line-height: 1.5 !important;
  text-align: left !important;
}

/* Container que envolve os 2 boxes — layout grid 2-col em desktop, 1-col mobile */
body.single-product .row .icon-box.featured-box.icon-box-left.text-left {
  margin: 0 !important;
}

/* Wrapper visual elegante — borda top/bottom como preview */
body.single-product .product-info .icon-box.featured-box.icon-box-left.text-left:first-of-type,
body.single-product .product-info .icon-box.featured-box.icon-box-left.text-left:last-of-type {
  /* mantém padding interno, container pai dá borda */
}

/* Mobile PDP */
@media (max-width: 768px) {
  body.single-product .product-page-price .payment-price ins,
  body.single-product .product-page-price .payment-price ins bdi {
    font-size: 28px !important;
  }
  body.single-product .product-page-price .payment-price del,
  body.single-product .product-page-price .payment-price del bdi {
    font-size: 18px !important;
  }
  body.single-product .single_add_to_cart_button {
    min-width: 100% !important;
    width: 100% !important;
  }
}

/* ============================================================================
   ETAPA H.2 — FIX 5.0 BUNDLE — PDP RATING, PAGE-DOTS, FAQ FONT, STICKY CART
   ============================================================================ */

/* --- PDP RATING (estrelas + avaliações) match preview .pdp-rating ---
   Markup gerado via JS em functions.php injectPdpRating() */
.luiza-pdp-rating {
  display: flex !important;
  gap: 8px !important;
  align-items: center !important;
  margin: 0 0 10px !important;
  font-family: var(--luiza-font-body, 'Inter', sans-serif) !important;
  font-size: 13px !important;
  color: var(--luiza-muted) !important;
}

.luiza-pdp-rating .stars {
  color: var(--luiza-primary) !important;
  letter-spacing: 0.1em !important;
  font-size: 19px !important;
  line-height: 1 !important;
  position: relative !important;
  display: inline-block !important;
}

.luiza-pdp-rating .stars-bg {
  color: var(--luiza-border) !important;
  position: relative !important;
}

.luiza-pdp-rating .stars-fill {
  color: var(--luiza-orange) !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  overflow: hidden !important;
  white-space: nowrap !important;
}

/* Esconde o rating nativo do WooCommerce (que mostra média de reviews reais) */
body.single-product .woocommerce-product-rating,
body.single-product .product-rating {
  display: none !important;
}

/* --- PAGE-DOTS (carousel pagination Flatsome) — fix bugado em todo lugar --- */
.page-dots,
.flickity-page-dots,
.slider-nav-dots,
.swiper-pagination {
  display: flex !important;
  gap: 8px !important;
  justify-content: center !important;
  align-items: center !important;
  padding: 12px 0 !important;
  margin: 16px 0 0 !important;
  list-style: none !important;
  text-align: center !important;
  position: relative !important;
  bottom: auto !important;
  left: auto !important;
  right: auto !important;
}

.page-dots li,
.page-dots .dot,
.flickity-page-dots .dot,
.slider-nav-dots li,
.swiper-pagination-bullet {
  display: inline-block !important;
  width: 8px !important;
  height: 8px !important;
  min-width: 8px !important;
  min-height: 8px !important;
  max-width: 8px !important;
  max-height: 8px !important;
  border-radius: 50% !important;
  background: var(--luiza-border) !important;
  border: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  opacity: 1 !important;
  cursor: pointer !important;
  transition: background 0.2s ease, transform 0.2s ease !important;
  text-indent: -9999px !important;
  overflow: hidden !important;
  font-size: 0 !important;
  line-height: 0 !important;
}

.page-dots li.active,
.page-dots .dot.is-selected,
.flickity-page-dots .dot.is-selected,
.slider-nav-dots li.active,
.swiper-pagination-bullet-active {
  background: var(--luiza-primary) !important;
  transform: scale(1.3) !important;
}

.page-dots a,
.page-dots button,
.slider-nav-dots a {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* --- FAQ SECTION (custom HTML provavelmente) — força tipografia do tema --- */
.faq-section,
.faq-section *,
[class*="faq"],
[class*="faq"] *,
.accordion,
.accordion *,
.toggle,
.toggle * {
  font-family: var(--luiza-font-body, 'Inter', sans-serif) !important;
}

.faq-section h1,
.faq-section h2,
.faq-section h3,
.faq-section h4,
.faq-section .faq-title,
.faq-section .accordion-title,
[class*="faq"] h2,
[class*="faq"] h3,
[class*="faq"] .title {
  font-family: var(--luiza-font-heading, 'Cormorant Garamond', serif) !important;
  color: var(--luiza-heading) !important;
  font-weight: 500 !important;
}

.faq-section h2,
[class*="faq"] h2.section-heading,
.section.faq h2 {
  font-size: clamp(28px, 3.5vw, 38px) !important;
  letter-spacing: -0.01em !important;
  line-height: 1.2 !important;
  text-align: center !important;
  margin: 0 0 24px !important;
}

.faq-section .accordion-item,
.faq-section .accordion-inner,
.faq-section details,
[class*="faq"] details,
[class*="faq"] .accordion-item {
  background: white !important;
  border: 1px solid var(--luiza-border) !important;
  border-radius: 6px !important;
  margin: 0 0 8px !important;
  padding: 0 !important;
}

.faq-section .accordion-title,
.faq-section summary,
[class*="faq"] summary,
[class*="faq"] .accordion-title {
  font-family: var(--luiza-font-body, 'Inter', sans-serif) !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  color: var(--luiza-heading) !important;
  padding: 16px 20px !important;
  cursor: pointer !important;
  list-style: none !important;
  position: relative !important;
}

.faq-section .accordion-content,
.faq-section details > *:not(summary),
[class*="faq"] details > *:not(summary),
[class*="faq"] .accordion-content {
  font-family: var(--luiza-font-body, 'Inter', sans-serif) !important;
  font-size: 14px !important;
  color: var(--luiza-body) !important;
  line-height: 1.6 !important;
  padding: 0 20px 20px !important;
}

/* --- STICKY ADD-TO-CART (barra que aparece on-scroll) — v5.2.7 reformulado --- */
/* Estrutura real do Flatsome:
   .sticky-add-to-cart > .sticky-add-to-cart__product (single child)
     > <img>
     > .product-title-small.hide-for-small (escondido no mobile via Flatsome)
     > .sticky-add-to-cart__price (injetado via JS no functions.php)
     > <form.cart> (contém quantity hidden + button)
*/
/* Default: barra fica escondida — Flatsome adiciona --active no scroll */
.sticky-add-to-cart {
  display: none !important;
}
.sticky-add-to-cart--active {
  background: var(--luiza-bg-cream) !important;
  border-top: 1px solid var(--luiza-border) !important;
  box-shadow: 0 -4px 16px rgba(59, 47, 42, 0.08) !important;
  padding: 10px 16px !important;
  z-index: 9999 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  position: fixed !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
}

.sticky-add-to-cart__product {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  max-width: 1280px !important;
  width: 100% !important;
  margin: 0 auto !important;
  flex-wrap: nowrap !important;
  min-width: 0 !important;
}

.sticky-add-to-cart__product > img,
.sticky-add-to-cart .sticky-add-to-cart-img {
  width: 52px !important;
  height: 52px !important;
  object-fit: cover !important;
  border-radius: 6px !important;
  flex-shrink: 0 !important;
  border: 1px solid var(--luiza-border) !important;
}

/* Title — força mostrar no mobile (Flatsome usa hide-for-small) */
.sticky-add-to-cart .product-title-small,
.sticky-add-to-cart__product-title {
  display: flex !important;
  flex: 1 1 0% !important;
  min-width: 0 !important;
  margin: 0 !important;
  font-family: var(--luiza-font-body, 'Inter', sans-serif) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: var(--luiza-heading) !important;
  line-height: 1.3 !important;
  letter-spacing: 0 !important;
  flex-direction: column !important;
  gap: 2px !important;
  overflow: hidden !important;
}
.sticky-add-to-cart .product-title-small strong {
  font-weight: 500 !important;
  color: var(--luiza-heading) !important;
  display: block !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  max-width: 100% !important;
}

/* Preço (injetado via JS) */
.sticky-add-to-cart__price {
  display: block !important;
  font-family: var(--luiza-font-body, 'Inter', sans-serif) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: var(--luiza-primary) !important;
  white-space: nowrap !important;
  margin-top: 1px !important;
}
.sticky-add-to-cart__price del {
  font-weight: 400 !important;
  color: var(--luiza-text-light, #8B6F5C) !important;
  font-size: 11px !important;
  margin-right: 4px !important;
  text-decoration: line-through !important;
}
.sticky-add-to-cart__price ins {
  background: transparent !important;
  text-decoration: none !important;
}
/* Defensivo: esconde ícones SVG, parcelas, e wrappers do simulador */
.sticky-add-to-cart__price svg,
.sticky-add-to-cart__price .icon,
.sticky-add-to-cart__price .payment-name,
.sticky-add-to-cart__price .wc-installments {
  display: none !important;
}
.sticky-add-to-cart__price .wcsp-container,
.sticky-add-to-cart__price .payment,
.sticky-add-to-cart__price .payment-info,
.sticky-add-to-cart__price .payment-price,
.sticky-add-to-cart__price .woocommerce-Price-amount {
  display: inline !important;
  background: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
}

/* Form — não estica, fica width auto e o botão respira */
.sticky-add-to-cart form.cart,
.sticky-add-to-cart .cart {
  flex: 0 0 auto !important;
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
  width: auto !important;
}

/* Specificity boost — body.single-product .cart .single_add_to_cart_button na linha ~3308
   tem flex:1 1 auto. Aqui sobreescrevemos com seletor mais específico. */
body.single-product .sticky-add-to-cart .button,
body.single-product .sticky-add-to-cart .add_to_cart_button,
body.single-product .sticky-add-to-cart .single_add_to_cart_button,
body.single-product .sticky-add-to-cart--active .single_add_to_cart_button,
body.single-product .sticky-add-to-cart--active form.cart .single_add_to_cart_button {
  background: var(--luiza-orange-soft) !important;
  color: #FFFFFF !important;
  border: 0 !important;
  border-radius: 6px !important;
  padding: 12px 18px !important;
  font-family: var(--luiza-font-body, 'Inter', sans-serif) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  flex: 0 0 auto !important;
  margin: 0 !important;
  height: auto !important;
  width: auto !important;
  max-width: 180px !important;
  min-width: 0 !important;
  white-space: nowrap !important;
  transition: background .2s ease !important;
  display: inline-block !important;
}

body.single-product .sticky-add-to-cart .single_add_to_cart_button:hover,
body.single-product .sticky-add-to-cart--active .single_add_to_cart_button:hover {
  background: var(--luiza-orange-ink) !important;
}

/* Title sem max-width herdado */
body.single-product .sticky-add-to-cart .product-title-small {
  max-width: none !important;
}

/* Mobile — encolhe imagem, título visível, botão proporcional */
@media (max-width: 600px) {
  .sticky-add-to-cart,
  .sticky-add-to-cart--active {
    padding: 8px 10px !important;
  }
  .sticky-add-to-cart__product {
    gap: 10px !important;
  }
  .sticky-add-to-cart__product > img,
  .sticky-add-to-cart .sticky-add-to-cart-img {
    width: 44px !important;
    height: 44px !important;
  }
  .sticky-add-to-cart .product-title-small {
    font-size: 12.5px !important;
  }
  .sticky-add-to-cart .product-title-small strong {
    font-size: 12.5px !important;
    -webkit-line-clamp: 1 !important;
  }
  .sticky-add-to-cart__price {
    font-size: 12px !important;
  }
  .sticky-add-to-cart .button,
  .sticky-add-to-cart .single_add_to_cart_button {
    padding: 10px 14px !important;
    font-size: 11px !important;
    letter-spacing: 0.06em !important;
  }
}

/* Telas muito pequenas (≤360px) — botão menor pra caber tudo */
@media (max-width: 360px) {
  .sticky-add-to-cart .button,
  .sticky-add-to-cart .single_add_to_cart_button {
    padding: 9px 12px !important;
    font-size: 10.5px !important;
  }
  .sticky-add-to-cart__product > img,
  .sticky-add-to-cart .sticky-add-to-cart-img {
    width: 40px !important;
    height: 40px !important;
  }
}

/* ============================================================================
   SEARCH OVERLAY (5.2.13) — overlay editorial para o ícone de busca do header
   Trigger: click em [data-luiza-search="1"]
   Estrutura: backdrop + panel (input + close), prefixo .loja-*
   ============================================================================ */
.loja-search-overlay {
  position: fixed;
  inset: 0;
  z-index: 99999;
  visibility: hidden;
  opacity: 0;
  transition: opacity .25s ease, visibility .25s ease;
  pointer-events: none;
}
.loja-search-overlay.is-open {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
}
.loja-search-overlay__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(59, 47, 42, 0.55);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  cursor: pointer;
}
.loja-search-overlay__panel {
  position: relative;
  background: #FAF6F0;
  width: 92%;
  max-width: 720px;
  margin: 12vh auto 0;
  padding: 56px 48px 48px;
  border-radius: 12px;
  box-shadow: 0 24px 64px rgba(59, 47, 42, 0.25);
  transform: translateY(-12px);
  transition: transform .3s cubic-bezier(.2, .8, .2, 1);
}
.loja-search-overlay.is-open .loja-search-overlay__panel {
  transform: translateY(0);
}
.loja-search-overlay__close {
  position: absolute;
  top: 14px;
  right: 14px;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  border: 0;
  color: #6B5D55;
  cursor: pointer;
  border-radius: 50%;
  transition: background .2s ease, color .2s ease;
}
.loja-search-overlay__close:hover {
  background: #E8DFD3;
  color: #3B2F2A;
}
.loja-search-overlay__inner {
  text-align: center;
}
.loja-search-overlay__eyebrow {
  display: block;
  font-family: 'Inter', sans-serif;
  font-size: 12px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #8B6F5C;
  margin-bottom: 22px;
  font-weight: 500;
}
/* Form: editorial minimal — só border-bottom, ícone interno, submit oculto (Enter funciona) */
.loja-search-overlay__form {
  display: flex;
  align-items: center;
  gap: 12px;
  background: transparent;
  border: 0;
  border-bottom: 1px solid #C9A77A;
  border-radius: 0;
  padding: 6px 0 10px;
  transition: border-color .2s ease;
}
.loja-search-overlay__form:focus-within {
  border-bottom-color: #8B6F5C;
  box-shadow: none;
}
.loja-search-overlay__icon {
  flex-shrink: 0;
  color: #8B6F5C;
  width: 22px;
  height: 22px;
}
body .loja-search-overlay__input,
body input.loja-search-overlay__input,
.loja-search-overlay__input {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  border: 0 !important;
  background: transparent !important;
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 22px !important;
  font-weight: 400 !important;
  color: #3B2F2A !important;
  padding: 0 !important;
  margin: 0 !important;
  outline: none !important;
  letter-spacing: 0.3px !important;
  -webkit-appearance: none !important;
  appearance: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  width: 100% !important;
  height: 32px !important;
  min-height: 32px !important;
  max-height: 32px !important;
  line-height: 32px !important;
  vertical-align: middle !important;
  box-sizing: border-box !important;
}
.loja-search-overlay__input::-webkit-search-decoration,
.loja-search-overlay__input::-webkit-search-cancel-button,
.loja-search-overlay__input::-webkit-search-results-button,
.loja-search-overlay__input::-webkit-search-results-decoration {
  -webkit-appearance: none;
  display: none;
}
.loja-search-overlay__input::placeholder {
  color: #A89A92;
  font-style: italic;
  font-weight: 400;
}
/* Submit acessível mas oculto visualmente (Enter no teclado já submete) */
.loja-search-overlay__submit {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.loja-search-overlay__hint {
  margin: 22px 0 0;
  font-family: 'Inter', sans-serif;
  font-size: 11.5px;
  letter-spacing: 0.05em;
  color: #8B6F5C;
  text-align: center;
}
.loja-search-overlay__hint kbd {
  display: inline-block;
  background: #F2EAD9;
  color: #3B2F2A;
  font-family: 'Inter', sans-serif;
  font-size: 10.5px;
  font-weight: 500;
  padding: 2px 7px;
  border-radius: 3px;
  margin: 0 3px;
  border: 1px solid #E8DFD3;
}
.loja-search-overlay__hint-second {
  display: inline-block;
  margin-top: 6px;
}
@media (max-width: 640px) {
  .loja-search-overlay__panel {
    width: 94%;
    margin: 8vh auto 0;
    padding: 44px 22px 24px;
  }
  .loja-search-overlay__input {
    font-size: 20px;
  }
}

/* ============================================================================
   ARCHIVE TOOLBAR (5.2.27) — botão "Ordenar" em archive/search
   ============================================================================ */
.loja-archive-toolbar {
  padding: 0 0 12px !important;
  margin-top: 0 !important;
  position: relative;
}
.loja-archive-toolbar .container {
  display: flex !important;
  justify-content: flex-start !important;
  align-items: center !important;
  position: relative !important;
  padding: 0 !important;
  max-width: none !important;
  gap: 10px !important;
  flex-wrap: nowrap !important;
}

/* Anti-FOUC: plugin renderiza com visibility:hidden, child theme libera após estilizar */
.luiza-size-filter,
body .luiza-size-filter,
.shop-container .luiza-size-filter {
  visibility: visible !important;
}
/* Size filter — wrapper apenas posiciona (estilo da pílula vem do .loja-archive-sort-trigger injetado via JS) */
.loja-archive-toolbar .container .luiza-size-filter {
  margin: 0 0 0 auto !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  flex: 0 0 auto !important;
  width: auto !important;
  min-width: 0 !important;
  position: relative !important;
}
/* Esconde select nativo e label do plugin (substituídos pelo trigger custom) */
.loja-archive-toolbar .container .luiza-size-filter__label,
.loja-archive-toolbar .container .luiza-size-filter__select-wrap {
  display: none !important;
}
body .loja-archive-sort-trigger,
button.loja-archive-sort-trigger {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  background: #FFFFFF !important;
  border: 1px solid #E8DFD3 !important;
  border-radius: 24px !important;
  padding: 10px 18px !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  color: #6B5D55 !important;
  cursor: pointer !important;
  transition: border-color .2s ease, background .2s ease !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  height: auto !important;
  min-height: 0 !important;
  line-height: 1.4 !important;
  text-align: left !important;
  white-space: nowrap !important;
}
body .loja-archive-sort-trigger *,
button.loja-archive-sort-trigger * {
  text-transform: none !important;
  letter-spacing: 0 !important;
}
.loja-archive-sort-trigger:hover {
  border-color: #C9A77A;
  background: #FAF6F0;
}
.loja-archive-sort-trigger[aria-expanded="true"] {
  border-color: #8B6F5C;
  background: #FAF6F0;
}
.loja-archive-sort-trigger__label strong {
  color: #3B2F2A;
  font-weight: 600;
  margin-left: 4px;
}
.loja-archive-sort-trigger__chevron {
  color: #8B6F5C;
  flex-shrink: 0;
  transition: transform .25s ease;
}
.loja-archive-sort-trigger[aria-expanded="true"] .loja-archive-sort-trigger__chevron {
  transform: rotate(180deg);
}
.loja-archive-sort-menu {
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  background: #FFFFFF;
  border: 1px solid #E8DFD3;
  border-radius: 8px;
  box-shadow: 0 8px 24px rgba(59, 47, 42, 0.10);
  padding: 8px;
  min-width: 240px;
  max-height: 320px;
  overflow-y: auto;
  z-index: 100;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.loja-archive-sort-menu[hidden] {
  display: none !important;
}
.loja-archive-sort-option {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 10px 14px;
  border-radius: 6px;
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  font-weight: 400;
  color: #3B2F2A;
  text-decoration: none !important;
  transition: background .15s ease, color .15s ease;
}
.loja-archive-sort-option:hover {
  background: #F2EAD9;
  color: #3B2F2A;
}
.loja-archive-sort-option.is-active {
  background: #FAF6F0;
  color: #8B6F5C;
  font-weight: 500;
}
.loja-archive-sort-option svg {
  color: #8B6F5C;
  flex-shrink: 0;
}
@media (max-width: 640px) {
  .loja-archive-toolbar {
    padding: 0 0 10px !important;
    margin-top: 0 !important;
  }
  .loja-archive-toolbar .container {
    padding: 0 !important;
    max-width: none !important;
    justify-content: flex-start !important;
    gap: 8px !important;
  }
  /* Esconde "Mais relevantes" no mobile — só "Ordenar" + chevron */
  .loja-archive-toolbar .container .loja-archive-sort-trigger__label strong {
    display: none !important;
  }
  .loja-archive-toolbar .container .loja-archive-sort-trigger__label::after {
    content: '' !important;
  }
  /* Sem filtro: mostra só "Tamanho:" (esconde "Todos") pra ficar compacto */
  .loja-archive-toolbar .container .luiza-size-filter:not(.is-filtered) .loja-archive-sort-trigger__label strong {
    display: none !important;
  }
  /* Com filtro: mostra "Tamanho: PP" completo */
  .loja-archive-toolbar .container .luiza-size-filter.is-filtered .loja-archive-sort-trigger__label strong {
    display: inline !important;
  }
  /* Posiciona o menu do filter à direita pra não cortar */
  .loja-archive-toolbar .container .luiza-size-filter .loja-archive-sort-menu {
    left: auto !important;
    right: -6px !important;
    max-height: 280px !important;
    overflow-y: auto !important;
  }
  /* Alinha o trigger do Tamanho com a borda direita da imagem do card */
  .loja-archive-toolbar .container .luiza-size-filter .loja-archive-sort-trigger {
    margin-right: -14px !important;
    margin-left: 0 !important;
  }
  .loja-archive-toolbar .container .luiza-size-filter {
    margin-right: 0 !important;
    padding-right: 0 !important;
  }
  body .loja-archive-sort-trigger,
  button.loja-archive-sort-trigger {
    padding: 7px 14px !important;
    font-size: 12px !important;
    height: auto !important;
    min-height: 0 !important;
    line-height: 1.4 !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    flex: 0 0 auto !important;
    align-self: flex-start !important;
    margin-left: -6px !important;
    border-radius: 20px !important;
    gap: 8px !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
  }
  .loja-archive-sort-trigger__label {
    font-size: 12px !important;
    line-height: 1.4 !important;
  }
  .loja-archive-sort-menu {
    min-width: 200px !important;
    left: -6px !important;
    padding: 6px !important;
  }
  .loja-archive-sort-option {
    padding: 9px 12px !important;
    font-size: 12.5px !important;
  }
}

/* ============================================================================
   HC ORDER LOOKUP MODAL (5.2.32) — restilização editorial do modal de
   "Meus pedidos" (plugin hypercash-checkout). O plugin gera HTML e JS — aqui
   só sobrescrevemos visual pra casar com a paleta editorial pastel.
   ============================================================================ */
.hc-recover-modal {
  position: fixed !important;
  inset: 0 !important;
  z-index: 99999 !important;
  display: none !important;
  align-items: flex-start !important;
  justify-content: center !important;
  opacity: 0;
  transition: opacity .25s ease;
}
.hc-recover-modal.is-open {
  display: flex !important;
  opacity: 1;
}
.hc-recover-modal__backdrop {
  position: absolute !important;
  inset: 0 !important;
  background: rgba(59, 47, 42, 0.55) !important;
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  cursor: pointer;
}
.hc-recover-modal__panel {
  position: relative !important;
  background: #FAF6F0 !important;
  width: 92% !important;
  max-width: 640px !important;
  margin: 8vh auto 0 !important;
  padding: 48px 40px 40px !important;
  border-radius: 12px !important;
  box-shadow: 0 24px 64px rgba(59, 47, 42, 0.25) !important;
  max-height: 84vh !important;
  overflow-y: auto !important;
  transform: translateY(-12px);
  transition: transform .3s cubic-bezier(.2, .8, .2, 1);
}
.hc-recover-modal.is-open .hc-recover-modal__panel {
  transform: translateY(0);
}
body .hc-recover-modal__close,
.hc-recover-modal button.hc-recover-modal__close,
.hc-recover-modal__panel .hc-recover-modal__close {
  position: absolute !important;
  top: 8px !important;
  right: 8px !important;
  width: 36px !important;
  height: 36px !important;
  min-height: 0 !important;
  max-height: 36px !important;
  min-width: 0 !important;
  max-width: 36px !important;
  z-index: 5 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 50% !important;
  color: #6B5D55 !important;
  font-size: 22px !important;
  line-height: 1 !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  transition: background .2s ease, color .2s ease;
}
.hc-recover-modal__close:hover {
  background: #E8DFD3 !important;
  color: #3B2F2A !important;
}
.hc-recover-modal__header {
  text-align: center;
  margin-bottom: 28px;
  padding: 0 44px !important;
}
.hc-recover-modal__title {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 32px !important;
  font-weight: 500 !important;
  color: #3B2F2A !important;
  margin: 0 0 10px !important;
  line-height: 1.15 !important;
  letter-spacing: 0.3px;
}
.hc-recover-modal__subtitle {
  font-family: 'Inter', sans-serif !important;
  font-size: 14px !important;
  color: #6B5D55 !important;
  margin: 0 !important;
  line-height: 1.5;
}

/* Form */
.hc-recover-form {
  margin-bottom: 24px;
}
.hc-recover-form__label {
  display: block !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 11.5px !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  color: #8B6F5C !important;
  font-weight: 500 !important;
  margin-bottom: 10px !important;
}
.hc-recover-form__row {
  display: flex !important;
  align-items: stretch !important;
  gap: 8px !important;
  background: #FFFFFF !important;
  border: 1px solid #E8DFD3 !important;
  border-radius: 8px !important;
  padding: 6px !important;
  transition: border-color .2s ease, box-shadow .2s ease;
}
.hc-recover-form__row:focus-within {
  border-color: #8B6F5C !important;
  box-shadow: 0 0 0 3px rgba(139, 111, 92, 0.12) !important;
}
.hc-recover-form__input {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  border: 0 !important;
  background: transparent !important;
  outline: none !important;
  padding: 10px 12px !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 15px !important;
  color: #3B2F2A !important;
  box-shadow: none !important;
  height: auto !important;
  min-height: 0 !important;
}
.hc-recover-form__input::placeholder {
  color: #A89A92 !important;
}
.hc-recover-form__submit {
  flex: 0 0 auto !important;
  background: var(--luiza-orange-soft) !important;
  color: #FFFFFF !important;
  border: 0 !important;
  border-radius: 6px !important;
  padding: 10px 20px !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  transition: background .2s ease;
  margin: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  white-space: nowrap !important;
}
.hc-recover-form__submit:hover {
  background: var(--luiza-orange-ink) !important;
}
.hc-recover-form__submit:disabled {
  opacity: .6 !important;
  cursor: not-allowed !important;
}
.hc-recover-form__error {
  margin-top: 10px !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 13px !important;
  color: #B85C5C !important;
  min-height: 18px;
}

/* Esconde form quando há resultados (após user buscar e achar pedidos) */
.hc-recover-modal__panel:has(.hc-recover-results__list > *) .hc-recover-form,
.hc-recover-modal__panel:has(.hc-recover-results__list .hc-recover-card) .hc-recover-form {
  display: none !important;
}
/* Quando form está escondido, header também não precisa do subtitle "Informe o e-mail..." */
.hc-recover-modal__panel:has(.hc-recover-results__list > *) .hc-recover-modal__subtitle {
  display: none !important;
}
/* Header com margin menor quando results visíveis */
.hc-recover-modal__panel:has(.hc-recover-results__list > *) .hc-recover-modal__header {
  margin-bottom: 16px !important;
}

/* Results list */
.hc-recover-results__hidden-notice {
  font-family: 'Inter', sans-serif !important;
  font-size: 13px !important;
  color: #8B6F5C !important;
  background: #F2EAD9 !important;
  padding: 12px 16px !important;
  border-radius: 6px !important;
  margin-bottom: 16px !important;
  text-align: center;
}
.hc-recover-results__list {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
}

/* Card */
.hc-recover-card {
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  background: #FFFFFF !important;
  border: 1px solid #E8DFD3 !important;
  border-radius: 10px !important;
  padding: 14px !important;
  transition: border-color .2s ease, box-shadow .2s ease;
}
.hc-recover-card:hover {
  border-color: #C9A77A !important;
  box-shadow: 0 4px 16px rgba(139, 111, 92, 0.08);
}
.hc-recover-card__image {
  flex-shrink: 0 !important;
  width: 64px !important;
  height: 64px !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  background: #F2EAD9 !important;
  border: 1px solid #E8DFD3 !important;
}
.hc-recover-card__image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}
.hc-recover-card__body {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
}
.hc-recover-card__meta {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 11px !important;
  color: #8B6F5C !important;
  letter-spacing: 0.04em;
}
.hc-recover-card__id {
  font-weight: 600 !important;
  color: #3B2F2A !important;
  letter-spacing: 0.06em;
}
.hc-recover-card__date {
  color: #8B6F5C !important;
}
.hc-recover-card__line {
  font-family: 'Inter', sans-serif !important;
  font-size: 13px !important;
  color: #6B5D55 !important;
  margin: 0 !important;
  line-height: 1.4;
}
.hc-recover-card__total {
  color: #3B2F2A !important;
  font-weight: 600 !important;
}
.hc-recover-card__status {
  display: inline-block !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 10.5px !important;
  font-weight: 600 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  padding: 4px 10px !important;
  border-radius: 20px !important;
  margin-top: 4px !important;
  width: fit-content !important;
}
.hc-recover-card__status--processing {
  background: #FBEFD3 !important;
  color: #8A6A1F !important;
}
.hc-recover-card__status--completed {
  background: #D9E9D7 !important;
  color: #3F7236 !important;
}
.hc-recover-card__status--on-hold {
  background: #F7E0CC !important;
  color: #8E4D1C !important;
}
.hc-recover-card__action {
  flex-shrink: 0 !important;
}
.hc-recover-card__track {
  display: inline-block !important;
  background: #3B2F2A !important;
  color: #FAF6F0 !important;
  border: 0 !important;
  border-radius: 6px !important;
  padding: 9px 16px !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 11.5px !important;
  font-weight: 600 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  cursor: pointer !important;
  transition: background .2s ease;
}
.hc-recover-card__track:hover {
  background: #8B6F5C !important;
}
.hc-recover-card__track.is-disabled,
.hc-recover-card__track[disabled] {
  background: #E8DFD3 !important;
  color: #A89A92 !important;
  pointer-events: none !important;
  cursor: not-allowed !important;
}

/* Empty state */
.hc-recover-empty {
  text-align: center !important;
  padding: 32px 16px !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 14px !important;
  color: #6B5D55 !important;
}

@media (max-width: 640px) {
  .hc-recover-modal__panel {
    width: 94% !important;
    margin: 4vh auto 0 !important;
    padding: 56px 18px 16px !important;
    max-height: 92vh !important;
  }
  .hc-recover-modal__header {
    padding: 0 !important;
    margin-bottom: 22px !important;
  }
  .hc-recover-modal__title {
    font-size: 22px !important;
    white-space: nowrap !important;
  }
  .hc-recover-form {
    margin-bottom: 0 !important;
  }
  .hc-recover-form__error:empty {
    display: none !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  .hc-recover-form__row {
    flex-direction: column !important;
    gap: 6px !important;
    padding: 8px !important;
  }
  .hc-recover-form__submit {
    width: 100% !important;
    padding: 12px !important;
  }
  .hc-recover-card {
    flex-wrap: wrap !important;
    gap: 12px !important;
    padding: 12px !important;
  }
  .hc-recover-card__image {
    width: 56px !important;
    height: 56px !important;
  }
  .hc-recover-card__action {
    width: 100% !important;
    margin-top: 4px !important;
  }
  .hc-recover-card__track {
    display: block !important;
    text-align: center !important;
  }
}

/* Live search results (v5.2.14) */
.loja-search-overlay__results {
  margin-top: 0;
  max-height: 0;
  overflow: hidden;
  transition: max-height .3s ease, margin-top .3s ease;
  text-align: left;
}
.loja-search-overlay__results.is-visible {
  max-height: 60vh;
  overflow-y: auto;
  margin-top: 18px;
}
.loja-search-overlay__results.is-loading::before {
  content: 'Buscando…';
  display: block;
  font-family: 'Inter', sans-serif;
  font-size: 12px;
  color: #8B6F5C;
  letter-spacing: .15em;
  text-transform: uppercase;
  text-align: center;
  padding: 10px 0;
}
.loja-search-overlay__result {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 12px;
  border-radius: 8px;
  text-decoration: none !important;
  transition: background .15s ease;
  margin-bottom: 4px;
}
.loja-search-overlay__result:hover {
  background: #F2EAD9;
}
.loja-search-overlay__result img,
.loja-search-overlay__result-noimg {
  width: 56px;
  height: 56px;
  object-fit: cover;
  border-radius: 6px;
  flex-shrink: 0;
  border: 1px solid #E8DFD3;
  background: #F2EAD9;
}
.loja-search-overlay__result-info {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
  flex: 1 1 auto;
}
.loja-search-overlay__result-name {
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  font-weight: 500;
  color: #3B2F2A;
  line-height: 1.3;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.loja-search-overlay__result-price {
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  font-weight: 600;
  color: #8B6F5C;
}
.loja-search-overlay__result-price del {
  font-weight: 400;
  font-size: 11px;
  color: #A89A92;
  margin-right: 6px;
  text-decoration: line-through;
}
.loja-search-overlay__result-price ins {
  background: transparent;
  text-decoration: none;
  color: #8B6F5C;
}
.loja-search-overlay__result-all {
  display: block;
  text-align: center;
  padding: 14px;
  margin-top: 8px;
  font-family: 'Inter', sans-serif;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #8B6F5C;
  text-decoration: none !important;
  border-top: 1px solid #E8DFD3;
  transition: color .2s ease, background .2s ease;
}
.loja-search-overlay__result-all:hover {
  background: #F2EAD9;
  color: #3B2F2A;
}
.loja-search-overlay__empty {
  text-align: center;
  padding: 24px 12px;
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  color: #6B5D55;
}
.loja-search-overlay__empty strong {
  color: #3B2F2A;
  font-weight: 500;
}
@media (max-width: 640px) {
  .loja-search-overlay__results.is-visible {
    max-height: 50vh;
  }
  .loja-search-overlay__result {
    padding: 10px 8px;
    gap: 12px;
  }
  .loja-search-overlay__result img,
  .loja-search-overlay__result-noimg {
    width: 48px;
    height: 48px;
  }
  .loja-search-overlay__result-name {
    font-size: 13px;
  }
}

/* ============================================================================
   FIX 5.0.6 — MOBILE HEADER: logo maior + spacing icones
   ============================================================================ */
@media (max-width: 849px) {
  /* Logo mobile — era 26x40px, agora maior e centralizado bonito */
  .header-logo,
  .header-logo a,
  .logo,
  .logo a {
    line-height: 1 !important;
    height: auto !important;
  }
  .header-logo img,
  .header_logo,
  .logo img,
  #logo img {
    width: auto !important;
    max-width: 200px !important;
    height: 66px !important;
    max-height: 66px !important;
    min-height: 66px !important;
    padding: 0 !important;
    margin: 0 !important;
    object-fit: contain !important;
  }

  /* Header original (não cresce com a logo) */
  .header-main,
  .stuck .header-main {
    height: 72px !important;
    min-height: 72px !important;
  }
  .header-main .flex-row {
    min-height: 72px !important;
  }
  .header-bottom {
    display: none !important;
  }

  /* Icones direita — espaçamento uniforme */
  .header-main ul.nav-right,
  .header-main .flex-col.flex-right > ul.nav {
    display: flex !important;
    align-items: center !important;
    gap: 4px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .header-main ul.nav-right > li,
  .header-main .flex-col.flex-right > ul.nav > li {
    margin: 0 !important;
    padding: 0 !important;
    width: auto !important;
    height: auto !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .header-main ul.nav-right > li.cart-item,
  .header-main .flex-col.flex-right > ul.nav > li.cart-item {
    margin-left: 0 !important;
  }

  .header-main ul.nav-right > li > a,
  .header-main ul.nav-right > li.cart-item > a,
  .header-main .flex-col.flex-right > ul.nav > li > a {
    width: 36px !important;
    height: 36px !important;
    padding: 0 !important;
    margin: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .header-main ul.nav-right > li > a > svg,
  .header-main ul.nav-right > li > a > i,
  .header-main .luiza-icon-link svg,
  .header-main .header-cart-link svg {
    width: 22px !important;
    height: 22px !important;
  }

  /* Cart icon (Flatsome usa span.image-icon.header-cart-icon com mask-image) — força 22x22 */
  .header-main .header-cart-link .image-icon,
  .header-main .header-cart-link .header-cart-icon,
  .header-main .header-cart-link span.image-icon {
    width: 22px !important;
    height: 22px !important;
    min-width: 22px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 22px !important;
    line-height: 22px !important;
  }
  /* O ::before do image-icon é o que renderiza (mask-image) */
  .header-main .header-cart-link .image-icon::before,
  .header-main .header-cart-link .header-cart-icon::before,
  .header-main .header-cart-link .image-icon[data-icon-label]::before {
    width: 22px !important;
    height: 22px !important;
    font-size: 22px !important;
    line-height: 22px !important;
    background-size: 22px 22px !important;
  }

  /* Esconde dividers/labels em mobile */
  .header-main .header-divider,
  .header-main .header-cart-title {
    display: none !important;
  }

  /* Hamburger — alinha com os outros 22px */
  .header-bottom .icon-menu,
  .icon-menu,
  .nav-icon i.icon-menu {
    font-size: 22px !important;
    width: 22px !important;
    height: 22px !important;
    line-height: 22px !important;
  }
  .nav-icon-toggle,
  .header-block .nav-icon,
  .nav-icon a {
    width: 40px !important;
    height: 40px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
  }

  /* Cart badge mobile — não sobrepor */
  .header-main .cart-icon strong,
  .header-main .header-cart-link .cart-count {
    width: 16px !important;
    height: 16px !important;
    min-width: 16px !important;
    font-size: 9px !important;
    top: 0 !important;
    right: -2px !important;
  }
}

/* FIX 5.1.1: account icon REMOVIDO — site não usa conta de usuário */
.luiza-account-icon-li,
li.luiza-account-icon-li,
.header-main .luiza-account-icon-li {
  display: none !important;
}

/* FIX 5.1.10: remove page-dots do carousel-benefits (plugin hypercash-checkout)
   user pediu pra remover por completo — não controlamos o HTML do plugin então hide via CSS */
#page-dots[aria-controls="carousel-benefits"],
.page-dots[aria-controls="carousel-benefits"],
[id="page-dots"][aria-controls="carousel-benefits"] {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  overflow: hidden !important;
  pointer-events: none !important;
}

/* ============================================================================
   FIX 5.1.7 — BACKGROUND CREME GLOBAL (preview tem creme suave, site tinha branco)
   <main> e wrappers de páginas estavam com bg branco cobrindo o creme do body
   ============================================================================ */
html body main,
html body #main,
html body main.main,
html body main.page-wrapper,
html body .page-wrapper,
html body main#main,
html body #wrapper,
html body main > .page-content,
html body .archive main,
html body .single main,
html body.archive #main,
html body.single-product #main,
html body.page #main,
html body.home #main,
html body.shop #main {
  background: var(--luiza-bg-cream, #FAF7F2) !important;
}

/* FIX 5.1.7+8: remove gap entre header e breadcrumb (mobile + desktop)
   Header termina em y=72 mas breadcrumb começa em y=102 → 30px branco */
html body main,
html body #main,
html body.archive main,
html body.archive #main,
html body.archive .page-wrapper,
html body.single-product main,
html body.single-product #main {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

/* Primeiro filho do main não tem margem superior (qualquer que seja: row, breadcrumb, brinde) */
html body main > *:first-child,
html body #main > *:first-child,
html body main .page-wrapper > *:first-child {
  margin-top: 0 !important;
}

html body.archive .page-wrapper > .row:first-child,
html body.archive #content > .row:first-child,
html body.archive .luiza-breadcrumb,
html body .luiza-breadcrumb {
  margin-top: 0 !important;
  padding-top: 8px !important;
  padding-bottom: 6px !important;
}

/* Mobile — comprime ainda mais */
@media (max-width: 849px) {
  html body .luiza-breadcrumb {
    padding-top: 6px !important;
    padding-bottom: 4px !important;
    font-size: 10px !important;
  }
  html body #progressBarContainer {
    margin: 8px 12px !important;
  }
}

/* FIX 5.1.8b: .row.category-page-row tinha padding-top: 30px (Flatsome default)
   causando gap entre header e breadcrumb */
html body .row.category-page-row,
html body main .row.category-page-row,
html body .archive .row.category-page-row {
  padding-top: 0 !important;
}

/* Footer mantém soft-bg areia */
html body footer.footer,
html body #footer,
html body footer.absolute-footer {
  background: var(--luiza-soft-bg, #E8DDD0) !important;
}

/* FIX 5.1.8: FAQ section também com bg creme (estava branco) */
html body .faq-section,
html body section.faq-section,
html body [class*="faq"],
html body .section.faq,
html body section.faq,
html body div.section.faq-section,
html body .ux-section.faq-section {
  background: var(--luiza-bg-cream, #FAF7F2) !important;
}

html body .faq-section .section-content,
html body .faq-section .ux-section-content,
html body .faq-section .row,
html body [class*="faq"] .section-content {
  background: transparent !important;
}

/* ============================================================================
   FIX 5.1.7 — BRINDE BAR H3 (sobrescreve inline style ineficaz)
   ============================================================================ */
/* BRINDE BAR — layout horizontal: [ícone presente] [texto] [barra inline].
   Cor padrão do tema (marrom editorial), conforme referência aprovada. */
html body #progressBarContainer,
html body div#progressBarContainer {
  display: flex !important;
  align-items: center !important;
  gap: 18px !important;
  background: #FAF7F2 !important;
  border: 1px solid #E8DECF !important;
  border-radius: 10px !important;
  padding: 14px 22px !important;
  margin: 16px auto !important;
  max-width: 1000px !important;
  text-align: left !important;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
}

html body #progressBarContainer .loja-brinde__icon {
  flex: 0 0 auto !important;
  display: inline-flex !important;
  align-items: center !important;
  color: var(--luiza-orange-soft) !important;
}

html body #progressBarContainer .loja-brinde__info {
  flex: 0 0 auto !important;
}

html body #progressBarContainer .loja-brinde__title {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  color: var(--luiza-heading) !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  line-height: 1.3 !important;
  margin: 0 !important;
  padding: 0 !important;
}
html body #progressBarContainer .loja-brinde__title strong {
  font-weight: 700 !important;
  color: var(--luiza-orange-ink) !important;
}

html body #progressBarContainer #progressText,
html body #progressBarContainer .loja-brinde__sub {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  font-size: 12px !important;
  color: var(--luiza-muted) !important;
  margin: 3px 0 0 !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  text-align: left !important;
}
html body #progressBarContainer .loja-brinde__sub strong {
  color: var(--luiza-orange-ink) !important;
  font-weight: 700 !important;
}

html body #progressBarContainer .progress-wrapper {
  flex: 1 1 auto !important;
  min-width: 120px !important;
  background: #ECE3D6 !important;
  border-radius: 999px !important;
  height: 6px !important;
  margin: 0 !important;
  overflow: hidden !important;
}

html body #progressBarContainer #progressBar {
  background: linear-gradient(90deg, #EDA877 0%, #DB8552 100%) !important;
  height: 100% !important;
  border-radius: 999px !important;
  transition: width 0.5s ease !important;
}

/* Mobile: barra quebra pra linha de baixo (ocupa largura total) */
@media (max-width: 600px) {
  html body #progressBarContainer,
  html body div#progressBarContainer {
    flex-wrap: wrap !important;
    gap: 8px 14px !important;
    padding: 12px 16px !important;
  }
  html body #progressBarContainer .progress-wrapper {
    flex: 1 1 100% !important;
    order: 3 !important;
  }
}

@media (max-width: 768px) {
  html body #progressBarContainer h3 { font-size: 11px !important; }
  html body #progressBarContainer #progressText { font-size: 11px !important; }
}

/* ============================================================================
   PHASE A.7 — Banner gap killer
   Hero banner é um Flickity slider com só 1 cell (image hide-for-medium ou
   show-for-small). Cria 2 page-dots indicators inúteis (1 dot cada) + section-content
   tem padding 24px top/bot = ~88px de gap branco entre banners.
   ============================================================================ */

/* Esconde flickity-page-dots quando só tem 1 cell (1 dot é inútil) */
html body .flickity-page-dots:not(:has(li + li)),
html body .flickity-page-dots:has(li:only-child) {
  display: none !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Reduz padding-vertical de section-content em sections que contêm hero banner */
html body .section:has(> .section-content > .row > .col > .img.has-hover),
html body .section:has(.flickity-slider .img.has-hover) {
  padding: 0 !important;
}
html body .section:has(> .section-content > .row > .col > .img.has-hover) > .section-content,
html body .section:has(.flickity-slider .img.has-hover) > .section-content {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* Override universal: reduz padding default do .section-content (era 30px+) */
html body .section .section-content,
html body section.section > .section-content {
  padding-top: 12px !important;
  padding-bottom: 12px !important;
}

/* Reduz margin/padding dos page-dots (quando aparecem com 2+ dots) */
html body .flickity-page-dots {
  margin-top: 6px !important;
  margin-bottom: 6px !important;
  padding-top: 4px !important;
  padding-bottom: 4px !important;
}

/* PHASE A.8 REVERTIDO — user vai converter sliders → rows via UX Builder
   diretamente no admin (não-CSS hack). Removido o display:grid override. */

/*************** FIM ***************/

/* FIX: icone do carrinho sumiu - theme_mod custom_cart_icon apontava pra um
   attachment (1462) que so existia na Valentina, nunca existiu na Loja2.
   Bypassa o pipeline de icone do Flatsome com um SVG inline direto. */
.header-cart-link .cart-icon.image-icon {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234a2409' stroke-width='1.5'><path d='M6 7h12l1 13H5L6 7Z'/><path d='M9 7V5a3 3 0 0 1 6 0v2'/></svg>") !important;
  background-size: 22px 22px !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  width: 22px !important;
  height: 22px !important;
  display: inline-flex !important;
  position: relative !important;
}

/* FIX: mini-carrinho (off-canvas) — subtotal por item + desconto progressivo
   rateado em verde (usa a mesma variável --luiza-success do preço).
   FIX 2026-10-08 (v2): o layout nativo do Flatsome pra esse widget NAO eh
   flex/grid - eh position:absolute na imagem + padding-left no <li> (ver
   flatsome-shop.css: "ul.product_list_widget li{padding:10px 0 5px 75px;
   position:relative} ... li img{position:absolute;left:0;top:10px}").
   A v1 (grid 2 colunas) somava um padding-left novo em cima do nativo e
   quebrava no mobile (pouco espaco sobrando pro texto). Revertido pro
   markup original (thumb+titulo no mesmo <a>) - os divs novos, sendo
   blocos normais, já caem dentro do padding-left nativo sem gambiarra. */
.woocommerce-mini-cart-item .hc-mini-cart-item-subtotal {
  color: var(--luiza-success, #2e7d32) !important;
  font-weight: 600 !important;
  margin-top: 2px;
}
.woocommerce-mini-cart-item .hc-mini-cart-item-discount {
  color: var(--luiza-success, #2e7d32);
  font-size: .85em;
  font-weight: 600;
  margin-top: 2px;
}
.woocommerce-mini-cart-item .hc-mini-cart-item-discount-label {
  font-weight: 400;
}
