/* ==========================================================================
   Monde Apicole — Réassurance premium (portée de "MondeApicole1").
   100 % CLOISONNÉ : bandeaux défilants (.ribbons-xp), barre d'avantages
   (.trust-xp sur .features-band), témoignages (.testi-xp sur .testimonials).
   Tokens locaux, keyframes préfixés rxp-. Contenu + clés data-i18n préservés.
   ========================================================================== */

.ribbons-xp, .trust-xp, .testi-xp {
  --honey:#F9BC38; --honey-2:#F0A21E; --ink:#0B0B0A;
  --surface:#FFFFFF; --surface-2:#FFF8E8; --border:#EFE3C6; --muted:#7A705C; --text:#14120E;
  --accent:#A86C00;
  --grad-honey:linear-gradient(135deg,#FFD46B 0%,#F9BC38 45%,#F0A21E 100%);
  --hex:polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%);
  --shadow-c:rgb(122 80 0 / .18);
  --shadow:0 24px 50px -24px var(--shadow-c);
  --shadow-sm:0 2px 10px -2px var(--shadow-c);
  --r:20px; --r-lg:28px;
  --ease:cubic-bezier(.2,.8,.2,1);
  --spring:cubic-bezier(.34,1.56,.64,1);
  --font-display:"Montserrat","Segoe UI",system-ui,sans-serif;
}

/* ---------- Bandeaux croisés défilants ---------- */
.ribbons-xp { position:relative; height:200px; overflow:clip; perspective:900px; margin:0; }
.ribbons-xp .ribbon { position:absolute; left:-5%; width:110%; top:50%; padding-block:1.05rem;
  box-shadow:0 20px 40px -20px var(--shadow-c); }
.ribbons-xp .ribbon.r1 { z-index:2; background:var(--grad-honey); color:var(--ink);
  transform:translateY(-50%) rotateZ(-3.5deg) rotateX(12deg); }
.ribbons-xp .ribbon.r2 { background:var(--ink); color:var(--honey);
  transform:translateY(-50%) rotateZ(3deg) rotateX(-12deg); border-block:1px solid rgb(249 188 56 / .35); }
.ribbons-xp .track { display:flex; width:max-content; animation:rxp-marquee 38s linear infinite; }
.ribbons-xp .ribbon.r2 .track { animation-direction:reverse; animation-duration:44s; }
.ribbons-xp:hover .track { animation-play-state:paused; }
.ribbons-xp .track span { display:flex; align-items:center; gap:1.6rem; padding-inline:.8rem;
  font:800 clamp(1.05rem,2vw,1.4rem)/1 var(--font-display); text-transform:uppercase;
  letter-spacing:.04em; white-space:nowrap; }
.ribbons-xp .track span::after { content:""; width:20px; height:23px; clip-path:var(--hex);
  background:currentColor; margin-right:.8rem; }
@keyframes rxp-marquee { to { transform:translateX(-50%); } }

/* ---------- Barre d'avantages (cartes + icônes hexagonales + hover 3D) ---------- */
.trust-xp.features-band { background:var(--surface-2); border-color:var(--border); }
.trust-xp .container { display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; }
.trust-xp .feature-item {
  display:flex; align-items:center; gap:1rem; padding:1.15rem 1.25rem; color:var(--text);
  background:var(--surface); border:1px solid var(--border); border-radius:var(--r);
  transition:transform .5s var(--spring), box-shadow .4s, border-color .3s;
}
.trust-xp .feature-item:hover { transform:perspective(700px) rotateY(-10deg) translateY(-4px);
  box-shadow:var(--shadow); border-color:rgb(249 188 56 / .55); }
.trust-xp .feature-icon {
  display:grid; place-items:center; width:46px; height:50px; flex-shrink:0;
  clip-path:var(--hex); background:var(--grad-honey); font-size:1.35rem; line-height:1; margin:0;
}
.trust-xp .feature-text strong { display:block; font:700 1rem/1.25 var(--font-display); color:var(--text); }
.trust-xp .feature-text span { font-size:.85rem; color:var(--muted); }
@media (max-width:768px) { .trust-xp .container { grid-template-columns:1fr 1fr; } }
@media (max-width:460px) { .trust-xp .container { grid-template-columns:1fr; } }

/* ---------- Témoignages premium ---------- */
.testi-xp .section-header .tag {
  display:inline-flex; align-items:center; gap:.5rem; margin-bottom:1rem;
  font:700 .78rem/1 var(--font-display); letter-spacing:.14em; text-transform:uppercase; color:var(--accent);
  background:none; padding:0;
}
.testi-xp .section-header h2 { font-family:var(--font-display); font-weight:800; letter-spacing:-.02em; color:var(--text); }
.testi-xp .section-header p { color:var(--muted); }
.testi-xp .testimonials-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:1.5rem; }
.testi-xp .testimonial-card {
  position:relative; background:var(--surface); border:1px solid var(--border);
  border-radius:var(--r-lg); padding:1.9rem 1.7rem; box-shadow:var(--shadow-sm);
  transition:transform .5s var(--spring), box-shadow .4s, border-color .3s;
}
.testi-xp .testimonial-card::before {
  content:"\201C"; position:absolute; top:.4rem; right:1.2rem;
  font:800 3.6rem/1 Georgia, serif; color:rgb(249 188 56 / .35);
}
.testi-xp .testimonial-card:hover { transform:translateY(-6px); box-shadow:var(--shadow); border-color:rgb(249 188 56 / .5); }
.testi-xp .testimonial-stars { color:var(--honey-2); font-size:1rem; letter-spacing:2px; margin-bottom:.9rem; }
.testi-xp .testimonial-text { color:var(--text); opacity:.92; font-size:.95rem; line-height:1.7; margin:0; }
.testi-xp .testimonial-author { display:flex; align-items:center; gap:.85rem; margin-top:1.3rem; padding-top:1.1rem; border-top:1px solid var(--border); }
.testi-xp .author-avatar {
  width:46px; height:46px; border-radius:50%; display:grid; place-items:center; flex-shrink:0;
  background:var(--grad-honey); color:var(--ink); font:800 1.15rem/1 var(--font-display);
}
.testi-xp .author-info strong { display:block; font-family:var(--font-display); font-weight:700; color:var(--text); }
.testi-xp .author-info span { font-size:.82rem; color:var(--muted); }

@media (prefers-reduced-motion: reduce) {
  .ribbons-xp .track { animation:none; }
  .trust-xp .feature-item:hover, .testi-xp .testimonial-card:hover { transform:none; }
}
