/*--------------------------------------------------------------
# Reviews Section
# - Copied 1:1 from Testimonials layout rules
# - Renamed selectors to match Reviews HTML
# - Forces dark, readable text on light surface cards
--------------------------------------------------------------*/

.reviews {
  padding: 80px 0;
  overflow: hidden;
}

/* -------------------------------------------
   Local “ink” for light cards (readability)
------------------------------------------- */
#reviews.reviews {
  --review-ink: #0f1611;
  --review-ink-soft: rgba(15, 22, 17, 0.82);
  --review-ink-muted: rgba(15, 22, 17, 0.62);

  /* Slightly deeper gold than #FFD700 */
  --review-star: #b8860b;
}

/* ------------------------------
   Critic reviews (top row)
------------------------------ */
.reviews .critic-reviews {
  margin-bottom: 60px;
}

.reviews .critic-reviews .critic-review {
  background-color: var(--surface-color);
  padding: 30px;
  border-radius: 15px;
  position: relative;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.05);
  height: 100%;
  transition: transform 0.3s ease;

  /* force readable text */
  color: var(--review-ink);
}

.reviews .critic-reviews .critic-review .review-quote {
  position: absolute;
  top: -20px;
  left: 20px;
  font-size: 80px;
  font-family: Georgia, serif;
  color: var(--accent-color);
  opacity: 0.2;
  line-height: 1;
}

.reviews .critic-reviews .critic-review .stars {
  margin-bottom: 15px;
  display: flex;
}

.reviews .critic-reviews .critic-review .stars i {
  color: var(--review-star);
  margin-right: 3px;
  font-size: 18px;
}

.reviews .critic-reviews .critic-review p {
  font-size: 15px;
  line-height: 1.6;
  margin-bottom: 20px;

  /* force readable text */
  color: var(--review-ink-soft);
  font-style: italic;
}

.reviews .critic-reviews .critic-review .critic-info .critic-name {
  font-weight: 600;

  /* force readable text */
  color: var(--review-ink);
  font-size: 16px;
}

.reviews .critic-reviews .critic-review:hover {
  transform: translateY(-10px);
}

/* ------------------------------
   Reviews slider (swiper)
------------------------------ */
.reviews .reviews-container {
  margin-bottom: 60px;
}

.reviews .reviews-container .swiper-wrapper {
  height: auto !important;
  padding-bottom: 20px;
}

.reviews .reviews-container .review-item {
  background-color: var(--surface-color);
  padding: 30px;
  border-radius: 10px;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
  height: 100%;
  border-top: 3px solid var(--accent-color);

  /* force readable text */
  color: var(--review-ink);
}

.reviews .reviews-container .review-item .stars {
  margin-bottom: 15px;
  display: flex;
}

.reviews .reviews-container .review-item .stars i {
  color: var(--review-star);
  margin-right: 3px;
  font-size: 16px;
}

.reviews .reviews-container .review-item p {
  font-size: 15px;
  font-style: italic;
  margin-bottom: 20px;

  /* force readable text */
  color: var(--review-ink-soft);
  line-height: 1.6;
}

.reviews .reviews-container .review-item .review-profile {
  display: flex;
  align-items: center;
}

.reviews .reviews-container .review-item .review-profile img {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  border: 4px solid color-mix(in srgb, var(--accent-color), transparent 80%);
  margin-right: 15px;
}

.reviews .reviews-container .review-item .review-profile div h3 {
  font-size: 16px;
  font-weight: 600;
  margin: 0 0 5px;

  /* force readable text */
  color: var(--review-ink);
}

.reviews .reviews-container .review-item .review-profile div h4 {
  font-size: 14px;
  margin: 0;
  font-weight: normal;

  /* force readable text */
  color: var(--review-ink-muted);
}

/* Pagination (same structure as testimonials) */
.reviews .reviews-container .swiper-pagination {
  margin-top: 20px;
  position: relative;
}

.reviews .reviews-container .swiper-pagination .swiper-pagination-bullet {
  width: 10px;
  height: 10px;
  background-color: color-mix(in srgb, var(--accent-color), transparent 70%);
  opacity: 1;
}

.reviews .reviews-container .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
  background-color: var(--accent-color);
  width: 20px;
  border-radius: 10px;
}

/* ------------------------------
   Overall rating card
------------------------------ */
.reviews .overall-rating {
  background-color: var(--surface-color);
  padding: 40px;
  border-radius: 15px;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.05);
  display: inline-block;

  /* force readable text */
  color: var(--review-ink);
}

.reviews .overall-rating .rating-number {
  font-size: 48px;
  font-weight: 700;

  /* force readable text */
  color: var(--review-ink);
  line-height: 1;
  margin-bottom: 10px;
}

.reviews .overall-rating .rating-stars {
  margin-bottom: 15px;
}

.reviews .overall-rating .rating-stars i {
  color: var(--review-star);
  font-size: 22px;
  margin: 0 3px;
}

.reviews .overall-rating p {
  /* force readable text */
  color: var(--review-ink-soft);
  font-size: 15px;
  margin-bottom: 15px;
}

.reviews .overall-rating .rating-platforms {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 15px;
}

.reviews .overall-rating .rating-platforms span {
  font-size: 14px;
  color: var(--accent-color);
  background-color: color-mix(in srgb, var(--accent-color), transparent 90%);
  padding: 5px 15px;
  border-radius: 20px;
}

/* ------------------------------
   Responsive (same breakpoints)
------------------------------ */
@media (max-width: 992px) {
  .reviews .critic-reviews .critic-review {
    margin-bottom: 30px;
  }

  .reviews .reviews-container .review-item {
    margin-bottom: 30px;
  }
}

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

  .reviews .overall-rating {
    padding: 30px;
  }

  .reviews .overall-rating .rating-number {
    font-size: 36px;
  }

  .reviews .overall-rating .rating-stars i {
    font-size: 18px;
  }
}