/* ============================================================================
 * mvu.kz — виджет отзывов. Все классы с префиксом .mvu-reviews (изоляция от Tilda).
 * Токены дизайна — в блоке ниже. Брейкпоинты: 1100px (desktop 3×2), 700px (tablet 2×2),
 * <700px (mobile: одна карточка + peek). Если меняете — меняйте и cfg.breakpoints в widget.js.
 * ========================================================================== */

.mvu-reviews,
.mvu-reviews-layer {
  /* ---- design tokens ---- */
  --reviews-bg: #f5f7fc;
  --reviews-card-bg: rgba(255, 255, 255, .86);
  --reviews-text: #111827;
  --reviews-muted: #5d667c;
  --reviews-border: rgba(18, 38, 107, .1);
  --reviews-radius: 16px;
  --reviews-shadow: 0 1px 2px rgba(18, 38, 107, .05), 0 6px 16px -10px rgba(18, 38, 107, .16);
  --reviews-shadow-hover: 0 1px 2px rgba(18, 38, 107, .06), 0 14px 26px -16px rgba(18, 38, 107, .26);
  --reviews-gap: 16px;
  --reviews-accent: #12266b;
  --reviews-accent-2: #0043a4;
  --reviews-star: #f5a524;
  --reviews-card-h: 236px;
  --reviews-peek: 40px;
  --reviews-ease: cubic-bezier(.22, .61, .36, 1);
  --reviews-font: 'TildaSans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif;
}

.mvu-reviews,
.mvu-reviews *,
.mvu-reviews *::before,
.mvu-reviews *::after,
.mvu-reviews-layer,
.mvu-reviews-layer *,
.mvu-reviews-layer *::before,
.mvu-reviews-layer *::after { box-sizing: border-box; }

.mvu-reviews {
  position: relative;
  overflow: hidden;
  padding: 56px 24px 48px;
  color: var(--reviews-text);
  font-family: var(--reviews-font);
  -webkit-font-smoothing: antialiased;
  text-align: left;
  background:
    radial-gradient(620px 280px at 6% -6%, rgba(0, 67, 164, .07), transparent 70%),
    radial-gradient(520px 260px at 98% 10%, rgba(18, 38, 107, .05), transparent 70%),
    var(--reviews-bg);
}
.mvu-reviews button { font-family: inherit; }
.mvu-reviews h2, .mvu-reviews h3, .mvu-reviews p { margin: 0; padding: 0; }
.mvu-reviews a { text-decoration: none; }
.mvu-reviews__inner { position: relative; max-width: 1240px; margin: 0 auto; }

/* ---------- header ---------- */
.mvu-reviews__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px 32px; flex-wrap: wrap; margin-bottom: 20px; }
.mvu-reviews__title { font-size: clamp(24px, 2.9vw, 34px); line-height: 1.12; font-weight: 800; letter-spacing: -.012em; color: var(--reviews-accent); }
.mvu-reviews__rating { display: flex; align-items: center; gap: 12px; }
.mvu-reviews__score { font-size: clamp(32px, 3.6vw, 42px); line-height: 1; font-weight: 800; letter-spacing: -.025em; color: var(--reviews-text); font-variant-numeric: tabular-nums; }
.mvu-reviews__rating-meta { display: flex; flex-direction: column; gap: 4px; }
.mvu-reviews__count { font-size: 13.5px; color: var(--reviews-muted); line-height: 1.2; }

/* ---------- stars ---------- */
.mvu-reviews__stars { display: inline-flex; gap: 2px; color: var(--reviews-star); line-height: 0; }
.mvu-reviews__stars svg { width: 14px; height: 14px; display: block; }
.mvu-reviews__stars .is-off { color: #d9deeb; }
.mvu-reviews__rating .mvu-reviews__stars svg { width: 16px; height: 16px; }

/* ---------- source logos (img) ---------- */
.mvu-reviews__logo { display: block; width: 20px; height: 20px; object-fit: contain; flex: none; border: 0; margin: 0; padding: 0; background: none; box-shadow: none; }

/* ---------- filters: desktop = compact pills ---------- */
.mvu-reviews__filters { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 24px; }
.mvu-reviews__filter {
  -webkit-appearance: none; appearance: none; display: inline-flex; align-items: center; gap: 8px;
  height: 38px; padding: 0 14px 0 10px; margin: 0; border-radius: 12px; cursor: pointer; text-align: left;
  color: var(--reviews-text); background: rgba(255, 255, 255, .5); border: 1px solid var(--reviews-border);
  transition: background .25s var(--reviews-ease), border-color .25s var(--reviews-ease), box-shadow .25s var(--reviews-ease), transform .2s var(--reviews-ease);
}
.mvu-reviews__filter:active { transform: scale(.98); }
@media (hover: hover) { .mvu-reviews__filter:hover { background: rgba(255, 255, 255, .9); border-color: rgba(18, 38, 107, .2); } }
.mvu-reviews__filter[aria-pressed="true"] { background: #fff; border-color: var(--reviews-accent); box-shadow: 0 0 0 1px var(--reviews-accent), 0 6px 14px -10px rgba(18, 38, 107, .5); }
.mvu-reviews__filter:focus-visible { outline: 3px solid rgba(0, 67, 164, .45); outline-offset: 2px; }
.mvu-reviews__filter .mvu-reviews__logo { width: 22px; height: 22px; }
.mvu-reviews__flogo--all { width: 22px; height: 22px; border-radius: 6px; background: var(--reviews-accent); color: #fff; font-size: 12px; line-height: 1; display: grid; place-items: center; flex: none; }
.mvu-reviews__fname { font-size: 14px; font-weight: 700; line-height: 1; white-space: nowrap; }
.mvu-reviews__fmeta { font-size: 13px; line-height: 1; color: var(--reviews-muted); white-space: nowrap; font-variant-numeric: tabular-nums; }
.mvu-reviews__fmeta b { color: var(--reviews-text); font-weight: 700; }
.mvu-reviews__fstar { color: var(--reviews-star); }
.mvu-reviews__fcur { display: none; }

/* ---------- body: arrows + stage ---------- */
.mvu-reviews__body { display: grid; grid-template-columns: 40px minmax(0, 1fr) 40px; gap: 16px; align-items: center; }
.mvu-reviews__arrow {
  -webkit-appearance: none; appearance: none; width: 40px; height: 40px; margin: 0; padding: 0; border-radius: 50%; cursor: pointer;
  display: grid; place-items: center; color: var(--reviews-accent); background: rgba(255, 255, 255, .9);
  border: 1px solid var(--reviews-border); box-shadow: 0 4px 10px -6px rgba(18, 38, 107, .3);
  transition: transform .25s var(--reviews-ease), background .25s, color .25s, opacity .25s, box-shadow .25s;
}
.mvu-reviews__arrow svg { width: 17px; height: 17px; display: block; transition: transform .25s var(--reviews-ease); }
@media (hover: hover) {
  .mvu-reviews__arrow:not(:disabled):hover { background: var(--reviews-accent); color: #fff; }
  .mvu-reviews__arrow--prev:not(:disabled):hover svg { transform: translateX(-2px); }
  .mvu-reviews__arrow--next:not(:disabled):hover svg { transform: translateX(2px); }
}
.mvu-reviews__arrow:not(:disabled):active { transform: scale(.94); }
.mvu-reviews__arrow:disabled { opacity: .35; cursor: default; box-shadow: none; }
.mvu-reviews__arrow:focus-visible { outline: 3px solid rgba(0, 67, 164, .45); outline-offset: 2px; }

.mvu-reviews__clip { margin: -20px; padding: 20px; overflow: hidden; min-width: 0; }
.mvu-reviews__stage {
  position: relative; --cols: 3; --rows: 2;
  height: calc(var(--rows) * var(--reviews-card-h) + (var(--rows) - 1) * var(--reviews-gap));
  outline: none;
}
.mvu-reviews__stage:focus-visible { outline: 3px solid rgba(0, 67, 164, .35); outline-offset: 8px; border-radius: 14px; }
.mvu-reviews__page {
  position: absolute; inset: 0; display: grid; gap: var(--reviews-gap);
  grid-template-columns: repeat(var(--cols), minmax(0, 1fr)); grid-auto-rows: var(--reviews-card-h);
  will-change: transform, opacity;
}

/* ---------- card ---------- */
.mvu-reviews__card {
  position: relative; display: flex; flex-direction: column; height: 100%; min-width: 0; padding: 16px 18px 10px;
  border-radius: var(--reviews-radius); background: var(--reviews-card-bg); border: 1px solid var(--reviews-border);
  box-shadow: var(--reviews-shadow);
  transition: transform .25s var(--reviews-ease), box-shadow .25s var(--reviews-ease), border-color .25s var(--reviews-ease);
}
@media (hover: hover) { .mvu-reviews__card:hover { transform: translateY(-2px); border-color: rgba(18, 38, 107, .18); box-shadow: var(--reviews-shadow-hover); } }
.mvu-reviews__chead { display: flex; align-items: center; gap: 10px; margin-bottom: 10px; min-width: 0; }
.mvu-reviews__avatar { position: relative; flex: none; width: 38px; height: 38px; border-radius: 50%; overflow: hidden; background: #e6ebf8; color: #fff; display: grid; place-items: center; font-size: 14px; font-weight: 800; letter-spacing: .02em; }
.mvu-reviews__avatar img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity .35s ease; }
.mvu-reviews__avatar img.is-loaded { opacity: 1; }
.mvu-reviews__avatar.is-initials { animation: mvuReviewsFade .3s ease both; }
.mvu-reviews__who { min-width: 0; flex: 1; }
.mvu-reviews__name { font-size: 14.5px; font-weight: 700; line-height: 1.2; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mvu-reviews__date { display: block; margin-top: 3px; font-size: 12px; color: var(--reviews-muted); line-height: 1.1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mvu-reviews__badge { flex: none; display: inline-flex; align-items: center; gap: 5px; height: 22px; padding: 0 8px 0 4px; border-radius: 11px; background: rgba(255, 255, 255, .9); border: 1px solid var(--reviews-border); font-size: 11px; font-weight: 700; color: var(--reviews-muted); line-height: 1; }
.mvu-reviews__badge .mvu-reviews__logo { width: 14px; height: 14px; }
@media (min-width: 1100px) and (max-width: 1279px) { .mvu-reviews__card .mvu-reviews__badge { padding: 0 4px; } .mvu-reviews__card .mvu-reviews__badge .t { display: none; } }
.mvu-reviews__text {
  --lines: 4;
  flex: 0 0 auto; margin-top: 8px !important; font-size: 14.5px; line-height: 1.52; color: #2a3350; overflow: hidden;
  max-height: calc(var(--lines) * 1.52em);
  display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: var(--lines); line-clamp: var(--lines);
}
.mvu-reviews__cfoot { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: auto; padding-top: 8px; border-top: 1px solid var(--reviews-border); min-height: 32px; }
.mvu-reviews__more, .mvu-reviews__orig {
  -webkit-appearance: none; appearance: none; margin: 0; padding: 4px 2px; border: 0; background: none; cursor: pointer;
  font-size: 13px; font-weight: 700; color: var(--reviews-accent-2); line-height: 1.2; transition: color .2s;
}
.mvu-reviews__orig { color: var(--reviews-muted); font-weight: 600; margin-left: auto; display: inline-flex; align-items: center; gap: 4px; }
.mvu-reviews__orig svg { width: 12px; height: 12px; transition: transform .2s var(--reviews-ease); }
@media (hover: hover) {
  .mvu-reviews__more:hover { color: var(--reviews-accent); text-decoration: underline; text-underline-offset: 3px; }
  .mvu-reviews__orig:hover { color: var(--reviews-accent); }
  .mvu-reviews__orig:hover svg { transform: translate(2px, -2px); }
}
.mvu-reviews__more:focus-visible, .mvu-reviews__orig:focus-visible { outline: 3px solid rgba(0, 67, 164, .45); outline-offset: 2px; border-radius: 6px; }
.mvu-reviews__more[hidden] { display: none; }

/* ---------- skeleton ---------- */
.mvu-reviews__card.is-skeleton { pointer-events: none; }
.mvu-reviews__sk { border-radius: 6px; background: linear-gradient(100deg, #e8edf8 30%, #f4f7fd 50%, #e8edf8 70%); background-size: 220% 100%; animation: mvuReviewsShimmer 1.4s linear infinite; }
@keyframes mvuReviewsShimmer { from { background-position: 120% 0; } to { background-position: -120% 0; } }
@keyframes mvuReviewsFade { from { opacity: 0; } to { opacity: 1; } }

/* ---------- counter ---------- */
.mvu-reviews__counter { margin-top: 22px; text-align: center; font-size: 13.5px; color: var(--reviews-muted); font-variant-numeric: tabular-nums; min-height: 20px; }
.mvu-reviews__counter b { color: var(--reviews-text); font-weight: 700; }

/* ---------- CTA: compact footer line (no panel) ---------- */
.mvu-reviews__cta {
  display: flex; align-items: center; justify-content: center; gap: 12px 28px; flex-wrap: wrap;
  margin-top: 32px; padding-top: 24px; border-top: 1px solid var(--reviews-border);
}
.mvu-reviews__cta-copy { display: flex; flex-direction: column; gap: 3px; }
.mvu-reviews__cta-title { font-size: 17px; line-height: 1.25; font-weight: 800; color: var(--reviews-accent); letter-spacing: -.005em; }
.mvu-reviews__cta-text { font-size: 14.5px; line-height: 1.4; color: var(--reviews-muted); }
.mvu-reviews__btn {
  -webkit-appearance: none; appearance: none; display: inline-flex; align-items: center; justify-content: center; height: 44px; padding: 0 24px; margin: 0;
  border: 0; border-radius: 12px; cursor: pointer; background: var(--reviews-accent); color: #fff; font-size: 13px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase;
  transition: background .25s, transform .25s var(--reviews-ease), box-shadow .25s;
}
@media (hover: hover) { .mvu-reviews__btn:hover { background: #0c1b52; transform: translateY(-1px); box-shadow: 0 10px 18px -12px rgba(18, 38, 107, .6); } }
.mvu-reviews__btn:active { transform: scale(.98); }
.mvu-reviews__btn:focus-visible { outline: 3px solid rgba(0, 67, 164, .5); outline-offset: 3px; }

/* ---------- tablet ---------- */
@media (max-width: 1099px) {
  .mvu-reviews { padding: 48px 24px 44px; }
  .mvu-reviews__stage { --cols: 2; --rows: 2; }
  .mvu-reviews__body { grid-template-columns: 38px minmax(0, 1fr) 38px; gap: 12px; }
  .mvu-reviews__arrow { width: 38px; height: 38px; }
}

/* ---------- mobile: one card + peek, native swipe ---------- */
@media (max-width: 699px) {
  .mvu-reviews { padding: 32px 0 32px; }
  .mvu-reviews__inner { padding: 0; }
  .mvu-reviews__head, .mvu-reviews__counter, .mvu-reviews__cta { margin-left: 20px; margin-right: 20px; }
  .mvu-reviews__head { margin-bottom: 16px; align-items: center; flex-wrap: nowrap; gap: 12px; }
  .mvu-reviews__title { font-size: 23px; line-height: 1.12; }
  .mvu-reviews__rating { gap: 8px; flex: none; }
  .mvu-reviews__score { font-size: 30px; }
  .mvu-reviews__rating-meta { gap: 3px; }
  .mvu-reviews__rating .mvu-reviews__stars svg { width: 12px; height: 12px; }
  .mvu-reviews__count { font-size: 11.5px; white-space: nowrap; }

  /* segmented selector: все 4 источника видны сразу */
  .mvu-reviews__filters {
    display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 2px; margin: 0 20px 8px; padding: 3px;
    background: rgba(18, 38, 107, .06); border-radius: 12px;
  }
  .mvu-reviews__filter { justify-content: center; gap: 5px; height: 38px; padding: 0 4px; border: 0; border-radius: 9px; background: transparent; min-width: 0; }
  .mvu-reviews__filter[aria-pressed="true"] { background: #fff; box-shadow: 0 1px 3px rgba(18, 38, 107, .16), 0 0 0 .5px rgba(18, 38, 107, .08); }
  .mvu-reviews__filter .mvu-reviews__logo, .mvu-reviews__flogo--all { width: 18px; height: 18px; }
  .mvu-reviews__flogo--all { font-size: 10px; border-radius: 5px; }
  .mvu-reviews__fname { font-size: 13px; }
  .mvu-reviews__fmeta { display: none; }
  .mvu-reviews__fcur { display: block; margin: 0 20px 14px; font-size: 13.5px; line-height: 1.3; color: var(--reviews-muted); min-height: 18px; }
  .mvu-reviews__fcur b { color: var(--reviews-text); font-weight: 700; }

  .mvu-reviews__body { display: block; }
  .mvu-reviews__arrow { display: none; }
  .mvu-reviews__rail {
    display: block; overflow-x: auto; overflow-y: hidden; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; scrollbar-width: none;
    padding: 6px 20px 16px; scroll-padding: 0 20px; overscroll-behavior-x: contain; margin: -6px 0 -16px;
  }
  .mvu-reviews__rail::-webkit-scrollbar { display: none; }
  .mvu-reviews__rail-in { display: flex; align-items: stretch; width: max-content; will-change: transform; }
  .mvu-reviews__slide { flex: 0 0 auto; width: calc(100vw - 20px - 12px - var(--reviews-peek)); margin-right: 12px; scroll-snap-align: start; scroll-snap-stop: always; }
  .mvu-reviews__spacer { flex: none; height: 1px; }
  .mvu-reviews__card { min-height: 268px; padding: 14px 16px 8px; }
  .mvu-reviews__text { --lines: 7; font-size: 15px; }
  .mvu-reviews__counter { margin-top: 12px; }
  .mvu-reviews__cta { flex-direction: column; align-items: stretch; text-align: center; margin-top: 22px; padding-top: 18px; gap: 12px; }
  .mvu-reviews__cta-copy { align-items: center; }
  .mvu-reviews__btn { width: 100%; height: 46px; }
}
@media (max-width: 359px) {
  .mvu-reviews__filter { gap: 3px; padding: 0 2px; }
  .mvu-reviews__filter .mvu-reviews__logo, .mvu-reviews__flogo--all { width: 15px; height: 15px; }
  .mvu-reviews__fname { font-size: 12px; }
  .mvu-reviews__title { font-size: 21px; }
  .mvu-reviews__score { font-size: 26px; }
}
@media (min-width: 700px) { .mvu-reviews__rail { display: contents; } }

/* ---------- layers: review dialog, leave-review dialog ---------- */
.mvu-reviews-layer {
  position: fixed; inset: 0; z-index: 100000; display: flex; align-items: center; justify-content: center; padding: 20px;
  background: rgba(9, 19, 58, .5); -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px);
  opacity: 0; visibility: hidden; transition: opacity .3s var(--reviews-ease), visibility 0s .3s;
  font-family: var(--reviews-font); color: var(--reviews-text); -webkit-font-smoothing: antialiased; text-align: left;
}
.mvu-reviews-layer.is-open { opacity: 1; visibility: visible; transition-delay: 0s; }
.mvu-reviews-layer h2, .mvu-reviews-layer p { margin: 0; padding: 0; }
.mvu-reviews-layer a { text-decoration: none; }
.mvu-reviews-layer__dialog {
  position: relative; width: min(480px, 100%); max-height: calc(100vh - 40px); max-height: calc(100dvh - 40px); overflow: auto; overscroll-behavior: contain;
  padding: 28px 28px 24px; border-radius: 20px; background: #fff; outline: none; box-shadow: 0 30px 70px -28px rgba(5, 12, 45, .6);
  transform: translateY(14px) scale(.98); opacity: 0; transition: transform .4s var(--reviews-ease), opacity .3s ease;
}
.mvu-reviews-layer.is-open .mvu-reviews-layer__dialog { transform: none; opacity: 1; }
.mvu-reviews-layer__dialog--review { width: min(580px, 100%); }
.mvu-reviews-layer__x {
  -webkit-appearance: none; appearance: none; position: absolute; top: 14px; right: 14px; z-index: 2; width: 34px; height: 34px; margin: 0; padding: 0; border: 0; border-radius: 50%;
  display: grid; place-items: center; background: #f1f3f9; color: #5d667c; cursor: pointer; transition: background .2s, color .2s;
}
.mvu-reviews-layer__x svg { width: 13px; height: 13px; display: block; }
.mvu-reviews-layer__x:hover { background: #e4e8f3; color: var(--reviews-accent); }
.mvu-reviews-layer__x:focus-visible, .mvu-reviews-layer__opt:focus-visible, .mvu-reviews-layer__cancel:focus-visible, .mvu-reviews-layer__link:focus-visible { outline: 3px solid rgba(0, 67, 164, .5); outline-offset: 2px; }
.mvu-reviews-layer__title { font-size: 21px; line-height: 1.2; font-weight: 800; color: var(--reviews-accent); letter-spacing: -.01em; padding-right: 36px; }
.mvu-reviews-layer__title .is-m { display: none; }
.mvu-reviews-layer__list { display: flex; flex-direction: column; gap: 8px; margin: 20px 0 0; padding: 0; list-style: none; }
.mvu-reviews-layer__opt {
  display: flex; align-items: center; gap: 12px; min-height: 56px; padding: 8px 16px 8px 12px; border-radius: 14px; color: var(--reviews-text);
  background: #fff; border: 1px solid var(--reviews-border); transition: border-color .25s, background .25s, transform .25s var(--reviews-ease), box-shadow .25s;
}
.mvu-reviews-layer__opt .mvu-reviews__logo { width: 32px; height: 32px; }
.mvu-reviews-layer__opt .nm { flex: 1; font-size: 16px; font-weight: 700; }
.mvu-reviews-layer__opt svg.go { width: 18px; height: 18px; color: var(--reviews-muted); flex: none; transition: transform .25s var(--reviews-ease), color .25s; }
@media (hover: hover) {
  .mvu-reviews-layer__opt:hover { border-color: var(--reviews-accent); background: #f6f9ff; box-shadow: 0 8px 18px -14px rgba(18, 38, 107, .5); }
  .mvu-reviews-layer__opt:hover svg.go { transform: translateX(3px); color: var(--reviews-accent); }
}
.mvu-reviews-layer__opt:active { transform: scale(.985); }
.mvu-reviews-layer__cancel {
  -webkit-appearance: none; appearance: none; display: none; width: 100%; height: 46px; margin: 12px 0 0; border: 0; border-radius: 12px; background: #f1f3f9; color: var(--reviews-accent);
  font-size: 15px; font-weight: 700; cursor: pointer;
}
.mvu-reviews-layer__rhead { display: flex; align-items: center; gap: 12px; padding-right: 36px; }
.mvu-reviews-layer__rhead .mvu-reviews__avatar { width: 46px; height: 46px; }
.mvu-reviews-layer__meta { margin-top: 16px; display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.mvu-reviews-layer__full { margin-top: 12px !important; font-size: 16px; line-height: 1.62; color: #2a3350; white-space: pre-line; }
.mvu-reviews-layer__link { display: inline-flex; align-items: center; gap: 6px; margin-top: 18px; font-size: 14px; font-weight: 700; color: var(--reviews-accent-2); }
.mvu-reviews-layer__link svg { width: 13px; height: 13px; }
.mvu-reviews-layer .mvu-reviews__stars svg { width: 16px; height: 16px; }
.mvu-reviews-layer .mvu-reviews__badge .mvu-reviews__logo { width: 14px; height: 14px; }
.mvu-reviews-layer .mvu-reviews__logo { display: block; flex: none; object-fit: contain; }
.mvu-reviews-layer .mvu-reviews__badge { display: inline-flex; align-items: center; gap: 5px; height: 22px; padding: 0 8px 0 4px; border-radius: 11px; background: #fff; border: 1px solid var(--reviews-border); font-size: 11px; font-weight: 700; color: var(--reviews-muted); line-height: 1; }
.mvu-reviews-layer .mvu-reviews__avatar { position: relative; flex: none; border-radius: 50%; overflow: hidden; background: #e6ebf8; color: #fff; display: grid; place-items: center; font-size: 15px; font-weight: 800; }
.mvu-reviews-layer .mvu-reviews__avatar img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity .35s ease; }
.mvu-reviews-layer .mvu-reviews__avatar img.is-loaded { opacity: 1; }
.mvu-reviews-layer .mvu-reviews__who { min-width: 0; flex: 1; }
.mvu-reviews-layer .mvu-reviews__name { font-weight: 700; line-height: 1.2; }
.mvu-reviews-layer .mvu-reviews__date { display: block; margin-top: 3px; font-size: 12.5px; color: var(--reviews-muted); }
.mvu-reviews-layer .mvu-reviews__stars { display: inline-flex; gap: 2px; color: var(--reviews-star); line-height: 0; }
.mvu-reviews-layer .mvu-reviews__stars .is-off { color: #d9deeb; }

@media (max-width: 699px) {
  .mvu-reviews-layer { align-items: flex-end; padding: 0; }
  .mvu-reviews-layer__dialog { width: 100%; max-height: 90vh; max-height: 90dvh; border-radius: 20px 20px 0 0; padding: 18px 18px calc(16px + env(safe-area-inset-bottom)); transform: translateY(100%); opacity: 1; transition: transform .4s var(--reviews-ease); }
  .mvu-reviews-layer.is-open .mvu-reviews-layer__dialog { transform: none; }
  .mvu-reviews-layer__dialog::before { content: ""; display: block; width: 36px; height: 4px; border-radius: 4px; background: #d5dcec; margin: -4px auto 14px; }
  .mvu-reviews-layer__title { font-size: 19px; }
  .mvu-reviews-layer__title .is-d { display: none; }
  .mvu-reviews-layer__title .is-m { display: inline; }
  .mvu-reviews-layer__x { top: 12px; right: 12px; }
  .mvu-reviews-layer__cancel { display: block; }
  .mvu-reviews-layer__list { margin-top: 14px; }
}

/* ---------- reduced motion ---------- */
@media (prefers-reduced-motion: reduce) {
  .mvu-reviews *, .mvu-reviews-layer, .mvu-reviews-layer * { transition-duration: 1ms !important; transition-delay: 0s !important; animation-duration: 1ms !important; animation-iteration-count: 1 !important; }
  .mvu-reviews__sk { animation: none; }
}
