/* ═══════════════════════════════════════════════════════════════
   testimonials-fix.css — réhabilite le slider d'avis Elementor cassé
   Remplace la logique Swiper par un horizontal scroll-snap natif.
   ═══════════════════════════════════════════════════════════════ */

.tm-slider-widget{position:relative;padding:0}
.tm-slider-widget .swiper-inner{position:relative}
.tm-slider-widget .swiper-container{
  overflow:hidden !important;
  margin:0 -8px;
  padding:0 8px;
}
.tm-slider-widget .swiper-wrapper{
  display:flex !important;
  flex-direction:row !important;
  gap:24px;
  overflow-x:auto;
  overflow-y:hidden;
  scroll-snap-type:x mandatory;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
  padding:8px 8px 16px;
  cursor:grab;
  transform:none !important;
  width:auto !important;
  height:auto !important;
}
.tm-slider-widget .swiper-wrapper::-webkit-scrollbar{display:none}
.tm-slider-widget .swiper-wrapper.is-grabbing{cursor:grabbing}
.tm-slider-widget .swiper-wrapper.is-grabbing *{pointer-events:none}
.tm-slider-widget .swiper-slide{
  scroll-snap-align:start;
  flex:0 0 calc((100% - 72px) / 4);  /* 4 par row sur desktop avec gap 24 */
  width:auto !important;
  height:auto !important;
  margin:0 !important;
  display:flex;
  transform:none !important;
}
@media(max-width:1100px){.tm-slider-widget .swiper-slide{flex:0 0 calc((100% - 48px) / 3)}}
@media(max-width:820px){.tm-slider-widget .swiper-slide{flex:0 0 calc((100% - 24px) / 2)}}
@media(max-width:600px){.tm-slider-widget .swiper-slide{flex:0 0 85%}}

/* Card stylisée des témoignages */
.tm-slider-widget .testimonial-item{
  width:100%;
  background:#fff;
  border:1px solid rgba(20,20,18,.08);
  border-radius:18px;
  padding:1.6rem 1.5rem;
  display:flex;
  flex-direction:column;
  gap:1rem;
  box-shadow:0 8px 24px -12px rgba(20,16,8,.12);
  transition:transform .25s cubic-bezier(.16,1,.3,1),box-shadow .25s ease;
}
.tm-slider-widget .testimonial-item:hover{transform:translateY(-3px);box-shadow:0 16px 36px -14px rgba(20,16,8,.2)}
.tm-slider-widget .info{display:flex;align-items:center;gap:.85rem}
.tm-slider-widget .image{width:48px;height:48px;border-radius:999px;overflow:hidden;flex-shrink:0;background:#f0eee8}
.tm-slider-widget .image img{width:100%;height:100%;object-fit:cover;display:block}
.tm-slider-widget .cite{display:flex;flex-direction:column;gap:.1rem}
.tm-slider-widget .name{font-size:.95rem;font-weight:600;color:#0a0a09;margin:0;line-height:1.2}
.tm-slider-widget .position{font-size:.78rem;color:#6f6b62;line-height:1.3}
.tm-slider-widget .testimonial-rating{display:flex;gap:2px;color:#FF6839}
.tm-slider-widget .testimonial-rating .fa-star:before{content:"★";font-size:.85rem}
.tm-slider-widget .text{font-size:.88rem;line-height:1.55;color:#1c1c19;letter-spacing:-0.003em;flex:1}

/* Cache les contrôles Swiper natifs cassés */
.tm-slider-widget .swiper-pagination,
.tm-slider-widget .swiper-button-prev,
.tm-slider-widget .swiper-button-next,
.tm-slider-widget .swiper-scrollbar{display:none !important}

/* Nos boutons prev/next custom (injectés par le JS) */
.ga-slider-nav{
  display:flex;justify-content:center;align-items:center;gap:.5rem;
  margin-top:1.4rem;
}
.ga-slider-btn{
  width:42px;height:42px;border-radius:999px;
  background:#fff;border:1px solid rgba(20,20,18,.12);
  color:#0a0a09;
  display:inline-flex;align-items:center;justify-content:center;
  cursor:pointer;padding:0;
  transition:background .2s ease,border-color .2s ease,transform .15s ease,opacity .2s ease;
}
.ga-slider-btn:hover:not(:disabled){background:#0a0a09;color:#fff;border-color:#0a0a09;transform:translateY(-1px)}
.ga-slider-btn:disabled{opacity:.3;cursor:not-allowed}
.ga-slider-btn svg{width:14px;height:14px;stroke-width:2}
