/* ---- Wrapper de sécurité ---- */
.av-gr-wrap{
    overflow:hidden;
    width:100%;
    min-width:0;
    box-sizing:border-box;
  }

/* ---- Wrapper interne (contient flèches + swiper) ---- */
.av-gr-outer{
    position:relative;
    width:100%;
    min-width:0;
    max-width:960px;
    margin:2em auto;
    padding:0 3rem;
    box-sizing:border-box;
  }

/* ---- Container Swiper ---- */
.alphavidia-swiper{
    position:relative;
    width:100%;
    overflow:hidden;
    /* Force le même layer GPU que les slides (transform:translateZ ajouté par Swiper
       sur Android via swiper-backface-hidden) — sans ça, overflow:hidden est ignoré
       par le compositeur GPU sur certains navigateurs mobiles */
    -webkit-transform:translate3d(0,0,0);
    transform:translate3d(0,0,0);
    padding:0;
    box-sizing:border-box;
  }
  .alphavidia-swiper *{ box-sizing:border-box; }

  .alphavidia-swiper .swiper-wrapper{ align-items:stretch; }
  .alphavidia-swiper .swiper-slide{ display:flex; height:auto; min-width:0; }

  /* ---- Logo + date en haut de carte ---- */
  .alphavidia-swiper .review-meta-top{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:10px;
    margin-bottom:.6em;
  }
  .alphavidia-swiper .review-source-logo{
    height:28px;
    width:auto;
    object-fit:contain;
    display:block;
  }
  .alphavidia-swiper .review-date{
    font-size:.82em;
    color:var(--avgr-date, #888);
  }

  /* ---- Card ---- */
  .alphavidia-swiper .review-card{
    background:var(--avgr-card-bg, #fff);
    border-radius:12px;
    box-shadow:0 3px 10px rgba(0,0,0,.1);
    padding:1em;
    display:flex;
    flex-direction:column;
    width:100%;
    min-width:0;
    min-height:240px;
    color:var(--avgr-card-text, #000);
    overflow:hidden;
  }
  .alphavidia-swiper .review-header{
    display:flex; justify-content:space-between; align-items:center; gap:12px;
    font-weight:700; margin-bottom:.5em; color:var(--avgr-accent, #0073e6);
    min-width:0; overflow:hidden;
  }
  .alphavidia-swiper .review-rating{ color:var(--avgr-stars, #ffb400); font-size:1.1em; }

  /* ---- Clamp (5 lignes) ---- */
  .alphavidia-swiper .review-text{
    margin:.4em 0 .6em;
    font-style:italic;
    overflow:hidden;
    display:-webkit-box;
    -webkit-line-clamp:5;
    -webkit-box-orient:vertical;
    position:relative;
    overflow-wrap:break-word;
    word-break:break-word;
  }

  /* Dégradé : visible seulement si clamped */
  .alphavidia-swiper .review-text::after{
    content:'';
    position:absolute; left:0; right:0; bottom:0; height:2.0em;
    background:linear-gradient(180deg, transparent, var(--avgr-card-bg, #fff) 85%);
    pointer-events:none;
    display:none;
  }
  .alphavidia-swiper .review-text.avgr-clamped::after{ display:block; }

  /* ---- Toggle CSS-only ---- */
  .alphavidia-swiper .avgr-toggle:checked + .review-text{
    display:block;
    -webkit-line-clamp:unset;
    overflow:visible;
  }
  .alphavidia-swiper .avgr-toggle:checked + .review-text::after{ display:none; }

  /* Label Lire plus / Lire moins */
  .alphavidia-swiper .review-more-label{
    display:inline-block;
    color:var(--avgr-accent, #0073e6);
    font-weight:600;
    font-size:.92rem;
    cursor:pointer;
    line-height:1.4;
    user-select:none;
  }
  .alphavidia-swiper .review-more-label::after{ content:'Lire plus'; }
  .alphavidia-swiper .review-more-label:hover::after{ text-decoration:underline; }
  .alphavidia-swiper .avgr-toggle:checked + .review-text + .review-more-label::after{ content:'Lire moins'; }

  /* ---- Flèches (desktop : dans le padding de .av-gr-outer) ---- */
  .av-gr-btn-prev,
  .av-gr-btn-next{
    position:absolute;
    top:50%; transform:translateY(-50%);
    width:2.25rem; height:2.25rem;
    z-index:5; cursor:pointer;
    color:#0073e6;
    background:rgba(255,255,255,.95);
    border:none; border-radius:999px;
    box-shadow:0 2px 8px rgba(0,0,0,.15);
    display:flex; align-items:center; justify-content:center;
    padding:0; line-height:1;
    transition:opacity .2s;
  }
  .av-gr-btn-prev{ left:0; }
  .av-gr-btn-next{ right:0; }
  .av-gr-btn-prev::after{ content:'❮'; font-size:1rem; }
  .av-gr-btn-next::after{ content:'❯'; font-size:1rem; }
  .av-gr-btn-prev.swiper-button-disabled,
  .av-gr-btn-next.swiper-button-disabled{ opacity:.3; cursor:default; pointer-events:none; }

  /* Pagination cachée */
  .swiper-pagination-bullet{ display:none !important; }

  /* ---- Mobile : flèches cachées, swipe tactile natif ---- */
  @media (max-width:768px){
    .av-gr-outer{ padding:0; }
    .av-gr-btn-prev,
    .av-gr-btn-next{ display:none; }
  }

  /* Lien "Voir tous les avis" */
  .review-link{ text-align:center; margin-top:1em; }
  .review-link a{ color:#007BFF; text-decoration:none; font-weight:bold; }
  .review-link a:hover{ text-decoration:underline; }
