/* css/dr-lang.css — подключать ПОСЛЕДНИМ стилем страницы.
   Ниже 1024px в файле нет ни одного правила раскладки: мобайл не трогаем. */
.dr-lang__vh{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;}
.dr-lang__btn{display:none;}
/* JS оборачивает три опции в .dr-lang__panel. display:contents ⇒ ниже 1024
   обёртки как будто нет, опции остаются прямыми флекс-детьми контейнера. */
.dr-lang__panel{display:contents;}

@media (min-width:1024px){
  /* [1] Контейнер — якорь панели. На 20 подстраницах он скрыт правилом
     css/shared-convergence.css:125 (@media min-width:1024px{.site-hdrlang{display:none}}) —
     возвращаем порядком подключения, без !important. */
  .site-header .site-langtoggle,
  .site-header .site-hdrlang{display:inline-flex;position:relative;align-items:center;gap:0;padding:0;margin:0;}

  /* [2] ТРИГГЕР. Ни рамки, ни подложки, ни глифа.
     13.5px/600 — сознательно НЕ 15px навигации: замер показал, что сейчас языки и
     .site-header__link стоят на одной строке dr-scale-7 (обе → var(--s-15)), поэтому
     ряд читается продолжением нава. */
  .site-header .dr-lang__btn{display:inline-flex;align-items:center;height:36px;padding:0 12px;
    border:0;background:none;cursor:pointer;
    font-family:var(--font-sans);font-weight:600;letter-spacing:.04em;line-height:1;
    /* [08.08] Кегль 13.5 удалён: он НИКОГДА не рендерился. Кнопка живёт только
       на креме, а там правило ниже ставит 15. Проверено сторожем токенов. */
    color:hsl(var(--ink));  /* [SPLIT-TONE 04.08] было /.62 — я приглушил активный язык, а он всегда был полным тоном */transition:color var(--dur-base) var(--ease-standard);}
  .site-header .dr-lang__btn::after{content:"";position:absolute;inset:-5px -4px;} /* тап-запас, не фигура */
  .site-header .dr-lang__btn{position:relative;}
  .site-header .dr-lang__btn:hover{color:hsl(var(--ink));}
  .site-header .dr-lang__btn:focus-visible{outline:2px solid hsl(var(--ink)/.6);outline-offset:2px;}
  /* чистый белый над фотографией: токена «белый» в системе нет, --paper это крем 97% */
  /* stylelint-disable-next-line scale-unlimited/declaration-strict-value */
  .site-header[data-on-cream="false"] .dr-lang__btn{color:#fff;  /* [SPLIT-TONE 04.08] активный язык над фото — чистый белый, как был */}
  /* stylelint-disable-next-line scale-unlimited/declaration-strict-value */
  .site-header[data-on-cream="false"] .dr-lang__btn:hover{color:#fff;}
  .site-header[data-on-cream="false"] .dr-lang__btn:focus-visible{outline-color:hsl(0 0% 100%/.85);}

  /* [3] ПРЫЖОК 290.08px: триггер последним в кластере ⇒ пришит к правому краю рейла
     в ОБОИХ состояниях. Скрытие соседей слева его не двигает. */
  .site-header .site-langtoggle,
  .site-header .site-hdrlang{order:3;margin-right:0;margin-left:2px;}
  .site-header__call{order:1;}
  .site-header__cta{order:2;}

  /* [4] ПАНЕЛЬ. position:absolute, НЕ fixed: у шапки на креме backdrop-filter
     (dailyrent.css:5199 и 5364), а элемент с backdrop-filter становится containing
     block для fixed-потомков — панель поехала бы только в одном из двух состояний.
     Своего backdrop-filter у панели тоже нет: она потомок уже заблюренной шапки. */
  /* [ТЕНЬ 08.08] Одна тень на все состояния панели, объявлена здесь один раз.
     Раньше их было ЧЕТЫРЕ в этом файле, и рендерилась из них ровно одна —
     остальные перекрывались более поздними блоками. Не через общий токен
     elevation: он живёт в css/dr-modern.css, который главная не подключает,
     и половина сайта получила бы другую тень. */
  .site-header .dr-lang__panel{--dr-lang-shadow:0 14px 30px -18px rgba(10,12,16,.5),0 2px 6px -4px rgba(10,12,16,.14);
    position:absolute;top:calc(100% + 14px)  /* [FIX 04.08] угол налезал на кромку */;right:0;z-index:2;
    display:flex;flex-direction:column;align-items:stretch;min-width:152px;padding:6px;
    border-radius:var(--radius-md);background:hsl(36 30% 97%);  /* [FIX 04.08] было 42 40% 99.5% — белее шапки, шов было видно. Теперь тон шапки один в один. */
    box-shadow:var(--dr-lang-shadow);
    opacity:0;visibility:hidden;transform:translateY(-4px);
    transition:opacity 160ms var(--ease-standard),transform 160ms var(--ease-standard),visibility 0s linear 160ms;}
  /* ⚠ перечисляем ВСЕ анимируемые свойства и в открытом состоянии — осколок
     transition:visibility 0s уже однажды молча стирал переход по opacity. */
  .site-header [data-dd="open"] .dr-lang__panel{opacity:1;visibility:visible;transform:none;
    transition:opacity 160ms var(--ease-standard),transform 160ms var(--ease-standard),visibility 0s;}
  @media (prefers-reduced-motion:reduce){.site-header .dr-lang__panel{transition-duration:0s;}}

  /* [5] Три опции становятся пунктами панели. !important — вынужденно: цвета
     .site-langtoggle__opt на главной заданы в dr-hover-one-28-07 с !important. */
  .site-header .dr-lang__panel .site-langtoggle__opt,
  .site-header .dr-lang__panel .site-hdrlang__opt{display:flex;align-items:center;justify-content:flex-start;
    width:100%;min-width:0;min-height:40px;height:auto;padding:0 12px;margin:0;
    border-radius:var(--radius-sm);text-align:left;letter-spacing:0;text-decoration:none;
    color:hsl(var(--ink)/.68)!important;}
  .site-header .dr-lang__panel .site-langtoggle__opt::after,
  .site-header .dr-lang__panel .site-hdrlang__opt::after{content:none;}
  /* [ОТКЛИК 08.08] ПОДЛОЖКА СНЯТА. Она была единственной подложкой-состоянием на
     всём сайте: правило 27.07 — либо её получают все контролы, либо никто; правило
     28.07 — у текста два носителя отклика, тон и прозрачность, оба в сторону
     усиления. На строке 32px во всю ширину панели она читалась серой плитой.
     Отклик теперь = тон .88 → полный ink. Не возвращать. */
  .site-header .dr-lang__panel .site-langtoggle__opt:hover,
  .site-header .dr-lang__panel .site-hdrlang__opt:hover{background:none;color:hsl(var(--ink))!important;}
  /* метка текущего — ТОЛЬКО ТОН (ратифицировано 27.07), ни подложки, ни линии */
  .site-header .dr-lang__panel .site-langtoggle__opt[aria-checked="true"],
  .site-header .dr-lang__panel .site-hdrlang__opt--on{color:hsl(var(--ink))!important;cursor:default;text-decoration:none;}
  .site-header .dr-lang__panel .site-langtoggle__thumb{display:none;}
  /* панель всегда на своей поверхности — состояние шапки на неё не влияет */
  .site-header[data-on-cream="false"] .dr-lang__panel .site-langtoggle__opt,
  .site-header[data-on-cream="false"] .dr-lang__panel .site-hdrlang__opt{color:hsl(var(--ink)/.68)!important;}

  /* [6] ИЗМЕРЕННЫЙ БЛОКЕР. Замер на креме: свободный воздух между «FAQ» и правым
     кластером при компактном триггере — 1024: -37.7 (наезд), 1100: -3.5, 1200: +41.5.
     Ниже 1200 не влезает даже один триггер. Снимаем пилюлю телефона — воздух
     становится 1024: +129.4, 1100: +163.6. Это ОТДЕЛЬНОЕ решение владельца. */
  /* ⛔ ОТКЛЮЧЕНО 04.08: правило прятало номер телефона ниже 1200px. Владелец прямо
     сказал «нужно видеть номер целиком» — молча снимать нельзя. Если после сборки
     на 1100-1180 останется наложение, это отдельное решение владельца.
  @media (max-width:1199.98px){.site-header__call{display:none;}} */
}

/* ================================================================
   [LANG-SPLIT 04.08] ДВА СОСТОЯНИЯ — ДВЕ ФОРМЫ. Решение владельца:
   «в прозрачке надо оставить как было 3 на выбор, а в креме сделать выпадающее».
   Основание замером: над фото телефон и кнопка скрыты, кластер пуст, ряду из трёх
   слов там просторно на всех ширинах. Тесно ТОЛЬКО на креме — там и сворачиваем.

   ШЕВРОН. Правило 27.07 «в шапке нет глифов-обещаний» снято владельцем 04.08.
   Основание снятия записано в самом правиле: глиф ⌄ запретили за ЛОЖНОЕ обещание —
   он обещал выпадение вниз, а ряд раскрывался вбок. Теперь панель правда падает вниз,
   посылка запрета исчезла. Рецепт шеврона взят дословно у аккордеона FAQ (ратифицирован
   28.07): 9×9, бордеры 1.6px, radius 1px, поворот 45° → −135°, 220ms.

   МЕСТО НА КРЕМЕ: триггер идёт ПЕРВЫМ в кластере, до номера — чтобы зелёная кнопка
   замыкала ряд. «В конец после WhatsApp» владелец забраковал 04.08: «ломает вайб
   центрированной».
   ⚠ СЛЕДСТВИЕ, НАЗВАНО ВСЛУХ: контрол меняет и форму, и место при скролле.
   Это прямое следствие решения владельца, а не недосмотр.
   ================================================================ */
@media (min-width:1024px){
  /* ⛔ ВЕРДИКТ ВЛАДЕЛЬЦА 09.08 — РЯД НАД ФОТО ОСТАЁТСЯ, НЕ ПЕРЕОТКРЫВАТЬ.
     Я свернул его в кнопку (одна форма в обоих состояниях) и получил дословно:
     «на херо оставляем тройную версию, зачем там убивать конверсию».
     Довод его, и он сильнее моего: на первом экране три слова СРАЗУ говорят
     иноязычному гостю, что у сайта есть его язык. Кнопка «Рус» этого не говорит —
     чтобы узнать, надо нажать. Это ровно тот же довод, которым ряд появился 27.07
     («если переключатель трудно найти, гость решает, что других языков нет»).
     Мой довод был про единство формы; форма проиграла конверсии. Откачено целиком.
     ⚠ Свернуть можно будет обсуждать только если появятся данные, что ряд мешает. */
  /* НАД ФОТО — прежний ряд из трёх слов, кнопка-триггер спрятана */
  .site-header[data-on-cream="false"] .dr-lang__btn{ display:none; }
  .site-header[data-on-cream="false"] .dr-lang__panel{
    position:static; display:inline-flex; flex-direction:row; align-items:center;
    opacity:1; visibility:visible; transform:none;
    background:none; box-shadow:none; padding:0; min-width:0; border-radius:0; }

  /* [LANG-PHOTO 04.08] НАД ФОТО ОПЦИИ ПРИХОДИЛИ ЧЕРНИЛАМИ — вот почему «Қаз»
     и «Eng» тёмные на скринах владельца. Причина: правила [5] выше красят
     опции в hsl(--ink/.68) с !important. Они писались под КРЕМОВУЮ выпадающую
     панель, но селектор матчит и статический ряд над фото — там та же
     .dr-lang__panel, просто разложенная в строку.
     Возвращаю штатный тон шапки над фото. ТОЛЬКО ЦВЕТ: ни капсулы, ни рамки,
     ни подложки, ни смены кегля — правило проекта «в шапке нет залитых и
     обведённых фигур, только текст» (27.07). Капсулу я пробовал 04.08 и снял:
     владелец «в херо было хорошо, когда просто языки три в ряд». */
  /* .62 — не мой выбор, а замеренное значение снимка «состояние 28.07 (вечер)».
     Сначала поставил .72 (ярче, ради читаемости на светлой стене), владелец
     выбрал вернуть точь-в-точь как было. Менять только по его слову. */
  .site-header[data-on-cream="false"] .dr-lang__panel .site-langtoggle__opt,
  .site-header[data-on-cream="false"] .dr-lang__panel .site-hdrlang__opt{
    color:hsl(0 0% 100%/.62)!important;
    /* Все значения ниже сняты замером со снимка «состояние 28.07 (вечер)» —
       владелец: вернуть точь-в-точь. Сегодняшний ряд отличался четырьмя
       вещами: кегль 15 вместо 14 (общая шкала dr-scale-7 раздаёт через
       !important — отсюда !important и здесь), поля 12 вместо 6, ширина
       по 48 вместо 35–37 (правило [5] тянет опции на width:100%) и зазор
       ряда 0 вместо 2. Итог: ряд был 144px против 112. */
    /* КЕГЛЬ НЕ ЗАДАЁМ [05.08] — ряд едет на общей шкале и получает те же 15px,
       что и ссылки навигации. Владелец посмотрел живьём: «язык должен быть того
       же размера, как навигация, сейчас он выглядит глупо маленьким».
       Что пробовали и отклонили сегодня: 14px (значение снимка 28.07) и 13px
       (ступень шкалы, вровень с пилюлей номера — моя рекомендация «утилита тише
       структуры»). Оба отклонены глазом. Не переоткрывать без просьбы.
       Геометрия ниже — из снимка 28.07, к ней претензий не было. */
    padding:0 6px; min-width:34px; width:auto; }
  .site-header[data-on-cream="false"] .site-langtoggle,
  .site-header[data-on-cream="false"] .site-hdrlang{ gap:2px; }
  .site-header[data-on-cream="false"] .dr-lang__panel .site-langtoggle__opt:hover,
  .site-header[data-on-cream="false"] .dr-lang__panel .site-hdrlang__opt:hover{
    /* stylelint-disable-next-line scale-unlimited/declaration-strict-value */
    background:none; color:#fff!important; }
  .site-header[data-on-cream="false"] .dr-lang__panel .site-langtoggle__opt[aria-checked="true"],
  .site-header[data-on-cream="false"] .dr-lang__panel .site-hdrlang__opt--on{
    /* stylelint-disable-next-line scale-unlimited/declaration-strict-value */
    color:#fff!important; }


  /* НА КРЕМЕ — прежнее место кластера сохранено (владелец 04.08: «в конец
     после WhatsApp» забраковано, «ломает вайб центрированной») */
  .site-header[data-on-cream="true"] .site-langtoggle{ order:0; margin-right:14px; margin-left:0; }

  /* ШЕВРОН — не самостоятельная фигура, а часть слова: рисуется бордерами, без фона */
  .site-header .dr-lang__btn{ gap:7px; }
  .site-header .dr-lang__btn::before{
    content:""; width:9px; height:9px; order:2; flex:none;
    border-right:1.6px solid currentColor; border-bottom:1.6px solid currentColor;
    border-radius:1px; transform:rotate(45deg) translateY(-1px); opacity:.75;
    transition:transform 220ms var(--ease-standard); }
  .site-header [data-dd="open"] .dr-lang__btn::before{ transform:rotate(-135deg) translateY(-1px); }
}
/* Отдельным запросом: вложенный @media невалиден и молча съел бы блок выше. */
@media (prefers-reduced-motion: reduce){
  .site-header .dr-lang__btn::before{ transition:none; }
}

/* [FIX 04.08] По скринам владельца. */
@media (min-width:1024px){
  /* [ВЕРНУЛ 04.08] Здесь я задавал свой тон неактивным языкам над фото. Владелец:
     «верни как было раньше, они до сих пор тёмные и уродские». Правило снято целиком —
     цвет снова берётся из штатных правил шапки, мой слой в него не вмешивается. */

  /* ИКОНКА ТРУБКИ снята — одобрено владельцем: «кнопка трубки идёт нахуй,
     нужно видеть номер целиком». Номер остаётся текстом в капсуле. */
  .site-header__call svg, .site-header__call i, .site-header__call img{ display:none; }
}


/* [FIX-1100 04.08] Остаток наложения на 1100px: кластер налезал на «FAQ» на 12.8px.
   Добираем в узкой полосе, где это единственное место, откуда можно взять пиксели,
   не трогая ни номер (владелец запретил прятать), ни состав навигации (5 пунктов
   ратифицированы 27.07), ни высоту шапки. Ниже 1280 зазоры нава 32 → 26px и
   отступ триггера 14 → 8px: на 1366+ ничего не меняется вообще.

   ⚠ [SCOPE 04.08] Зажим нава заскоплен на `:has(.site-langtoggle)` — то есть на
   ГЛАВНУЮ и СТРАНИЦУ ОТЗЫВОВ (её шапка сведена с главной 01.08). У остальных
   20 подстраниц язык стоит ПОСЛЕДНИМ в кластере (order:3) и запас там 256px и
   больше — жать им нав не за чем, и без скоупа раскатка файла молча укоротила бы
   зазоры на 20 страницах, у которых проблемы нет. Замер: rightbank @1024 = +256.6. */
@media (min-width:1024px) and (max-width:1279.98px){
  .site-header:has(.site-langtoggle) .site-header__nav{ gap:28px; column-gap:28px; }
  .site-header[data-on-cream="true"] .site-langtoggle{ margin-right:8px; }
}
/* Ниже 1200 не хватало ещё 3.8px — там нав жмётся сильнее. Полоса узкая,
   на 1280+ зазоры остаются штатными 32px. */
@media (min-width:1024px) and (max-width:1199.98px){
  .site-header:has(.site-langtoggle) .site-header__nav{ gap:21px; column-gap:21px; }
}

/* [FIX-1024 04.08] Полоса 1024–1090 оставалась сломанной: замер кремовой шапки
   ПОСЛЕ вчерашней правки дал @1024 наложение 31.8px, @1080 — 3.8px (чисто только
   с 1120). То есть свёртка трёх слов в одно закрыла ноутбучные ширины, но не
   упёрлась в самый низ десктопного диапазона.
   Нужно 36px. Беру их ТРЕМЯ мелкими вычетами, а не одним грубым — чтобы ни один
   объект не выглядел придавленным: зазоры нава 21 → 17, отступ триггера 8 → 0,
   поля самого триггера 12 → 6. Полоса кончается на 1120: выше не меняется ничего.
   Что НЕ трогаю (запреты владельца): номер целиком остаётся, 5 пунктов нава
   остаются, высота шапки не меняется. */
@media (min-width:1024px) and (max-width:1119.98px){
  .site-header:has(.site-langtoggle) .site-header__nav{ gap:16px; column-gap:16px; }
  .site-header[data-on-cream="true"] .site-langtoggle{ margin-right:0; }
  .site-header:has(.site-langtoggle) .dr-lang__btn{ padding:0 6px; }
  /* Последние 4px — из воздуха ВНУТРИ кластера (8 → 6). Замер после: @1024 зазор +4.2.
     ⚠ ЧЕСТНО ПРО ОСТАТОК: на 1024 это «не налезает», но и не «просторно».
     Взять больше неоткуда: поля шапки там уже 16px, номер прятать запрещено,
     5 пунктов нава ратифицированы. Структурный выход один — складывать нав
     в бургер раньше (порог 1024 → ~1120), но это решение владельца и правка
     общего брейкпоинта на 22 страницах, не моя самодеятельность. */
  .site-header:has(.site-langtoggle) .site-header__right{ gap:6px; }
}

/* ================================================================
   [LANG-PILL 04.08 → LANG-TEXT 05.08] НА КРЕМЕ — ТЕКСТ С ШЕВРОНОМ, НЕ ПИЛЮЛЯ.
   Решение владельца после пяти отвергнутых компоновок ряда из трёх.

   ПОЧЕМУ ЭТО НЕ ПОВТОР ОТМЕНЁННОГО 27.07. Тогда капсулу сняли с формулировкой
   «выбивается из дизайн-стиля» — и это было верно ДЛЯ ГЕРОЯ: над фото номер и
   зелёная кнопка скрыты, шапка нарисована одним текстом, и обведённая капсула
   оказывалась единственной рамкой на экране. На креме обстановка обратная —
   там уже стоят пилюля номера и зелёная кнопка. Тот же док 27.07 это прямо и
   говорит: «На креме, где пилюли CTA живут, она наоборот к месту».
   ⇒ капсула живёт ТОЛЬКО на креме. Над фото ряд из трёх остаётся голым текстом.

   ⛔ ПИЛЮЛЯ ПРОЖИЛА ЧАС И СНЯТА 05.08. Владелец, глядя на готовый кластер:
   «как обведён номер и как обведён язык — каша, выпадает из стиля сайта». Он прав,
   и причина формулируется: рамка в этой шапке означает «контрол второго ранга».
   Надетая на два соседних объекта, она даёт им одинаковый силуэт — глаз видит
   полосу одинаковых капсул, а не два разных предмета.
   Ранги при этом РАЗНЫЕ: WhatsApp — главное действие (залит), номер — второе
   действие (обведён), а язык вообще не действие, он СОСТОЯНИЕ: сообщает, на каком
   языке гость сейчас. Состоянию не положено носить костюм действия.
   ⇒ у языка остаётся только текст и шеврон — ровно вывод ресёрча 27.07: «текст
   плюс тонкий шеврон, тот же приём, что у „Меню" — пара, а не две сущности».
   Почему голый текст не годился час назад: дело было не в отсутствии рамки, а в
   панели — она была втрое шире триггера и с более крупным шрифтом. Панель с тех
   пор привязана к триггеру (блок ниже), причина исчезла.
   Кегль 15 и шеврон остаются. Откат: вернуть рамку и фон в правиле ниже.
   ================================================================ */
@media (min-width:1024px){
  .site-header[data-on-cream="true"] .dr-lang__btn{
    height:36px; padding:0 12px; border:0; background:none; border-radius:0;
    /* 15px — вровень с навигацией, решение владельца «15 тоже».
       [ПОЛЕ 08.08] Было 4. Поле триггера теперь задаёт ВСЮ геометрию: панель
       ниже равна ширине кнопки, поэтому 4 давали панель в 48 — владелец назвал
       её слишком узкой. 12 даёт 64 и не вводит ни рамки, ни подложки.
       Тап-запас добирает `::after{inset:-5px -4px}` из базового правила [2]. */
    /* [09.08] Стало токеном: владелец назвал настоящей шкалу главной
       (13·15·17·20·30·42), и она перенесена в css/tokens.css. «15 вровень
       с навигацией» — его же решение, теперь оно выражено ступенью, а не числом. */
    font-size:var(--s-15); font-weight:500; letter-spacing:0;
    color:hsl(var(--ink)/.62);
    transition:color var(--dur-base) var(--ease-standard); }
  /* отклик — усиление тона, как у всех текстовых ссылок сайта (правило 28.07:
     у текста два носителя отклика, тон и прозрачность, оба в сторону усиления) */
  .site-header[data-on-cream="true"] .dr-lang__btn:hover{ color:hsl(var(--ink)); }
  .site-header[data-on-cream="true"] [data-dd="open"] .dr-lang__btn{ color:hsl(var(--ink)); }
  /* шеврон тише текста, как у номера иконка на .7 */
  .site-header[data-on-cream="true"] .dr-lang__btn::before{ opacity:.55; }

  /* ПАНЕЛЬ ПОД ПИЛЮЛЮ. По скрину владельца: панель была втрое шире пилюли,
     висела левее неё, текст в ней шёл КРУПНЕЕ, чем на самой пилюле, а строки
     по 40px читались меню приложения рядом с кнопкой-малышкой. Причина: блок
     [4] и [5] выше писались, когда триггер был голым текстом, и панель никак
     с ним не соотносилась. Привязываю панель к ширине и кеглю пилюли. */
  .site-header[data-on-cream="true"] .dr-lang__panel{
    top:calc(100% + 6px); min-width:100%; width:max-content; padding:4px;
    border-radius:var(--radius-md);
    box-shadow:var(--dr-lang-shadow); }
  .site-header[data-on-cream="true"] .dr-lang__panel .site-langtoggle__opt,
  .site-header[data-on-cream="true"] .dr-lang__panel .site-hdrlang__opt{
    min-height:32px; height:32px; padding:0 12px; border-radius:var(--radius-sm);
    justify-content:center; text-align:center;
    font-size:var(--s-15)!important; font-weight:500; }
}

/* [NAV-OPTICAL 05.08 — СНЯТО В ТОТ ЖЕ ЧАС] Пробовал центровать меню в
   промежутке между брендом и кластером: зазоры сходились в 1.00×, но меню
   уезжало влево на 131px. Владелец: «центр, потому что нам нужно чтобы это
   было почти как в херо». Довод решающий и мой был хуже: над фото номер и
   зелёная кнопка скрыты, кластер там втрое уже — при оптическом центре меню
   ПРЫГАЛО БЫ вбок в момент, когда шапка переключается с фото на крем.
   Центр по экрану держит меню на месте в обоих состояниях. Не возвращать.
   Перекос зазоров (349 слева против 94 справа при 1440) принят осознанно. */

/* [CLUSTER-EVEN 05.08] Владелец: «язык дальше от номера, чем номер от ватсапа».
   Так и было: кластер `.site-header__right` раздаёт зазор 8px флексом, а у языка
   на креме сверху лежал собственный `margin-right:14px` (блок LANG-SPLIT выше
   и добивки FIX-1100/FIX-1024). Итого 22 против 8. Снимаю все свои отступы —
   расстояния в кластере теперь задаёт ровно один зазор. */
@media (min-width:1024px){
  .site-header[data-on-cream="true"] .site-langtoggle,
  .site-header[data-on-cream="true"] .site-hdrlang{ margin-left:0; margin-right:0; order:0; }
}

/* ================================================================
   [PANEL-SURFACE 05.08] ПАНЕЛЬ КАК ОТДЕЛЬНЫЙ ПРЕДМЕТ + ДРУГОЙ ХОД.
   Владелец: «не нравится, что получается с языками и подложкой», «некрасивая
   анимация».
   ДИАГНОЗ ПОДЛОЖКИ: панель красилась тон в тон с шапкой — hsl(36 30% 97%).
   Это решение 04.08 («было белее шапки, шов было видно»), но шов был, когда
   панель ПРИМЫКАЛА к шапке. Сейчас между ними 8px, и одинаковый тон даёт
   обратный эффект: панель читается не отдельным предметом, а куском шапки,
   стекающим на карточки. Возвращаю ей поверхность плавающего хрома
   hsl(42 40% 99.5%) — тот же тон, что у плиты меню и нижнего бара, значение
   не новое — плюс волосяная рамка, чтобы край был очерчен на светлом фото.
   ДИАГНОЗ ХОДА: панель проявлялась за 160ms, а шеврон на пилюле крутится 220ms —
   два разных темпа в одном жесте. И появлялась она целиком, ниоткуда.
   Теперь растёт из пилюли: точка роста — правый верхний угол, масштаб .96 → 1,
   те же 220ms и та же кривая, что у шеврона.
   ⚠ Все анимируемые свойства перечислены и в закрытом, и в открытом состоянии —
   в этом файле осколок `transition:visibility 0s` уже однажды молча стирал
   переход по opacity.
   Откат: удалить этот блок.
   ================================================================ */
@media (min-width:1024px){
  .site-header[data-on-cream="true"] .dr-lang__panel{
    background:hsl(42 40% 99.5%);
    border:1px solid hsl(var(--ink)/.08);
    box-shadow:var(--dr-lang-shadow);
    transform-origin:100% 0;
    transform:translateY(-2px) scale(.96);
    transition:opacity 220ms var(--ease-standard),
               transform 220ms var(--ease-standard),
               visibility 0s linear 220ms; }
  .site-header[data-on-cream="true"] [data-dd="open"] .dr-lang__panel{
    transform:translateY(0) scale(1);
    transition:opacity 220ms var(--ease-standard),
               transform 220ms var(--ease-standard),
               visibility 0s; }
}
@media (min-width:1024px) and (prefers-reduced-motion:reduce){
  .site-header[data-on-cream="true"] .dr-lang__panel{ transition-duration:0s; transform:none; }
}

/* ================================================================
   [LANG-FINISH 05.08, вечер] ОТДЕЛКА ПАНЕЛИ. Устройство не меняется:
   язык остаётся справа («он везде справа, на любом сайте»), шеврон остаётся.
   Владелец выбрал по смотру «Отделка панели языков»: вариант 1 + 4,
   затем ход «штора» и шеврон 7.

   [1] ТИШЕ. Строки 32 → 28, текст по левому краю вместо центра, поля 12.
       Причина центровки была технической (панель прибита по ширине триггера),
       а читалась как меню из кнопок. Кусок стал ниже на треть.
   [4] ЛИСТОК. Поверхность плавающего хрома 42 40% 99.5% заменена на тон
       БУМАГИ страницы 36 16% 97%, тень почти снята. Диагноз владельца:
       «появляется уродский прямоугольник» — белая плита поверх кремовой
       страницы читалась чужим предметом. На тоне бумаги панель читается
       листком, который лёг на страницу, а рамка держит край.
   ХОД — ШТОРА. Прозрачность и масштаб не анимируются вовсе: панель стоит
       на месте, едет только нижняя кромка. Прямоугольник не появляется,
       а вырастает. Тот же приём, что у плиты меню на телефоне (clip-path).
   ⚠ Клип НЕ inset(0 0 0 0) в открытом состоянии: clip-path режет и тень,
       и панель осталась бы без неё. Поля −30px по бокам и снизу оставляют
       тени место, сверху 0 — оттуда растёт штора.
   ⚠ Все анимируемые свойства перечислены в ОБОИХ состояниях: в этом файле
       осколок `transition:visibility 0s` уже однажды молча стирал переход.
   ШЕВРОН 9 → 7, толщина 1.6 → 1.2. Девять — рецепт аккордеона вопросов,
       там рядом крупный текст; у слова в 15px он читался знаком, а не подсказкой.
   Откат: удалить этот блок (бэкап `_backups/2026-08-05_lang-finish/`).
   ================================================================ */
@media (min-width:1024px){
  .site-header[data-on-cream="true"] .dr-lang__panel{
    /* [ШИРИНА 08.08] ПАНЕЛЬ РАВНА ШИРИНЕ КНОПКИ. Вердикт владельца по скрину:
       «всё, что шире самой надписи, выглядит очень некрасиво».
       ⚠ Прежние 156 поставил здесь я 05.08 и записал это как его вердикт
       («панель — узкая щепка»). Такой реплики в записях НЕТ: греп по проекту
       находит фразу только в моём же комментарии и в файле передачи.
       ⚠ Хуже: правило выше (блок «ПАНЕЛЬ ПОД ПИЛЮЛЮ», тот же день) уже привязало
       панель к триггеру ровно по этой причине — а этот блок его перекрыл.
       Не расширять снова без прямой просьбы владельца. */
    min-width:100%; width:100%;
    padding:5px; border-radius:var(--radius-md);
    /* [09.08] Тон вернулся к тону ШАПКИ, а не бумаги страницы. Владелец:
       «непонятно, что выделяется — находящий на хедер слой другого цвета».
       Он прав: сегодня я перевёл фон на токен бумаги (36 16% 97%), а шапка
       стоит на 36 30% 97% — оттенок другой, и панель стала читаться чужим
       слоем поверх шапки. В файле это было записано ещё 04.08: «тон шапки
       один в один». Токена у этого тона нет, он литералом в самой шапке. */
    /* stylelint-disable-next-line scale-unlimited/declaration-strict-value */
    background:hsl(36 30% 97%);
    border:1px solid hsl(var(--hairline));
    /* тень настоящая, но мягкая: панель висит НАД страницей, а не наклеена на неё */
    box-shadow:var(--dr-lang-shadow);
    opacity:1; transform:none;
    clip-path:inset(0 -30px 100% -30px);
    transition:clip-path 220ms var(--ease-standard), visibility 0s linear 220ms; }
  .site-header[data-on-cream="true"] [data-dd="open"] .dr-lang__panel{
    opacity:1; transform:none;
    clip-path:inset(0 -30px -30px -30px);
    transition:clip-path 220ms var(--ease-standard), visibility 0s; }

  /* [ВЫКЛЮЧКА 08.08] Строки по ЦЕНТРУ, а не по левому краю. Причина замерена:
     ширина кнопки складывается из слова, зазора 7 и шеврона 7, а в панели шеврона
     нет — при левой выключке под ним оставалась пустая колонка в 14px, и владелец
     прочитал это как «оно не центрировано». Центр заодно переживает полосу
     1024–1119.98, где поля кнопки на главной ужимаются с 12 до 6. */
  .site-header[data-on-cream="true"] .dr-lang__panel .site-langtoggle__opt,
  .site-header[data-on-cream="true"] .dr-lang__panel .site-hdrlang__opt{
    height:32px; min-height:32px;
    justify-content:center; text-align:center; padding:0 6px;
    border-radius:var(--radius-sm); }

  /* [ТОН 05.08] Ни одной серой строки. Две из трёх выцветали ДВАЖДЫ: своим
     тоном ink/.68 и сверху `opacity:.45` из css/dr-nav.css:46 для aria-disabled
     (на телефоне он уже погашен, на десктопе — нет). Список из трёх пунктов,
     где два полупрозрачные, читается сломанным, а не «скоро».
     Теперь все три полным тоном, а текущий помечен галочкой — это его работа. */
  .site-header[data-on-cream="true"] .dr-lang__panel .site-langtoggle__opt,
  .site-header[data-on-cream="true"] .dr-lang__panel .site-hdrlang__opt{
    /* [09.08] .88 → .6. Без значка метку несёт только тон, а шаг в 12 процентов
       её не показывал: все три строки выглядели одинаковыми. */
    color:hsl(var(--ink)/.6)!important; opacity:1!important; }
  .site-header[data-on-cream="true"] .dr-lang__panel .site-langtoggle__opt[aria-checked="true"],
  .site-header[data-on-cream="true"] .dr-lang__panel .site-hdrlang__opt--on{
    color:hsl(var(--ink))!important; }

  /* [ОТКЛИК 08.08] Тон .88 → полный ink при наведении. Правило обязано быть ЗДЕСЬ:
     базовый ховер выше по файлу имеет (0,3,1) и с !important проигрывает
     тону .88 из этого блока (0,4,0). Пока подложка перекрывала строку, дефект был
     не виден — сняли подложку, и оказалось, что отклика нет вовсе. */
  .site-header[data-on-cream="true"] .dr-lang__panel .site-langtoggle__opt:hover,
  .site-header[data-on-cream="true"] .dr-lang__panel .site-hdrlang__opt:hover{
    color:hsl(var(--ink))!important; }
  /* ================================================================
     [ТОЛЬКО АЛЬТЕРНАТИВЫ 09.08] В выпадающем списке НЕТ текущего языка.
     Он написан на самой кнопке в тридцати пикселях выше, и вторая его копия
     в списке — второй ответ на вопрос, на который уже ответили. Из этого повтора
     росли и галочка, и разница тонов: три ответа на один вопрос.
     Стало: кнопка говорит «что сейчас», список говорит «а ещё есть эти».
     Панель 64×76 вместо 64×108, метка текущего не нужна вовсе.

     ⚠ ПОЧЕМУ ИМЕННО СТИЛЕМ, А НЕ РАЗМЕТКОЙ. Разметка у двух состояний ОДНА:
     над фотографией эти же три опции стоят рядом из трёх слов, и владелец
     09.08 подтвердил, что ряд там остаётся («зачем там убивать конверсию»).
     Удалить узел из DOM — значит сломать герой. Поэтому прячем ТОЛЬКО на креме.
     `display:none` убирает узел и из дерева доступности, а текущий язык при этом
     остаётся озвученным: доступное имя кнопки — «Язык сайта: Рус».
     Цена, названная вслух: у группы на главной role=radiogroup, и на креме в ней
     не остаётся отмеченного пункта. Честнее было бы менять роль скриптом при
     смене состояния шапки — если дойдут руки, это правильная доделка.
     ================================================================ */
  .site-header[data-on-cream="true"] .dr-lang__panel .site-hdrlang__opt--on,
  .site-header[data-on-cream="true"] .dr-lang__panel .site-langtoggle__opt[aria-checked="true"]{
    display:none; }

  /* [09.08] ГАЛОЧКА СНЯТА. Два дефекта в одной детали, оба названы владельцем:
     · «ебанутая галочка из 2010-х» — текстовый значок как метка состояния устарел;
     · «скошенный текст» — из-за неё первая строка стояла не на той же оси, что две
       другие: слово уезжало влево, освобождая место значку, и столбик выглядел косым.
     Метка текущего = ТОН. Это возврат к собственному правилу проекта от 27.07
     («метка текущего — только тон, ни подложки, ни линии»), которое блок отделки
     05.08 нарушил, добавив значок. Не возвращать. */
  .site-header[data-on-cream="true"] .dr-lang__panel .site-langtoggle__opt[aria-checked="true"]::after,
  .site-header[data-on-cream="true"] .dr-lang__panel .site-hdrlang__opt--on::after{ content:none; }

  .site-header .dr-lang__btn::before{
    width:7px; height:7px;
    border-right-width:1.2px; border-bottom-width:1.2px; }
}
@media (min-width:1024px) and (prefers-reduced-motion:reduce){
  .site-header[data-on-cream="true"] .dr-lang__panel{
    transition-duration:0s; clip-path:inset(0 -30px 100% -30px); }
  .site-header[data-on-cream="true"] [data-dd="open"] .dr-lang__panel{
    clip-path:inset(0 -30px -30px -30px); }
}
