@charset "UTF-8";
/* ============================================================
   dbrus-cookie.css — самодостаточный бандл дизайн-системы дбрус для
   cookie-виджета. Собран из v2-2026-06-08:
     tokens (сабсет) + button + modal + checkbox + icons +
     cookie-popup + cookie-settings + cookie-category.
   Все селекторы заскоуплены под корень виджета .dbrus-cc, чтобы стили
   не текли в сайт и не конфликтовали с живыми .primary-btn/.modal/.check-group.
   Значения токенов сверены с live dbrus-styles.css (computed).
   Подключать самодостаточно (порядок: ПОСЛЕ — ничего не нужно).
   ============================================================ */

/* ---------- @font-face (верхний уровень) ---------- */
@font-face {
  font-family: "fontello";
  /* файлы шрифта — из темы: ровно те URL, что уже стоят в new_design/css/styles.css,
     поэтому браузер переиспользует загруженный файл и своя копия не нужна */
  src: url("../fonts/fontello/fontello.woff2") format("woff2"),
       url("../fonts/fontello/fontello.woff") format("woff");
  font-weight: normal;
  font-style: normal;
  font-display: block;
}

/* ---------- Scroll-lock при открытом модале (вешает контроллер) ---------- */
html.dbrus-cc-lock, body.dbrus-cc-lock { overflow: hidden; }

/* ---------- Корень виджета: токены + база ---------- */
.dbrus-cc {
  /* единица масштаба виджета вместо rem страницы (см. apply-cookie-css-unit.py) */
  --cc-u: 10px;
  /* цвета (сверено с live dbrus-styles.css) */
  --brand-main-base: #373d42;
  --brand-main-mid: rgba(55, 61, 66, 0.7);
  --brand-main-low: rgba(55, 61, 66, 0.1);
  --brand-second-mid: #ebd3af;
  --brand-second-base: #e6e1db;
  --brand-second-strong: #827a6e;
  --brand-third-base: #e6e1db;
  --brand-third-mid: #eeebe5;
  --white-base: #fff;
  --grey-base: #696969;
  --grey-low: #afb1b0;
  --overflow-color: rgb(220, 212, 199);
  /* скосы (DS-токены: lg=22px, md=8px) */
  --chamfer-lg: calc(2.2 * var(--cc-u));
  --chamfer-md: calc(0.8 * var(--cc-u));
  /* шрифты (Inter = body/UI/кнопки, Roboto Mono = заголовки/лейблы) */
  --font-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --font-mono: 'Roboto Mono', ui-monospace, 'SFMono-Regular', Menlo, monospace;

  font-family: var(--font-sans);
  color: var(--brand-main-base);
}

/* ---------- Единица масштаба виджета (--cc-u) ----------
   Виджет не зависит от rem-базы страницы: на старой теме сайта её нет вовсе
   (rem = 16px браузера) и вёрстка в rem давала двукратное увеличение.
   Значения повторяют --size-index темы new_design, поэтому на новой теме
   масштаб прежний, а на старой становится таким же. Замер — zamery/. */
@media (max-width: 1440px) { .dbrus-cc { --cc-u: 0.694vw; } }
@media (max-width: 992px) { .dbrus-cc { --cc-u: 1.302083333333333vw; } }
@media (max-width: 575px) { .dbrus-cc { --cc-u: 2.666666666666667vw; } }

.dbrus-cc, .dbrus-cc *, .dbrus-cc *::before, .dbrus-cc *::after { box-sizing: border-box; }

/* ---------- Иконочный шрифт (только нужное: icon-close + .icon) ---------- */
.dbrus-cc [class^="icon-"]:before,
.dbrus-cc [class*=" icon-"]:before {
  font-family: "fontello";
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  text-decoration: inherit;
  display: inline-block;
  width: 1em;
  text-align: center;
  speak: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.dbrus-cc .icon-close:before { content: '\e801'; }
.dbrus-cc .icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  line-height: 0;
  color: currentColor;
}

/* ============================================================
   button.css (сабсет: только .primary-btn / --grey / шаффл слов)
   ============================================================ */
.dbrus-cc .primary-btn {
  --chamfer: var(--chamfer-lg);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  column-gap: calc(1.2 * var(--cc-u));
  font-family: var(--font-sans);
  font-size: calc(1.6 * var(--cc-u));
  line-height: 100%;
  font-weight: 500;
  text-transform: uppercase;
  color: var(--brand-main-base);
  background-color: var(--brand-second-mid);
  border: none;
  clip-path: polygon(
    var(--chamfer) 0, 100% 0,
    100% calc(100% - var(--chamfer)), calc(100% - var(--chamfer)) 100%,
    0 100%, 0 var(--chamfer)
  );
  transition: background-color 0.3s;
  padding: 0 calc(3.2 * var(--cc-u));
  min-width: calc(28 * var(--cc-u));
  min-height: calc(6 * var(--cc-u));
  text-decoration: none;
  cursor: pointer;
}
@media (max-width: 992px) {
  .dbrus-cc .primary-btn { font-size: calc(1.6 * var(--cc-u)); letter-spacing: -0.02em; }
}
.dbrus-cc .primary-btn .icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: calc(1.8 * var(--cc-u));
  line-height: calc(1.8 * var(--cc-u));
  overflow: visible;
}
.dbrus-cc .primary-btn .icon::before {
  display: inline-block;
  font-size: calc(1.8 * var(--cc-u));
  line-height: 1;
  vertical-align: middle;
}
.dbrus-cc .primary-btn .btn-txt {
  white-space: nowrap;
  overflow: hidden;
  text-align: left;
  display: inline-flex;
  align-items: center;
  column-gap: 0.4em;
}
/* Анимации наведения у кнопок нет: common.js темы вешает свой скрэмбл (SplitType +
   GSAP) на все .primary-btn, включая кнопки виджета. Своя анимация слов давала вторую
   поверх неё — кнопка дёргалась дважды (замер DOM на боевом 13.08). Кейфреймы
   MoveRight* тоже убраны: они дублировали такие же в styles.css темы. */
/* Серая вторичная — тот же силуэт, нейтральная заливка */
.dbrus-cc .primary-btn--grey { background-color: var(--brand-third-base); }

/* ============================================================
   modal.css (сабсет: только .modal-overlay / .modal-style)
   Открытие — классом .open (НЕ :target; модалом управляет контроллер).
   ============================================================ */
.dbrus-cc .modal-overlay {
  position: fixed;
  inset: 0;
  background-color: transparent;
  opacity: 0;
  pointer-events: none;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1300;                 /* выше баннера (.cookie-popup--fixed = 1200) */
  padding: 0 calc(1.5 * var(--cc-u));
  transition: opacity 0.3s ease-in-out;
}
.dbrus-cc .modal-overlay::before {
  content: "";
  position: absolute;
  inset: 0;
  background-color: var(--overflow-color);
  opacity: 0.5;
  pointer-events: none;
}
.dbrus-cc .modal-overlay.open {
  opacity: 1;
  pointer-events: auto;
}
@media (max-width: 575px) {
  .dbrus-cc .modal-overlay { padding: 0 calc(1.6 * var(--cc-u)); }
}
.dbrus-cc .modal-style {
  position: relative;
  width: 100%;
  max-width: calc(60 * var(--cc-u));
  margin: 0 auto;
  background-color: var(--white-base);
  transform: scale(0.8);
  transition: transform 0.3s ease-in-out;
}
.dbrus-cc .modal-overlay.open .modal-style { transform: scale(1); }

/* ============================================================
   checkbox.css (полностью) — квадрат-чекбокс категории
   ============================================================ */
.dbrus-cc .input-group.check-group label {
  display: block;
  position: relative;
  max-width: 100%;
  cursor: pointer;
}
.dbrus-cc .input-group.check-group label input {
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 0;
  opacity: 0;
  visibility: hidden;
}
.dbrus-cc .input-group.check-group label .label {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding-left: calc(3.2 * var(--cc-u));
  font-size: calc(1.6 * var(--cc-u));
  line-height: 100%;
  letter-spacing: -0.02em;
  color: var(--brand-main-mid);
  max-width: 100%;
  min-height: calc(2 * var(--cc-u));
}
@media (max-width: 992px) {
  .dbrus-cc .input-group.check-group label .label { font-size: calc(1.4 * var(--cc-u)); }
}
.dbrus-cc .input-group.check-group label .label > p { max-width: calc(100% - calc(3.2 * var(--cc-u))); }
.dbrus-cc .input-group.check-group label .label::before {
  content: "";
  display: flex;
  align-items: center;
  justify-content: center;
  width: calc(2 * var(--cc-u));
  height: calc(2 * var(--cc-u));
  border: calc(0.15 * var(--cc-u)) solid var(--brand-main-base);
  background-color: transparent;
  position: absolute;
  top: 0;
  left: 0;
  transition: background-color 0.3s;
}
.dbrus-cc .input-group.check-group label .label::after {
  content: '\e806';
  font-family: "fontello";
  font-style: normal;
  font-weight: normal;
  font-size: calc(1.2 * var(--cc-u));
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 0;
  left: 0;
  width: calc(2 * var(--cc-u));
  height: calc(2 * var(--cc-u));
  color: var(--white-base);
  opacity: 0;
  transition: opacity 0.3s;
}
.dbrus-cc .input-group.check-group label input:checked + .label::before {
  background-color: var(--brand-main-base);
}
.dbrus-cc .input-group.check-group label input:checked + .label::after { opacity: 1; }
.dbrus-cc .input-group.check-group label input.error + .label::before { border-color: red; }
.dbrus-cc .input-group.check-group label .label a { transition: color 0.3s; }
.dbrus-cc .input-group.check-group label .label a:hover { color: var(--brand-main-base); }
/* Disabled / locked (всегда-вкл) — серая заливка + белая галочка */
.dbrus-cc .input-group.check-group label:has(input:disabled) { cursor: default; }
.dbrus-cc .input-group.check-group label input:disabled + .label {
  color: var(--grey-low);
  cursor: default;
}
.dbrus-cc .input-group.check-group label input:disabled + .label::before {
  border-color: var(--grey-low);
  background-color: transparent;
}
.dbrus-cc .input-group.check-group label input:disabled:checked + .label::before {
  border-color: var(--grey-low);
  background-color: var(--grey-low);
}
.dbrus-cc .input-group.check-group label input:disabled:checked + .label::after {
  color: var(--white-base);
  opacity: 1;
}

/* ============================================================
   cookie-category.css (полностью)
   ============================================================ */
.dbrus-cc .cookie-categories {
  display: flex;
  flex-direction: column;
  gap: calc(2.4 * var(--cc-u));
  padding: calc(2.4 * var(--cc-u));
  background-color: var(--white-base);
  border: calc(0.1 * var(--cc-u)) solid var(--brand-main-low);
}
@media (max-width: 575px) {
  .dbrus-cc .cookie-categories { gap: calc(1.6 * var(--cc-u)); padding: calc(1.6 * var(--cc-u)); }
}
.dbrus-cc .cookie-category {
  display: flex;
  flex-direction: column;
  gap: calc(1.2 * var(--cc-u));
  padding: calc(2 * var(--cc-u)) calc(2.4 * var(--cc-u));
  border: calc(0.1 * var(--cc-u)) solid var(--brand-main-low);
}
@media (max-width: 575px) {
  .dbrus-cc .cookie-category { padding: calc(1.6 * var(--cc-u)); }
}
.dbrus-cc .cookie-category__head {
  display: flex;
  align-items: center;
  gap: calc(0.8 * var(--cc-u));
}
.dbrus-cc .cookie-category__summary {
  display: flex;
  align-items: center;
  gap: calc(1.2 * var(--cc-u));
  flex: 1;
  min-width: 0;
  margin: 0;
  padding: 0;
  border: none;
  background: none;
  text-align: left;
  cursor: pointer;
  color: var(--brand-main-base);
  transition: color 0.3s;
}
.dbrus-cc .cookie-category__summary:hover { color: var(--brand-second-strong); }
.dbrus-cc .cookie-category__summary:focus-visible {
  outline: calc(0.2 * var(--cc-u)) solid var(--brand-main-base);
  outline-offset: calc(0.3 * var(--cc-u));
}
.dbrus-cc .cookie-category__chevron {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 calc(1.2 * var(--cc-u));
  width: calc(1.2 * var(--cc-u));
  height: calc(1.2 * var(--cc-u));
  color: var(--brand-main-mid);
  transition: transform 0.3s;
}
.dbrus-cc .cookie-category__chevron::before {
  content: "";
  display: block;
  width: calc(0.7 * var(--cc-u));
  height: calc(0.7 * var(--cc-u));
  border-right: calc(0.14 * var(--cc-u)) solid currentColor;
  border-bottom: calc(0.14 * var(--cc-u)) solid currentColor;
  transform: translateY(-0.18rem) rotate(45deg);
}
.dbrus-cc .cookie-category.is-open .cookie-category__chevron { transform: rotate(180deg); }
.dbrus-cc .cookie-category__title {
  font-family: var(--font-sans);
  font-weight: 600;
  font-size: calc(1.8 * var(--cc-u));
  line-height: 110%;
  letter-spacing: -0.04em;
  color: inherit;
  overflow: hidden;
  text-overflow: ellipsis;
}
@media (max-width: 992px) {
  .dbrus-cc .cookie-category__title { font-size: calc(1.6 * var(--cc-u)); }
}
.dbrus-cc .cookie-category__toggle { flex: 0 0 auto; }
.dbrus-cc .cookie-category__toggle .check-group label .label {
  padding-left: calc(2 * var(--cc-u));
  min-height: calc(2 * var(--cc-u));
}
.dbrus-cc .cookie-category__body { display: none; }
.dbrus-cc .cookie-category.is-open .cookie-category__body { display: block; }
.dbrus-cc .cookie-category__descr {
  margin: 0;
  padding-left: calc(2.4 * var(--cc-u));
  font-family: var(--font-sans);
  font-weight: 400;
  font-size: calc(1.6 * var(--cc-u));
  line-height: 110%;
  letter-spacing: -0.03em;
  color: var(--brand-main-mid);
}
.dbrus-cc .cookie-category__descr + .cookie-category__descr { margin-top: calc(1.2 * var(--cc-u)); }
@media (max-width: 575px) {
  .dbrus-cc .cookie-category__descr { padding-left: 0; }
}

/* ============================================================
   cookie-popup.css (полностью)
   ============================================================ */
/* Сброс браузерных margin у заголовков/абзацев в скоупе виджета:
   интервалы задаются flex-gap и padding (иначе UA-margin h2 0.83em / p 1em
   ломают ритм — отступ над заголовком ≠ до текста). :where = спецификность 0,
   осознанные отступы DS не перебиваются. */
.dbrus-cc :where(h1, h2, h3, h4, h5, h6, p) { margin: 0; }

/* Headless: прячем собственный контейнер движка vanilla-cookieconsent.
   Его UI не используется (рисуем свою DS-разметку), а скрывается он только
   родным CSS библиотеки, который намеренно не подключаем — без этого правила
   #cc-main проступает неостилизованным блоком. */
#cc-main { display: none !important; }

.dbrus-cc .cookie-popup {
  display: flex;
  flex-direction: column;
  gap: calc(2 * var(--cc-u));
  width: 100%;
  max-width: calc(44 * var(--cc-u));
  padding: calc(3.2 * var(--cc-u));
  background-color: var(--white-base);
  border: calc(0.1 * var(--cc-u)) solid var(--brand-main-low);
}
.dbrus-cc .cookie-popup.is-hidden { display: none; }
@media (max-width: 575px) {
  .dbrus-cc .cookie-popup { gap: calc(1.6 * var(--cc-u)); padding: calc(2.4 * var(--cc-u)); }
}
.dbrus-cc .cookie-popup--fixed {
  position: fixed;
  left: calc(2.4 * var(--cc-u));
  bottom: calc(2.4 * var(--cc-u));
  z-index: 1200;
  max-height: calc(100vh - calc(4.8 * var(--cc-u)));
  overflow-y: auto;
}
@media (max-width: 575px) {
  .dbrus-cc .cookie-popup--fixed {
    left: calc(1.5 * var(--cc-u));
    right: calc(1.5 * var(--cc-u));
    bottom: calc(1.5 * var(--cc-u));
    width: auto;              /* фикс: ширину задают left+right (иначе base width:100% даёт overflow вправо) */
    max-width: none;
    max-height: calc(100vh - calc(3 * var(--cc-u)));
  }
}
.dbrus-cc .cookie-popup__body {
  display: flex;
  flex-direction: column;
  gap: calc(1.2 * var(--cc-u));
}
.dbrus-cc .cookie-popup__title {
  font-family: var(--font-mono);
  font-size: calc(2.4 * var(--cc-u));
  line-height: 105%;
  font-weight: 500;
  letter-spacing: -0.02em;
  text-transform: uppercase;
  color: var(--brand-main-base);
}
@media (max-width: 575px) {
  .dbrus-cc .cookie-popup__title { font-size: calc(2 * var(--cc-u)); }
}
.dbrus-cc .cookie-popup__descr {
  font-family: var(--font-sans);
  font-size: calc(1.6 * var(--cc-u));
  line-height: 135%;
  letter-spacing: -0.02em;
  color: var(--brand-main-mid);
  text-wrap: pretty;
}
@media (max-width: 992px) {
  .dbrus-cc .cookie-popup__descr { font-size: calc(1.4 * var(--cc-u)); }
}
.dbrus-cc .cookie-popup__policy {
  color: var(--brand-main-base);
  text-decoration: none;
  box-shadow: inset 0 -0.1rem 0 0 var(--brand-main-low);
  transition: box-shadow 0.3s, color 0.3s;
}
.dbrus-cc .cookie-popup__policy:hover {
  color: var(--brand-second-strong);
  box-shadow: inset 0 -0.1rem 0 0 currentColor;
}
.dbrus-cc a.cookie-popup__settings-link {
  align-self: flex-start;
  margin: 0;
  padding: 0;
  border: none;
  background: none;
  cursor: pointer;
  font-family: var(--font-mono);
  font-size: calc(1.3 * var(--cc-u));
  line-height: 112%;
  letter-spacing: 0;
  text-transform: uppercase;
  color: var(--brand-main-base);
  text-decoration: underline;
  text-underline-offset: calc(0.4 * var(--cc-u));
  text-decoration-thickness: calc(0.1 * var(--cc-u));
  transition: color 0.3s;
}
.dbrus-cc a.cookie-popup__settings-link:hover { color: var(--brand-second-strong); }
.dbrus-cc a.cookie-popup__settings-link:focus-visible {
  outline: calc(0.2 * var(--cc-u)) solid var(--brand-main-base);
  outline-offset: calc(0.3 * var(--cc-u));
}
.dbrus-cc .cookie-popup__actions {
  display: flex;
  flex-direction: column;
  gap: calc(1.6 * var(--cc-u));
}
.dbrus-cc .cookie-popup .primary-btn {
  width: 100%;
  min-width: 0;
}
@media (max-width: 575px) {
  .dbrus-cc .cookie-popup .primary-btn { min-height: calc(5.2 * var(--cc-u)); }
  .dbrus-cc .cookie-popup__actions { gap: calc(1.2 * var(--cc-u)); }
}

/* ============================================================
   cookie-settings.css (полностью) — модал 720px
   ============================================================ */
.dbrus-cc .cookie-settings-modal { max-width: calc(72 * var(--cc-u)); }
.dbrus-cc .cookie-settings {
  display: flex;
  flex-direction: column;
  max-height: calc(100vh - calc(4 * var(--cc-u)));
}
@media (max-width: 575px) {
  .dbrus-cc .cookie-settings { max-height: calc(100vh - calc(2 * var(--cc-u))); }
}
.dbrus-cc .cookie-settings__head {
  display: flex;
  align-items: center;
  gap: calc(1.6 * var(--cc-u));
  padding: calc(2.4 * var(--cc-u)) calc(3.2 * var(--cc-u));
  border-bottom: calc(0.1 * var(--cc-u)) solid var(--brand-main-low);
}
@media (max-width: 575px) {
  .dbrus-cc .cookie-settings__head { padding: calc(2 * var(--cc-u)) calc(1.6 * var(--cc-u)); }
}
.dbrus-cc .cookie-settings__title {
  flex: 1;
  min-width: 0;
  font-family: var(--font-sans);
  font-weight: 600;
  font-size: calc(2.4 * var(--cc-u));
  line-height: 112%;
  letter-spacing: -0.02em;
  color: var(--brand-main-base);
}
@media (max-width: 575px) {
  .dbrus-cc .cookie-settings__title { font-size: calc(2 * var(--cc-u)); }
}
.dbrus-cc a.cookie-settings__close {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: calc(4 * var(--cc-u));
  height: calc(4 * var(--cc-u));
  background-color: var(--brand-third-mid);
  color: var(--brand-main-base);
  text-decoration: none;
  clip-path: polygon(
    calc(0.8 * var(--cc-u)) 0, 100% 0,
    100% calc(100% - calc(0.8 * var(--cc-u))), calc(100% - calc(0.8 * var(--cc-u))) 100%,
    0 100%, 0 calc(0.8 * var(--cc-u))
  );
  transition: background-color 0.3s, color 0.3s;
}
.dbrus-cc .cookie-settings__close:hover { background-color: var(--brand-second-base); }
.dbrus-cc .cookie-settings__close .icon::before { font-size: calc(1.6 * var(--cc-u)); line-height: 1; }
.dbrus-cc .cookie-settings__close:focus-visible {
  outline: calc(0.2 * var(--cc-u)) solid var(--brand-main-base);
  outline-offset: calc(0.3 * var(--cc-u));
}
.dbrus-cc .cookie-settings__body {
  display: flex;
  flex-direction: column;
  gap: calc(2.4 * var(--cc-u));
  padding: calc(2.4 * var(--cc-u)) calc(3.2 * var(--cc-u));
  overflow-y: auto;
}
@media (max-width: 575px) {
  .dbrus-cc .cookie-settings__body { padding: calc(2.4 * var(--cc-u)) calc(1.6 * var(--cc-u)); gap: calc(2 * var(--cc-u)); }
}
.dbrus-cc .cookie-settings__intro {
  font-family: var(--font-sans);
  font-weight: 400;
  font-size: calc(1.6 * var(--cc-u));
  line-height: 140%;
  letter-spacing: -0.02em;
  color: var(--brand-main-mid);
  text-wrap: pretty;
}
.dbrus-cc .cookie-settings .cookie-categories {
  padding: 0;
  border: none;
  background: transparent;
  gap: calc(1.2 * var(--cc-u));
}
.dbrus-cc .cookie-settings__foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: calc(1.6 * var(--cc-u));
  padding: calc(2.4 * var(--cc-u)) calc(3.2 * var(--cc-u));
  border-top: calc(0.1 * var(--cc-u)) solid var(--brand-main-low);
}
@media (max-width: 575px) {
  .dbrus-cc .cookie-settings__foot { padding: calc(2 * var(--cc-u)) calc(1.6 * var(--cc-u)); }
}
.dbrus-cc .cookie-settings__actions {
  display: flex;
  flex-wrap: wrap;
  gap: calc(1.2 * var(--cc-u));
}
.dbrus-cc .cookie-settings__foot .primary-btn {
  min-width: 0;
  padding: 0 calc(2.4 * var(--cc-u));
}
@media (max-width: 575px) {
  .dbrus-cc .cookie-settings__foot { flex-direction: column; align-items: stretch; }
  .dbrus-cc .cookie-settings__actions { flex-direction: column; }
  .dbrus-cc .cookie-settings__foot .primary-btn { width: 100%; }
}
