/* ═══════════════════════════════════════════════════════════════
   SKILLUP MIXING — «Поток» для копий /v2/*.html (кабинет, профиль, сообщения, плагины, юр.страницы…).
   Грузится ПОСЛЕ /v3-skin.css и /v3-flow.css. Работает поверх скина: сияние фона, полоса прогресса,
   блик по золотым кнопкам, переливающиеся золотые тексты, подсветка плиток за курсором (/v3-flow.js).
   ═══════════════════════════════════════════════════════════════ */

/* контент копий не позиционирован — сияние строго ПОД ним (z:-1, как было у body::before в скине) */
body[data-v2page] .v3f-aurora { z-index: -1; }
body[data-v2page] .v3f-progress { z-index: 1200; }

/* ── блик по золотым кнопкам скина ─────────────────────────────── */
body[data-v2page] :is(.btn-gold, .btn-sub, .btn-buy-video, .btn-primary, .preset-pack-btn, .cta-button, .pay-modal-btn,
  .btn-plan-buy, #pyk-pay-btn, .btn-modal-confirm, .ae-btn-save, .nav-login-btn),
body[data-v2page="subscribe"] .btn, body[data-v2page="contacts"] .btn, body[data-v2page="404"] .btn:not(.ghost) {
  position: relative;
  overflow: hidden;
}
body[data-v2page] :is(.btn-gold, .btn-sub, .btn-buy-video, .btn-primary, .preset-pack-btn, .cta-button, .pay-modal-btn,
  .btn-plan-buy, #pyk-pay-btn, .btn-modal-confirm, .ae-btn-save, .nav-login-btn)::after,
body[data-v2page="subscribe"] .btn::after, body[data-v2page="contacts"] .btn::after, body[data-v2page="404"] .btn:not(.ghost)::after {
  content: '';
  position: absolute;
  top: -30%; bottom: -30%; left: 0;
  width: 38%;
  pointer-events: none;
  background: linear-gradient(100deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.62) 50%, rgba(255,255,255,0) 100%);
  transform: translateX(-180%) skewX(-18deg);
  animation: v3f-sheen 7s ease-in-out infinite;
}
body[data-v2page] :is(.btn-gold, .btn-sub, .btn-buy-video, .btn-primary, .preset-pack-btn, .cta-button, .pay-modal-btn,
  .btn-plan-buy, #pyk-pay-btn, .btn-modal-confirm, .ae-btn-save, .nav-login-btn):hover::after,
body[data-v2page="subscribe"] .btn:hover::after, body[data-v2page="contacts"] .btn:hover::after, body[data-v2page="404"] .btn:not(.ghost):hover::after {
  animation-duration: 1.4s;
}
/* отключённые кнопки не блестят */
body[data-v2page] :is(button, a)[disabled]::after, body[data-v2page] .pay-modal-btn:not(.active)::after { display: none; }

/* ── переливающиеся золотые тексты скина ───────────────────────── */
body[data-v2page^="xxx-"] .cta-price,
body[data-v2page="404"] .code {
  background-image: linear-gradient(100deg,
    #fff 0%, #F3DFA6 18%, #C9AA68 34%, #F3DFA6 44%, #FFF7E0 48%, #fff 50%,
    #F3DFA6 68%, #C9AA68 84%, #F3DFA6 94%, #FFF7E0 98%, #fff 100%);
  background-size: 200% 100%;
  animation: v3f-shine 10s linear infinite;
}
body[data-v2page] :is(.dash-logo, .logo, .nav-logo, .card-logo) {
  background-image: linear-gradient(100deg,
    #F3DFA6 0%, #D9BC7A 18%, #C9AA68 32%, #E2C98B 40%, #FFF7E0 46%, #F3DFA6 50%,
    #D9BC7A 68%, #C9AA68 82%, #E2C98B 90%, #FFF7E0 96%, #F3DFA6 100%);
  background-size: 200% 100%;
  -webkit-background-clip: text;
          background-clip: text;
  color: transparent !important;
  -webkit-text-fill-color: transparent;
  animation: v3f-shine 9s linear infinite;
}

/* ── подсветка за курсором на стеклянных поверхностях скина ────── */
body[data-v2page] :is(.card, .pv-card, .plan-card, .other-plan, .type-card, .feature, .no-sub-card, .lesson-item-card,
  .requisites, .box, .toc, .agreement-box, .legal-note, .specs-list, .access-denied) {
  background-image:
    radial-gradient(460px circle at var(--mx, 50%) var(--my, 50%), rgba(226,201,139, calc(.17 * var(--v3f-spot, 0))), transparent 60%),
    var(--glass) !important;
}
body[data-v2page] :is(.plan-card.popular, .sub-card, .price-block, .cta-highlight) {
  background-image:
    radial-gradient(460px circle at var(--mx, 50%) var(--my, 50%), rgba(226,201,139, calc(.17 * var(--v3f-spot, 0))), transparent 60%),
    var(--glass-gold) !important;
}

/* ── обложки в кабинете чуть «дышат» на ховере, не постоянно (их много) ── */
body[data-v2page] .pv-card img { transition: transform 1.2s var(--ease); }
body[data-v2page] .pv-card:hover img { transform: scale(1.04); }

/* ── КАБИНЕТ (dashboard / free-video): фон тише, режим плеера как на главной ──────────
   Фон под комментариями сливался — сияние в 4 раза тише. На десктопе вместо «приложения»
   с внутренней прокруткой — обычная страница: плеер по центру, целиком в экране (высота ≤ экран),
   список видео прилипает справа, комментарии ниже прокручиваются вместе со страницей. */
/* Текст поверх сияния сливался: на всех копиях фон почти выключен, на визуальных страницах
   (плагины, вход, 404) — вполсилы, в кабинете/плеере — едва заметен. Главная не тронута. */
body[data-v2page] .v3f-aurora { display: none; }            /* «может просто сделать чёрный» — да: текстовые страницы на чистом чёрном */
body[data-v2page="plugins"] .v3f-aurora,
body[data-v2page^="xxx-"] .v3f-aurora,
body[data-v2page="login"] .v3f-aurora,
body[data-v2page="404"] .v3f-aurora { display: block; opacity: .12; }   /* визуальные страницы — сияние едва заметно */
/* комментарии и описание видео — на тёмной подложке */
body[data-v2page="dashboard"] .comments-section,
body[data-v2page="free-video"] .comments-section {
  background: rgba(7,7,7,.6); border: 1px solid rgba(255,255,255,.06) !important; border-radius: 20px; padding: 20px 22px 22px !important;
}

@media (min-width: 1201px) and (pointer: fine) {
  html:has(> body[data-v2page="dashboard"]),
  html:has(> body[data-v2page="free-video"]) { height: auto !important; overflow: auto !important; overflow-x: hidden !important; }
  body[data-v2page="dashboard"],
  body[data-v2page="free-video"] { height: auto !important; min-height: 100dvh; overflow: visible !important; }
  body[data-v2page="dashboard"] .dash-body-outer,
  body[data-v2page="free-video"] .dash-body-outer {
    flex: none !important; height: auto !important; min-height: 0 !important; overflow: visible !important; display: block !important;
    max-width: 1320px !important; margin: 0 auto; padding: 26px 16px 70px !important; box-sizing: border-box;
  }
  body[data-v2page="dashboard"] .dash-body,
  body[data-v2page="free-video"] .dash-body { display: block !important; height: auto !important; min-height: 0 !important; max-width: 100% !important; overflow: visible !important; }
  /* режим плеера: две колонки, пара «плеер + список» по центру; ширина пары ограничена так,
     чтобы плеер 16:9 целиком помещался по высоте (экран − шапка 60 − отступы) */
  body[data-v2page="dashboard"] .dash-body:has(> .player-col),
  body[data-v2page="free-video"] .dash-body:has(> .player-col) {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 340px;
    gap: 22px;
    align-items: start;
    max-width: calc((100dvh - 132px) * 16 / 9 + 362px) !important;
    margin: 0 auto;
  }
  body[data-v2page="dashboard"] .player-col,
  body[data-v2page="free-video"] .player-col {
    display: flex !important; flex-direction: column; gap: 14px; min-width: 0; width: auto !important;
    padding: 0 !important; overflow: visible !important; height: auto !important; flex: none !important;
  }
  body[data-v2page="dashboard"] .player-frame,
  body[data-v2page="free-video"] .player-frame {
    width: 100% !important; max-width: none !important; align-self: stretch !important;
    aspect-ratio: 16 / 9 !important; height: auto !important; padding-top: 0 !important; flex: none !important;
  }
  body[data-v2page="dashboard"] .player-frame > iframe, body[data-v2page="dashboard"] .player-frame .kinescope-gate,
  body[data-v2page="free-video"] .player-frame > iframe, body[data-v2page="free-video"] .player-frame .kinescope-gate {
    position: absolute !important; top: 0 !important; left: 0 !important; width: 100% !important; height: 100% !important;
  }
  body[data-v2page="dashboard"] .sidebar,
  body[data-v2page="free-video"] .sidebar {
    position: sticky; top: 76px; align-self: start;
    width: auto !important; min-width: 0 !important; max-width: none !important; margin: 0 !important;
    max-height: calc(100dvh - 96px); overflow: hidden !important; display: flex !important; flex-direction: column;
  }
  body[data-v2page="dashboard"] .lesson-list,
  body[data-v2page="free-video"] .lesson-list { flex: 1 1 auto !important; overflow-y: auto !important; max-height: none !important; height: auto !important; }
  body[data-v2page="dashboard"] .comments-section,
  body[data-v2page="free-video"] .comments-section { overflow: visible !important; }
}

/* ── СПИСОК В ПЛЕЕРЕ КАК НА ГЛАВНОЙ: обложка + название + цветная метка формата ──────────
   Обложку добавляет копия скрипта /v2/js/dashboard-1.js (renderList: .l-thumb из l.cover). */
body[data-v2page="dashboard"] .lesson-list, body[data-v2page="free-video"] .lesson-list { padding: 8px !important; }
body[data-v2page="dashboard"] .lesson-item, body[data-v2page="free-video"] .lesson-item {
  display: grid !important;
  grid-template-columns: 112px minmax(0, 1fr);
  grid-template-areas: "thumb body";
  gap: 12px; align-items: center;
  padding: 8px !important; margin: 0 0 6px;
  border-radius: 14px !important; border: 1px solid transparent !important; border-left-width: 1px !important;
  background: rgba(255,255,255,.03);
  transition: background .25s, border-color .25s, transform .35s var(--ease);
}
body[data-v2page="dashboard"] .lesson-item:hover, body[data-v2page="free-video"] .lesson-item:hover { background: rgba(255,255,255,.06); transform: translateX(2px); }
body[data-v2page="dashboard"] .lesson-item.active { background: rgba(156,200,255,.09) !important; border-color: rgba(156,200,255,.4) !important; box-shadow: none !important; }
body[data-v2page="free-video"] .lesson-item.active { background: rgba(110,231,168,.09) !important; border-color: rgba(110,231,168,.4) !important; box-shadow: none !important; }
body[data-v2page] .l-thumb {
  grid-area: thumb; aspect-ratio: 16 / 9; border-radius: 9px; overflow: hidden; position: relative;
  background: #141414 center / cover no-repeat;
}
body[data-v2page] .l-thumb::after { content: ''; position: absolute; left: 0; right: 0; top: 0; height: 2px; background: var(--l-cat, #9CC8FF); opacity: .9; }
body[data-v2page="free-video"] .l-thumb { --l-cat: #6EE7A8; }
body[data-v2page] .lesson-item .l-num {
  grid-area: thumb; align-self: start; justify-self: start; z-index: 1; margin: 6px;
  padding: 2px 6px !important; border-radius: 6px; background: rgba(0,0,0,.62); color: #fff !important; min-width: 0 !important;
  font-family: var(--font-display); font-weight: 700; font-size: 9.5px !important; letter-spacing: .04em;
}
body[data-v2page] .lesson-item.active .l-num { color: #fff !important; }
body[data-v2page] .lesson-item .l-body { grid-area: body; }
body[data-v2page] .lesson-item .l-title { font-size: 13px !important; font-weight: 600; color: #fff !important; line-height: 1.3; margin-bottom: 6px; }
body[data-v2page] .lesson-item.active .l-title { color: #fff !important; }
body[data-v2page] .lesson-item .l-meta { gap: 6px; flex-wrap: wrap; align-items: center; font-size: 10.5px; }
body[data-v2page="dashboard"] .lesson-item .l-meta > span:not(.coming-tag),
body[data-v2page="free-video"] .lesson-item .l-meta > span:not(.free-tag) {
  background: rgba(156,200,255,.10) !important; border: 1px solid rgba(156,200,255,.35) !important; color: #9CC8FF !important;
  border-radius: 999px !important; padding: 3px 8px !important; font-size: 9.5px !important; font-weight: 700 !important; letter-spacing: .08em !important; text-transform: uppercase;
}
body[data-v2page="free-video"] .lesson-item .l-meta > span:not(.free-tag) { background: rgba(110,231,168,.10) !important; border-color: rgba(110,231,168,.35) !important; color: #6EE7A8 !important; }
body[data-v2page="free-video"] .lesson-item .l-meta .free-tag { border-radius: 999px !important; padding: 3px 8px !important; font-size: 9.5px !important; }
body[data-v2page="dashboard"] .lesson-item.locked-item .l-thumb { filter: grayscale(1) brightness(.6); }
@media (max-width: 640px) {
  body[data-v2page="dashboard"] .lesson-item, body[data-v2page="free-video"] .lesson-item { grid-template-columns: 96px minmax(0, 1fr); }
}

/* ── ОБЛОЖКА ПОВЕРХ ПЛЕЕРА (копия скрипта кладёт .v2-poster в .player-frame) ─────────── */
.v2-poster { position: absolute; inset: 0; z-index: 6; border: 0; padding: 0; cursor: pointer; background: #000 center / cover no-repeat; display: flex; align-items: center; justify-content: center; }
.v2-poster::before { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,.06), rgba(0,0,0,.45)); transition: background .3s; }
.v2-poster:hover::before { background: linear-gradient(180deg, rgba(0,0,0,0), rgba(0,0,0,.35)); }
.v2-poster-play { position: relative; width: 84px; height: 84px; border-radius: 50%; background: var(--sk-gold-grad); box-shadow: 0 20px 60px -10px rgba(191,160,96,.7), inset 0 1px 0 rgba(255,255,255,.45); transition: transform .35s var(--ease); }
.v2-poster-play::after { content: ''; position: absolute; left: 55%; top: 50%; transform: translate(-50%, -50%); border-style: solid; border-width: 14px 0 14px 24px; border-color: transparent transparent transparent #0a0a0a; }
.v2-poster:hover .v2-poster-play { transform: scale(1.06); }
.v2-poster:focus-visible { outline: 2px solid var(--gold-2); outline-offset: -2px; }
@media (max-width: 640px) { .v2-poster-play { width: 64px; height: 64px; } .v2-poster-play::after { border-width: 11px 0 11px 18px; } }

/* ── ТИХИЕ СТРАНИЦЫ ВИДЕО (подписка / бесплатные / купленные): чёрный фон, без бегающих бликов ── */
body:is([data-v2page="dashboard"], [data-v2page="free-video"], [data-v2page="lesson"]) .v3f-progress { display: none !important; }
body:is([data-v2page="dashboard"], [data-v2page="free-video"], [data-v2page="lesson"]) :is(.btn-gold, .btn-sub, .btn-buy-video, .btn-primary, .preset-pack-btn, .cta-button, .pay-modal-btn,
  .btn-plan-buy, #pyk-pay-btn, .btn-modal-confirm, .ae-btn-save, .nav-login-btn)::after { display: none !important; }
body:is([data-v2page="dashboard"], [data-v2page="free-video"], [data-v2page="lesson"]) :is(.dash-logo, .logo, .nav-logo, .card-logo) {
  animation: none !important; background-image: none !important; color: var(--gold-2) !important; -webkit-text-fill-color: var(--gold-2);
}

/* ── КУПЛЕННОЕ ВИДЕО (/v2/lesson.html?v=…): плеер по центру и в экран, части и другие видео карточками ── */
body[data-v2page="lesson"] .breadcrumb, body[data-v2page="lesson"] .lesson-header, body[data-v2page="lesson"] .lesson-body { max-width: 1320px !important; }
body[data-v2page="lesson"] .player-shell {
  grid-template-columns: minmax(0, 1fr) 340px !important; gap: 22px !important; align-items: start !important;
  max-width: calc((100dvh - 200px) * 16 / 9 + 362px); margin: 0 auto;
}
body[data-v2page="lesson"] .player-wrap { aspect-ratio: 16 / 9 !important; height: auto !important; padding-top: 0 !important; width: 100%; }
body[data-v2page="lesson"] .player-side { position: sticky; top: 76px; max-height: calc(100dvh - 96px) !important; overflow: auto !important; display: flex !important; flex-direction: column; }
body[data-v2page="lesson"] .parts-list { max-height: none !important; overflow: visible !important; flex: none !important; padding: 8px !important; gap: 6px !important; }
body[data-v2page="lesson"] .parts-btn {
  grid-template-columns: 112px 26px minmax(0, 1fr) auto !important; gap: 10px !important; align-items: center;
  padding: 8px !important; border-radius: 14px !important; width: 100%; text-align: left;
  background: rgba(255,255,255,.03) !important; border: 1px solid transparent !important; color: #fff !important;
  transition: background .25s, border-color .25s, transform .35s var(--ease);
}
body[data-v2page="lesson"] .parts-btn:hover { background: rgba(255,255,255,.06) !important; transform: translateX(2px); }
body[data-v2page="lesson"] .parts-btn.active { background: rgba(226,201,139,.10) !important; border-color: rgba(226,201,139,.45) !important; }
body[data-v2page="lesson"] .parts-thumb { display: block; aspect-ratio: 16 / 9; border-radius: 9px; position: relative; overflow: hidden; background: #141414 var(--lesson-cover, none) center / cover no-repeat; }
body[data-v2page="lesson"] .parts-thumb::after { content: ''; position: absolute; left: 0; right: 0; top: 0; height: 2px; background: #E2C98B; opacity: .9; }
body[data-v2page="lesson"] .parts-num { font-family: var(--font-display) !important; font-size: 10px !important; font-weight: 700; color: var(--gold-2) !important; }
body[data-v2page="lesson"] .parts-name { white-space: normal !important; font-size: 13px; font-weight: 600; line-height: 1.3; }
body[data-v2page="lesson"] .parts-icon { font-size: 9px !important; opacity: .7; }
@media (max-width: 880px) {
  body[data-v2page="lesson"] .player-shell { grid-template-columns: 1fr !important; max-width: none; }
  body[data-v2page="lesson"] .player-side { position: static; max-height: none !important; }
}

/* ── КАБИНЕТ: никакой подсветки за курсором — стекло статичное ── */
body:is([data-v2page="dashboard"], [data-v2page="free-video"], [data-v2page="lesson"], [data-v2page="profile"], [data-v2page="messages"]) :is(.card, .pv-card, .plan-card, .other-plan, .type-card, .feature, .no-sub-card, .lesson-item-card, .requisites, .box, .toc, .agreement-box, .legal-note, .specs-list, .access-denied) { background-image: var(--glass) !important; }
body:is([data-v2page="dashboard"], [data-v2page="free-video"], [data-v2page="lesson"], [data-v2page="profile"], [data-v2page="messages"]) :is(.plan-card.popular, .sub-card, .price-block, .cta-highlight) { background-image: var(--glass-gold) !important; }

/* ── родные canvas-фоны кабинета выключены (WebGL-аврора, звёзды) — страховка к вырезанию в сборщике ── */
#aurora-bg, #profile-aurora, #profile-starfield { display: none !important; }

/* ── лайк «Нравится» под видео убран (подписка и бесплатные) — Александр: «не нужно» ── */
body[data-v2page="dashboard"] .video-actions, body[data-v2page="free-video"] .video-actions,
body[data-v2page="dashboard"] #btn-video-like, body[data-v2page="free-video"] #btn-video-like { display: none !important; }

/* ── верхняя панель без backdrop-filter (моргала) — плотный тёмный фон ── */
body[data-v2page] > nav, body[data-v2page] .dash-nav, body[data-v2page] .nav, body[data-v2page] .topnav {
  backdrop-filter: none !important; -webkit-backdrop-filter: none !important; background: rgba(9,9,9,0.94) !important;
}

/* ── ВЕРХНЯЯ ПАНЕЛЬ-КАПСУЛА КАК НА ГЛАВНОЙ (все страницы и кабинет) ─────────────────────
   sticky, а не fixed: остаётся в потоке, раскладки страниц не сдвигаются */
body[data-v2page] > nav, body[data-v2page] .dash-nav, body[data-v2page] .nav, body[data-v2page] .topnav {
  position: sticky !important; top: 14px !important; z-index: 60 !important;
  box-sizing: border-box !important;
  width: min(calc(100% - 28px), 1412px) !important; max-width: none !important;
  margin: 14px auto 0 !important;
  height: 62px !important; padding: 0 10px 0 24px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(255,255,255,0.08) !important; border-bottom-color: rgba(255,255,255,0.08) !important;
  background: rgba(10,10,10,0.9) !important;
  box-shadow: 0 24px 60px -24px rgba(0,0,0,0.8), inset 0 1px 0 rgba(255,255,255,0.06) !important;
}
body[data-v2page="messages"] .msg-body { height: calc(100dvh - 76px) !important; }
@media (max-width: 640px) {
  body[data-v2page] > nav, body[data-v2page] .dash-nav, body[data-v2page] .nav, body[data-v2page] .topnav {
    top: 8px !important; width: calc(100% - 16px) !important; margin: 8px auto 0 !important;
    height: 56px !important; padding: 0 6px 0 16px !important;
  }
  body[data-v2page="messages"] .msg-body { height: calc(100dvh - 64px) !important; }
  /* на телефоне кнопки панели не влезают — капсула листается по горизонтали, без полосы прокрутки */
  body[data-v2page] .dash-nav, body[data-v2page] .nav, body[data-v2page] .topnav, body[data-v2page] > nav {
    overflow-x: auto !important; overflow-y: hidden !important; scrollbar-width: none; -webkit-overflow-scrolling: touch; gap: 6px !important;
  }
  body[data-v2page] .dash-nav::-webkit-scrollbar, body[data-v2page] .nav::-webkit-scrollbar, body[data-v2page] .topnav::-webkit-scrollbar, body[data-v2page] > nav::-webkit-scrollbar { display: none; }
  body[data-v2page] .dash-nav > *, body[data-v2page] .nav > *, body[data-v2page] .topnav > *, body[data-v2page] > nav > * { flex: none; }
}

/* на юр.страницах и контактах «← На главную» — к правому краю капсулы, как везде */
body[data-v2page] > nav > .nav-back:last-child { margin-left: auto !important; }

/* ── переключатель языка на плагинах / XXX (у страниц нет своего CSS для .lang-drop) ── */
body:is([data-v2page="plugins"], [data-v2page^="xxx-"]) .lang-drop { position: relative; }
body:is([data-v2page="plugins"], [data-v2page^="xxx-"]) .lang-drop-btn { display: inline-flex; align-items: center; gap: 6px; }
body:is([data-v2page="plugins"], [data-v2page^="xxx-"]) .lang-drop-menu {
  display: none; position: absolute; top: calc(100% + 8px); right: 0; min-width: 160px; padding: 4px; z-index: 200;
  background: rgba(14,14,14,0.96) !important; border: 1px solid var(--line) !important; border-radius: 14px !important; box-shadow: 0 24px 60px -20px rgba(0,0,0,0.9);
}
body:is([data-v2page="plugins"], [data-v2page^="xxx-"]) .lang-drop-menu.open { display: block; }
body:is([data-v2page="plugins"], [data-v2page^="xxx-"]) .lang-drop-menu button {
  display: block; width: 100%; background: none; border: 0; color: var(--muted); font: 500 11px/1 'Inter', sans-serif; letter-spacing: 0.04em;
  padding: 9px 12px; border-radius: 9px; cursor: pointer; text-align: left;
}
body:is([data-v2page="plugins"], [data-v2page^="xxx-"]) .lang-drop-menu button:hover,
body:is([data-v2page="plugins"], [data-v2page^="xxx-"]) .lang-drop-menu button.active-lang { background: rgba(191,160,96,0.12); color: var(--gold-2); }

/* ── экономия ──────────────────────────────────────────────────── */
@media (max-width: 900px) {
  body[data-v2page] .v3f-a { width: 92vmax; height: 92vmax; }
  body[data-v2page] .v3f-a-warm { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  body[data-v2page] *, body[data-v2page] *::before, body[data-v2page] *::after { animation: none !important; }
  body[data-v2page] .v3f-progress { display: none !important; }
}

/* страховка от горизонтального скролла на копиях (privacy давал 396px на 390) */
body[data-v2page] { overflow-x: clip; }

/* iOS: поля ввода не меньше 16px — иначе Safari зумит страницу при фокусе */
@media (max-width: 900px) {
  body[data-v2page] input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]), body[data-v2page] textarea, body[data-v2page] select { font-size: 16px !important; }
}

/* переключатель языка на login/404 (угол) и в шапке subscribe/contacts */
.v3-lang-corner { position: fixed; top: 16px; right: 16px; z-index: 60; }
/* Д36 (аудит 12.09.2026): переключателя языка на юр.страницах не было вовсе — гость,
   попавший на /privacy из поиска, не мог переключить язык интерфейса. Теперь он стоит
   рядом с «← На главную» (вставляет build_v2_pages.py, обработчик — /legal-i18n.js). */
body[data-v2page="subscribe"] .lang-drop, body[data-v2page="contacts"] .lang-drop { display: inline-block; vertical-align: middle; margin-left: 12px; }
body[data-v2page] nav .nav-back + .lang-drop { flex: 0 0 auto; margin-left: 12px; }
body[data-v2page] .lang-drop { position: relative; }
body[data-v2page] .lang-drop-btn { background: rgba(10,10,10,0.85); border: 1px solid rgba(255,255,255,0.14); color: #b8b2a8; font: 600 10px/1 'Inter', sans-serif; padding: 7px 10px; border-radius: 999px; cursor: pointer; letter-spacing: 0.06em; display: inline-flex; align-items: center; gap: 5px; }
body[data-v2page] .lang-drop-btn:hover { color: #fff; border-color: rgba(191,160,96,0.5); }
/* min-width 140px → 190px + nowrap: «EN — English» ломался на две строки (Д7, аудит 12.09.2026) */
body[data-v2page] .lang-drop-menu { position: absolute; top: calc(100% + 6px); right: 0; background: #151515; border: 1px solid rgba(255,255,255,0.1); border-radius: 10px; padding: 4px; min-width: 190px; z-index: 200; display: none; box-shadow: 0 8px 24px rgba(0,0,0,0.5); }
body[data-v2page] .lang-drop-menu.open { display: block; }
body[data-v2page] .lang-drop-menu button { display: block; width: 100%; background: none; border: none; color: #b8b2a8; font: 500 11px/1.2 'Inter', sans-serif; padding: 8px 10px; border-radius: 6px; cursor: pointer; text-align: left; white-space: nowrap; }
body[data-v2page] .lang-drop-menu button:hover, body[data-v2page] .lang-drop-menu button.active-lang { background: rgba(191,160,96,0.1); color: #BFA060; }
/* ссылки внутри юр.текста различимы не только цветом (WCAG 1.4.1) */
body[data-v2page] main p a, body[data-v2page] .legal-note a, body[data-v2page] .wrap p a, body[data-v2page] .offer-note a { text-decoration: underline; text-underline-offset: 2px; }
/* Было: подчёркивались только ссылки в <p>. В списках, ячейках таблиц и блоке реквизитов ссылка
   отличалась от текста лишь цветом — контраст ссылка/текст 1,38:1 при норме 3:1, дальтоник не видит
   разницы (axe link-in-text-block: privacy ×8, offer ×2). Отдельным правилом, чтобы старый разбор
   :is() не уронил базовое подчёркивание выше (аудит 12.09.2026). */
body[data-v2page] main :is(p, li, td, label, .requisites) a,
body[data-v2page] .wrap :is(p, li, td, label, .requisites) a { text-decoration: underline; text-underline-offset: 2px; }
/* оглавление юр.документа (28 пунктов в две колонки) сплошным подчёркиванием читается как каша */
body[data-v2page] .toc a { text-decoration: none !important; }
