.cc_ygsyvcoo_vKb8A4rfDO .hira-reviews__inner {
  padding-top: 40px;
  padding-bottom: 40px;
}

.cc_ygsyvcoo_vKb8A4rfDO .hira-reviews__head {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  flex-wrap: wrap;
  gap: 16px;
  padding-bottom: 24px;
  margin-bottom: 32px;
  border-bottom: 1px solid var(--color-divider);
}

.cc_ygsyvcoo_vKb8A4rfDO .hira-reviews__rating {
  margin: 0;
  font-family: var(--font-heading);
  font-weight: 800;
  font-size: 64px;
  line-height: 0.95;
  letter-spacing: -0.04em;
}

.cc_ygsyvcoo_vKb8A4rfDO .hira-reviews__count {
  font-size: 15px;
  color: var(--color-neutral-700);
}

/* Cards are soft rounded tiles separated by a gap, no rules. */
.cc_ygsyvcoo_vKb8A4rfDO .hira-reviews__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}

.cc_ygsyvcoo_vKb8A4rfDO .hira-reviews__grid > * {
  min-width: 0;
}

/* Marquee (more than 3 cards, autoScroll on) */
.cc_ygsyvcoo_vKb8A4rfDO .hira-reviews__viewport {
  overflow: hidden;
  container-type: inline-size;
}

.cc_ygsyvcoo_vKb8A4rfDO .hira-reviews__track {
  display: flex;
  width: max-content;
  animation: cc_ygsyvcoo_vKb8A4rfDO_hiraReviewsMarquee linear infinite;
  will-change: transform;
}

.cc_ygsyvcoo_vKb8A4rfDO .hira-reviews__group {
  display: flex;
  flex-shrink: 0;
}

.cc_ygsyvcoo_vKb8A4rfDO .hira-reviews__cell {
  flex: 0 0 calc(100cqw / 3);
  min-width: 0;
  box-sizing: border-box;
  padding-right: 20px;
}

.cc_ygsyvcoo_vKb8A4rfDO .hira-reviews__viewport:hover .hira-reviews__track {
  animation-play-state: paused;
}

/* Manual scroll (autoScroll off, more than 3 cards): native bar hidden, a custom line sits below. */
.cc_ygsyvcoo_vKb8A4rfDO .hira-reviews__scroller {
  display: flex;
  overflow-x: auto;
  container-type: inline-size;
  scroll-snap-type: x proximity;
  overscroll-behavior-x: contain;
  scrollbar-width: none;
}

.cc_ygsyvcoo_vKb8A4rfDO .hira-reviews__scroller::-webkit-scrollbar {
  display: none;
}

.cc_ygsyvcoo_vKb8A4rfDO .hira-reviews__bar {
  position: relative;
  height: 4px;
  margin-top: 32px;
  background: var(--color-neutral-300);
  cursor: pointer;
  touch-action: none;
}

.cc_ygsyvcoo_vKb8A4rfDO .hira-reviews__bar::before {
  content: "";
  position: absolute;
  inset: -10px 0; /* easier to grab */
}

.cc_ygsyvcoo_vKb8A4rfDO .hira-reviews__bar-thumb {
  position: absolute;
  top: 0;
  height: 4px;
  background: var(--color-accent);
}

.cc_ygsyvcoo_vKb8A4rfDO .hira-reviews__mcell {
  flex: 0 0 calc(100cqw / 3);
  min-width: 0;
  box-sizing: border-box;
  padding-right: 20px;
  scroll-snap-align: start;
}

/* Compact screens: each card takes most of the row so the next one peeks in, inviting a swipe. */
.cc_ygsyvcoo_vKb8A4rfDO .hira-reviews__manual.is-compact .hira-reviews__mcell {
  flex-basis: 82cqw;
}

/* Swipe hint: the cards drift left and settle back, same easing and distance as the product slider. */
.cc_ygsyvcoo_vKb8A4rfDO .hira-reviews__scroller.is-hinting .hira-reviews__mcell {
  animation: cc_ygsyvcoo_vKb8A4rfDO_hiraReviewsHint 1.2s cubic-bezier(0.45, 0, 0.55, 1) both;
}

@keyframes cc_ygsyvcoo_vKb8A4rfDO_hiraReviewsHint {
  0%,
  100% {
    transform: translateX(0);
  }
  35%,
  55% {
    transform: translateX(-44px);
  }
}

@keyframes cc_ygsyvcoo_vKb8A4rfDO_hiraReviewsMarquee {
  to {
    transform: translateX(var(--rv-shift, 0));
  }
}

@media (prefers-reduced-motion: reduce) {
  .cc_ygsyvcoo_vKb8A4rfDO .hira-reviews__viewport {
    overflow-x: auto;
  }
  .cc_ygsyvcoo_vKb8A4rfDO .hira-reviews__track {
    animation: none;
  }
  .cc_ygsyvcoo_vKb8A4rfDO .hira-reviews__scroller.is-hinting .hira-reviews__mcell {
    animation: none;
  }
}

@media (max-width: 1023px) {
  .cc_ygsyvcoo_vKb8A4rfDO .hira-reviews__grid {
    grid-template-columns: 1fr;
  }
  .cc_ygsyvcoo_vKb8A4rfDO .hira-reviews__grid {
    gap: 16px;
  }
  .cc_ygsyvcoo_vKb8A4rfDO .hira-reviews__mcell {
    flex-basis: 80cqw;
  }
  /* Below desktop the marquee drops to a plain stack (the second group is hidden). */
  .cc_ygsyvcoo_vKb8A4rfDO .hira-reviews__track {
    display: block;
    width: auto;
    animation: none;
    transform: none;
  }
  .cc_ygsyvcoo_vKb8A4rfDO .hira-reviews__group {
    display: block;
  }
  .cc_ygsyvcoo_vKb8A4rfDO .hira-reviews__group[aria-hidden="true"] {
    display: none;
  }
  .cc_ygsyvcoo_vKb8A4rfDO .hira-reviews__cell {
    flex: none;
    padding-right: 0;
    padding-bottom: 16px;
  }
}

@media (max-width: 767px) {
  .cc_ygsyvcoo_vKb8A4rfDO .hira-reviews__inner {
    padding-top: 14px;
    padding-bottom: 14px;
  }
  .cc_ygsyvcoo_vKb8A4rfDO .hira-reviews__rating {
    font-size: 48px;
  }
}
