
/* ============================================================================
   PRODUCT CARD - Controles via atributos data-*
   ============================================================================ */

/* Ocultar badge quando data-show-badge="false" */
[data-component-type="product-card"][data-show-badge="false"] [data-element="product-badge"] {
  display: none !important;
}

/* Ocultar badge quando está vazio (sem texto) - evita caixa colorida sem conteúdo */
[data-component-type="product-card"] [data-element="product-badge"]:empty {
  display: none !important;
}

/* Ocultar avaliação/rating quando data-show-rating="false" */
[data-component-type="product-card"][data-show-rating="false"] [data-element="product-rating"] {
  display: none !important;
}

/* Ocultar botão de adição rápida quando data-show-quick-add="false" */
[data-component-type="product-card"][data-show-quick-add="false"] [data-element="quick-add-button"] {
  display: none !important;
}

/* ============================================================================
   VISIBILIDADE FORÇADA - Quando data-show-*="true"
   ============================================================================ */

/* Garantir visibilidade do rating quando data-show-rating="true" */
[data-component-type="product-card"][data-show-rating="true"] [data-element="product-rating"] {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* Garantir visibilidade do botão rápido quando data-show-quick-add="true" */
[data-component-type="product-card"][data-show-quick-add="true"] [data-element="quick-add-button"],
[data-show-quick-add="true"] [data-element="quick-add-button"],
article[data-show-quick-add="true"] [data-element="quick-add-button"] {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  transform: scale(1) !important;
}

/* ============================================================================
   COMPORTAMENTO PADRÃO DO QUICK-ADD BUTTON
   ============================================================================ */

/* Ocultar por padrão (quando não há data-show-quick-add definido ou é false) */
[data-component-type="product-card"]:not([data-show-quick-add="true"]) [data-element="quick-add-button"] {
  opacity: 0 !important;
  transform: scale(0.8) !important;
}

/* Quick-add button só aparece quando data-show-quick-add="true" - sem comportamento de hover */
/* ACESSIBILIDADE: Quick-add visivel quando recebe foco via teclado */
[data-component-type="product-card"]:not([data-show-quick-add="true"]) [data-element="quick-add-button"]:focus-visible {
  opacity: 1 !important;
  transform: scale(1) !important;
  outline: 2px solid var(--store-primary, #3b82f6) !important;
  outline-offset: 2px !important;
  box-shadow: 0 0 0 4px var(--store-focus-ring, rgba(59, 130, 246, 0.2)) !important;
}

/* ============================================================================
   RATING - Controle de visibilidade
   ============================================================================ */

/* Rating oculto por padrão (quando data-show-rating não é "true") */
[data-component-type="product-card"]:not([data-show-rating="true"]) [data-element="product-rating"],
article:not([data-show-rating="true"]) [data-element="product-rating"] {
  display: none !important;
}

/* Rating visível quando data-show-rating="true" */
[data-component-type="product-card"][data-show-rating="true"] [data-element="product-rating"],
article[data-show-rating="true"] [data-element="product-rating"],
[data-show-rating="true"] [data-element="product-rating"] {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  height: auto !important;
  overflow: visible !important;
  align-items: center !important;
  gap: 4px !important;
  font-size: 14px !important;
  color: var(--store-star, #f59e0b) !important;
}

/* Ocultar descrição vazia para não ocupar espaço desnecessário */
[data-component-type="product-card"] [data-element="product-description"]:empty {
  display: none !important;
}

/* Garantir contraste de texto no card - evita texto branco em card branco (IA cria assim) */
[data-component-type="product-card"] [data-element="product-name"],
[data-component-type="product-card"] [data-element="current-price"] {
  color: var(--store-card-text, var(--store-text, #1F2937)) !important;
}
[data-component-type="product-card"] [data-element="product-description"] {
  color: var(--store-card-text-secondary, var(--store-text-secondary, #6B7280)) !important;
}
[data-component-type="product-card"] [data-element="original-price"] {
  color: var(--store-card-text-muted, var(--store-text-muted, #9CA3AF)) !important;
}

/* ============================================================================
   EFEITOS DE HOVER - Controlados via data-hover-effect
   ============================================================================ */

/* Efeito: none - Sem efeito de hover */
[data-component-type="product-card"][data-hover-effect="none"] {
  transform: none !important;
}
[data-component-type="product-card"][data-hover-effect="none"]:hover {
  transform: none !important;
}
[data-component-type="product-card"][data-hover-effect="none"] [data-element="product-image"],
[data-component-type="product-card"][data-hover-effect="none"] img[data-element="product-image"] {
  transform: none !important;
}
[data-component-type="product-card"][data-hover-effect="none"]:hover [data-element="product-image"],
[data-component-type="product-card"][data-hover-effect="none"]:hover img[data-element="product-image"] {
  transform: none !important;
}

/* Efeito: zoom - Zoom na imagem ao passar o mouse (padrão) */
[data-component-type="product-card"][data-hover-effect="zoom"] [data-element="product-image"],
[data-component-type="product-card"][data-hover-effect="zoom"] img[data-element="product-image"] {
  transition: transform var(--store-transition-duration-medium) var(--store-transition-easing-default) !important;
}
[data-component-type="product-card"][data-hover-effect="zoom"]:hover [data-element="product-image"],
[data-component-type="product-card"][data-hover-effect="zoom"]:hover img[data-element="product-image"] {
  transform: scale(1.05) !important;
}

/* Efeito: overlay - Escurecimento ao passar o mouse */
[data-component-type="product-card"][data-hover-effect="overlay"] [data-element="image-container"]::after {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  background: rgba(0, 0, 0, 0) !important;
  transition: background var(--store-transition-duration-medium) var(--store-transition-easing-default) !important;
  pointer-events: none !important;
}
[data-component-type="product-card"][data-hover-effect="overlay"]:hover [data-element="image-container"]::after {
  background: rgba(0, 0, 0, 0.2) !important;
}
[data-component-type="product-card"][data-hover-effect="overlay"] [data-element="product-image"],
[data-component-type="product-card"][data-hover-effect="overlay"] img[data-element="product-image"] {
  transform: none !important;
}
[data-component-type="product-card"][data-hover-effect="overlay"]:hover [data-element="product-image"],
[data-component-type="product-card"][data-hover-effect="overlay"]:hover img[data-element="product-image"] {
  transform: none !important;
}

/* Efeito: lift - Elevar o card ao passar o mouse */
[data-component-type="product-card"][data-hover-effect="lift"] {
  transition: transform var(--store-transition-duration-normal) var(--store-transition-easing-default), box-shadow var(--store-transition-duration-normal) var(--store-transition-easing-default) !important;
}
[data-component-type="product-card"][data-hover-effect="lift"]:hover {
  transform: translateY(-8px) !important;
  box-shadow: var(--store-shadow-lg) !important;
}
[data-component-type="product-card"][data-hover-effect="lift"] [data-element="product-image"],
[data-component-type="product-card"][data-hover-effect="lift"] img[data-element="product-image"] {
  transform: none !important;
}
[data-component-type="product-card"][data-hover-effect="lift"]:hover [data-element="product-image"],
[data-component-type="product-card"][data-hover-effect="lift"]:hover img[data-element="product-image"] {
  transform: none !important;
}

/* ============================================================================
   NOVOS EFEITOS DE HOVER - brightness, tilt, color-shift, underline-slide, border-reveal
   Aplicam a qualquer elemento com data-hover-effect (cards, items, etc.)
   ============================================================================ */

@media (hover: hover) {
  /* brightness: filter brightness sutil */
  [data-hover-effect="brightness"] {
    transition: filter var(--store-transition-duration-medium) var(--store-transition-easing-default) !important;
  }
  [data-hover-effect="brightness"]:hover {
    filter: brightness(1.08) !important;
  }

  /* tilt: perspectiva + rotação sutil (CSS-only) */
  [data-hover-effect="tilt"] {
    perspective: 800px !important;
    transition: transform var(--store-transition-duration-medium) var(--store-transition-easing-default) !important;
  }
  [data-hover-effect="tilt"]:hover {
    transform: rotateX(-2deg) rotateY(2deg) !important;
  }

  /* color-shift: hue-rotate + saturação */
  [data-hover-effect="color-shift"] {
    transition: filter var(--store-transition-duration-medium) var(--store-transition-easing-default) !important;
  }
  [data-hover-effect="color-shift"]:hover {
    filter: hue-rotate(15deg) saturate(1.1) !important;
  }

  /* underline-slide: barra deslizante sob o conteúdo */
  [data-hover-effect="underline-slide"] {
    position: relative !important;
    transition: color var(--store-transition-duration-medium) var(--store-transition-easing-default) !important;
  }
  [data-hover-effect="underline-slide"]::after {
    content: '' !important;
    position: absolute !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    height: 2px !important;
    background: var(--store-primary, #3b82f6) !important;
    transform: scaleX(0) !important;
    transform-origin: left !important;
    transition: transform var(--store-transition-duration-medium) var(--store-transition-easing-default) !important;
  }
  [data-hover-effect="underline-slide"]:hover::after {
    transform: scaleX(1) !important;
  }

  /* border-reveal: borda se desenha progressivamente (opacidade) */
  [data-hover-effect="border-reveal"] {
    position: relative !important;
    transition: box-shadow var(--store-transition-duration-medium) var(--store-transition-easing-default) !important;
  }
  [data-hover-effect="border-reveal"]::before {
    content: '' !important;
    position: absolute !important;
    inset: 0 !important;
    border: 2px solid var(--store-primary, #3b82f6) !important;
    border-radius: inherit !important;
    opacity: 0 !important;
    transition: opacity var(--store-transition-duration-medium) var(--store-transition-easing-default) !important;
    pointer-events: none !important;
  }
  [data-hover-effect="border-reveal"]:hover::before {
    opacity: 1 !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  [data-hover-effect="brightness"]:hover,
  [data-hover-effect="tilt"]:hover,
  [data-hover-effect="color-shift"]:hover {
    filter: none !important;
    transform: none !important;
  }
  [data-hover-effect="underline-slide"]::after,
  [data-hover-effect="border-reveal"]::before {
    transition: none !important;
  }
}

/* ============================================================================
   ARREDONDAMENTO DE BORDAS - Propagação para elementos internos
   ============================================================================ */

/* Propagar borderRadius do card para o container de imagem */
[data-component-type="product-card"] [data-element="image-container"] {
  border-radius: inherit !important;
  border-bottom-left-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
}

/* Propagar para a imagem dentro do container */
[data-component-type="product-card"] [data-element="image-container"] img,
[data-component-type="product-card"] [data-element="image-container"] [data-element="product-image"] {
  border-radius: inherit !important;
}

/* ============================================================================
   MELHORIAS DE HOVER - Premium effects
   ============================================================================ */

/* Transição suave no card inteiro */
[data-component-type="product-card"] {
  transition: box-shadow var(--store-transition-duration-medium) var(--store-transition-easing-default), transform var(--store-transition-duration-normal) var(--store-transition-easing-default);
}

/* Hover zoom - garantir overflow hidden no container de imagem */
[data-component-type="product-card"] [data-element="image-container"] {
  overflow: hidden !important;
}
[data-component-type="product-card"] [data-element="product-image"] {
  transition: transform 0.4s cubic-bezier(0.16,1,0.3,1);
}
[data-component-type="product-card"]:hover [data-element="product-image"] {
  transform: scale(1.05);
}

/* Badge styling */
[data-component-type="product-card"] [data-element="product-badge"] {
  transition: transform var(--store-transition-duration-normal) var(--store-transition-easing-default);
}

/* Wishlist button */
[data-component-type="product-card"] [data-element="wishlist-button"] {
  position: absolute;
  top: 8px;
  right: 8px;
  z-index: 5;
  background: rgba(255,255,255,0.9);
  border: none;
  border-radius: 50%;
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity var(--store-transition-duration-normal) var(--store-transition-easing-default), transform var(--store-transition-duration-normal) var(--store-transition-easing-default);
  cursor: pointer;
  box-shadow: var(--store-shadow-md);
}
[data-component-type="product-card"]:hover [data-element="wishlist-button"] {
  opacity: 1;
}
[data-component-type="product-card"] [data-element="wishlist-button"]:hover {
  transform: scale(1.1);
}
/* ACESSIBILIDADE: Wishlist visivel quando recebe foco via teclado */
[data-component-type="product-card"] [data-element="wishlist-button"]:focus-visible {
  opacity: 1 !important;
  outline: 2px solid var(--store-primary, #3b82f6) !important;
  outline-offset: 2px !important;
  box-shadow: 0 0 0 4px var(--store-focus-ring, rgba(59, 130, 246, 0.2)) !important;
}

/* Quick-add button transicao melhorada */
[data-component-type="product-card"] [data-element="quick-add-button"] {
  transition: opacity var(--store-transition-duration-normal) var(--store-transition-easing-default), transform var(--store-transition-duration-normal) var(--store-transition-easing-default);
  transform: scale(0.9);
}
[data-component-type="product-card"]:hover [data-element="quick-add-button"] {
  transform: scale(1);
}


/* ============================================================================
   TRUST BADGES SECTION - Layout estrutural (paridade com page builder)
   ============================================================================ */

/* CRÍTICO: Forçar layout em coluna única - título e subtítulo em cima, badges abaixo.
   Sobrescreve qualquer display:grid ou layout editado que cause título à esquerda e badges à direita. */
[data-component-type="trust-badges-section"] {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
}
[data-component-type="trust-badges-section"] [data-slot="title"],
[data-component-type="trust-badges-section"] [data-element="section-title"] {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
[data-component-type="trust-badges-section"] [data-slot="subtitle"],
[data-component-type="trust-badges-section"] [data-element="section-subtitle"] {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* ============================================================================
   TRUST BADGES SECTION - Animações e efeitos hover
   ============================================================================ */

/* Animações de entrada */
@keyframes trust-badges-fade-in {
  from { opacity: 0; }
  to { opacity: 1; }
}
@keyframes trust-badges-slide-up {
  from { opacity: 0; transform: translateY(16px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes trust-badges-slide-left {
  from { opacity: 0; transform: translateX(16px); }
  to { opacity: 1; transform: translateX(0); }
}
@keyframes trust-badges-slide-right {
  from { opacity: 0; transform: translateX(-16px); }
  to { opacity: 1; transform: translateX(0); }
}
@keyframes trust-badges-scale-in {
  from { opacity: 0; transform: scale(0.95); }
  to { opacity: 1; transform: scale(1); }
}
@keyframes trust-badges-bounce-in {
  from { opacity: 0; transform: scale(0.9); }
  60% { opacity: 1; transform: scale(1.02); }
  to { opacity: 1; transform: scale(1); }
}

.trust-badges-animate-fade-in {
  animation: trust-badges-fade-in 0.6s ease-out forwards;
}
.trust-badges-animate-slide-up {
  animation: trust-badges-slide-up 0.6s ease-out forwards;
}
.trust-badges-animate-slide-left {
  animation: trust-badges-slide-left 0.6s ease-out forwards;
}
.trust-badges-animate-slide-right {
  animation: trust-badges-slide-right 0.6s ease-out forwards;
}
.trust-badges-animate-scale-in {
  animation: trust-badges-scale-in 0.5s ease-out forwards;
}
.trust-badges-animate-bounce-in {
  animation: trust-badges-bounce-in 0.6s ease-out forwards;
}

/* Efeitos hover nos value-point items (value-proposition, data-card-hover-effect) */
[data-component-type="value-proposition"][data-card-hover-effect="lift"] [data-element="value-point"]:hover {
  transform: translateY(-4px);
  box-shadow: var(--store-shadow-md, 0 4px 6px -1px rgba(0, 0, 0, 0.1));
  transition: transform var(--store-transition-duration-normal) var(--store-transition-easing-default), box-shadow var(--store-transition-duration-normal) var(--store-transition-easing-default);
}
[data-component-type="value-proposition"][data-card-hover-effect="scale"] [data-element="value-point"]:hover {
  transform: scale(1.03);
  transition: transform var(--store-transition-duration-normal) var(--store-transition-easing-default);
}
[data-component-type="value-proposition"][data-card-hover-effect="border-color"] [data-element="value-point"]:hover {
  border-color: var(--store-primary, #8B5CF6) !important;
  transition: border-color var(--store-transition-duration-normal) var(--store-transition-easing-default);
}
[data-component-type="value-proposition"][data-card-hover-effect="glow"] [data-element="value-point"]:hover {
  box-shadow: 0 0 20px var(--store-focus-ring, rgba(139, 92, 246, 0.3));
  transition: box-shadow var(--store-transition-duration-normal) var(--store-transition-easing-default);
}

/* Efeitos hover nos badge items (data-card-hover-effect) */
[data-component-type="trust-badges-section"][data-card-hover-effect="lift"] [data-element="badge-item"]:hover {
  transform: translateY(-4px);
  box-shadow: var(--store-shadow-md, 0 4px 6px -1px rgba(0, 0, 0, 0.1));
  transition: transform var(--store-transition-duration-normal) var(--store-transition-easing-default), box-shadow var(--store-transition-duration-normal) var(--store-transition-easing-default);
}
[data-component-type="trust-badges-section"][data-card-hover-effect="scale"] [data-element="badge-item"]:hover {
  transform: scale(1.03);
  transition: transform var(--store-transition-duration-normal) var(--store-transition-easing-default);
}
[data-component-type="trust-badges-section"][data-card-hover-effect="border-color"] [data-element="badge-item"]:hover {
  border-color: var(--store-primary, #8B5CF6) !important;
  transition: border-color var(--store-transition-duration-normal) var(--store-transition-easing-default);
}
[data-component-type="trust-badges-section"][data-card-hover-effect="glow"] [data-element="badge-item"]:hover {
  box-shadow: 0 0 20px var(--store-focus-ring, rgba(139, 92, 246, 0.3));
  transition: box-shadow var(--store-transition-duration-normal) var(--store-transition-easing-default);
}

/* ============================================================================
   PRODUCT GRID - Sombra condicional nos cards via data-card-shadow-enabled
   ============================================================================ */

/* Sombra desabilitada por padrão - garantir que cards não tenham sombra */
[data-component-type="product-card"] {
  box-shadow: none;
}

/* Sombra habilitada via data-card-shadow-enabled na seção product-grid */
[data-component-type="product-grid"][data-card-shadow-enabled="true"] [data-component-type="product-card"] {
  box-shadow: var(--store-shadow-sm);
}

/* ============================================================================
   PRODUCT GRID - Efeitos de hover nos cards via data-card-hover-effect na seção
   ============================================================================ */

/* card-hover-effect: lift */
[data-component-type="product-grid"][data-card-hover-effect="lift"] [data-component-type="product-card"] {
  transition: transform var(--store-transition-duration-normal) var(--store-transition-easing-default), box-shadow var(--store-transition-duration-normal) var(--store-transition-easing-default) !important;
}
[data-component-type="product-grid"][data-card-hover-effect="lift"] [data-component-type="product-card"]:hover {
  transform: translateY(-8px) !important;
  box-shadow: var(--store-shadow-lg) !important;
}

/* card-hover-effect: scale */
[data-component-type="product-grid"][data-card-hover-effect="scale"] [data-component-type="product-card"] {
  transition: transform var(--store-transition-duration-normal) var(--store-transition-easing-default) !important;
}
[data-component-type="product-grid"][data-card-hover-effect="scale"] [data-component-type="product-card"]:hover {
  transform: scale(1.03) !important;
}

/* card-hover-effect: border-color */
[data-component-type="product-grid"][data-card-hover-effect="border-color"] [data-component-type="product-card"] {
  transition: border-color var(--store-transition-duration-normal) var(--store-transition-easing-default) !important;
}
[data-component-type="product-grid"][data-card-hover-effect="border-color"] [data-component-type="product-card"]:hover {
  border-color: var(--store-primary, #8B5CF6) !important;
}

/* card-hover-effect: glow */
[data-component-type="product-grid"][data-card-hover-effect="glow"] [data-component-type="product-card"] {
  transition: box-shadow var(--store-transition-duration-normal) var(--store-transition-easing-default) !important;
}
[data-component-type="product-grid"][data-card-hover-effect="glow"] [data-component-type="product-card"]:hover {
  box-shadow: 0 0 20px var(--store-focus-ring, rgba(139, 92, 246, 0.3)) !important;
}

/* ============================================================================
   PRODUCT GRID - Efeitos de hover nas imagens via data-image-hover-effect
   ============================================================================ */

/* image-hover-effect: zoom */
[data-component-type="product-grid"][data-image-hover-effect="zoom"] [data-component-type="product-card"] img {
  transition: transform var(--store-transition-duration-normal) var(--store-transition-easing-default) !important;
}
[data-component-type="product-grid"][data-image-hover-effect="zoom"] [data-component-type="product-card"]:hover img {
  transform: scale(1.05) !important;
}

/* image-hover-effect: brightness */
[data-component-type="product-grid"][data-image-hover-effect="brightness"] [data-component-type="product-card"] img {
  transition: filter var(--store-transition-duration-normal) var(--store-transition-easing-default) !important;
}
[data-component-type="product-grid"][data-image-hover-effect="brightness"] [data-component-type="product-card"]:hover img {
  filter: brightness(1.1) !important;
}

/* image-hover-effect: darken */
[data-component-type="product-grid"][data-image-hover-effect="darken"] [data-component-type="product-card"] img {
  transition: filter var(--store-transition-duration-normal) var(--store-transition-easing-default) !important;
}
[data-component-type="product-grid"][data-image-hover-effect="darken"] [data-component-type="product-card"]:hover img {
  filter: brightness(0.8) !important;
}

/* Overflow hidden no container de imagem para zoom não vazar */
[data-component-type="product-grid"][data-image-hover-effect="zoom"] [data-component-type="product-card"] [data-element="image-container"] {
  overflow: hidden;
}

/* Efeito hover na seção (usa CSS custom properties --hover-bg, --hover-transform, etc.) */
[data-component-type="trust-badges-section"][data-hover-state="true"] {
  transition: background-color var(--store-transition-duration-normal) var(--store-transition-easing-default), transform var(--store-transition-duration-normal) var(--store-transition-easing-default), box-shadow var(--store-transition-duration-normal) var(--store-transition-easing-default), opacity var(--store-transition-duration-normal) var(--store-transition-easing-default);
}
[data-component-type="trust-badges-section"][data-hover-state="true"]:hover {
  background-color: var(--hover-bg) !important;
  transform: var(--hover-transform);
  box-shadow: var(--hover-shadow) !important;
  opacity: var(--hover-opacity) !important;
}

/* Grid responsivo - mobile: respeita data-mobile-columns do painel */
@media (max-width: 639px) {
  [data-component-type="trust-badges-section"] .trust-badges-grid[data-mobile-columns="1"] {
    grid-template-columns: 1fr !important;
  }
  [data-component-type="trust-badges-section"] .trust-badges-grid[data-mobile-columns="2"] {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  /* badges-container (estrutura de slots do pagebuilder) - mobile */
  [data-component-type="trust-badges-section"] [data-slot="badges-container"][data-mobile-columns="1"],
  [data-component-type="trust-badges-section"] [data-element="badges-container"][data-mobile-columns="1"] {
    grid-template-columns: repeat(1, 1fr) !important;
  }
  [data-component-type="trust-badges-section"] [data-slot="badges-container"][data-mobile-columns="2"],
  [data-component-type="trust-badges-section"] [data-element="badges-container"][data-mobile-columns="2"] {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  /* Mobile: largura total para não quebrar */
  [data-component-type="trust-badges-section"] .trust-badges-grid,
  [data-component-type="trust-badges-section"] [data-slot="badges-container"],
  [data-component-type="trust-badges-section"] [data-element="badges-container"] {
    max-width: 100% !important;
  }
}

/* Tablet: máx 2 colunas (entre mobile e tablet) - respeita data-columns mas limita a 2 */
@media (min-width: 640px) and (max-width: 1023px) {
  [data-component-type="trust-badges-section"] [data-slot="badges-container"][data-columns="1"],
  [data-component-type="trust-badges-section"] [data-element="badges-container"][data-columns="1"] {
    grid-template-columns: repeat(1, 1fr) !important;
  }
  [data-component-type="trust-badges-section"] [data-slot="badges-container"][data-columns="2"],
  [data-component-type="trust-badges-section"] [data-element="badges-container"][data-columns="2"],
  [data-component-type="trust-badges-section"] [data-slot="badges-container"][data-columns="3"],
  [data-component-type="trust-badges-section"] [data-element="badges-container"][data-columns="3"],
  [data-component-type="trust-badges-section"] [data-slot="badges-container"][data-columns="4"],
  [data-component-type="trust-badges-section"] [data-element="badges-container"][data-columns="4"],
  [data-component-type="trust-badges-section"] [data-slot="badges-container"][data-columns="5"],
  [data-component-type="trust-badges-section"] [data-element="badges-container"][data-columns="5"],
  [data-component-type="trust-badges-section"] [data-slot="badges-container"][data-columns="6"],
  [data-component-type="trust-badges-section"] [data-element="badges-container"][data-columns="6"] {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

/* Desktop: respeita data-columns do painel (estrutura de slots) */
@media (min-width: 1025px) {
  [data-component-type="trust-badges-section"] [data-slot="badges-container"][data-columns="1"],
  [data-component-type="trust-badges-section"] [data-element="badges-container"][data-columns="1"] {
    grid-template-columns: repeat(1, 1fr) !important;
  }
  [data-component-type="trust-badges-section"] [data-slot="badges-container"][data-columns="2"],
  [data-component-type="trust-badges-section"] [data-element="badges-container"][data-columns="2"] {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  [data-component-type="trust-badges-section"] [data-slot="badges-container"][data-columns="3"],
  [data-component-type="trust-badges-section"] [data-element="badges-container"][data-columns="3"] {
    grid-template-columns: repeat(3, 1fr) !important;
  }
  [data-component-type="trust-badges-section"] [data-slot="badges-container"][data-columns="4"],
  [data-component-type="trust-badges-section"] [data-element="badges-container"][data-columns="4"] {
    grid-template-columns: repeat(4, 1fr) !important;
  }
  [data-component-type="trust-badges-section"] [data-slot="badges-container"][data-columns="5"],
  [data-component-type="trust-badges-section"] [data-element="badges-container"][data-columns="5"] {
    grid-template-columns: repeat(5, 1fr) !important;
  }
  [data-component-type="trust-badges-section"] [data-slot="badges-container"][data-columns="6"],
  [data-component-type="trust-badges-section"] [data-element="badges-container"][data-columns="6"] {
    grid-template-columns: repeat(6, 1fr) !important;
  }
}

/* Desktop: grid compacto (max-width só em telas maiores) - apenas .trust-badges-grid (fallback) */
@media (min-width: 769px) {
  [data-component-type="trust-badges-section"] .trust-badges-grid {
    max-width: min(360px, 100%) !important;
    margin: 0 auto !important;
  }
}

/* Garantir layout correto dos badge items - respeita configurações do painel */
[data-component-type="trust-badges-section"] .trust-badges-grid,
[data-component-type="trust-badges-section"] [data-slot="badges-container"],
[data-component-type="trust-badges-section"] [data-element="badges-container"] {
  display: grid !important;
  width: 100% !important;
  box-sizing: border-box !important;
  justify-items: stretch !important;
}
[data-component-type="trust-badges-section"] [data-element="badge-item"] {
  width: 100% !important;
  min-width: 0;
  box-sizing: border-box;
}


/* ============================================================================
   TESTIMONIAL GRID - Layout e Controles (PageBuilder)
   Paridade: editor = preview = loja publicada
   ============================================================================ */

/* Garantir subtítulo e título com largura adequada */
[data-component-type="testimonial-grid"] [data-element="section-subtitle"] {
  max-width: min(600px, 90%) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Seção ocupa largura total */
[data-component-type="testimonial-grid"] {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

/* Show/Hide Avatar */
[data-component-type="testimonial-grid"][data-show-avatar="false"] [data-element="testimonial-avatar"] {
  display: none !important;
  visibility: hidden !important;
}

[data-component-type="testimonial-grid"][data-show-avatar="true"] [data-element="testimonial-avatar"] {
  display: block !important;
  visibility: visible !important;
}

/* Show/Hide Rating */
[data-component-type="testimonial-grid"][data-show-rating="false"] [data-element="testimonial-rating"],
[data-component-type="testimonial-grid"][data-show-rating="false"] [data-element="rating"] {
  display: none !important;
  visibility: hidden !important;
}

[data-component-type="testimonial-grid"][data-show-rating="true"] [data-element="rating"] {
  display: block !important;
  visibility: visible !important;
}

/* Colunas responsivas baseado em data-columns */
[data-component-type="testimonial-grid"][data-columns="1"] [data-element="testimonials-grid"],
[data-component-type="testimonial-grid"] [data-element="testimonials-grid"][data-columns="1"] {
  grid-template-columns: 1fr !important;
}

[data-component-type="testimonial-grid"][data-columns="2"] [data-element="testimonials-grid"],
[data-component-type="testimonial-grid"] [data-element="testimonials-grid"][data-columns="2"] {
  grid-template-columns: repeat(2, minmax(280px, 1fr)) !important;
}

[data-component-type="testimonial-grid"][data-columns="3"] [data-element="testimonials-grid"],
[data-component-type="testimonial-grid"] [data-element="testimonials-grid"][data-columns="3"] {
  grid-template-columns: repeat(3, minmax(280px, 1fr)) !important;
}

[data-component-type="testimonial-grid"][data-columns="4"] [data-element="testimonials-grid"],
[data-component-type="testimonial-grid"] [data-element="testimonials-grid"][data-columns="4"] {
  grid-template-columns: repeat(4, minmax(220px, 1fr)) !important;
}

@media (max-width: 1024px) {
  [data-component-type="testimonial-grid"][data-columns="3"] [data-element="testimonials-grid"],
  [data-component-type="testimonial-grid"][data-columns="4"] [data-element="testimonials-grid"],
  [data-component-type="testimonial-grid"] [data-element="testimonials-grid"][data-columns="3"],
  [data-component-type="testimonial-grid"] [data-element="testimonials-grid"][data-columns="4"] {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

@media (max-width: 639px) {
  [data-component-type="testimonial-grid"] [data-element="testimonials-grid"] {
    grid-template-columns: 1fr !important;
  }
}

/* Testimonial card - layout e posicionamento */
[data-component-type="testimonial-grid"] [data-element="testimonial-card"] {
  position: relative !important;
  overflow: visible !important;
  display: flex;
  flex-direction: column;
  height: 100%;
  min-width: min(260px, 100%);
}

/* Likes badge - canto inferior direito do card */
[data-component-type="testimonial-grid"] [data-element="likes-badge"] {
  position: absolute !important;
  top: auto !important;
  right: var(--store-spacing-sm) !important;
  bottom: var(--store-spacing-sm) !important;
  left: auto !important;
  z-index: 10 !important;
}

[data-component-type="testimonial-grid"] [data-element="likes-badge"] [data-element="badge-icon"] {
  flex-shrink: 0 !important;
  color: #ffffff !important;
  overflow: hidden !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

[data-component-type="testimonial-grid"] [data-element="likes-badge"] [data-element="badge-icon"] svg {
  color: #ffffff !important;
  fill: currentColor !important;
  stroke: currentColor !important;
  stroke-width: 1.5 !important;
  width: 10px !important;
  height: 10px !important;
  min-width: 10px !important;
  min-height: 10px !important;
  flex-shrink: 0 !important;
  object-fit: contain !important;
}

[data-component-type="testimonial-grid"] [data-element="testimonial-card"][data-has-likes="false"] [data-element="likes-badge"] {
  display: none !important;
}

/* Grid container */
[data-component-type="testimonial-grid"] [data-element="testimonials-grid"] {
  padding: 12px 0;
  gap: 32px !important;
  max-width: var(--store-container-max-width, 1200px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

/* Texto do depoimento */
[data-component-type="testimonial-grid"] [data-element="testimonial-text"] {
  word-wrap: break-word;
  overflow-wrap: break-word;
}

/* Espaçamento entre elementos do card */
[data-component-type="testimonial-grid"] [data-element="testimonial-card"] > [data-element="testimonial-avatar"] {
  margin-bottom: var(--store-spacing-md, 16px);
}

[data-component-type="testimonial-grid"] [data-element="testimonial-card"] > [data-element="rating"] {
  margin-bottom: var(--store-spacing-md, 16px);
}

[data-component-type="testimonial-grid"] [data-element="testimonial-card"] > [data-element="testimonial-text"] {
  margin-bottom: var(--store-spacing-lg, 20px);
  flex-grow: 1;
}

[data-component-type="testimonial-grid"] [data-element="testimonial-card"] > [data-element="testimonial-author"] {
  margin-top: auto;
}

/* Efeito Hover - data-hover-effect */
[data-component-type="testimonial-grid"][data-hover-effect="lift"] [data-element="testimonial-card"]:hover,
[data-component-type="testimonial-grid"][data-hover-effect="lift"] [data-slot="testimonial-card"]:hover {
  transform: translateY(-4px);
  box-shadow: var(--store-shadow-md, 0 4px 6px -1px rgba(0, 0, 0, 0.1));
  transition: transform var(--store-transition-duration-normal) var(--store-transition-easing-default), box-shadow var(--store-transition-duration-normal) var(--store-transition-easing-default);
}

[data-component-type="testimonial-grid"][data-hover-effect="glow"] [data-element="testimonial-card"]:hover,
[data-component-type="testimonial-grid"][data-hover-effect="glow"] [data-slot="testimonial-card"]:hover {
  box-shadow: 0 0 20px var(--store-focus-ring, rgba(139, 92, 246, 0.3));
  transition: box-shadow var(--store-transition-duration-normal) var(--store-transition-easing-default);
}

[data-component-type="testimonial-grid"][data-hover-effect="border-color"] [data-element="testimonial-card"]:hover,
[data-component-type="testimonial-grid"][data-hover-effect="border-color"] [data-slot="testimonial-card"]:hover {
  border-color: var(--store-primary, #8B5CF6) !important;
  transition: border-color var(--store-transition-duration-normal) var(--store-transition-easing-default);
}

/* Feature Bento - data-hover-effect */
[data-component-type="feature-bento"][data-hover-effect="shadow"] [data-element="bento-item"]:hover,
[data-component-type="feature-bento"][data-hover-effect="shadow"] [data-slot="bento-item"]:hover {
  box-shadow: var(--store-shadow-lg);
  transition: box-shadow var(--store-transition-duration-normal) var(--store-transition-easing-default);
}
[data-component-type="feature-bento"][data-hover-effect="scale"] [data-element="bento-item"]:hover,
[data-component-type="feature-bento"][data-hover-effect="scale"] [data-slot="bento-item"]:hover {
  transform: scale(1.03);
  transition: transform var(--store-transition-duration-normal) var(--store-transition-easing-default);
}
[data-component-type="feature-bento"][data-hover-effect="both"] [data-element="bento-item"]:hover,
[data-component-type="feature-bento"][data-hover-effect="both"] [data-slot="bento-item"]:hover {
  box-shadow: var(--store-shadow-lg);
  transform: scale(1.03);
  transition: box-shadow var(--store-transition-duration-normal) var(--store-transition-easing-default), transform var(--store-transition-duration-normal) var(--store-transition-easing-default);
}
[data-component-type="feature-bento"][data-hover-effect="none"] [data-element="bento-item"]:hover,
[data-component-type="feature-bento"][data-hover-effect="none"] [data-slot="bento-item"]:hover {
  transform: none !important;
  box-shadow: none !important;
}

/* Feature Grid - data-show-numbers e data-hover-effect */
[data-component-type="feature-grid"][data-show-numbers="false"] [data-element="feature-number"] {
  display: none !important;
  visibility: hidden !important;
}

[data-component-type="feature-grid"][data-hover-effect="lift"] [data-element="feature-item"]:hover,
[data-component-type="feature-grid"][data-hover-effect="lift"] [data-slot="feature-item"]:hover {
  transform: translateY(-4px);
  box-shadow: var(--store-shadow-md, 0 4px 6px -1px rgba(0, 0, 0, 0.1));
  transition: transform var(--store-transition-duration-normal) var(--store-transition-easing-default), box-shadow var(--store-transition-duration-normal) var(--store-transition-easing-default);
}

[data-component-type="feature-grid"][data-hover-effect="glow"] [data-element="feature-item"]:hover,
[data-component-type="feature-grid"][data-hover-effect="glow"] [data-slot="feature-item"]:hover {
  box-shadow: 0 0 20px var(--store-focus-ring, rgba(139, 92, 246, 0.3));
  transition: box-shadow var(--store-transition-duration-normal) var(--store-transition-easing-default);
}

[data-component-type="feature-grid"][data-hover-effect="border-color"] [data-element="feature-item"]:hover,
[data-component-type="feature-grid"][data-hover-effect="border-color"] [data-slot="feature-item"]:hover {
  border-color: var(--store-primary, #8B5CF6) !important;
  transition: border-color var(--store-transition-duration-normal) var(--store-transition-easing-default);
}

[data-component-type="feature-grid"][data-hover-effect="scale"] [data-element="feature-item"]:hover,
[data-component-type="feature-grid"][data-hover-effect="scale"] [data-slot="feature-item"]:hover {
  transform: scale(1.03);
  transition: transform var(--store-transition-duration-normal) var(--store-transition-easing-default);
}

/* Modo Slider (data-layout="slider") */
[data-component-type="testimonial-grid"][data-layout="slider"] [data-element="slider-container"] {
  overflow: hidden !important;
  position: relative !important;
  width: 100% !important;
  max-width: var(--store-container-max-width, 1200px) !important;
  margin: 0 auto !important;
  padding: 0 24px !important;
  box-sizing: border-box !important;
}

[data-component-type="testimonial-grid"][data-layout="slider"] [data-element="slider-track"] {
  display: flex !important;
  transition: transform var(--store-transition-duration-slow) var(--store-transition-easing-default) !important;
  width: 100% !important;
  will-change: transform !important;
}

[data-component-type="testimonial-grid"][data-layout="slider"] [data-element="testimonial-slide"] {
  flex-shrink: 0 !important;
  flex-grow: 0 !important;
  /* min-width/width sobrescritos pelo script do slider para N slides (cada slide = 100/N % do track) */
  min-width: 0 !important;
  width: 100% !important;
  position: relative !important;
}

[data-component-type="testimonial-grid"][data-layout="slider"] [data-element="testimonial-card"] {
  width: 100% !important;
  min-width: min(400px, 100%) !important;
  max-width: 720px !important;
  margin: 0 auto !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  box-sizing: border-box !important;
}

[data-component-type="testimonial-grid"][data-layout="slider"] [data-element="slider-navigation"] {
  position: absolute !important;
  top: 50% !important;
  left: 0 !important;
  right: 0 !important;
  transform: translateY(-50%) !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  padding: 0 8px !important;
  pointer-events: none !important;
  z-index: 20 !important;
}

[data-component-type="testimonial-grid"][data-layout="slider"] [data-action="prev"],
[data-component-type="testimonial-grid"][data-layout="slider"] [data-action="next"] {
  pointer-events: auto !important;
  background: rgba(255, 255, 255, 0.95) !important;
  border: 1px solid rgba(0, 0, 0, 0.1) !important;
  border-radius: 50% !important;
  width: 52px !important;
  height: 52px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  box-shadow: var(--store-shadow-md) !important;
  transition: all var(--store-transition-duration-normal) var(--store-transition-easing-default) !important;
  font-size: 20px !important;
  color: #6B7280 !important;
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
}

[data-component-type="testimonial-grid"][data-layout="slider"] [data-action="prev"] {
  left: 16px !important;
}

[data-component-type="testimonial-grid"][data-layout="slider"] [data-action="next"] {
  right: 16px !important;
}

[data-component-type="testimonial-grid"][data-layout="slider"] [data-action="prev"]:hover,
[data-component-type="testimonial-grid"][data-layout="slider"] [data-action="next"]:hover {
  background: #ffffff !important;
  box-shadow: var(--store-shadow-md) !important;
  transform: translateY(-50%) scale(1.05) !important;
}

[data-component-type="testimonial-grid"][data-layout="slider"] [data-action="prev"]:disabled,
[data-component-type="testimonial-grid"][data-layout="slider"] [data-action="next"]:disabled {
  opacity: 0.3 !important;
  cursor: not-allowed !important;
}

[data-component-type="testimonial-grid"][data-layout="slider"] [data-element="slider-dots"] {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 12px !important;
  margin-top: 32px !important;
  padding: 0 16px !important;
}

[data-component-type="testimonial-grid"][data-layout="slider"] button[data-slide-index] {
  width: 14px !important;
  height: 14px !important;
  border-radius: 50% !important;
  border: none !important;
  cursor: pointer !important;
  transition: all var(--store-transition-duration-medium) var(--store-transition-easing-default) !important;
  background: rgba(255, 255, 255, 0.5) !important;
  padding: 0 !important;
}

[data-component-type="testimonial-grid"][data-layout="slider"] button[data-slide-index][data-active="true"] {
  background: #ffffff !important;
  transform: scale(1.2) !important;
}

[data-component-type="testimonial-grid"][data-layout="slider"] button[data-slide-index]:hover {
  background: rgba(255, 255, 255, 0.8) !important;
}

/* Responsividade - cards e grid */
@media (max-width: 1024px) {
  [data-component-type="testimonial-grid"] [data-element="testimonial-card"] {
    padding: 28px !important;
  }
  [data-component-type="testimonial-grid"] [data-element="testimonials-grid"] {
    gap: 24px !important;
  }
  [data-component-type="testimonial-grid"] [data-element="likes-badge"] [data-element="badge-icon"] svg {
    width: 9px !important;
    height: 9px !important;
    min-width: 9px !important;
    min-height: 9px !important;
  }
}

@media (max-width: 639px) {
  [data-component-type="testimonial-grid"] [data-element="testimonial-card"] {
    padding: 24px !important;
    border-radius: 10px !important;
  }
  [data-component-type="testimonial-grid"] [data-element="testimonials-grid"] {
    gap: 20px !important;
  }
  [data-component-type="testimonial-grid"] [data-element="likes-badge"] [data-element="badge-icon"] svg {
    width: 8px !important;
    height: 8px !important;
    min-width: 8px !important;
    min-height: 8px !important;
  }
  [data-component-type="testimonial-grid"][data-layout="slider"] [data-action="prev"],
  [data-component-type="testimonial-grid"][data-layout="slider"] [data-action="next"] {
    width: 40px !important;
    height: 40px !important;
    font-size: 16px !important;
  }
  [data-component-type="testimonial-grid"][data-layout="slider"] [data-action="prev"] {
    left: 8px !important;
  }
  [data-component-type="testimonial-grid"][data-layout="slider"] [data-action="next"] {
    right: 8px !important;
  }
  [data-component-type="testimonial-grid"][data-layout="slider"] [data-element="slider-dots"] {
    gap: 8px !important;
    margin-top: 24px !important;
  }
  [data-component-type="testimonial-grid"][data-layout="slider"] button[data-slide-index] {
    width: 10px !important;
    height: 10px !important;
  }
}
