/* NS UI-правки по аудиту 02.10.2026 (audits/ui-2026-10-02/REPORT.md).
   Один файл поверх темы: откат — снять mu-plugin ns-uifix.php. Номера — пункты отчёта. */

/* ── п.1 ПК: «наверх» не под плашкой «Последний стрим» ── */
@media (min-width:641px){
  .ns-float-live{right:84px}
}

/* ── п.2 Safari режет текст в селектах фильтра ──
   Astra даёт select{height:40px}, фильтр — padding 11px и line-height 1.65: в WebKit строке не хватает места. */
select.ns-f__sel.ns-f__sel{height:auto;min-height:44px;line-height:1.25;padding-top:10px;padding-bottom:10px}

/* ── п.3–4, 19 Телефон: плашка стрима — компактная пилюля, бейдж не режется, прячется при прокрутке вниз ── */
@media (max-width:640px){
  .ns-float-live{width:auto;max-width:calc(100% - 24px);left:12px;right:auto;border-radius:999px;
    transition:transform .25s ease,opacity .25s ease}
  /* тело было колонкой с align-items:center — длинная строка вылезала в обе стороны и бейдж резался слева */
  .ns-float-live .ns-float-live__body{flex-direction:row;align-items:center;justify-content:flex-start;padding:6px 62px 6px 8px;min-height:40px}
  .ns-float-live .ns-float-live__info{flex:1 1 auto;overflow:hidden}
  .ns-float-live .ns-float-live__info,
  .ns-float-live.is-min .ns-float-live__info{justify-content:flex-start;padding:0;gap:8px;min-width:0}
  .ns-float-live .ns-float-live__badge{flex:0 0 auto;font-size:10px;padding:3px 7px;border-radius:999px}
  .ns-float-live .ns-float-live__title,
  .ns-float-live.is-min .ns-float-live__title{flex:1 1 auto;min-width:0;max-width:none}
  .ns-float-live .ns-float-live__min,
  .ns-float-live .ns-float-live__close{top:50%;bottom:auto;transform:translateY(-50%);width:28px;height:32px;padding:0}
  .ns-float-live .ns-float-live__min{right:32px}
  .ns-float-live .ns-float-live__close{right:4px}
  body.ns-uf-down .ns-float-live,
  body.ns-uf-foot .ns-float-live{transform:translateY(calc(100% + 90px));opacity:0;pointer-events:none}
  /* язычок «Помоги улучшить сайт» уходит вместе с плашкой и не лежит на тексте */
  .ns-fb__tab{transition:transform .25s ease,opacity .25s ease,background .15s}
  body.ns-uf-down .ns-fb__tab,
  body.ns-uf-foot .ns-fb__tab{transform:translate(100%,-50%);opacity:0;pointer-events:none}
}

/* ── п.18 «наверх» не лежит на подвале (копирайт, чекбоксы внизу инструментов) ── */
body.ns-uf-foot #ast-scroll-top{opacity:0 !important;pointer-events:none}

/* ── п.11 Куки-баннер над нижним меню, кнопка ≥ 44px ── */
@media (max-width:640px){
  .has-ns-mnav .ns-cookies{bottom:calc(58px + env(safe-area-inset-bottom,0px));padding-bottom:0}
  .ns-cookies .ns-cookies__btn{min-height:44px;padding:10px 18px}
  body.has-ns-cookies .ns-float-live{bottom:calc(64px + env(safe-area-inset-bottom,0px) + 112px)}
}
.ns-cookies__btn{min-height:44px}

/* ── п.6 Календарь: его CSS печатался внизу страницы, после 6 тыс. строк разметки, —
   чипы месяцев и списки перестраивались, когда он доезжал (CLS 0,49). Те же правила в <head>. ── */
.ns-cal__faq details{border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:12px 16px;margin:0 0 10px}
.ns-cal__faq summary{cursor:pointer;color:#e8eef9;font-weight:600}
.ns-cal__faq details[open] summary{color:#0bcbc9;margin-bottom:8px}
.ns-cal__faq p{margin:0;color:#b9c2cf}
.ns-cal__nav{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 0}
.ns-cal__nav a{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;
  border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.04);
  color:#cbd5e1;text-decoration:none;font-size:14px;line-height:1.2;transition:.15s ease}
.ns-cal__nav a:hover{border-color:rgba(11,203,201,.5);color:#fff;background:rgba(11,203,201,.1)}
.ns-cal__nav a.is-past{color:#8b95a1;border-style:dashed}
.ns-cal__nav b{font-weight:700;font-size:12px;color:#0bcbc9;font-variant-numeric:tabular-nums}
.ns-cal .ns-l__group{scroll-margin-top:110px}
.ns-cal .ns-l__fold{scroll-margin-top:110px}
@media (max-width:782px){.ns-cal .ns-l__group,.ns-cal .ns-l__fold{scroll-margin-top:80px}}
@media (max-width:640px){
  /* чипы месяцев — одной лентой с прокруткой: высота ряда не зависит от шрифта */
  .ns-cal__nav{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}
  .ns-cal__nav::-webkit-scrollbar{display:none}
  .ns-cal__nav a{flex:0 0 auto;min-height:40px}
}
/* п.13 дата на красной плашке «Вышел сегодня» — контраст ≥ 4.5 */
.ns-l__plate.is-today{background:rgba(196,6,14,.96) !important}
.ns-l__plate.is-today small{color:#fff !important}

/* ── п.7 Галерея карточки: до запуска Swiper первый кадр рисовался во всю ширину (733px),
   потом галерея сжималась до 189px и всё ниже прыгало. Те же размеры слайдов до инициализации. ── */
.ns-gallery:not(.swiper-initialized){overflow:hidden}
.ns-gallery:not(.swiper-initialized) .swiper-wrapper{display:flex}
.ns-gallery:not(.swiper-initialized) .swiper-slide{flex:0 0 auto;width:calc((100% - 2.1px) / 1.15);margin-right:14px}
@media (min-width:640px){
  .ns-gallery:not(.swiper-initialized) .swiper-slide{width:calc((100% - 16.8px) / 2.2)}
}
@media (min-width:1024px){
  .ns-gallery:not(.swiper-initialized) .swiper-slide{width:calc((100% - 39.2px) / 3.8)}
}
.ns-gallery:not(.swiper-initialized) .swiper-button-prev,
.ns-gallery:not(.swiper-initialized) .swiper-button-next{visibility:hidden}

/* ── п.8 Сайдбар статьи выше экрана: липнет так, чтобы его низ доезжал до низа окна
   (значение --ns-aside-top считает uifix.js; без JS остаётся прежнее поведение). ── */
@media (min-width:1025px){
  .ns-single__aside{top:var(--ns-aside-top,88px) !important}
}

/* ── п.9–10 Инструменты на телефоне: отступы, заголовок, главное действие в первом экране ── */
@media (max-width:640px){
  body:not(.ns-obs) .ns-auction .ns-container{padding-left:16px;padding-right:16px}
  .ns-auction .ns-page-title{padding-left:0 !important;padding-right:0 !important}
  .ns-timer-page h1,.ns-tts-page h1,.ns-hwpage h1,.ns-auction h1{font-size:28px !important;line-height:1.15 !important}
  .ns-auction .ns-page-desc{font-size:14px;line-height:1.45}
  /* Колесо: колесо выше полосы таймера — на телефоне человек пришёл крутить. Порядок только визуальный. */
  body.page-id-138039:not(.ns-obs) .ns-auction .ns-container{display:flex;flex-direction:column}
  body.page-id-138039:not(.ns-obs) .ns-auction .ns-container > *{order:4}
  body.page-id-138039:not(.ns-obs) .ns-auction .ns-container > .ns-breadcrumbs{order:1}
  body.page-id-138039:not(.ns-obs) .ns-auction .ns-container > .ns-page-header{order:2}
  body.page-id-138039:not(.ns-obs) .ns-auction .ns-container > #auc-layout{order:3}
  body.page-id-138039:not(.ns-obs) .ns-page-header--auc .ns-page-desc{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  body.page-id-138039:not(.ns-obs) .ns-page-header--auc .ns-page-desc.is-open{display:block;-webkit-line-clamp:unset}
}

/* ── п.12 Тап-цели на телефоне ── */
@media (max-width:640px){
  .ns-l__chips{row-gap:10px}
  .ns-l__chips a{position:relative;display:inline-flex;align-items:center;min-height:30px;padding:4px 10px}
  .ns-l__chips a::before{content:"";position:absolute;left:0;right:0;top:-5px;bottom:-5px}
  .ns-play .ns-play__b{min-height:40px;padding:8px 14px}
  .ns-footer__col a{display:inline-block;padding:11px 0}
  .ns-footer__col li{margin:0}
}

/* ── п.13 Контраст мелкого текста ── */
.ns-ttbp__g{color:#8d9ab3 !important}
.ns-timer__panel .ns-hint{color:#97a3bd !important}
.ast-footer-copyright p,.ast-footer-copyright{color:#9aa6bb !important}

/* ── п.15 Мелкие подписи: чипы и бейджи не меньше 12px ── */
@media (max-width:640px){
  .ns-single-game .chip,.ns-game .chip,a.chip{font-size:12px}
  .ns-float-live .ns-float-live__badge{font-size:10.5px}
}

/* ── п.17 Главная на телефоне: заголовок на пёстром фоне — подложка ── */
@media (max-width:640px){
  .ns-banner__inner{background:linear-gradient(180deg,rgba(5,9,20,.55),rgba(5,9,20,.35));border-radius:14px}
  .ns-banner__h1,.ns-banner__lead{text-shadow:0 1px 3px rgba(0,0,0,.6)}
}

/* ── п.14 Главная: стрим не грузит плеер Twitch, пока не нажали ▶ ── */
.ns-side-live__play{position:absolute;inset:0;z-index:3;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(180deg,rgba(0,0,0,0) 40%,rgba(0,0,0,.35));border:0;padding:0;cursor:pointer;color:#fff}
.ns-side-live__play[hidden]{display:none}
.ns-side-live__play span{width:64px;height:64px;border-radius:50%;background:rgba(145,70,255,.9);
  box-shadow:0 0 0 3px rgba(255,255,255,.85);position:relative;transition:transform .15s ease}
.ns-side-live__play span::after{content:"";position:absolute;left:26px;top:20px;border-style:solid;border-width:12px 0 12px 20px;border-color:transparent transparent transparent #fff}
.ns-side-live__play:hover span{transform:scale(1.06)}

/* ── Статьи: ширина фигуры известна до загрузки картинки (см. ns-uifix.php) ── */
.ns-single__content figure[style*="--ns-fw"]{width:min(100%,var(--ns-fw)) !important}
.ns-single__content figure[style*="--ns-fw"] img{width:100% !important;height:auto}

/* 02.10.2026 трансляция на ПК (решение юзера): виджет главной сразу держит 4:3 — плеер приходит
   через ~2,5 с, а смена 16:9 → 4:3 в этот момент давала сдвиг вёрстки. Кнопка звука плашки —
   в полосе под плеером (поверх iframe нельзя: перекрытие глушит автоплей Twitch). */
@media (min-width:1025px) and (hover:hover) and (pointer:fine){
  .ns-side-card--stream .ns-side-live__media{aspect-ratio:4/3}
  .ns-float-live__snd{position:absolute;bottom:12px;right:62px;z-index:2;background:rgba(255,255,255,.08);border:0;
    color:#e5e7eb;font-size:12px;line-height:1;padding:6px 8px;border-radius:6px;cursor:pointer}
  .ns-float-live__snd:hover{background:rgba(145,70,255,.85);color:#fff}
  .ns-float-live__snd[hidden],.ns-float-live.is-min .ns-float-live__snd{display:none}
  .ns-float-live:not(.is-min) .ns-float-live__info{padding-right:120px}
}
@media not all and (min-width:1025px){.ns-float-live__snd{display:none}}

/* 02.10.2026, юзер: «убери на главной оверлей с иконкой поверх стрима». Кнопка ▶ (фасад «смотреть здесь»)
   оставалась слоем z:3 поверх уже запущенного плеера и перехватывала клики. На ПК плеер стартует сам —
   кнопка не нужна вовсе; на остальных устройствах — прячем, как только плеер создан. */
#ns-live-widget.has-player .ns-side-live__play{display:none!important}
@media (min-width:1025px) and (hover:hover) and (pointer:fine){.ns-side-live__play{display:none!important}}
