/* REVIEWS -- horizontal carousel */

#reviews .reviews-summary {
  margin-bottom: 0;
}

/* Header row: title/summary on left, arrows on right */
#reviews .reviews-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
  margin-bottom: 14px;
}

#reviews .reviews-controls {
  display: flex;
  gap: 8px;
}

#reviews .reviews-btn {
  appearance: none;
  border: 1px solid var(--border);
  background: #fff;
  border-radius: 10px;
  padding: 8px 12px;
  cursor: pointer;
  line-height: 1;
  font-size: 20px;
  box-shadow: 0 4px 14px rgba(0,0,0,0.04);
}

#reviews .reviews-btn:active {
  transform: translateY(1px);
}

/* The horizontal scrolling strip */
#reviews .reviews-viewport {
  display: flex;
  gap: 14px;

  overflow-x: auto;
  overscroll-behavior-x: contain;
  -webkit-overflow-scrolling: touch;

  scroll-snap-type: x mandatory;
  scroll-padding: 2px;

  padding: 6px 2px 10px;
}

/* Optional: nicer scrollbar */
#reviews .reviews-viewport::-webkit-scrollbar { height: 10px; }
#reviews .reviews-viewport::-webkit-scrollbar-thumb {
  background: rgba(0,0,0,0.15);
  border-radius: 999px;
}
#reviews .reviews-viewport::-webkit-scrollbar-track { background: transparent; }

/* Individual review card */
#reviews .review-card {
  flex: 0 0 auto;
  width: min(520px, 86vw);
  scroll-snap-align: start;

  background: #fff;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 18px 20px;
  box-shadow: 0 4px 14px rgba(0,0,0,0.04);
}

/* Review text */
#reviews .review-text {
  margin: 0;
  font-style: italic;
  line-height: 1.65;
  font-size: 1rem;
}

/* Source + date */
#reviews .review-meta {
  margin-top: 10px;
  font-size: 0.9rem;
  color: var(--muted);
}

/* Keyboard focus on the scroll area */
#reviews .reviews-viewport:focus {
  outline: 2px solid rgba(0,0,0,0.25);
  outline-offset: 4px;
}

/* Mobile: arrows are optional (swipe works great) */
@media (max-width: 700px) {
  #reviews .reviews-controls {
    display: none;
  }
}

/* Desktop breathing room */
@media (min-width: 900px) {
  #reviews .reviews-viewport {
    gap: 16px;
  }
}

#reviews .reviews-viewport {
  position: relative;
}

#reviews .reviews-viewport::before,
#reviews .reviews-viewport::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: 40px;
  pointer-events: none;
}

#reviews .reviews-viewport::before {
  left: 0;
  background: linear-gradient(to right, #fff 20%, transparent);
}

#reviews .reviews-viewport::after {
  right: 0;
  background: linear-gradient(to left, #fff 20%, transparent);
}

