/* ============================================================================
   Cookie-согласие — TASK-006 / OPEN-085 (T-B). Разметку строит consent.js.

   Порт баннера и панели легаси под систему: теней и карточек нет, конструкция
   держится линейкой. Баннер — полоса во всю ширину по нижнему краю окна с
   сильной линейкой сверху, содержимое выровнено по .shell, как шапка и подвал.
   Панель — штатный <dialog> (showModal: фокус заперт внутри, Escape
   закрывает, фон инертен). Главная кнопка — чернильная заливка, остальные —
   контур, как .search__go. Цвет только ахроматический.
   ============================================================================ */
.consent{
  position:fixed; z-index:30; inset-inline:0; inset-block-end:0;
  background:var(--bg); color:var(--ink);
  border-block-start:1px solid var(--rule-strong);
  font-family:var(--font-apparatus); font-size:var(--step-2); line-height:var(--lh-meta);
}
.consent[hidden]{ display:none; }
.consent__in{
  display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between;
  gap:var(--space-3) var(--space-6);
  padding-block:var(--space-4);
}
.consent__text{ flex:1 1 32rem; max-inline-size:var(--measure-deck-feed); }
.consent__title{
  margin:0 0 var(--space-1);
  font-family:var(--font-apparatus); font-size:var(--step-2); font-weight:var(--wght-strong);
  line-height:var(--lh-meta);
}
.consent p{ margin:0; }

.consent__actions{
  display:flex; flex-wrap:wrap; align-items:center; gap:var(--space-2) var(--space-4);
}

.consent__btn{
  font-family:var(--font-apparatus); font-size:var(--step-1); font-weight:var(--wght-meta);
  line-height:var(--lh-meta);
  min-block-size:2.5rem; padding:var(--space-2) var(--space-4);
  border:1px solid var(--ink); background:var(--bg); color:var(--ink); cursor:pointer;
}
.consent__btn:hover{ background:var(--bg-sunk); }
.consent__btn:active{ background:var(--accent-wash); }
.consent__btn--main{ background:var(--ink); color:var(--bg); }
.consent__btn--main:hover,
.consent__btn--main:active{ background:var(--ink-soft); border-color:var(--ink-soft); }

.consent__policy,
.consent__link{
  font-family:var(--font-apparatus); font-size:var(--step-1); color:var(--ink);
  text-decoration-line:underline; text-decoration-color:var(--accent);
  text-decoration-thickness:.07em; text-underline-offset:.2em;
}
.consent__link{ border:0; background:none; padding:0; cursor:pointer; }
.consent__policy:hover,
.consent__link:hover{ text-decoration-thickness:.12em; }

/* --- Панель настроек -------------------------------------------------------- */
.consent-dialog{
  box-sizing:border-box; inline-size:calc(100% - 2 * var(--space-4)); max-inline-size:36rem;
  max-block-size:calc(100% - 2 * var(--space-4)); overflow:auto;
  margin:auto; padding:var(--space-5);
  border:1px solid var(--rule-strong); background:var(--bg); color:var(--ink);
  font-family:var(--font-apparatus); font-size:var(--step-2); line-height:var(--lh-meta);
}
.consent-dialog::backdrop{ background:color-mix(in srgb, var(--ink) 55%, transparent); }
.consent-dialog__title{
  margin:0 0 var(--space-3);
  font-family:var(--font-apparatus); font-size:var(--step-4); font-weight:var(--wght-head2);
  line-height:var(--lh-tight);
}
.consent-dialog p{ margin:0 0 var(--space-3); }
.consent-dialog__status{ font-weight:var(--wght-strong); }
/* Три длинные подписи в ряд не помещаются — столбец на любой ширине. */
.consent-dialog .consent__actions{
  flex-direction:column; align-items:stretch;
  margin-block-start:var(--space-4); padding-block-start:var(--space-4);
  border-block-start:1px solid var(--rule-soft);
}

/* Подвал: «Настройки cookie» выглядит как соседние ссылки навигации. */
.foot__cookie{ display:inline-block; padding-block:var(--space-1); color:var(--ink-soft); }
.foot__cookie[hidden]{ display:none; }
.foot__cookie:hover{ color:var(--ink); text-decoration:underline; text-underline-offset:.2em; }

/* Узкий экран: кнопки во всю ширину, как в легаси, цель не меньше 44 px. */
@media (max-width:35rem){
  .consent__in{ padding-block:var(--space-3); }
  .consent__actions{ inline-size:100%; }
  .consent__btn{ inline-size:100%; }
  .consent-dialog{ padding:var(--space-4); }
}
@media (pointer:coarse){
  .consent__btn{ min-block-size:var(--tap-min); }
  .consent__policy,
  .consent__link{ display:inline-flex; align-items:center; min-block-size:var(--tap-min); }
}

@media print{
  .consent, .consent-dialog{ display:none !important; }
}
