/* Toast discret "Ajouté au panier" */
.fb-toast{
  position:fixed; left:50%; bottom:16px;
  transform:translateX(-50%) translateY(20px);
  background:#111; color:#fff; padding:10px 14px;
  border-radius:999px; opacity:0; transition:all .25s ease;
  z-index:9999; font-size:14px
}
.fb-toast.show{ opacity:.96; transform:translateX(-50%) translateY(0) }

/* Pulse sur le bouton panier */
@keyframes fb-pulse{0%{transform:scale(1)}50%{transform:scale(1.1)}100%{transform:scale(1)}}
.fb-cart-pulse{ animation:fb-pulse .45s ease }

/* Bounce badge */
@keyframes fb-bounce{0%,100%{transform:translateY(0)}30%{transform:translateY(-20%)}}
.fb-badge-bounce{ animation:fb-bounce .5s ease }

/* Fly-to-cart (image volant vers panier) */
.fb-fly{ position:fixed; z-index:9999; pointer-events:none;
  transition:transform .6s cubic-bezier(.2,.8,.2,1), opacity .6s;
  will-change:transform, opacity;
}

/* Bouton "Ajouté ✓" */
.fb-added{ background:#10b981 !important }
.fb-added:after{ content:'\2713'; margin-left:6px }

/* Accessibilité : réduire les animations si l’utilisateur préfère */
@media (prefers-reduced-motion: reduce){
  .fb-cart-pulse,.fb-badge-bounce,.fb-fly{ animation:none; transition:none }
}

/* Bulle quantité sur le bouton “Ajouter” */
.fb-btn-badge{
  position:absolute; top:-6px; right:-6px; min-width:18px; height:18px;
  padding:0 5px; background:#e11d48; color:#fff; border-radius:999px;
  font-size:11px; line-height:18px; text-align:center; pointer-events:none;
  box-shadow:0 1px 2px rgba(0,0,0,.15);
}
.fb-btn-wrap{ position:relative; display:inline-block; }

/* État visuel quand l’article est déjà dans le panier */
.fb-in-cart {
  position: relative;
  padding-right: 2.4em;           /* laisse la place à la pastille */
}

/* Pastille avec quantité dans le panier */
.fb-btn-badge {
  position: absolute;
  top: -6px;
  right: -6px;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  background: #e11d48; /* rouge */
  color: #fff;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
  line-height: 18px;
  text-align: center;
  pointer-events: none;
  box-shadow: 0 1px 2px rgba(0,0,0,.15);
}

/* Pour s'assurer que le bouton a un wrapper positionné */
.fb-btn-wrap {
  position: relative;
  display: inline-block;
}

.fb-variations-in-loop table.variations {
  margin-bottom: 6px;
}
.fb-variations-in-loop .single_variation_wrap {
  margin-top: 6px;
}
.fb-variations-in-loop .button.single_add_to_cart_button {
  width: 100%;
}

/* Bloc compact */
.fb-variations-inline { margin-bottom: .35rem; }

/* Masquer les libellés "Choisir une option" trop verbeux */
.fb-variations-inline table.variations { margin: .25rem 0 .35rem; }
.fb-variations-inline table.variations td.label { display: none; }

.fb-variations-inline table.variations select{
  width: 100%;
  padding: .5rem .6rem;
  border-radius: .8rem;
}

/* Prix de la variation sélectionnée */
.fb-variations-inline .single_variation { margin: .25rem 0; }

/* Quantité + bouton en plein largeur en mobile */
.fb-variations-inline .quantity { margin-right: .5rem; }
.fb-variations-inline .single_add_to_cart_button { width: 100%; }