/* Audio reviews — branded voice-review cards */
.areviews__grid { display: grid; grid-template-columns: repeat(var(--cols, 3), minmax(0, 1fr)); gap: clamp(1rem, 2vw, 1.5rem); margin: 0; padding: 0; list-style: none; }
.areviews__grid:has(> :only-child) { grid-template-columns: minmax(0, 460px); justify-content: center; }
.areview {
  position: relative; display: flex; flex-direction: column; gap: 1rem;
  padding: clamp(1.1rem, 2vw, 1.5rem);
  border-radius: calc(var(--radius) + 6px);
  background: var(--ar-card, var(--color-surface));
  border: 1px solid var(--color-border);
  box-shadow: 0 20px 40px -32px rgba(18, 59, 120, .55);
}
.areview .demo-flag { top: -.6rem; left: 1rem; }

/* player */
.areview__player {
  display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: .85rem;
  padding: .7rem .9rem .7rem .7rem; border-radius: 999px;
  background: color-mix(in srgb, var(--color-heading) 6%, var(--ar-card, var(--color-surface)));
}
.areview__play {
  display: grid; place-items: center; width: 3.1rem; height: 3.1rem; padding: 0; border: 0; border-radius: 50%;
  background: var(--ar-play-bg, var(--color-accent)); color: var(--ar-play-icon, var(--palette-heading));
  box-shadow: 0 8px 18px -8px color-mix(in srgb, var(--ar-play-bg, var(--color-accent)) 80%, transparent);
  transition: transform .2s ease, filter .2s ease;
}
.areview__play:hover:not([disabled]) { transform: scale(1.06); }
.areview__play[disabled] { opacity: .55; cursor: not-allowed; }
.areview__play .icon { width: 1.25rem; height: 1.25rem; }
.areview__icon-play .icon { fill: currentColor; margin-left: 2px; }
.areview__icon-pause { display: none; }
.areview__player.is-playing .areview__icon-play { display: none; }
.areview__player.is-playing .areview__icon-pause { display: block; }

.areview__wave {
  --progress: 0%;
  position: relative; display: flex; align-items: center; gap: 2px; height: 2.4rem; cursor: pointer;
  border-radius: 6px;
}
.areview__wave span { transition: background-color .2s ease;
  flex: 1; min-width: 2px; height: var(--h, 50%); border-radius: 3px;
  background: var(--ar-wave, color-mix(in srgb, var(--color-heading) 22%, transparent));
}
.areview__wave span.is-played { background: var(--ar-played, var(--color-heading)); }
.areview__wave:focus-visible { outline-offset: 4px; }
.areview__time { font-variant-numeric: tabular-nums; font-weight: 700; font-size: .85rem; color: var(--color-heading); min-width: 2.6rem; text-align: right; }

/* meta */
.areview__meta { display: flex; align-items: center; gap: .75rem; }
.areview__avatar { width: 46px; height: 46px; border-radius: 50%; object-fit: cover; flex: none; }
.areview__avatar--initial { display: grid; place-items: center; background: var(--color-accent); color: var(--palette-heading); font-family: var(--font-heading); font-weight: var(--font-heading-weight); font-size: 1.2rem; }
.areview__name { margin: 0; font-weight: 800; color: var(--color-heading); line-height: 1.25; }
.areview__verified { display: inline-flex; align-items: center; gap: .2rem; margin-left: .35rem; font-size: .78rem; font-weight: 700; color: #1f9d55; }
.areview__verified .icon { width: .85rem; height: .85rem; }
.areview__sub { margin: .1rem 0 0; font-size: .82rem; color: color-mix(in srgb, var(--color-text) 75%, transparent); }
.areview__stars { margin-left: auto; }
.areview__quote { margin: 0; font-size: 1rem; line-height: 1.55; color: var(--color-text); }
.areview__transcript summary { cursor: pointer; font-weight: 700; font-size: .88rem; color: var(--color-heading); list-style: none; display: inline-flex; gap: .4rem; align-items: center; }
.areview__transcript summary::-webkit-details-marker { display: none; }
.areview__transcript summary::after { content: "+"; font-weight: 800; }
.areview__transcript[open] summary::after { content: "–"; }
.areview__transcript .rte { margin-top: .5rem; font-size: .9rem; line-height: 1.55; }

@media (max-width: 989px) { .areviews__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 749px) {
  .areviews--mobile-stack .areviews__grid { grid-template-columns: minmax(0, 1fr); }
  .areviews--mobile-carousel .areviews__grid {
    grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: 86%;
    overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none;
    margin-inline: calc(var(--edge) * -1); padding: .75rem var(--edge) 1rem; scroll-padding-inline: var(--edge);
  }
  .areviews--mobile-carousel .areviews__grid::-webkit-scrollbar { display: none; }
  .areviews--mobile-carousel .areview { scroll-snap-align: start; }
  .areview__player { gap: .6rem; }
}
@media (prefers-reduced-motion: reduce) { .areview__play { transition: none; } }

/* ---------- Slider on desktop and mobile, centered ---------- */
.areviews__slider { display: block; }
.areviews__track {
  --gap: clamp(1rem, 2vw, 1.5rem);
  grid-auto-columns: calc((100% - var(--gap) * (var(--cols, 3) - 1)) / var(--cols, 3));
  justify-content: safe center;
  margin: 0; padding: 1rem 0 2rem; list-style: none;
}
@media (max-width: 989px) { .areviews__track { grid-auto-columns: calc((100% - var(--gap)) / 2); } }
@media (max-width: 749px) {
  .areviews__track {
    grid-auto-columns: 84vw;
    margin-inline: calc(var(--edge) * -1);
    padding-inline: 8vw;
  }
  .areviews__track > * { scroll-snap-align: center; }
}
.areviews__slider .carousel-nav { margin-top: .25rem; }
