/* Единый cookie-баннер сайта lis post (17.09).
   Стили вынесены из landing.html и переиспользуются на всех страницах сайта,
   где считается счётчик: главная + контентные страницы (app.py: _site_head_extras).
   Разметку создаёт static/cookie_banner.js — по HTML-файлам она не дублируется.
   Опирается на токены tokens.css и на класс .btn (content.css / лендинг),
   поэтому вид баннера одинаков и на лендинге, и на контентных страницах. */

#cookie-banner{position:fixed;left:0;right:0;bottom:0;z-index:200;padding:var(--space-2) var(--space-4) calc(var(--space-2) + env(safe-area-inset-bottom))}
#cookie-banner[hidden]{display:none}
/* Кнопки переключаются атрибутом hidden (cookie_banner.js: render), а у .btn
   в content.css/лендинге задан свой display — без этого правила hidden на
   кнопке не сработал бы и в баннере оказались бы обе кнопки сразу. */
#cookie-banner [hidden]{display:none}
/* Запас под фиксированный баннер: иначе на последнем экране он закрывает
   подвал. На мобильном баннер выше (текст и кнопки в столбик). */
body:has(#cookie-banner:not([hidden])){padding-bottom:110px}
.cookie-card{max-width:880px;margin:0 auto;background:var(--bg);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:var(--space-3) var(--space-4);display:flex;align-items:center;gap:var(--space-2) var(--space-4);flex-wrap:wrap}
.cookie-card p{flex:1 1 300px;min-width:0;font-size:var(--text-sm);line-height:1.45;color:var(--muted);margin:0}
.cookie-card p b{color:var(--text)}
.cookie-card a{color:var(--teal-ink);font-weight:600}
/* .cb-more — тихие действия баннера (текст со подчёркиванием, без рамки).
   В ред. 3 к нему добавилась «Скрыть»: двумя ghost-кнопками подряд («Скрыть» и
   «Отклонить») баннер выглядел как выбор из двух равных, то есть ровно то, на
   что жаловался владелец. Поэтому убирать окно — тихая ссылка, а «Отклонить»
   остаётся единственной кнопкой, и жмут её осознанно. */
.cb-more,.cb-hide{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 var(--space-1);background:none;border:0;font:inherit;font-size:var(--text-sm);font-weight:600;color:var(--teal-ink);cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.cb-more:hover,.cb-hide:hover{color:var(--teal-dark)}
/* палец: у «Скрыть» тап-таргет не должен упираться в ширину слова. Сейчас
   выходит 57x44, но запас в 13px съест любая другая гарнитура или кегль —
   поэтому ширина задана явно, а не «и так сойдёт». */
.cb-hide{min-width:44px}
/* Д-3 (17.09): ссылка «Cookie» в подвале. Её добавляет cookie_banner.js — на
   всех страницах сайта, где есть подвал, и ни на одной, где баннера нет.
   Стиль подстроен под .copy (мелкий текст подвала), цвет наследуется. */
.cb-foot-link{color:inherit;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.cb-foot-link:hover{color:var(--teal-ink)}
.cb-foot-link:focus-visible{outline:2px solid var(--teal-ink);outline-offset:2px;border-radius:2px}
.cookie-card .cb-actions{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0;margin-left:auto}
.cookie-card .btn{padding:var(--space-2) var(--space-4);min-height:44px;font-size:var(--text-sm);border-radius:var(--radius-md)}
@media (max-width:760px){
  body:has(#cookie-banner:not([hidden])){padding-bottom:180px}
  .cookie-card{flex-direction:column;align-items:stretch;padding:var(--space-2) var(--space-3) var(--space-3);row-gap:var(--space-1)}
  .cookie-card p{flex:0 0 auto;font-size:var(--text-xs);line-height:1.4}
  .cookie-card .cb-actions{gap:var(--space-2);margin-left:0}
  .cookie-card .cb-actions .btn{flex:1 1 0;min-width:0;padding:var(--space-2);min-height:44px;font-size:var(--text-sm);border-radius:var(--radius-md)}
  .cb-more{align-self:flex-start}
  /* палец: у ссылки в подвале тап-таргет не меньше 44px, как у кнопок баннера.
     Без этого правила ссылка была бы высотой в строку текста (~17px). */
  .cb-foot-link{display:inline-flex;align-items:center;min-height:44px;padding:0 var(--space-1)}
}
