/* ============================================================
   PANIER FLOTTANT (drawer) — thème parent theme-rigo-pro
   Générique, tokens partagés. Chargé sur tout le front.
   rev: 2026-08-15b (mini-panier .rigo-mc)
   ============================================================ */

/* Bouton flottant */
.rigo-fc__toggle {
  position: fixed;
  right: 24px;
  bottom: 24px;
  z-index: 9995;
  width: 58px;
  height: 58px;
  border: none;
  border-radius: 50%;
  background: var(--color-accent, #3b82f6);
  color: #fff;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: var(--shadow-lg, 0 10px 24px rgba(0, 0, 0, .2));
  transition: transform var(--transition-fast, .15s ease);
}
.rigo-fc__toggle:hover { transform: translateY(-2px); }

.rigo-fc__count {
  position: absolute;
  top: -4px;
  right: -4px;
  min-width: 20px;
  height: 20px;
  padding: 0 5px;
  border-radius: 9999px;
  background: var(--color-primary, #111);
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  line-height: 20px;
  text-align: center;
}
.rigo-fc__count[data-empty] { display: none; }
.rigo-fc__count.is-bump { animation: rigo-fc-bump .35s ease; }
@keyframes rigo-fc-bump { 0%, 100% { transform: scale(1); } 40% { transform: scale(1.4); } }

/* Overlay */
.rigo-fc__overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, .45);
  opacity: 0;
  pointer-events: none;
  transition: opacity .3s ease;
  z-index: 9996;
}
.rigo-fc.is-open .rigo-fc__overlay { opacity: 1; pointer-events: auto; }

/* Panneau */
.rigo-fc__panel {
  position: fixed;
  top: 0;
  right: 0;
  height: 100dvh;
  width: min(384px, 100%);
  z-index: 9997;
  display: flex;
  flex-direction: column;
  background: var(--color-white, #fff);
  box-shadow: -8px 0 40px rgba(0, 0, 0, .14);
  transform: translateX(100%);
  transition: transform .3s cubic-bezier(.4, 0, .2, 1);
}
.rigo-fc.is-open .rigo-fc__panel { transform: translateX(0); }
body.rigo-fc-lock { overflow: hidden; }

.rigo-fc__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 18px 20px;
  border-bottom: 1px solid var(--color-border, #e5e7eb);
}
.rigo-fc__title {
  font-family: var(--font-heading);
  font-size: var(--text-lg, 18px);
  font-weight: 600;
  color: var(--color-primary, #111);
}
.rigo-fc__close {
  border: none;
  background: none;
  font-size: 26px;
  line-height: 1;
  cursor: pointer;
  color: var(--color-muted, #6b7280);
}
.rigo-fc__close:hover { color: var(--color-primary, #111); }

.rigo-fc__content { flex: 1; overflow-y: auto; padding: 16px 20px; }

/* Mini-panier — markup WooCommerce PAR DÉFAUT (approche batibien, éprouvée).
   !important sur les propriétés que le cœur WooCommerce impose (img float/width, listes). */
.rigo-fc__content .woocommerce-mini-cart {
  margin: 0 !important; padding: 0 !important; list-style: none !important;
}
.rigo-fc__content .woocommerce-mini-cart-item {
  position: relative;
  padding: 12px 28px 12px 0;
  border-bottom: 1px solid var(--color-border, #e5e7eb);
  list-style: none !important;
}
.rigo-fc__content .woocommerce-mini-cart-item::before,
.rigo-fc__content .woocommerce-mini-cart-item::after { content: none !important; }
.rigo-fc__content .woocommerce-mini-cart-item > a:not(.remove) {
  display: flex !important;
  align-items: center;
  gap: 12px;
  color: var(--color-primary, #111);
  font-weight: 600;
  font-size: var(--text-sm, 14px);
  line-height: 1.35;
  text-decoration: none;
}
.rigo-fc__content .woocommerce-mini-cart-item img {
  float: none !important;
  width: 52px !important;
  height: 52px !important;
  margin: 0 !important;
  object-fit: cover;
  border-radius: var(--radius-sm, 6px);
}
.rigo-fc__content .woocommerce-mini-cart-item .quantity {
  display: block;
  margin: 6px 0 0 64px;
  color: var(--color-muted, #6b7280);
  font-size: var(--text-xs, 12px);
}
.rigo-fc__content .woocommerce-mini-cart-item a.remove {
  position: absolute;
  top: 12px;
  right: 0;
  width: 22px;
  height: 22px;
  line-height: 20px;
  text-align: center;
  border-radius: 50%;
  font-size: 17px;
  text-decoration: none;
  color: var(--color-muted, #6b7280) !important;
}
.rigo-fc__content .woocommerce-mini-cart-item a.remove:hover {
  color: var(--color-error, #dc2626) !important;
  background: color-mix(in srgb, var(--color-error, #dc2626) 12%, transparent);
}
.rigo-fc__content .woocommerce-mini-cart__total {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  padding: 14px 0;
  margin: 8px 0 0;
  border-top: 2px solid var(--color-border, #e5e7eb);
  font-weight: 700;
  color: var(--color-primary, #111);
}
.rigo-fc__content .woocommerce-mini-cart__buttons {
  display: flex !important;
  flex-direction: column;
  gap: 10px;
  margin: 0 !important;
  padding-top: 14px;
}
.rigo-fc__content .woocommerce-mini-cart__buttons .button {
  display: block;
  text-align: center;
  padding: 12px;
  border-radius: var(--radius-full, 9999px);
  font-weight: 600;
  text-decoration: none;
  border: 1px solid var(--color-accent, #3b82f6);
  background: transparent;
  color: var(--color-accent, #3b82f6);
  float: none !important;
  width: auto !important;
}
.rigo-fc__content .woocommerce-mini-cart__buttons .button.checkout {
  background: var(--color-accent, #3b82f6);
  color: #fff;
}
.rigo-fc__content .woocommerce-mini-cart__empty-message {
  color: var(--color-muted, #6b7280);
  text-align: center;
  padding: 24px 0;
}
