/* ==========================================================================
   ЧЕТЫРЕ ПЛИТКИ НА ГЛАВНОЙ (.entries/.entry) — правки по замечаниям заказчика

   Файл подключать ПОСЛЕ site.css и home.css (в header.php — перед glob'ом
   mobile/*.css). Ниже перебиваем правила аккордеона из site.css (~444–471)
   специфичностью и порядком, не трогая сам site.css.

   Оба правила действуют только там же, где живёт аккордеон:
   @media(min-width:1000px) and (hover:hover). На телефоне и планшете
   (mobile/*.css, tablet.css, landscape.css) ничего не меняется — их
   диапазоны с этим условием не пересекаются.
   ========================================================================== */
@media (min-width:1000px) and (hover:hover){

  /* ------------------------------------------------------------------
     1. «Если курсор по середине, между двумя карточками, то они просто
        серыми становятся».

     Причина: неактивный вид навешен на .entries:hover .entry:not(:hover)
     (site.css:453, 456, 461, 471). Но :hover у ленты срабатывает и на
     промежутках между плитками — gap входит в бокс флекс-контейнера.
     Курсор в щели: ни одна плитка не :hover, значит «не наведёнными»
     оказываются все четыре сразу, и лента целиком уходит в серое.

     Решение: условие «наведена именно плитка» выражаем через :has —
     .entries:has(.entry:hover). Тогда неактивный вид включается только
     когда курсор реально стоит на соседней плитке.

     Порядок правил: сперва гасим исходное состояние тем же селектором
     (та же специфичность 0,4,0 — выигрываем порядком), затем возвращаем
     его уже под :has (0,5,0 — выигрываем специфичностью).

     :has в проекте уже используется (site.css:1051, 1964, 2011 и др.),
     но здесь она несёт весь эффект, поэтому обёрнута в @supports: если
     браузер :has не знает, блок целиком отбрасывается и остаётся прежнее
     поведение site.css, а не сломанный аккордеон без затухания.

     flex-grow:.78 (site.css:451) отдельно не гасим: при flex-basis:0
     одинаковый grow у всех четырёх даёт те же равные ширины, что и
     grow:1 — в щели ширины не меняются, видно было только цвет, кегль
     и притухший список.
     ------------------------------------------------------------------ */
  @supports selector(:has(*)){

    /* Курсор в щели — плитки в обычном виде. */
    .entries:hover .entry:not(:hover){filter:none}
    /* Кегль возвращаем не числом, а ролью набора: в покое заголовок
       плитки задан .sc2026-page .entry h3{font-size:var(--t-h3)}
       (site.css:4499), а не calc(24*--d) из site.css:3851. */
    .entries:hover .entry:not(:hover) h3{font-size:var(--t-h3)}
    .entries:hover .entry:not(:hover) ul{opacity:1}
    .entries:hover .entry:not(:hover) .orn{opacity:1}

    /* Наведена соседняя плитка — только тогда неактивный вид. Значения
       ровно те же, что в site.css:453/456/461/471. */
    .entries:has(.entry:hover) .entry:not(:hover){filter:saturate(.72) brightness(.9)}
    .entries:has(.entry:hover) .entry:not(:hover) h3{font-size:calc(21 * var(--d))}
    .entries:has(.entry:hover) .entry:not(:hover) ul{opacity:.35}
    .entries:has(.entry:hover) .entry:not(:hover) .orn{opacity:.5}
  }

  /* ------------------------------------------------------------------
     2. «Лучше в сложенном состоянии вообще чтобы кнопка пропадала».

     Речь про круглую зелёную стрелку в правом верхнем углу — это .go
     (site.css:3887; второй арроу .entry::after там же выключен на 3867,
     а .entry-btn — это пилюля «Узнать подробнее» под списком, её не
     трогаем). Появление плавное, как у .entry-btn.

     Сдвиг .entry:hover .go{transform:translateX(4px)} (site.css:3891)
     оставляем: он идёт одновременно с проявлением и читается как
     короткий выезд стрелки. Поэтому в переход добавлена и opacity.

     .go — это <span aria-hidden="true"> внутри самой ссылки .entry, в
     табуляцию он не попадает, так что скрытие ничего не отнимает у
     клавиатуры. Но чтобы при переходе табом плитка выглядела так же,
     как под мышью, стрелку показываем и на :focus-visible.

     Переход перечисляем целиком, вместе с чужими свойствами. Соседний
     interactions.css:297 объявляет для той же стрелки
     `.entry .go,.qc .qc-go{transition:transform .25s var(--ease),filter …}`
     — тем же весом (0,2,0) и вне медиазапроса, то есть действует и здесь.
     При равном весе победил бы тот файл, который окажется в header.php
     ниже: после interactions.css из перехода выпала бы opacity (стрелка
     мигала бы рывком), после entries-fix.css — filter (мгновенная
     подсветка brightness(.92) из interactions.css:300). Поэтому берём
     вес 0,3,0 (.entries .entry .go) и держим в списке все три свойства —
     порядок подключения перестаёт что-либо решать.

     Переменные --ix-t/--ix-e объявлены только в interactions.css:58–59.
     Если этот файл подключат без него, var() без запасного значения
     сделал бы всё объявление transition недействительным — вместе с
     opacity и transform. Поэтому подставлены те же значения запасными.
     ------------------------------------------------------------------ */
  .entries .entry .go{opacity:0;
    transition:opacity .18s ease,transform .25s var(--ease),
               filter var(--ix-t,.2s) var(--ix-e,ease)}
  /* Показ — весом выше базового правила, чтобы и внутри файла решала
     специфичность, а не порядок строк. */
  .entries .entry:hover .go,
  .entries .entry:focus-visible .go{opacity:1}
}

/* ------------------------------------------------------------------
   3. Видимый фокус у плитки — вне медиазапроса.

   Плитку обрезает wavy.js (конфиг '.entry' mode:'clip', wavy.js:62;
   инлайновый el.style.clipPath — wavy.js:236). clip-path режет и
   собственный outline элемента, поэтому глобальное кольцо
   a:focus-visible{outline:3px solid var(--teal);outline-offset:2px}
   (site.css:70) рисуется целиком снаружи контура и срезается без
   остатка. В телефонном слое это уже учтено (mobile/entries.css:86),
   но десктоп и планшет оставались без отклика на Tab — а после п.2
   стрелка стала единственным откликом на :focus-visible, и без кольца
   непонятно, где стоит фокус.

   Правило ставим вне медиазапроса, чтобы закрыть и планшетный диапазон.
   Вес 0,3,0 перебивает site.css:70 (0,1,0); значение то же, что в
   мобильном слое, так что на телефоне ничего не меняется.
   ------------------------------------------------------------------ */
.entries .entry:focus-visible{outline-offset:-8px}   /* штрих контура занимает 0–8 px от кромки */
