/* ═══════════════════════════════════════════════════════════
   FLP BOOST — CSS additif pour foreverbienetre.com
   Utilise les variables du thème flp-premium (--green, --gold…)
   Aucun override destructif — ajout pur
   ═══════════════════════════════════════════════════════════ */

/* ── CAROUSEL — hauteur réduite ───────────────────────────── */
.hero-carousel {
  height: 72svh !important;
  min-height: 420px !important;
  max-height: 640px !important;
}
@media (min-width: 1025px) {
  .hero-carousel {
    height: 68svh !important;
    min-height: 500px !important;
    max-height: 680px !important;
  }
}

/* ── SECTIONS — marges haut/bas réduites sur toutes les pages ── */
.section-pad {
  padding: clamp(28px, 4vw, 52px) 0 !important;
}
@media (min-width: 769px) {
  .section-pad {
    padding: clamp(36px, 4.5vw, 60px) 0 !important;
  }
}

/* Hero mini pages internes */
.page-hero-mini {
  padding-top:    clamp(24px, 3vw, 40px) !important;
  padding-bottom: clamp(24px, 3vw, 40px) !important;
}

/* Stats band */
.stats-band {
  padding: clamp(20px, 3vw, 36px) 0 !important;
}

/* ── 3. WISHLIST ──────────────────────────────────────────── */
.flpb-wish-btn {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 34px;
  height: 34px;
  background: rgba(255,255,255,.92);
  border: none;
  border-radius: var(--radius-sm, 6px);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  cursor: pointer;
  z-index: 4;
  box-shadow: 0 2px 8px rgba(0,0,0,.12);
  transition: all .22s var(--ease, ease);
  color: var(--gray, #546048);
  line-height: 1;
}
.flpb-wish-btn:hover { background: #fef2f2; color: #dc2626; transform: scale(1.08); }
.flpb-wish-btn.active { background: #dc2626; color: #fff; }
.flpb-wish-btn.active::before { content: '♥'; }
.flpb-wish-btn:not(.active)::before { content: '♡'; }

/* ── 4. BADGE VÉRIFIÉ SUR TÉMOIGNAGES ────────────────────── */
.flpb-verified {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 11px;
  font-weight: 700;
  color: var(--green, #5C8C1A);
  background: var(--surface, #EDF7DC);
  padding: 3px 8px;
  border-radius: 999px;
  margin-top: 5px;
  letter-spacing: .02em;
}

/* ── 5. FAQ ACCORDION — page distributeur ────────────────── */
.flpb-faq-section {
  padding: clamp(48px,6vw,80px) 0;
}
.flpb-faq-title {
  text-align: center;
  margin-bottom: clamp(28px,4vw,48px);
}
.flpb-faq-title .eyebrow {
  display: block;
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--green, #5C8C1A);
  margin-bottom: 8px;
}
.flpb-faq-title h2 {
  font-size: clamp(1.5rem,3vw,2.2rem);
  color: var(--black);
}
.flpb-faq-list {
  max-width: 760px;
  margin: 0 auto;
  border-radius: var(--radius, 12px);
  overflow: hidden;
  box-shadow: var(--shadow-md, 0 6px 24px rgba(28,42,10,.10));
}
.flpb-faq-item {
  border-bottom: 1px solid rgba(92,140,26,.10);
  background: #fff;
}
.flpb-faq-item:last-child { border-bottom: none; }
.flpb-faq-trigger {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 18px 22px;
  font-size: .95rem;
  font-weight: 600;
  color: var(--black, #1C2A0A);
  text-align: left;
  cursor: pointer;
  background: none;
  border: none;
  transition: color .2s, background .2s;
}
.flpb-faq-trigger:hover { color: var(--green); background: var(--light, #F6FBF0); }
.flpb-faq-trigger.open  { color: var(--green); background: var(--light); }
.flpb-faq-icon {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  border: 1.5px solid rgba(92,140,26,.3);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  flex-shrink: 0;
  transition: all .22s var(--ease);
  color: var(--gray);
}
.flpb-faq-trigger.open .flpb-faq-icon {
  background: var(--green);
  border-color: var(--green);
  color: #fff;
  transform: rotate(45deg);
}
.flpb-faq-body {
  max-height: 0;
  overflow: hidden;
  transition: max-height .38s var(--ease);
}
.flpb-faq-body.open { max-height: 340px; }
.flpb-faq-body-inner {
  padding: 0 22px 18px;
  font-size: .92rem;
  color: var(--gray, #546048);
  line-height: 1.78;
}

/* ── 6. STICKY CTA FLP ─────────────────────────────────────── */
.flpb-sticky-cta {
  position: fixed;
  bottom: 0; left: 0; right: 0;
  background: rgba(28,42,10,.97);
  backdrop-filter: blur(10px);
  padding: 13px clamp(16px,4vw,40px);
  z-index: 990;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  box-shadow: 0 -4px 24px rgba(28,42,10,.22);
  transform: translateY(100%);
  transition: transform .4s var(--ease, ease);
}
.flpb-sticky-cta.show { transform: translateY(0); }
.flpb-sticky-left {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}
.flpb-sticky-icon { font-size: 22px; flex-shrink: 0; }
.flpb-sticky-text { min-width: 0; }
.flpb-sticky-text strong {
  display: block;
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.flpb-sticky-text span {
  color: rgba(255,255,255,.60);
  font-size: 12px;
  white-space: nowrap;
}
.flpb-sticky-right {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}
.flpb-sticky-btn {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 11px 22px;
  background: linear-gradient(135deg, var(--gold, #C8A820), var(--gold-light, #E8C240));
  color: var(--black, #1C2A0A);
  font-weight: 700;
  font-size: 13.5px;
  border-radius: 999px;
  text-decoration: none;
  transition: all .22s;
  box-shadow: 0 4px 14px rgba(200,168,32,.38);
  white-space: nowrap;
}
.flpb-sticky-btn:hover { transform: translateY(-2px); box-shadow: 0 8px 22px rgba(200,168,32,.50); }
.flpb-sticky-close {
  width: 30px; height: 30px;
  background: rgba(255,255,255,.10);
  border: none;
  border-radius: 6px;
  color: rgba(255,255,255,.55);
  font-size: 16px;
  display: flex; align-items: center; justify-content: center;
  cursor: pointer;
  transition: background .15s;
  flex-shrink: 0;
}
.flpb-sticky-close:hover { background: rgba(255,255,255,.20); color: #fff; }
@media (max-width: 520px) {
  .flpb-sticky-text span { display: none; }
  .flpb-sticky-btn { padding: 10px 16px; font-size: 13px; }
}

/* Ne pas afficher sur mobile si la barre est gênante avec #waFloatBtn */
@media (max-width: 480px) {
  /* Décale waFloatBtn vers le haut quand le sticky est visible */
  body.flpb-sticky-open .wa-btn { bottom: 80px !important; }
}

/* ── 7. BACK TO TOP ───────────────────────────────────────── */
.flpb-top-btn {
  position: fixed;
  bottom: 88px;
  right: 22px;
  width: 40px;
  height: 40px;
  background: var(--green, #5C8C1A);
  color: #fff;
  border: none;
  border-radius: var(--radius-sm, 6px);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 17px;
  cursor: pointer;
  z-index: 950;
  box-shadow: 0 4px 14px rgba(92,140,26,.32);
  opacity: 0;
  pointer-events: none;
  transform: translateY(8px);
  transition: opacity .25s, transform .25s, background .2s;
}
.flpb-top-btn.show { opacity: 1; pointer-events: all; transform: translateY(0); }
.flpb-top-btn:hover { background: var(--green-mid, #6EA020); transform: translateY(-2px); }

/* ── 8. TOAST MINI (wishlist feedback) ───────────────────── */
.flpb-toast {
  position: fixed;
  bottom: 96px;
  left: 50%;
  transform: translateX(-50%) translateY(10px);
  background: var(--black, #1C2A0A);
  color: #fff;
  padding: 10px 18px;
  border-radius: var(--radius, 12px);
  font-size: 13.5px;
  font-weight: 500;
  z-index: 9998;
  box-shadow: var(--shadow-md);
  opacity: 0;
  transition: opacity .28s, transform .28s;
  white-space: nowrap;
  pointer-events: none;
  max-width: 90vw;
  text-align: center;
}
.flpb-toast.show {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}

/* ── 9. COUNT-UP — highlight des stats ───────────────────── */
.stats-band .stat-item .stat-number,
.stats-band .stat-item strong,
.stats-band .stat-item [class*="number"],
.stats-band .stat-item .animate-number {
  display: inline-block;
  transition: color .3s;
}
