/* Reviews band — brand palette (2026-05-08). Text moves from light-on-dark
   to dark-on-mint. Dividers and stars now brand-green. */

:root {
  --reviews-accent: var(--brand-orange);
  --reviews-stars:  var(--brand-orange);
  --reviews-bg:     transparent;
  --reviews-text:   #FFFFFF;          /* pure white — sits directly on the
                                         colorful body gradient with a 1-2px
                                         dark text-shadow per element below
                                         for legibility on the lighter
                                         (lime/yellow) regions. */
  --reviews-text-soft: rgba(255, 255, 255, 0.85);
  --reviews-divider: var(--brand-orange);        /* terracotta divider —
                                                    matches the section's
                                                    rating + star tint
                                                    (vertical between
                                                    average / FB / Google /
                                                    Yelp + horizontal under
                                                    the row on desktop). */
  --reviews-maxw: 1300px;
  --reviews-text-shadow: 0 1px 3px rgba(0, 0, 0, 0.35);
}

.container-1300 {
  max-width: var(--reviews-maxw);
  margin: 0 auto;
  padding: 0 20px;
  width: 100%;
}

/* Reviews band sits directly on the body gradient (no card surface) —
   per design direction "no underlay, white text everywhere". Each
   text element below carries a soft dark text-shadow for legibility
   on the lighter regions of the gradient (lime/yellow). */
.reviews-section {
  padding: 24px 0;
  background: var(--reviews-bg);
  max-height: none;
  color: var(--reviews-text);
}

.reviews-container {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 0;
  width: 100%;
  flex-wrap: nowrap;
}

.average-rating {
  display: flex;
  align-items: center;
  gap: 15px;
  padding-right: 30px;
  border-right: 2px solid var(--reviews-divider);
  flex-shrink: 0;
}

.rating-number {
  font-size: 64px;
  color: var(--brand-orange);
  text-shadow: var(--reviews-text-shadow);
  font-weight: 800;
  transition: font-size .3s;
}

.rating-text {
  color: var(--reviews-text);
  text-shadow: var(--reviews-text-shadow);
  font-size: 20px;
  line-height: 1.2;
  max-width: 160px;
  transition: font-size .3s;
}

.platform-rating {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 0 30px;
  text-align: center;
  flex: 1;
  border-right: 2px solid var(--reviews-divider);
}

.platform-header {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 4px;
  justify-content: center;
}

.platform-title {
  color: var(--reviews-text);
  text-shadow: var(--reviews-text-shadow);
  font-weight: bold;
  font-size: 18px;
  margin: 0;
}

.platform-stars {
  color: var(--reviews-stars);
  font-size: 20px;
  margin-top: 4px;
  /* Subtle dark stroke around each star char improves legibility on the
     yellow/lime regions of the body gradient where gold-on-yellow drops
     contrast. The 1px text-shadow renders as a thin dark outline on
     every star glyph regardless of the gradient region behind it. */
  text-shadow: 0 0 1px rgba(0, 0, 0, 0.4);
}

.platform-info {
  font-size: 16px;
  margin-top: 4px;
  color: var(--reviews-text);
  text-shadow: var(--reviews-text-shadow);
}

.underlined {
  text-decoration: underline;
}

.reviews-divider {
  display: block;
  height: 1px;
  background: var(--reviews-divider);
  width: 100%;
  margin: 20px 0 0;
}

.slider-container {
  display: none;
}

.reviews-mobile-divider,
.reviews-mobile-bottom-divider {
  display: none;
}

.slider-indicators {
  display: flex;
  justify-content: center;
  gap: 6px;
  margin-top: 10px;
}

.slider-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: rgba(26, 26, 26, 0.18);
  transition: background .3s;
}

.slider-dot.active {
  background: var(--reviews-accent);
}

@media (max-width: 899px) {
  .reviews-container {
    display: none;
  }

  .average-rating {
    flex-direction: column;
    align-items: center;
    text-align: center;
    border-right: none;
    padding: 0;
    gap: 10px;
    order: -1;
  }

  .rating-number {
    font-size: 40px;
  }

  .rating-text {
    font-size: 16px;
  }

  .reviews-mobile-divider,
  .reviews-mobile-bottom-divider {
    display: block;
    border: none;
    border-top: 1px solid var(--reviews-divider);
    width: calc(100% - 40px);
    margin: 20px auto;
  }

  .slider-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
    max-height: 420px;
  }

  .slider-track {
    display: flex;
    scroll-snap-type: x mandatory;
    overflow-x: auto;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    width: 100%;
  }

  .slider-track::-webkit-scrollbar {
    display: none;
  }

  .slider-track article.platform-rating {
    flex: 0 0 100%;
    max-width: 100%;
    align-items: center;
    text-align: center;
    border-right: none;
    padding: 20px;
    scroll-snap-align: center;
  }

  .slider-arrow {
    position: absolute;
    top: 64%;
    transform: translateY(-50%);
    background: none;
    border: none;
    font-size: 2rem;
    cursor: pointer;
    color: var(--reviews-accent);
    padding: .2em .5em;
    z-index: 10;
  }

  .slider-arrow.left {
    left: 10px;
  }

  .slider-arrow.right {
    right: 10px;
  }

  .reviews-divider {
    display: none;
  }
}

@media (min-width: 900px) and (max-width: 1300px) {
  .platform-rating {
    padding: 0 20px;
  }

  .average-rating {
    padding-right: 20px;
  }

  .reviews-divider { display: block; }
}

@media (min-width: 1301px) {
  .reviews-divider { display: block; }
}
