.bvg-reviews { padding: 80px 24px; background: #fff; font-family: Outfit, sans-serif; }
.bvg-reviews__inner { max-width: 1160px; margin: auto; }
.bvg-reviews__heading { text-align: center; margin-bottom: 42px; }
.bvg-reviews h2 { font-family: var(--font-serif); font-size: clamp(28px, 4vw, 42px); margin-bottom: 20px; }
.bvg-reviews__excellent { color: #305394; font-size: 20px; font-weight: 600; }
.bvg-reviews__rating { display: flex; align-items: center; justify-content: center; gap: 12px; margin: 8px 0; font-size: 25px; font-weight: 600; }
.bvg-reviews__stars { color: #dbad36; letter-spacing: 2px; white-space: nowrap; }
.bvg-reviews__caption { color: #706d6d; font-size: 14px; }
.bvg-reviews__track { display: flex; gap: 28px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: thin; scrollbar-color: #d6dce5 transparent; padding: 8px 0 20px; }
.bvg-review { flex: 0 0 calc((100% - 84px) / 4); min-width: 0; scroll-snap-align: start; }
.bvg-review__author { display: flex; align-items: center; gap: 12px; margin-bottom: 18px; }
.bvg-review__avatar { display: grid; place-items: center; flex: 0 0 44px; height: 44px; border-radius: 50%; background: var(--avatar-color, #305394); color: #fff; font-size: 16px; font-weight: 500; }
.bvg-review h3 { color: #305394; font-size: 15px; font-weight: 600; }
.bvg-review .bvg-reviews__stars { font-size: 20px; margin-bottom: 8px; }
.bvg-review blockquote { font-size: 15px; line-height: 1.65; color: #333; margin: 0; max-height: 230px; overflow-y: auto; padding-right: 8px; scrollbar-width: thin; }
.bvg-reviews__controls { display: none; align-items: center; justify-content: center; gap: 18px; margin: 24px 0 30px; }
.bvg-reviews__controls.is-ready { display: flex; }
.bvg-reviews__arrow { width: 38px; height: 38px; border: 1px solid #e4e7ec; border-radius: 50%; color: #305394; cursor: pointer; background: #fff; font-size: 24px; }
.bvg-reviews__arrow:disabled { opacity: .3; cursor: default; }
.bvg-reviews__dots { display: flex; gap: 4px; }
.bvg-reviews__dot { width: 24px; height: 28px; display: grid; place-items: center; cursor: pointer; }
.bvg-reviews__dot::before { content: ''; width: 8px; height: 8px; background: #d6dce5; border-radius: 50%; }
.bvg-reviews__dot[aria-current="true"]::before { background: #305394; }
.bvg-reviews :focus-visible { outline: 2px solid #4191db; outline-offset: 4px; }
.bvg-reviews__cta { text-align: center; margin-top: 28px; }
@media (max-width: 1023px) { .bvg-review { flex-basis: calc((100% - 28px) / 2); } }
@media (max-width: 639px) { .bvg-reviews { padding: 56px 24px; } .bvg-review { flex-basis: 100%; } }
