/* css/sections/reviews.css */
.reviews{
  padding:100px 0;
  background:#fff;
}

.reviews__header{
  text-align:center;
  margin-bottom:32px;
}

.reviews__title{
  font-size:var(--text-6xl);
  font-weight:var(--font-black);
  color:var(--primary-dark);
  margin:0 0 16px;
  font-family:var(--font-display);
  letter-spacing:-1px;
  line-height:1.15;
}

.reviews__subtitle{
  font-size:var(--text-lg);
  color:var(--text-muted);
  margin:0;
  font-weight:var(--font-semibold);
}

/* Яндекс Platform Badge */
.reviews__platform{
  display:flex;
  justify-content:center;
  margin-bottom:48px;
}

.platform-badge{
  display:flex;
  align-items:center;
  gap:24px;
  padding:16px 28px;
  background:#fff;
  border:2px solid rgba(31,138,112,0.15);
  border-radius:var(--radius-pill);
  box-shadow:0 4px 16px rgba(0,0,0,0.06);
}

.platform-badge__logo{
  display:flex;
  align-items:center;
  gap:10px;
}

.platform-badge__icon{
  width:36px;
  height:36px;
  background:#FC3F1D;
  color:#fff;
  border-radius:8px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:20px;
  font-weight:var(--font-black);
  font-family:var(--font-display);
}

.platform-badge__name{
  font-size:20px;
  font-weight:var(--font-black);
  color:var(--text);
  font-family:var(--font-display);
}

.platform-badge__rating{
  display:flex;
  align-items:center;
  gap:8px;
  padding-left:24px;
  border-left:2px solid rgba(31,138,112,0.15);
}

.platform-badge__stars{
  color:#FC3F1D;
  font-size:18px;
  letter-spacing:2px;
}

.platform-badge__score{
  font-size:22px;
  font-weight:var(--font-black);
  color:var(--text);
  font-family:var(--font-display);
}

/* Review Cards */
.review-card{
  background:#fff;
  border-radius:var(--radius-18);
  padding:24px;
  border:2px solid rgba(31,138,112,0.12);
  transition:all var(--transition-slow);
  height:100%;
  min-height:360px;
  max-height:360px;
  display:flex;
  flex-direction:column;
  overflow:hidden;
}

.review-card:hover{
  border-color:var(--primary);
  transform:translateY(-4px);
  box-shadow:0 12px 32px rgba(31,138,112,0.15);
}

.review-card__header{
  display:flex;
  align-items:flex-start;
  gap:12px;
  margin-bottom:12px;
}

.review-card__avatar{
  width:48px;
  height:48px;
  border-radius:50%;
  background:linear-gradient(135deg, #e8ede8, #f0f4f0);
  border:2px solid rgba(31,138,112,0.15);
  object-fit:cover;
  flex-shrink:0;
}

.review-card__author{
  flex:1;
  min-width:0;
}

.review-card__name{
  font-size:16px;
  font-weight:var(--font-extrabold);
  color:var(--text);
  margin:0 0 4px;
  line-height:1.2;
  display:-webkit-box;
  line-clamp:1;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

.review-card__meta{
  font-size:12px;
  color:var(--text-muted);
  margin:0;
  font-weight:var(--font-semibold);
  line-height:1.3;
}

.review-card__stars{
  color:#FC3F1D;
  font-size:16px;
  letter-spacing:1px;
  flex-shrink:0;
  line-height:1;
}

.review-card__date{
  font-size:13px;
  color:var(--text-muted);
  margin:0 0 12px;
  font-weight:var(--font-semibold);
}

.review-card__text{
  font-size:14px;
  line-height:1.6;
  color:var(--text-soft);
  margin:0;
  font-weight:var(--font-normal);
  flex:1;
  display:-webkit-box;
  line-clamp:9;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

/* Carousel */
.carousel{
  position:relative;
  margin-bottom:40px;
}

.carousel__viewport{
  overflow:hidden;
  border-radius:var(--radius-18);
  outline:none;
  padding:8px 0;
}

.carousel__track{
  display:flex;
  gap:20px;
  transition:transform 450ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
  will-change:transform;
}

.reviews-carousel .carousel__track > *{
  flex:0 0 calc((100% - 20px) / 2);
  min-width:0;
}

.results-carousel .carousel__track > *{
  flex:0 0 calc((100% - 40px) / 3);
  min-width:0;
}

.carousel__arrow{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:52px;
  height:52px;
  border-radius:50%;
  border:0;
  background:var(--primary);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  user-select:none;
  z-index:10;
  transition:transform var(--transition-base), background var(--transition-base), opacity var(--transition-base);
  font-size:0;
}

.carousel__arrow::before{
  content:"";
  width:16px;
  height:16px;
  background:currentColor;

  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 3a1 1 0 0 1 1 1v13.59l4.3-4.3a1 1 0 1 1 1.4 1.42l-6.01 6.01a1 1 0 0 1-1.38 0l-6.01-6.01a1 1 0 1 1 1.4-1.42L11 17.59V4a1 1 0 0 1 1-1z'/%3E%3C/svg%3E") center/contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 3a1 1 0 0 1 1 1v13.59l4.3-4.3a1 1 0 1 1 1.4 1.42l-6.01 6.01a1 1 0 0 1-1.38 0l-6.01-6.01a1 1 0 1 1 1.4-1.42L11 17.59V4a1 1 0 0 1 1-1z'/%3E%3C/svg%3E") center/contain no-repeat;
}


.carousel__arrow:hover:not(:disabled){
  background:var(--primary-hover);
  transform:translateY(-50%) scale(1.08);
}

.carousel__arrow:active:not(:disabled){
  transform:translateY(-50%) scale(1.0);
}

.carousel__arrow:disabled{
  opacity:0.35;
  cursor:not-allowed;
  transform:translateY(-50%);
}

.carousel__arrow--prev{
  left:-26px;
}
.carousel__arrow--prev::before{
  transform:rotate(90deg);
}

.carousel__arrow--next{
  right:-26px;
}
.carousel__arrow--next::before{
  transform:rotate(-90deg);
}

.carousel__dots{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:10px;
  margin-top:36px;
}

.carousel__dot{
  width:10px;
  height:10px;
  border-radius:50%;
  border:2px solid rgba(31,138,112,0.25);
  background:transparent;
  cursor:pointer;
  transition:all var(--transition-base);
  padding:0;
}

.carousel__dot:hover{
  border-color:var(--primary);
  transform:scale(1.3);
}

.carousel__dot.is-active{
  width:32px;
  border-radius:6px;
  background:var(--primary);
  border-color:var(--primary);
}

/* Responsive */
@media (max-width:1280px){
  .carousel__arrow--prev{
    left:8px;
  }

  .carousel__arrow--next{
    right:8px;
  }
}

@media (max-width:980px){
  .reviews{
    padding:80px 0;
  }

  .reviews__title{
    font-size:var(--text-5xl);
  }

  .reviews-carousel .carousel__track > *{
    flex:0 0 100%;
  }

  .results-carousel .carousel__track > *{
    flex:0 0 calc((100% - 20px) / 2);
  }

  .platform-badge{
    flex-direction:column;
    gap:16px;
    padding:20px 24px;
  }

  .platform-badge__rating{
    padding-left:0;
    padding-top:16px;
    border-left:none;
    border-top:2px solid rgba(31,138,112,0.15);
  }

  .review-card{
    min-height:340px;
    max-height:340px;
  }

  .review-card__text{
    line-clamp:8;
  }
}

@media (max-width:640px){
  .reviews{
    padding:60px 0;
  }

  .reviews__title{
    font-size:var(--text-4xl);
  }

  .carousel__arrow{
    width:44px;
    height:44px;
  }

  .carousel__arrow--prev{
    left:4px;
  }

  .carousel__arrow--next{
    right:4px;
  }

  .reviews-carousel .carousel__track > *,
  .results-carousel .carousel__track > *{
    flex:0 0 100%;
  }

  .review-card{
    padding:20px;
    min-height:320px;
    max-height:320px;
  }

  .review-card__text{
    font-size:13px;
    line-clamp:10;
  }

  .platform-badge__name{
    font-size:18px;
  }

  .platform-badge__score{
    font-size:20px;
  }
}
