/* __reviews_carousel_v6_swipe_dates
   Основной внешний вид наследуется от исходного дизайна сайта. */
.reviews-section .reviews-slider{position:relative}
.reviews-section .reviews-track{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;width:100%;margin:0 auto}
.reviews-section .review-card[hidden]{display:none!important}
.reviews-section .review-card{min-width:0;width:auto;cursor:pointer}
.reviews-section .review-card:focus-visible{outline:2px solid var(--accent,#007c87);outline-offset:4px}
.reviews-section .review-card__excerpt{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:5;overflow:hidden}
.reviews-section .avatar--photo{background-position:center;background-size:cover;background-repeat:no-repeat}

/* Разноцветные аватарки: первые два цвета — из исходного дизайна. */
.reviews-section .avatar--violet{background:#7517ff;color:#fff}
.reviews-section .avatar--yellow{background:#ffd128;color:#333}
.reviews-section .avatar--blue{background:#2f80ed;color:#fff}
.reviews-section .avatar--pink{background:#ff6fae;color:#fff}
.reviews-section .avatar--green{background:#27ae60;color:#fff}
.reviews-section .avatar--orange{background:#ff8a34;color:#fff}

/* Исходные SVG-стрелки. */
.reviews-section .slider-arrow{padding:0;background:transparent}
.reviews-section .slider-arrow img{display:block;width:32px;height:32px}
.reviews-section .slider-arrow[hidden]{display:none!important}

/* Точки не меняют занимаемую ширину, поэтому не дёргаются. */
.reviews-section .slider-dots{display:flex;justify-content:center;gap:4px;margin-top:26px}
.reviews-section .slider-dots[hidden]{display:none!important}
.reviews-section .slider-dots .review-dot{width:34px;height:14px;padding:0;border:0;background:transparent;display:flex;align-items:center;justify-content:center;cursor:pointer}
.reviews-section .slider-dots .review-dot::before{content:"";display:block;width:8px;height:8px;border-radius:999px;background:#d7cccc;transition:width .2s ease,background .2s ease}
.reviews-section .slider-dots .review-dot.is-active::before{width:34px;background:var(--accent,#007c87)}
.reviews-section .slider-dots .review-dot:focus-visible{outline:2px solid var(--accent,#007c87);outline-offset:2px;border-radius:999px}

/* Полный отзыв */
.reviews-full-modal[hidden]{display:none!important}
.reviews-full-modal{position:fixed;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center;padding:24px}
.reviews-full-modal__backdrop{position:absolute;inset:0;border:0;background:rgba(17,24,39,.48);cursor:pointer}
.reviews-full-modal__dialog{position:relative;z-index:1;width:min(680px,100%);max-height:min(760px,calc(100vh - 48px));overflow:auto;background:#fff;border-radius:24px;padding:30px;box-shadow:0 24px 80px rgba(17,24,39,.25)}
.reviews-full-modal__close{position:absolute;right:16px;top:14px;width:38px;height:38px;border:0;border-radius:50%;background:var(--surface-chip,#f3f4f6);font-size:28px;line-height:1;cursor:pointer}
.review-full__top{display:flex;gap:18px;align-items:center;padding-right:46px;margin-bottom:18px}
.review-full__top h3{margin:0;font-size:18px;font-weight:600}
.review-full__top small{color:var(--text-muted,#7a7a7a)}
.review-full__text{margin-top:18px;color:var(--text-soft,#555);font-size:15px;line-height:1.65;white-space:normal}
.review-full__source{display:inline-flex;margin-top:20px;font-weight:600;color:var(--accent,#007c87)}
body.reviews-modal-open{overflow:hidden}

/* Мобильный режим: нативный свайп + scroll-snap. */
@media(max-width:980px){
  .reviews-section .reviews-track{
    display:flex;
    gap:16px;
    overflow-x:auto;
    overflow-y:visible;
    scroll-snap-type:x mandatory;
    scroll-behavior:smooth;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    overscroll-behavior-x:contain;
    padding:2px 0 8px;
  }
  .reviews-section .reviews-track::-webkit-scrollbar{display:none}
  .reviews-section .review-card,
  .reviews-section .review-card[hidden]{
    display:block!important;
    flex:0 0 calc(100% - 34px);
    width:calc(100% - 34px);
    scroll-snap-align:start;
    scroll-snap-stop:always;
  }
}
@media(max-width:640px){
  .reviews-full-modal{padding:12px}
  .reviews-full-modal__dialog{padding:24px 20px;border-radius:20px;max-height:calc(100vh - 24px)}
}
