/* ============================================================
   ezlingua — доработка мобильной версии (сентябрь 2026)
   Подключается последним и действует только на экранах до 760px.
   Дизайн тот же, что на компьютере: меньше «шума», крупнее
   главное, короче прокрутка, кнопка записи всегда под рукой.
   ============================================================ */
@media (max-width: 760px) {

  /* ---------- Шапка ---------- */
  .header__bar { padding: 8px 8px 8px 14px; }
  .brand__word { font-size: 17px; }
  .nav__side { gap: 4px; }
  .nav__link--login { padding: 8px 10px; font-size: 15px; }
  .nav__cta { padding: 10px 16px; font-size: 15px; white-space: nowrap; }

  /* ---------- Первый экран ---------- */
  .hero { padding: 40px 0 8px; }
  .hero__inner { padding: 104px 18px 0; }
  /* четыре фигуры — аккуратным рядом над заголовком, не наезжают на текст */
  .hero .deco { top: 8px !important; bottom: auto !important; right: auto !important; transform: none !important; }
  .hero .deco--square  { left: calc(50% - 158px) !important; width: 64px; height: 64px; top: 20px !important; }
  .hero .deco--arch    { left: calc(50% - 76px) !important;  width: 62px; height: 74px; top: 12px !important; }
  .hero .deco--octagon { left: calc(50% + 6px) !important;   width: 72px; height: 72px; top: 14px !important; }
  .hero .deco--octagon .deco__photo { width: 68px; height: 72px; }
  .hero .deco--cloud   { left: calc(50% + 92px) !important;  width: 64px; height: 86px; top: 4px !important; }
  .hero .deco--cloud .deco__photo { width: 64px; height: 86px; }
  .hero .deco--square .deco__photo { transform: none; top: 6px; left: 12px; width: 40px; height: 58px; }

  .hero__title { max-width: none; font-size: 34px; line-height: 1.12; letter-spacing: -0.035em; margin-bottom: 14px; }
  .hero__title .accent { padding: 0 10px; }
  .hero__text { font-size: 16px; line-height: 1.45; margin-bottom: 22px; color: #4a4858; }
  .hero__actions { gap: 0; }
  .hero__actions .btn--solid { width: 100%; height: 54px; font-size: 17px; border-radius: 16px; }
  /* «Вход» уже есть в шапке — второй раз на первом экране не нужен */
  .hero__actions .btn--outline { display: none; }

  /* ---------- Языки: фото + флаги одной строкой ---------- */
  .languages .wide { grid-template-columns: 1fr; gap: 10px; padding-block: 12px; }
  .languages__photo--main { grid-column: 1; }
  .languages__photo--main img { height: 190px; width: 100%; object-fit: cover; }
  .languages .card-peach { grid-column: 1; display: flex !important; margin: 0 !important; width: auto !important; min-height: 0 !important; height: auto !important; flex-direction: row; align-items: center; gap: 14px; padding: 14px 16px; justify-content: flex-start; }
  .languages .card-peach .flags { flex-direction: row !important; gap: 6px; margin: 0; flex: none; }
  .card-peach .flags__item { width: 40px; height: 40px; }
  .card-peach .flags__item img { width: 34px; height: 34px; }
  .languages .card-peach__text { display: block !important; margin: 0; font-size: 14px; line-height: 1.35; }
  .languages .card-mint, .languages .languages__photo--side { display: none !important; }

  /* ---------- Почему выбирают ---------- */
  .why__title { font-size: 30px; }
  .feature { padding: 20px !important; }
  .feature__icon { width: 44px; height: 44px; margin-bottom: 12px; }
  .feature__title { font-size: 18px; margin-bottom: 8px; }
  .feature__text { font-size: 15px; line-height: 1.5; }

  /* ---------- Заголовки секций — одного масштаба ---------- */
  .process__title, .courses__title, .pricing__title, .reviews__title, .faq__title { font-size: 28px; line-height: 1.15; }
  .process__title br { display: none; }


  /* ---------- Финальный призыв ---------- */
  .final__title { font-size: 28px; }

  /* ---------- Плавающее меню «•••» закрывало текст — вместо него нижняя панель ---------- */
  .fab { display: none !important; }
  .to-top { bottom: 84px; }
  body.has-mbar { padding-bottom: 76px; }
  .mbar {
    position: fixed; left: 0; right: 0; bottom: 0; z-index: 80;
    display: flex; gap: 8px; padding: 10px 12px calc(10px + env(safe-area-inset-bottom));
    background: rgba(255, 255, 255, .94); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px);
    box-shadow: 0 -6px 24px rgba(43, 28, 85, .10);
    transform: translateY(110%); transition: transform .25s ease;
  }
  .mbar.is-on { transform: none; }
  .mbar__cta {
    flex: 1; display: flex; align-items: center; justify-content: center;
    height: 50px; border-radius: 14px; background: #7d5fff; color: #fff;
    font-size: 16px; font-weight: 700; text-decoration: none;
  }
  .mbar__wa {
    flex: none; width: 50px; height: 50px; border-radius: 14px; display: grid; place-items: center;
    background: #25d366; color: #fff;
  }
  .mbar__wa svg { width: 26px; height: 26px; fill: currentColor; }
}
@media (min-width: 761px) { .mbar { display: none; } }
@media (max-width: 760px) {
  .languages .wide { display: flex !important; flex-direction: column; gap: 10px; }
  .languages .languages__photo--main { width: 100%; margin: 0 !important; }
  .languages { padding-bottom: 12px; margin-bottom: 0; }
}

/* ===== v36: выравнивание на телефоне ===== */
@media (max-width: 760px) {
  /* фигуры с людьми — одного размера, в одну линию */
  .hero .deco { width: 70px !important; height: 70px !important; top: 14px !important; }
  .hero .deco--square  { left: calc(50% - 158px) !important; }
  .hero .deco--arch    { left: calc(50% - 76px) !important; }
  .hero .deco--octagon { left: calc(50% + 6px) !important; }
  .hero .deco--cloud   { left: calc(50% + 88px) !important; }
  .hero .deco .deco__photo { top: 0 !important; left: 0 !important; width: 100% !important; height: 100% !important; object-fit: cover; object-position: center top; transform: none !important; }
  .hero .deco--square .deco__photo { top: 6px !important; left: 14px !important; width: 42px !important; height: 64px !important; object-fit: contain; }
  .hero .deco--arch .deco__photo { top: 4px !important; left: 7px !important; width: 56px !important; height: 66px !important; object-fit: contain; }

  /* флаги — ровно в одну линию */
  .languages .card-peach .flags__item,
  .languages .card-peach .flags__item + .flags__item { margin: 0 !important; transform: none !important; top: 0 !important; }

  /* шаги партнёрской программы — компактным списком */
  .biz__steps { gap: 8px; }
  .biz__steps li { padding: 12px 14px 12px 54px !important; border-radius: 16px; font-size: 14px; }
  .biz__steps li::before { left: 14px; top: 50%; transform: translateY(-50%); }
  .biz__steps b { font-size: 15px; margin-bottom: 2px; }

  /* формы клуба и компаний — плотнее */
  .xform { padding: 18px 16px !important; border-radius: 20px; }
  .xform__title { font-size: 19px; line-height: 1.25; }
  .xform__lead { font-size: 14px; margin-bottom: 12px; }
  .xform .field { margin-bottom: 10px; }
  .xform .field__label { font-size: 13px !important; margin-bottom: 4px !important; }
  .xform .field__input { height: 44px; font-size: 16px; border-radius: 11px; padding: 0 12px; }
  .xform .field__input--area { min-height: 64px; height: 64px; padding: 10px 12px; }
  .xform__row { grid-template-columns: 1fr 1fr !important; gap: 8px !important; }
  .xform .consent { margin: 4px 0 12px; font-size: 13px; }
  .xform__submit { height: 50px; font-size: 16px; }
}
@media (max-width: 760px) {
  .biz__formats { gap: 8px; }
  .bizf { padding: 14px 16px; border-radius: 16px; }
  .bizf__title { font-size: 16px !important; margin-bottom: 4px; }
  .bizf__text { font-size: 14px; line-height: 1.45; }
}
/* ===== v37: партнёрская программа компактнее на телефоне ===== */
@media (max-width: 760px) {
  .biz { padding: 32px 0 16px !important; }
  .biz__head { margin-bottom: 18px; }
  .biz__title { font-size: 26px !important; line-height: 1.15; }
  .biz__lead { font-size: 15px; line-height: 1.5; margin-top: 10px; }
  .biz__sub { font-size: 18px; margin-bottom: 4px; }
  .biz__note { font-size: 13px; margin-bottom: 12px; }
  /* формула 50% + 50% + скидка — одной строкой */
  .bizformula { flex-direction: row !important; flex-wrap: nowrap; gap: 4px !important; margin-bottom: 26px; }
  .bizformula__item { flex: 1 1 0 !important; min-width: 0; padding: 10px 8px !important; border-radius: 14px; gap: 2px; }
  .bizformula__item b { font-size: 19px !important; }
  .bizformula__item span { font-size: 11px; line-height: 1.3; }
  .bizformula__op { font-size: 16px !important; }
  /* тарифы — сеткой 2×2 */
  .btars { grid-template-columns: 1fr 1fr !important; gap: 14px 10px; margin-bottom: 28px; }
  .btar { padding: 16px 12px 12px; border-radius: 16px; gap: 3px; }
  .btar__badge { left: 12px; top: -10px; font-size: 10px; padding: 3px 8px; }
  .btar__who { font-size: 13px; }
  .btar__disc { font-size: 22px; }
  .btar__price { font-size: 12px; }
  .btar__emp { font-size: 11px; margin-top: 4px; padding-top: 8px; }
  .btar__emp b { display: block; font-size: 19px; }
  .btar__pack { display: none; }
}
/* ===== v38: общий проход по мобильной версии — компактнее ===== */
@media (max-width: 760px) {
  /* --- Почему выбирают: иконка слева, текст справа --- */
  .why__cards { gap: 10px !important; }
  .feature { display: grid !important; grid-template-columns: 40px 1fr; column-gap: 14px; padding: 16px !important; border-radius: 18px; }
  .feature__icon { grid-row: 1 / span 2; width: 40px !important; height: 40px !important; margin: 2px 0 0 !important; }
  .feature__tile { width: 40px; height: 40px; }
  .feature__glyph { transform: translate(-50%, -50%) scale(.8) !important; }
  .feature__title { font-size: 16px !important; margin: 0 0 4px !important; line-height: 1.3; }
  .feature__text { font-size: 14px !important; line-height: 1.45; }
  .stats { padding: 20px 18px !important; gap: 12px !important; border-radius: 22px; }
  .stats__item:nth-child(2), .stats__item:nth-child(4) { margin-top: 0 !important; }
  .stats__value { font-size: 30px !important; }
  .stats__label { font-size: 13px !important; }

  /* --- Как проходит обучение --- */
  .process__title { margin-bottom: 20px !important; }
  .steps { gap: 18px !important; }
  .step__badge { width: 38px !important; height: 38px !important; font-size: 17px !important; }
  .step__title { font-size: 16px !important; }
  .step__text { font-size: 14px !important; line-height: 1.45; }
  .step:not(:last-child)::after { top: 48px !important; left: 18px !important; bottom: -10px !important; }

  /* --- Курсы: листаются пальцем в сторону --- */
  .courses__grid {
    display: flex !important; flex-direction: row !important; flex-wrap: nowrap !important; gap: 12px !important; overflow-x: auto; scroll-snap-type: x mandatory;
    margin-inline: -20px; padding: 4px 20px 14px; scrollbar-width: none;
  }
  .courses__grid::-webkit-scrollbar { display: none; }
  .courses__grid .course { flex: 0 0 84%; scroll-snap-align: start; min-height: 0; }
  .courses__grid .course:hover { transform: none; }
  .course--wide .course__body, .course--narrow .course__body { min-height: 250px !important; padding: 20px 18px 18px !important; }
  .course__text { max-width: 62%; }
  .course__photo, .course--wide .course__photo, .course--narrow .course__photo { height: 180px !important; width: 42% !important; }
  .courses__hint { display: block; margin: -4px 0 0; font-size: 13px; color: #8a8799; text-align: center; }

  /* --- Бот: шаги «откройте / старт» очевидны — оставляем кнопку --- */
  .club { padding: 16px 0 !important; }
  .club__card { padding: 26px 20px !important; gap: 0 !important; }
  .club__title { font-size: 26px !important; }
  .club__lead { font-size: 15px !important; margin-bottom: 16px !important; }
  .club__points { gap: 8px !important; margin-bottom: 20px !important; }
  .club__points li { font-size: 14px !important; }
  .botcard { display: none !important; }

  /* --- «Что получает компания»: листаются в сторону --- */
  .biz__formats {
    display: flex !important; flex-direction: row !important; flex-wrap: nowrap !important; overflow-x: auto; scroll-snap-type: x mandatory; gap: 10px !important;
    margin-inline: -20px; padding: 2px 20px 12px; scrollbar-width: none;
  }
  .biz__formats::-webkit-scrollbar { display: none; }
  .bizf { flex: 0 0 76%; scroll-snap-align: start; }

  /* --- Отзывы, вопросы, финал --- */
  .reviews { padding-block: 24px !important; }
  .faq__q { padding: 14px 16px !important; font-size: 15px !important; }
  .faq__list { gap: 8px !important; }
  .final__card { padding-block: 70px !important; }

  /* --- Подвал: ссылки в две колонки --- */
  .footer { padding-top: 28px; }
  .footer__links { grid-template-columns: 1fr 1fr !important; gap: 22px 14px !important; }
  .foot-group:last-child { grid-column: 1 / -1; }
  .foot-group__title { font-size: 15px !important; margin-bottom: 8px !important; }
  .foot-group__list { gap: 6px !important; }
  .foot-group__list a { font-size: 14px !important; }
}
/* ===== v39: карусели не должны раздвигать страницу; финальный блок компактнее ===== */
@media (max-width: 760px) {
  .biz__grid { grid-template-columns: minmax(0, 1fr) !important; }
  .biz__grid > *, .courses .tabs, .courses .tabs__panel, .courses [role="tabpanel"] { min-width: 0; max-width: 100%; }
  .final__card { padding: 64px 20px 60px !important; min-height: 0 !important; }
  .final__title { font-size: 24px !important; line-height: 1.2; margin-bottom: 18px !important; }
  .final__cta { height: 50px; padding: 0 26px; font-size: 16px; }
  .final .deco { transform: scale(.5) !important; transform-origin: center; }
  .final .deco--square { transform: rotate(80deg) scale(.5) !important; }
  .final .deco--arch { transform: rotate(340deg) scale(.5) !important; }
  .final__cta { margin: 0 !important; }
  .final .deco--square  { top: -8px !important; left: -6px !important; }
  .final .deco--arch    { top: -12px !important; right: -6px !important; left: auto !important; }
  .final .deco--octagon { bottom: -18px !important; top: auto !important; left: -18px !important; }
  .final .deco--cloud   { bottom: -22px !important; top: auto !important; right: -10px !important; left: auto !important; }
}
@media (max-width: 360px) {
  .header__bar { padding: 6px 6px 6px 10px; }
  .brand__mark { width: 24px; height: 24px; }
  .brand__text .brand__word { font-size: 16px !important; }
  .nav__link--login { padding: 6px 6px; font-size: 14px; }
  .nav__cta { padding: 9px 10px; font-size: 14px; }
  .languages .card-peach { gap: 10px; padding: 12px; }
  .card-peach .flags__item { width: 34px; height: 34px; }
  .card-peach .flags__item img { width: 28px; height: 28px; }
  .tabs__pill { padding: 8px 8px !important; font-size: 13px !important; }
}
@media (max-width: 360px) {
  .tcard__actions .tcard__cta { padding-inline: 8px !important; font-size: 14px !important; }
  .tcard__actions .tcard__more { padding-inline: 10px !important; font-size: 14px !important; }
  .tcard__actions .tcard__more .tcard__chevron { display: none; }
}

/* ===== v40: карусели ровно по краю + точки-индикаторы; финальный блок вдвое ниже ===== */
@media (max-width: 760px) {
  /* snap «start» прижимал карточку к краю экрана — учитываем поле 20px */
  .courses__grid, .biz__formats { scroll-padding-inline: 20px; }
  .courses__grid { padding-bottom: 6px !important; }
  .biz__formats { padding-bottom: 6px !important; }
  .courses__hint { display: none !important; }

  .cdots { display: flex; align-items: center; justify-content: center; gap: 6px; margin: 8px 0 4px; }
  .cdots__dot { width: 7px; height: 7px; padding: 0; border: 0; border-radius: 99px; background: #d9d6ea; transition: width .25s, background .25s; }
  .cdots__dot.is-on { width: 22px; background: #7760f4; }
  .cdots__hint { margin-left: 8px; font-size: 12px; color: #8a8799; white-space: nowrap; }

  /* финальный CTA: компактная плашка */
  .final { padding-block: 16px !important; }
  .final__card { padding: 24px 18px 22px !important; border-radius: 24px !important; gap: 0 !important; }
  .final__title { font-size: 20px !important; margin-bottom: 14px !important; }
  .final__cta { height: 44px; padding: 0 22px; font-size: 15px; }
  .final .deco { transform: scale(.34) !important; }
  .final .deco--square { transform: rotate(80deg) scale(.34) !important; }
  .final .deco--arch { transform: rotate(340deg) scale(.34) !important; }
  .final .deco--square  { top: -22px !important; left: -22px !important; }
  .final .deco--arch    { top: -26px !important; right: -22px !important; }
  .final .deco--octagon { bottom: -30px !important; left: -30px !important; }
  .final .deco--cloud   { bottom: -34px !important; right: -24px !important; }
}

/* ===== v41: финальный блок — фигуры целиком внутри карточки; меню-бургер в шапке ===== */
@media (max-width: 760px) {
  .final__card { min-height: 168px !important; justify-content: center; padding: 22px 70px !important; }
  .final__title { font-size: 20px !important; margin-bottom: 14px !important; }
  .final .deco { transform-origin: center !important; }
  .final .deco--square  { transform: rotate(80deg)  scale(.62) !important; top: 3px !important;  left: 3px !important;  right: auto !important; bottom: auto !important; }
  .final .deco--arch    { transform: rotate(340deg) scale(.62) !important; top: 3px !important;  right: 6px !important; left: auto !important;  bottom: auto !important; }
  .final .deco--octagon { transform: scale(.62) !important;               bottom: -7px !important; left: -7px !important; top: auto !important;   right: auto !important; }
  .final .deco--cloud   { transform: scale(.62) !important;               bottom: -9px !important; right: -3px !important; top: auto !important;  left: auto !important; }

  /* шапка: логотип · «Записаться» · бургер; «Вход» и разделы — в выпадающем меню */
  .header__bar { position: relative; }
  .nav-toggle { display: flex !important; order: 3; flex: 0 0 auto; margin-left: 4px; }
  .nav__side { order: 2; }
  .nav__side .nav__link--login { display: none !important; }
  .nav__main {
    display: none !important; position: absolute; top: calc(100% + 8px); left: 0; right: 0; z-index: 60;
    flex-direction: column; gap: 2px; padding: 10px; background: #fff; border-radius: 16px;
    box-shadow: 0 18px 40px rgba(40, 26, 57, .16);
  }
  .nav-toggle[aria-expanded="true"] ~ .nav .nav__main { display: flex !important; }
  .nav__main .nav__link { display: block; padding: 9px 14px; border-radius: 10px; font-size: 16px; font-weight: 600; text-align: left; }
  .nav__main .nav__link:active { background: #f3f1fd; }
  .nav__main .nav__link--m { display: block !important; color: #7760f4; font-weight: 700; border-radius: 0 0 10px 10px; box-shadow: inset 0 1px 0 #eee; margin-top: 4px; padding-top: 12px; }
}
@media (min-width: 761px) { .nav__link--m { display: none !important; } }
@media (max-width: 360px) {
  .final__card { padding-inline: 54px !important; }
  .final__title { font-size: 16px !important; }
  .final .deco--square  { transform: rotate(80deg)  scale(.5) !important; top: -1px !important; left: -1px !important; }
  .final .deco--arch    { transform: rotate(340deg) scale(.5) !important; top: -2px !important; right: 2px !important; }
  .final .deco--octagon { transform: scale(.5) !important; bottom: -13px !important; left: -13px !important; }
  .final .deco--cloud   { transform: scale(.5) !important; bottom: -16px !important; right: -8px !important; }
}

/* ===== v42: карточки курсов — одинаковая раскладка и одинаковый размер фото ===== */
@media (max-width: 760px) {
  .courses__grid { align-items: stretch !important; }
  .courses__grid .course { min-height: 350px !important; }
  .courses__grid .course .course__body {
    padding: 20px 18px 18px !important; min-height: 350px !important; height: 100%;
    display: flex !important; flex-direction: column !important; align-items: flex-start;
  }
  .courses__grid .course .course__title { font-size: 21px !important; margin-bottom: 10px !important; padding: 0 !important; max-width: none !important; }
  .courses__grid .course .course__text { max-width: none !important; width: 100% !important; font-size: 14px !important; line-height: 1.45; margin-bottom: 12px !important; position: relative; z-index: 1; }
  .courses__grid .course .course__cta { margin-top: auto !important; position: relative; z-index: 2; }
  .courses__grid .course .course__photo {
    position: absolute !important; top: auto !important; left: auto !important; right: 0 !important; bottom: 0 !important;
    width: 50% !important; height: 178px !important; min-height: 0 !important; transform: none !important;
    object-fit: contain !important; object-position: right bottom !important; z-index: 0;
  }
  .courses__grid .course .course__photo[src*="course-english-kids"],
  .courses__grid .course .course__photo[src*="course-turkish-general"],
  .courses__grid .course .course__photo[src*="course-arabic"] { object-fit: cover !important; object-position: 50% 100% !important; }
}

/* ===== v43: отзывы — крупный скриншот «Посмотреть отзыв»; на телефоне лента по одному ===== */
.reviews .review__thumb::after {
  content: "Посмотреть отзыв  ⤢"; position: absolute; left: 10px; bottom: 10px; right: auto; top: auto; width: auto; height: auto;
  padding: 6px 11px; border-radius: 99px; background: rgba(24,20,40,.78); color: #fff;
  font-size: 12px; font-weight: 600; line-height: 1.2; letter-spacing: .01em;
}
.reviews .review__by { display: flex !important; flex-direction: column-reverse !important; align-items: stretch !important; gap: 10px !important; margin-top: auto !important; }
.reviews .review__meta { display: flex !important; flex-direction: row !important; align-items: baseline; gap: 6px; flex-wrap: wrap; }
.reviews .review__lang::before { content: "· "; }
.reviews .review__thumb {
  width: 100% !important; height: 130px !important; border-radius: 14px !important; overflow: hidden; position: relative;
  box-shadow: inset 0 0 0 1px rgba(40,26,57,.08) !important; background: #fff !important;
}
.reviews .review__thumb:hover, .reviews .review__thumb:focus-visible { transform: none !important; box-shadow: 0 0 0 2px #7760f4 !important; }
.reviews .review__thumb img { width: 100% !important; height: 100% !important; object-fit: cover !important; object-position: 50% 18% !important; }
.reviews .review { display: flex !important; flex-direction: column; }
.reviews .review__quote { width: 26px !important; height: 22px !important; margin: 0 0 10px !important; }
.reviews .review__text { margin: 0 0 12px !important; }

@media (min-width: 761px) {
  .reviews .review { padding: 24px 24px 22px !important; }
  .reviews .review__thumb { height: 150px !important; }
}

@media (max-width: 760px) {
  .reviews .slider__arrow, .reviews .slider__dots { display: none !important; }
  .reviews .slider__viewport { overflow: visible !important; }
  .reviews .slider__track {
    transform: none !important; display: flex !important; gap: 12px; overflow-x: auto; scroll-snap-type: x mandatory;
    margin-inline: -20px; padding: 2px 20px 4px; scroll-padding-inline: 20px; scrollbar-width: none;
  }
  .reviews .slider__track::-webkit-scrollbar { display: none; }
  .reviews .slider__slide { display: contents !important; }
  .reviews .review {
    flex: 0 0 84% !important; scroll-snap-align: start; margin: 0 !important; min-height: 0 !important; height: auto !important;
    padding: 16px 16px 14px !important; border-radius: 20px !important;
  }
  .reviews .review__quote { width: 22px !important; height: 18px !important; margin-bottom: 8px !important; }
  .reviews .review__text { font-size: 15px !important; line-height: 1.42 !important; }
  .reviews .review__author { font-size: 15px !important; }
  .reviews .review__lang { font-size: 13px !important; }
  .reviews .review__thumb { height: 112px !important; border-radius: 12px !important; }
  .reviews .review__thumb::after { left: 8px; bottom: 8px; padding: 5px 10px; font-size: 12px; }
}

/* ===== v44: видеоотзывы в ленте отзывов + окно просмотра ===== */
.reviews .review--video { position: relative !important; padding: 0 !important; overflow: hidden; background: #2a2340 !important; min-height: 296px; }
.vcard { position: absolute; inset: 0; display: block; width: 100%; height: 100%; padding: 0; border: 0; background: none; cursor: pointer; text-align: left; color: #fff; font: inherit; }
.vcard__poster { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 20%; }
.vcard__shade { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(20,16,36,.25) 0%, rgba(20,16,36,0) 30%, rgba(20,16,36,0) 45%, rgba(20,16,36,.82) 100%); }
.vcard__tag { position: absolute; left: 14px; top: 14px; padding: 5px 10px; border-radius: 99px; background: rgba(255,255,255,.94); color: #1f1a2e; font-size: 12px; font-weight: 700; }
.vcard__dur { position: absolute; right: 14px; top: 14px; padding: 5px 9px; border-radius: 99px; background: rgba(20,16,36,.62); font-size: 12px; font-weight: 600; }
.vcard__play { position: absolute; left: 50%; top: 45%; width: 64px; height: 64px; margin: -32px 0 0 -32px; border-radius: 50%; background: #fff; box-shadow: 0 10px 30px rgba(0,0,0,.25); transition: transform .2s; }
.vcard__play::after { content: ""; position: absolute; left: 26px; top: 20px; border-left: 20px solid #7760f4; border-top: 12px solid transparent; border-bottom: 12px solid transparent; }
.vcard:hover .vcard__play, .vcard:focus-visible .vcard__play { transform: scale(1.08); }
.vcard > * { pointer-events: none; }
.vcard:focus-visible { outline: 3px solid #7760f4; outline-offset: -3px; }
.vcard__by { position: absolute; left: 16px; right: 16px; bottom: 14px; }
.vcard__quote { display: block; font-size: 15px; font-weight: 600; line-height: 1.35; margin-bottom: 6px; }
.vcard__name { font-size: 14px; font-weight: 700; }
.vcard__lang { font-size: 13px; opacity: .82; }

.vmodal { position: fixed; inset: 0; z-index: 1000; display: grid; place-items: center; padding: 16px; background: rgba(12,10,22,.88); }
.vmodal[hidden] { display: none !important; }
.vmodal__box { position: relative; width: min(420px, 100%); max-height: 100%; }
.vmodal__video { display: block; width: 100%; max-height: calc(100vh - 32px); max-height: calc(100dvh - 32px); border-radius: 16px; background: #000; aspect-ratio: 9 / 16; object-fit: contain; }
.vmodal__close { position: absolute; top: 8px; right: 8px; width: 40px; height: 40px; border: 0; border-radius: 50%; background: rgba(255,255,255,.92); color: #1f1a2e; font-size: 26px; line-height: 40px; cursor: pointer; }

@media (min-width: 761px) {
  .reviews .review--video { min-height: 370px; }
  .vcard__quote { font-size: 17px; }
}

/* ===== v45: видеоотзыв-«кружок» из Telegram ===== */
.reviews .review--circle { background: linear-gradient(160deg, #8d7bf7 0%, #5b45e0 60%, #3a2c8f 100%) !important; }
.review--circle .vcard__poster { inset: auto; left: 50%; top: 52px; width: 66%; height: auto; aspect-ratio: 1 / 1; transform: translateX(-50%); border-radius: 50%; border: 4px solid rgba(255,255,255,.9); box-shadow: 0 12px 30px rgba(20,16,36,.35); object-position: 50% 50%; }
.review--circle .vcard__shade { background: linear-gradient(180deg, rgba(20,16,36,0) 55%, rgba(20,16,36,.55) 100%); }
.review--circle .vcard__play { top: calc(52px + 33%); }
.vmodal--circle .vmodal__box { width: min(380px, 100%); }
.vmodal--circle .vmodal__video { aspect-ratio: 1 / 1; border-radius: 50%; object-fit: cover; background: #000; }
.vmodal--circle .vmodal__close { top: -8px; right: -8px; }
.vmodal__bar { display: none; height: 4px; margin: 16px auto 0; width: 70%; border-radius: 4px; background: rgba(255,255,255,.25); overflow: hidden; }
.vmodal__bar i { display: block; height: 100%; width: 0; background: #fff; }
.vmodal--circle .vmodal__bar { display: block; }
.vmodal--circle .vmodal__video { cursor: pointer; }
.vmodal__hint { display: none; text-align: center; color: rgba(255,255,255,.75); font-size: 13px; margin-top: 10px; }
.vmodal--circle .vmodal__hint { display: block; }
@media (max-width: 760px) {
  .review--circle .vcard__poster { top: 58px; width: 58%; }
  .review--circle .vcard__play { top: calc(58px + 29%); width: 56px; height: 56px; margin: -28px 0 0 -28px; }
  .review--circle .vcard__play::after { left: 22px; top: 17px; border-left-width: 18px; border-top-width: 11px; border-bottom-width: 11px; }
}
