/** Shopify CDN: Minification failed

Line 672:0 Unexpected "}"

**/
/* ==========================================================================
   BUNDLE OFFER — Estilos (Black Hype) — wizard inline (sem drawer)
   ========================================================================== */

bundle-offer {
  width: 100%;
  max-width: 100%;
  min-width: 0; /* CRUCIAL: Impede o elemento de esticar o site inteiro */
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  box-sizing: border-box;
}

/* Enforcar o attribute hidden */
bundle-offer [hidden],
.product-customization-container[hidden] { display: none !important; }

/* -------- Heading com linhas laterais -------------------------------- */
.bundle-offer__heading {
  display: flex;
  align-items: center;
  gap: 1rem;
  text-align: center;
  font-family: var(--font-heading-family);
  font-weight: 800;
  font-size: 1.25rem;
  letter-spacing: 0.005em;
  text-transform: capitalize;
  line-height: 1.2;
}
.bundle-offer__heading::before,
.bundle-offer__heading::after {
  content: '';
  flex: 1;
  height: 1px;
  background: rgb(var(--color-foreground) / 0.2);
}

/* -------- Cards de opção (1 Product / 2 Products) -------------------- */
.bundle-option {
  display: block;
  position: relative;
  border: 1.5px solid rgb(var(--color-foreground) / 0.2);
  border-radius: var(--border-radius-small, 8px);
  padding: 1rem 1.25rem;
  cursor: pointer;
  transition: border-color 0.2s ease;
  background: transparent;
  
  max-width: 100%;
  min-width: 0; 
  box-sizing: border-box;
  /* overflow: hidden removido para as tags do topo não cortarem */
}

.bundle-option:hover { border-color: rgb(var(--color-foreground) / 0.5); }
.bundle-option.is-selected {
  border-color: rgb(var(--color-foreground));
  border-width: 2px;
}
.bundle-option input[type="radio"] {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.bundle-option__label-wrap {
  display: block;
  cursor: pointer;
}

.bundle-option__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
}
.bundle-option__radio {
  width: 20px;
  height: 20px;
  min-width: 20px;
  border-radius: 50%;
  border: 2px solid rgb(var(--color-foreground) / 0.3);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: border-color 0.2s ease;
}
.bundle-option.is-selected .bundle-option__radio {
  border-color: rgb(var(--color-foreground));
}
.bundle-option__radio::after {
  content: '';
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: rgb(var(--color-foreground));
  transform: scale(0);
  transition: transform 0.2s ease;
}
.bundle-option.is-selected .bundle-option__radio::after { transform: scale(1); }
.bundle-option__label {
  font-family: var(--font-heading-family);
  font-weight: 700;
  font-size: 1.05rem;
  flex: 1;
}
.bundle-option__prices { text-align: right; }
.bundle-option__price {
  font-family: var(--font-heading-family);
  font-weight: 700;
  font-size: 1.25rem;
}
.bundle-option__compare-price {
  font-size: 0.85rem;
  text-decoration: line-through;
  opacity: 0.5;
}
.bundle-badge {
  display: inline-block;
  font-size: 0.7rem;
  font-weight: 600;
  text-transform: capitalize;
  letter-spacing: 0.02em;
  padding: 0.25em 0.7em;
  border-radius: var(--border-radius-small, 4px);
}

/* Container dos badges no topo do card "2 Products" */
.bundle-option__top-badges {
  position: absolute;
  top: -0.7em;
  right: 1rem;
  display: flex;
  gap: 0.4rem;
  align-items: center;
}

.bundle-badge--urgency {
  background: rgb(var(--color-foreground));
  color: rgb(var(--color-background));
  border: none;
  font-style: italic;
}

.bundle-badge--discount {
  background: #990054ff;
  color: #fff;
  border: none;
  font-weight: 800;
  font-size: 0.72rem;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  padding: 0.3em 0.7em;
  white-space: nowrap;
}
.bundle-offer__savings {
  font-size: 0.9rem;
  font-weight: 600;
  opacity: 0.85;
  margin-top: 0.2rem;
}

/* -------- Slot dos controles embutidos -------------------------------- */
.bundle-option__embedded-controls {
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid rgb(var(--color-foreground) / 0.1);
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.bundle-option__embedded-controls:empty {
  display: none;
}
.bundle-option__embedded-controls > variant-radios,
.bundle-option__embedded-controls > [id^="customization-container-"] {
  width: 100%;
  max-width: 100%;
}

/* ==========================================================================
   WIZARD — steps inline dentro do card "2 Products"
   ========================================================================== */
.bundle-wizard {
  margin-top: 1rem;
  min-width: 0;
  max-width: 100%;
}
.bundle-option--bundle:not(.is-selected) .bundle-wizard {
  display: none;
}

.bundle-wizard__step {
  padding-top: 1rem;
  border-top: 1px solid rgb(var(--color-foreground) / 0.1);
  display: flex;
  flex-direction: column;
  gap: 1rem;
  min-width: 0; /* CRUCIAL: Mantém o wizard dentro do limite */
  max-width: 100%;
}
.bundle-wizard__step-progress {
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-transform: capitalize;
  opacity: 0.6;
}
.bundle-wizard__step-title {
  font-family: var(--font-heading-family);
  font-weight: 700;
  font-size: 1.1rem;
  line-height: 1.2;
}

/* Produto atual no step "first" */
.bundle-wizard__product {
  display: flex;
  gap: 0.85rem;
  align-items: center;
}
.bundle-wizard__product-image {
  width: 80px;
  height: 80px;
  object-fit: cover;
  border-radius: var(--border-radius-small, 6px);
  background: rgb(var(--color-foreground) / 0.04);
  flex-shrink: 0;
}
.bundle-wizard__product-meta {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  min-width: 0;
}
.bundle-wizard__product-title {
  font-family: var(--font-heading-family);
  font-weight: 700;
  font-size: 0.95rem;
  line-height: 1.25;
  margin: 0;
}
.bundle-wizard__product-price {
  font-size: 0.9rem;
  font-weight: 600;
  opacity: 0.85;
}

/* Ações do wizard (botões) */
.bundle-wizard__actions {
  display: flex;
  gap: 0.6rem;
  margin-top: 0.25rem;
  flex-wrap: wrap;
}
.bundle-wizard__btn {
  flex: 1 1 auto;
  padding: 0.85rem 1.25rem;
  font-size: 0.9rem;
  font-weight: 700;
  text-transform: capitalize;
  letter-spacing: 0.01em;
  border: none;
  border-radius: var(--border-radius-small, 6px);
  cursor: pointer;
  transition: opacity 0.2s ease, background 0.2s ease;
  font-family: inherit;
  min-width: 44%;
}
.bundle-wizard__btn--primary {
  background: rgb(var(--color-foreground));
  color: rgb(var(--color-background));
}
.bundle-wizard__btn--primary:hover { opacity: 0.9; }
.bundle-wizard__btn--secondary {
  background: transparent;
  color: rgb(var(--color-foreground));
  border: 1.5px solid rgb(var(--color-foreground) / 0.2);
}
.bundle-wizard__btn--secondary:hover {
  border-color: rgb(var(--color-foreground) / 0.5);
}

/* Summary (step 4) */
.bundle-wizard__summary {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.bundle-wizard__summary-item {
  display: flex;
  gap: 0.75rem;
  align-items: flex-start;
  padding: 0.75rem;
  border: 1px solid rgb(var(--color-foreground) / 0.15);
  border-radius: var(--border-radius-small, 6px);
  background: rgb(var(--color-foreground) / 0.02);
}
.bundle-wizard__summary-image {
  width: 64px;
  height: 64px;
  object-fit: cover;
  border-radius: var(--border-radius-small, 4px);
  flex-shrink: 0;
}
.bundle-wizard__summary-info {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  min-width: 0;
  flex: 1;
}
.bundle-wizard__summary-badge {
  font-size: 0.7rem;
  font-weight: 700;
  text-transform: capitalize;
  letter-spacing: 0.02em;
  opacity: 0.6;
}
.bundle-wizard__summary-item--free {
  border-color: #dc2626;
  background: color-mix(in srgb, #dc2626 6%, transparent);
}
.bundle-wizard__summary-badge--free {
  color: #dc2626;
  opacity: 1;
  font-weight: 800;
}
.bundle-wizard__summary-title {
  font-weight: 700;
  font-size: 0.9rem;
  line-height: 1.25;
}
.bundle-wizard__summary-details {
  font-size: 0.75rem;
  opacity: 0.7;
  line-height: 1.35;
  word-break: break-word;
}
.bundle-wizard__summary-details:empty { display: none; }
.bundle-wizard__note {
  font-size: 0.8rem;
  opacity: 0.7;
  margin: 0;
  text-align: center;
}

/* ==========================================================================
   CARROSSEL E GRID de 2ºs produtos (step grid)
   ========================================================================== */

/* 1. Base Padrão do Grid */
.bundle-picker__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-auto-rows: min-content;
  gap: 0.75rem;
}

/* 2. Wrapper do Carrossel e Botões */
.bundle-picker__carousel-wrapper {
  position: relative;
  margin-top: 1rem;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
}
.bundle-picker__carousel-btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background-color: rgb(var(--color-foreground) / 0.8);
  color: rgb(var(--color-background));
  border: none;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 10;
  border-radius: 50%;
  font-size: 1.2rem;
  box-shadow: 0 4px 6px rgba(0,0,0,0.1);
  transition: opacity 0.2s;
}
.bundle-picker__carousel-btn--prev { left: 5px; } 
.bundle-picker__carousel-btn--next { right: 5px; }
.bundle-picker__carousel-btn[hidden] { display: none !important; }

/* 3. Forçando o Carrossel (Sobrescrevendo o Grid base) */
.bundle-picker__grid.bundle-picker__grid--carousel {
  display: flex !important;
  flex-wrap: nowrap !important;
  overflow-x: auto;
  scroll-behavior: smooth;
  scroll-snap-type: x mandatory; 
  -webkit-overflow-scrolling: touch;
  gap: 1rem;
  padding-bottom: 0.5rem;
  scrollbar-width: none;
  
  width: 100%;
  max-width: 100%;
  min-width: 0; /* CRUCIAL: Pista de rolagem restrita */
  box-sizing: border-box;
}
.bundle-picker__grid.bundle-picker__grid--carousel::-webkit-scrollbar {
  display: none;
}

/* 4. Estilos do Item (Produto) */
.bundle-picker__item {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  padding: 0.5rem;
  border: 1.5px solid rgb(var(--color-foreground) / 0.15);
  border-radius: var(--border-radius-small, 8px);
  cursor: pointer;
  /* Mudamos a transição para focar na borda e na sombra */
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
  text-align: center;
  background: rgb(var(--color-background));
  color: inherit;
  font-family: inherit;
  
  width: 100%;
  min-width: 0; 
  overflow: hidden;
  box-sizing: border-box;
}

.bundle-picker__item:hover {
  border-color: rgb(var(--color-foreground));
  /* Adiciona uma linha extra para dar sensação de seleção perfeita, igual aos cards principais */
  box-shadow: 0 0 0 1px rgb(var(--color-foreground));
  /* REMOVIDO: transform: translateY(-2px) para a borda não ser cortada no topo */
}

.bundle-picker__item img {
  width: 100%;
  max-width: 100%; 
  height: auto;
  aspect-ratio: 1;
  object-fit: cover;
  border-radius: var(--border-radius-small, 4px);
  background: rgb(var(--color-foreground) / 0.04);
  display: block; 
  margin: 0 auto;
}

.bundle-picker__item-title {
  font-size: 0.85rem;
  font-weight: 500;
  line-height: 1.2;
}

.bundle-picker__item-price {
  font-size: 0.8rem;
  opacity: 0.7;
  line-height: 1;
}

/* 5. Comportamento do Item DENTRO do Carrossel */
.bundle-picker__grid--carousel .bundle-picker__item {
  flex: 0 0 60%; 
  max-width: 180px; 
  scroll-snap-align: start; 
}

/* ==========================================================================
   DETAIL do 2º produto (step detail)
   ========================================================================== */
.bundle-picker__detail {
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
}
.bundle-picker__detail-image {
  width: 100%;
  max-width: 300px;
  aspect-ratio: 1;
  object-fit: cover;
  border-radius: var(--border-radius-small, 6px);
  background: rgb(var(--color-foreground) / 0.04);
  align-self: center;
}
.bundle-picker__detail-title {
  font-family: var(--font-heading-family);
  font-weight: 700;
  font-size: 1.05rem;
  margin: 0;
  line-height: 1.25;
  text-transform: capitalize;
}
.bundle-picker__detail-price {
  font-family: var(--font-heading-family);
  font-weight: 700;
  font-size: 1.15rem;
}
.bundle-picker__detail-options {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.bundle-picker__detail-option-label {
  font-size: 0.85rem;
  margin-bottom: 0.35rem;
}
.bundle-picker__detail-option-values {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}
.bundle-picker__detail-option-value {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.5rem 0.9rem;
  font-size: 0.85rem;
  border: 1.5px solid rgb(var(--color-foreground) / 0.2);
  border-radius: var(--border-radius-small, 6px);
  cursor: pointer;
  transition: border-color 0.15s ease;
  min-width: 2.4rem;
  background: rgb(var(--color-background));
}
.bundle-picker__detail-option-value:hover {
  border-color: rgb(var(--color-foreground) / 0.5);
}
.bundle-picker__detail-option-value.is-selected {
  border-color: rgb(var(--color-foreground));
  border-width: 2px;
  font-weight: 600;
}
.bundle-picker__detail-option-value input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.bundle-picker__detail-customize.product-customization-container {
  --customization-border-color: #e5e7eb;
  --customization-bg-color: #ffffff;
  --customization-text-color: #1f2937;
  --customization-label-color: #374151;
  --customization-info-bg: #f3f4f6;
}

/* ==========================================================================
   MEDIA QUERIES
   ========================================================================== */
@media screen and (min-width: 768px) {
  .bundle-picker__grid--carousel .bundle-picker__item {
    flex: 0 0 calc(33.333% - 0.67rem);
    max-width: 160px; 
  }
}

@media screen and (max-width: 699px) {
  .bundle-option__embedded-controls .customization-input {
    font-size: 16px; 
  }
  .bundle-wizard__btn {
    min-width: 100%;
  }
  .bundle-picker__grid {
    gap: 0.6rem;
  }
}

/* Fallback */
.bundle-offer-section-wrapper:empty { display: none; }

/* =========================================================
   1. FORÇAR FONTES NATIVAS DO TEMA NO BUNDLE
   ========================================================= */
bundle-offer, 
bundle-offer *,
.bundle-wizard *,
.bundle-option * {
  font-family: var(--font-body-family), inherit !important;
}

bundle-offer h1, 
bundle-offer h2, 
bundle-offer h3, 
.bundle-wizard__step-title,
.bundle-wizard__product-title,
.bundle-option__label {
  font-family: var(--font-heading-family), inherit !important;
}


.bundle-badge--discount {
  background: #990054 !important; /* Sua cor de fundo */
  color: #ffffff !important;
  font-weight: 800 !important;
  font-size: 0.8rem !important;
  letter-spacing: 0.5px !important;
  padding: 6px 14px !important;
  border-radius: 20px !important;
  text-transform: uppercase !important;
  /* Sombra (glow) usando a mesma cor com um pouco de transparência */
  box-shadow: 0 4px 10px rgba(153, 0, 84, 0.3) !important; 
  display: inline-block;
}

/* O título grande da oferta "Buy 1 Get 1 FREE" */
.bundle-option__label {
  font-weight: 800 !important;
  font-size: 1.3rem !important;
  letter-spacing: -0.5px !important;
  color: rgb(var(--color-foreground)) !important;
  display: block;
  margin-bottom: 2px;
}

/* O texto em destaque "Save R$ X - Get 1 FREE" combinando com a tag */
.bundle-offer__savings {
  color: #990054 !important; /* Mudamos o vermelho padrão para a sua cor premium */
  font-weight: 700 !important;
  font-size: 0.95rem !important;
}
/* =========================================================
   3. ESTILO PARA VARIANTES ESGOTADAS (SOLD OUT)
   ========================================================= */
.bundle-picker__detail-option-value.is-sold-out {
  opacity: 0.4 !important;
  text-decoration: line-through !important;
  cursor: not-allowed !important;
  background-color: transparent !important;
}

/* Bloqueia o clique apenas na bolinha do input invisível */
.bundle-picker__detail-option-value.is-sold-out input {
  pointer-events: none;
}

/* Deixa o botão de confirmar cinza e bloqueado */
.bundle-wizard__btn:disabled {
  opacity: 0.6 !important;
  cursor: not-allowed !important;
  background: #a3a3a3 !important;
  color: #ffffff !important;
  border-color: #a3a3a3 !important;
  box-shadow: none !important;
}
/* =========================================================
   TEXTO MENOR EM PRETO
   ========================================================= */
.bundle-offer__savings {
  color: #000000 !important; /* Alterado de vinho para preto */
  font-weight: 700 !important;
  font-size: 0.95rem !important;
}

/* =========================================================
   FORÇAR RISCO NOS TAMANHOS ESGOTADOS (PASSO 1 - TEMA NATIVO)
   ========================================================= */

}

/* =========================================================
   FORÇAR RISCO E BLOQUEIO DE CLIQUE (PASSO 1)
   ========================================================= */
.is-sold-out-native {
  opacity: 0.3 !important;
  text-decoration: line-through !important;
  cursor: not-allowed !important;
  pointer-events: none !important; /* Isso aqui impede totalmente o cliente de clicar */
}