.bit-reviews-carousel {
    --bit-reviews-gap: clamp(16px, 2vw, 26px);
    box-sizing: border-box;
    width: min(100%, 1180px);
    margin-inline: auto;
    color: var(--bit-reviews-text, #202124);
    font-family: var(--bit-reviews-font-family, "Monument Grotesk", Arial, sans-serif);
    font-weight: var(--bit-reviews-font-weight, 400);
    text-align: var(--bit-reviews-text-align, left);
}

.bit-reviews-carousel__header {
    display: flex;
    gap: 24px;
    align-items: end;
    justify-content: space-between;
    margin-bottom: clamp(24px, 4vw, 44px);
}

.bit-reviews-carousel__kicker {
    margin: 0 0 12px;
    color: var(--bit-reviews-kicker, #10e5ff);
    font-family: var(--bit-pixel, ui-monospace, monospace);
    font-size: var(--bit-reviews-kicker-size, 13px);
    line-height: 1.5;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.bit-reviews-carousel__kicker::before { content: "[ "; color: var(--bit-violet, #7d30ff); }
.bit-reviews-carousel__kicker::after { content: " _ ]"; color: var(--bit-yellow, #ffd313); }

.bit-reviews-carousel h2 {
    margin: 0;
    color: var(--bit-reviews-heading, #fff);
    font-size: clamp(2rem, 7vw, var(--bit-reviews-heading-size, 86px));
    font-weight: 700;
    line-height: .94;
    letter-spacing: -.03em;
    text-transform: uppercase;
}

.bit-reviews-carousel__controls { display: flex; flex: none; gap: 8px; align-items: center; }
.bit-reviews-carousel__button {
    display: grid;
    width: 48px;
    height: 48px;
    padding: 0;
    place-items: center;
    border: 1px solid rgba(16, 229, 255, .68);
    border-radius: 0;
    background: #090c14;
    color: var(--bit-cyan, #10e5ff);
    cursor: pointer;
    transition: border-color 180ms ease, background-color 180ms ease, color 180ms ease, box-shadow 180ms ease;
}
.bit-reviews-carousel__button:hover { border-color: var(--bit-yellow, #ffd313); color: var(--bit-yellow, #ffd313); box-shadow: 4px 4px 0 rgba(125, 48, 255, .4); }
.bit-reviews-carousel__button:focus-visible { outline: 3px solid var(--bit-yellow, #ffd313); outline-offset: 3px; }
.bit-reviews-carousel__button:disabled { opacity: .45; cursor: not-allowed; box-shadow: none; }
.bit-reviews-carousel__button svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: square; stroke-linejoin: miter; }
.bit-reviews-carousel__play-icon { display: none; }
.bit-reviews-carousel.is-paused .bit-reviews-carousel__pause-icon { display: none; }
.bit-reviews-carousel.is-paused .bit-reviews-carousel__play-icon { display: block; }
.bit-reviews-carousel__viewport {
    max-width: 100%;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scrollbar-width: none;
    scroll-snap-type: x mandatory;
    scroll-padding-inline: 1px;
}
.bit-reviews-carousel__viewport::-webkit-scrollbar { display: none; }
.bit-reviews-carousel__viewport:focus-visible { outline: 3px solid var(--bit-yellow, #ffd313); outline-offset: 4px; }
.bit-reviews-carousel__track {
    --bit-reviews-card-basis: calc((100% - (var(--bit-reviews-gap) * 2)) / 3);
    display: flex;
    gap: var(--bit-reviews-gap);
    align-items: stretch;
}
.bit-review-card {
    position: relative;
    box-sizing: border-box;
    display: flex;
    min-width: 0;
    min-height: 360px;
    flex: 0 0 var(--bit-reviews-card-basis);
    flex-direction: column;
    padding: clamp(24px, 2.6vw, 34px);
    overflow: hidden;
    border: 1px solid var(--bit-reviews-border, #dadce0);
    border-radius: var(--bit-reviews-radius, 14px);
    background: var(--bit-reviews-card-bg, #fff);
    scroll-snap-align: start;
    box-shadow: 0 1px 2px rgba(60, 64, 67, .18), 0 4px 14px rgba(60, 64, 67, .12);
    transition: border-color 180ms ease, box-shadow 180ms ease;
}
.bit-review-card:hover { border-color: #bdc1c6; box-shadow: 0 2px 6px rgba(60, 64, 67, .22), 0 10px 24px rgba(60, 64, 67, .16); }
.bit-review-card__topline { display: none; }
.bit-review-card__rating { display: flex; gap: 3px; margin: 16px 0 18px; color: #dadce0; }
.bit-review-card__rating svg { width: 20px; height: 20px; fill: currentColor; }
.bit-review-card__rating svg.is-active { color: var(--bit-reviews-star, #fbbc04); }
.bit-review-card blockquote {
    max-height: var(--bit-reviews-max-height, 300px);
    margin: 0;
    padding: 0 8px 0 0;
    overflow-y: auto;
    color: var(--bit-reviews-text, #202124);
    font-size: var(--bit-reviews-review-size, 18px);
    font-weight: var(--bit-reviews-font-weight, 400);
    line-height: 1.52;
    scrollbar-color: #9aa0a6 transparent;
    scrollbar-width: thin;
}
.bit-review-card blockquote::-webkit-scrollbar { width: 7px; }
.bit-review-card blockquote::-webkit-scrollbar-track { background: transparent; }
.bit-review-card blockquote::-webkit-scrollbar-thumb { border-radius: 999px; background: #9aa0a6; }
.bit-review-card blockquote:focus-visible { outline: 3px solid var(--bit-reviews-accent, #1a73e8); outline-offset: 3px; }
.bit-review-card blockquote p { margin: 0; }
.bit-review-card__author { display: flex; gap: 13px; align-items: center; }
.bit-review-card__avatar { display: grid; width: 44px; height: 44px; flex: none; place-items: center; border: 0; border-radius: 50%; background: var(--bit-reviews-accent, #1a73e8); color: #fff; font-family: var(--bit-reviews-font-family, "Monument Grotesk", Arial, sans-serif); font-size: var(--bit-reviews-meta-size, 13px); font-weight: 700; box-shadow: none; }
.bit-review-card__author > span:last-child { display: grid; gap: 3px; }
.bit-review-card__author strong { color: var(--bit-reviews-text, #202124); font-size: var(--bit-reviews-meta-size, 13px); line-height: 1.15; }
.bit-review-card__author time { color: var(--bit-reviews-meta, #5f6368); font-size: var(--bit-reviews-meta-size, 13px); line-height: 1.2; }

.bit-reviews-carousel[data-text-align="center"] .bit-review-card__author,
.bit-reviews-carousel[data-text-align="center"] .bit-review-card__rating { justify-content: center; }
.bit-reviews-carousel[data-text-align="right"] .bit-review-card__author,
.bit-reviews-carousel[data-text-align="right"] .bit-review-card__rating { justify-content: flex-end; }
.bit-reviews-carousel[data-text-align="center"] .bit-reviews-carousel__header > div:first-child { margin-inline: auto; }
.bit-reviews-carousel[data-text-align="right"] .bit-reviews-carousel__header > div:first-child { margin-left: auto; }

@media (max-width: 900px) {
    .bit-reviews-carousel__track { --bit-reviews-card-basis: calc((100% - var(--bit-reviews-gap)) / 2); }
}

@media (max-width: 620px) {
    .bit-reviews-carousel__header { align-items: start; flex-direction: column; }
    .bit-reviews-carousel__controls { width: 100%; justify-content: center; }
    .bit-reviews-carousel h2 { font-size: clamp(2.7rem, 13vw, 4rem); }
    .bit-reviews-carousel__track { --bit-reviews-card-basis: 88%; }
    .bit-review-card { min-height: 360px; padding: 24px; }
}

@media (prefers-reduced-motion: reduce) {
    .bit-reviews-carousel__viewport { scroll-behavior: auto; }
    .bit-reviews-carousel__button { transition: none; }
    .bit-review-card { transition: none; }
}
