.ireviews {
  box-sizing: border-box;
  width: 100%;
  padding-bottom: var(--spacing-80);
  font-family: var(--font-family-base);
  font-optical-sizing: none;
}
.ireviews *,
.ireviews *::before,
.ireviews *::after { box-sizing: border-box; }

.ireviews__inner {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  width: 100%;
  --bleed: var(--bleed-below-desktop);
}

.ireviews__heading { width: 100%; padding-bottom: var(--spacing-24); }

.ireviews__title-wrap {
  display: flex;
  gap: var(--spacing-12);
  align-items: flex-end;
  width: 100%;
}

.ireviews__title-container {
  display: flex;
  flex: 1 0 0;
  min-width: 0;
  gap: var(--spacing-12);
  align-items: flex-start;
}

.ireviews__title {
  margin: 0;
  color: var(--color-gray-900);
  font-size: calc(
    var(--text-display-24-size) +
    var(--bp-desktop) * (var(--text-display-28-size) - var(--text-display-24-size))
  );
  line-height: calc(
    var(--text-display-24-line-height) +
    var(--bp-desktop) * (var(--text-display-28-line-height) - var(--text-display-24-line-height))
  );
}

.ireviews__hack {
  flex: none;
  width: 0;
  height: calc(
    var(--text-display-24-line-height) +
    var(--bp-desktop) * (var(--text-display-28-line-height) - var(--text-display-24-line-height))
  );
}

.ireviews__slider {
  display: flex;
  align-items: center;
  width: 100%;
  padding-bottom: var(--spacing-24);
}

.ireviews__carousel {
  position: relative;
  flex: 1 0 0;
  min-width: 0;
}

.ireviews__track {
  display: flex;
  align-items: stretch;
  gap: var(--grid-gutter);
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  overscroll-behavior-x: contain;
  scrollbar-width: none;
  padding-inline: calc(var(--grid-gutter) * (1 - var(--bp-desktop)));
  scroll-padding-inline: calc(var(--grid-gutter) * (1 - var(--bp-desktop)));
}
.ireviews__track::-webkit-scrollbar { display: none; }

.ireviews__track .rcard {
  --ir-span: calc(3 + var(--bp-tablet) - var(--bp-desktop));
  --ir-col: calc(
    (100% - (var(--grid-columns) - 1) * var(--grid-gutter)) / var(--grid-columns)
  );
  width: auto;
  min-width: 0;
  flex: 0 0 calc(
    var(--ir-col) * var(--ir-span) + (var(--ir-span) - 1) * var(--grid-gutter)
  );
  scroll-snap-align: start;
}

.ireviews__track .rcard__content { flex: 1 0 auto; }
.ireviews__track .rcard__meta { margin-top: auto; }

.ireviews__nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  display: var(--only-desktop);
}
.ireviews__nav--next { right: -20px; }
.ireviews__nav--prev { left: -20px; }

.ireviews__nav--prev .btn__icon { transform: rotate(180deg); }
.ireviews__nav[hidden] { display: none; }

@media (prefers-reduced-motion: reduce) {
  .ireviews__track { scroll-behavior: auto; }
}

.ireviews__rating {
  display: flex;
  align-items: center;
  width: 100%;
}
.ireviews__rating p {
  margin: 0;
  color: var(--color-gray-900);
}
