/* Reviews carousel + full review */

/* Carousel */
.reviews-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:20px;
  margin-bottom:24px;
}

.reviews-head h2{
  margin:0 0 8px;
}

.reviews-all-link,
.review-project,
.reviews-back{
  color:var(--primary,#0054FF);

  text-decoration:none;
}

.reviews-carousel{
  position:relative;
}

.reviews-viewport{
  overflow:hidden;
}

.reviews-track{
  display:flex;
  gap:18px;
  transition:transform .35s ease;
  will-change:transform;
  cursor:grab;
}

.reviews-carousel.is-dragging .reviews-track{
  cursor:grabbing;
  transition:none;
}

.review-card{
  flex:0 0 calc((100% - 36px)/3);
  min-width:0;
  background:#fff;
  color:#111827;
  border:1px solid #e5e7eb;
  border-radius:24px;
  padding:20px;
  box-shadow:0 14px 40px rgba(15,23,42,.06);
  position:relative;
}

.review-card-link{
  display:block;
  color:inherit;
  text-decoration:none;
}

.review-author{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:16px;
}

.review-author strong{
  display:block;
  font-size:17px;
  line-height:1.15;
}

.review-author span{
  color: var(--mama-gray-700);
    font-weight: 400;
    font-size: 14px;
}

.review-avatar{
    width: 60px;
    height: 60px;
  border-radius:50%;
  object-fit:cover;
  flex:0 0 60px;
}

.review-avatar-letter{

  display: inline-block;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    color: rgb(255, 255, 255)!important;
    font-weight: 700!important;
    font-size: 24px!important;
    line-height: 60px;
    text-align: center;
    text-decoration: none;
}

.review-color-1{background:#ff6b00}
.review-color-2{background:#f03d3d}
.review-color-3{background:#005bff}

.review-short{
  color:#374151;
  min-height:62px;
  margin:0 0 18px;
}

.review-bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

.review-more{
  color:var(--primary,#0054FF);

}

.review-rating{
  color:#ffb800;
  letter-spacing:1px;
  white-space:nowrap;
}

.review-rating-full{
  margin-top:8px;
  font-size:18px;
}

.review-project{
  display:inline-flex;
  margin-top:14px;
}

.reviews-arrow{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  z-index:3;
  width:44px;
  height:44px;
  border-radius:50%;
  border:0;
  background:#fff;
  color:#111827;
  font-size:32px;
  line-height:1;
  cursor:pointer;
  box-shadow:0 10px 30px rgba(0,0,0,.18);
}

.reviews-arrow[data-reviews-prev]{left:-16px}
.reviews-arrow[data-reviews-next]{right:-16px}

.reviews-dots{
  display:flex;
  justify-content:center;
  gap:8px;
  padding:18px 0 0;
}

.reviews-dot{
  width:9px;
  height:9px;
  border:0;
  padding:0;
  border-radius:999px;
  background:#cbd5e1;
  cursor:pointer;
  transition:.2s ease;
}

.reviews-dot.active{
  width:24px;
  background:var(--primary,#0054FF);
}

/* Reviews list */
.reviews-list-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
  margin-top:26px;
}

/* Full review */
.review-full-page{
  padding-top:48px;
}

.review-full-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 290px;
  gap:30px;
  align-items:start;
}

.review-full{
  background:#fff;
  color:#111827;
  border:1px solid #e5e7eb;
  border-radius:28px;
  padding:30px;
  box-shadow:0 18px 55px rgba(15,23,42,.08);
}

.review-author-big{
  margin-top:20px;
  align-items:center;
}

.review-avatar-big{
  width:82px;
  height:82px;
  flex-basis:82px;
  font-size:32px;
}

.review-author-big h1{
  margin:0;
  font-size:40px;
  line-height:1.05;
  letter-spacing:-.04em;
}

.review-full-text{
  margin-top:24px;
  font-size:18px;
  line-height:1.65;
  color:#1f2937;
}

.review-full-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:24px;
}

.reviews-side-list{
  background:#fff;
  color:#111827;
  border:1px solid #e5e7eb;
  border-radius:24px;
  padding:18px;
  position:sticky;
  top:100px;
  box-shadow:0 14px 40px rgba(15,23,42,.06);
}

.reviews-side-list h3{
  margin:0 0 12px;
}

.reviews-side-list a{
  display:block;
  padding:10px 12px;
  border-radius:12px;
  text-decoration:none;
  color:#111827;
}

.reviews-side-list a:hover,
.reviews-side-list a.active{
  background:#f3f4f6;
  color:var(--primary,#0054FF);
}

@media(max-width:900px){
  .reviews-head{
    display:block;
  }

  .review-card{
    flex-basis:100%;
	box-shadow:none!important

  }

  .reviews-track{
    gap:0;
  }

  .reviews-arrow[data-reviews-prev]{left:8px}
  .reviews-arrow[data-reviews-next]{right:8px}

  .reviews-list-grid,
  .review-full-layout{
    grid-template-columns:1fr;
  }

  .reviews-side-list{
    position:static;
  }

  .review-author-big h1{
    font-size:30px;
  }

  .review-full{
    padding:22px;
  }
}
