/* ===== Согласие на cookies (макет «Evrohod Cookies», 26.09.2026) =====
   Плашка 400 px внизу слева над картой: отступ 10 px от левого края (в одну линию
   с кнопками масштаба и рекламной карточкой) и 12 px снизу. Ничего не затемняет,
   карту под ней можно двигать. Легенда стоит в той же колонке и на время плашки
   приподнимается над ней с зазором 8 px (высоту плашки ставит Consent.measure()
   в переменную --consent-h на #map). Прямой угол, как во всём наборе; та же тень,
   что у карточек на карте. Кто и когда показывает — static/js/analytics.js. */
.consent {
  position: absolute;
  left: 10px;
  bottom: 12px;
  /* Выше панели и её язычка на телефоне (10001 и 10002): «Настройки cookies»
     обязаны открывать блок на виду. */
  z-index: 10003;
  width: 400px;
  max-width: calc(100% - 20px);
  box-sizing: border-box;
  padding: 16px 18px 4px;
  background: var(--eh-paper);
  box-shadow: 0 2px 12px rgba(0,0,0,0.14);
  color: var(--eh-ink);
  font-family: 'Golos Text', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  cursor: default;
}
.consent[hidden] { display: none; }
.consent [hidden] { display: none; }
.consent-text { margin: 0; font-size: 14.5px; line-height: 1.5; text-wrap: pretty; }
/* «Отказаться» и «Принять» одного стиля, веса и размера, делят ширину поровну. */
.consent-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 14px; }
.consent-btn {
  height: 44px; box-sizing: border-box; padding: 0 6px;
  border: 1px solid #d6d2ca; border-radius: 0;
  background: var(--eh-paper); color: var(--eh-ink);
  font-family: 'Jost', system-ui, sans-serif; font-weight: 500; font-size: 13px;
  letter-spacing: 0.12em; text-transform: uppercase; line-height: 1.2;
  cursor: pointer;
  transition: background var(--eh-hover-ms) linear, color var(--eh-hover-ms) linear,
              border-color var(--eh-hover-ms) linear;
}
.consent-btn:hover { background: var(--eh-ink); border-color: var(--eh-ink); color: var(--eh-paper); }
/* Ссылка — строка высотой 44 px, чтобы в неё попадали пальцем. */
.consent-policy {
  display: inline-flex; align-items: center; min-height: 44px;
  font-size: 13.5px; color: var(--eh-body);
  text-decoration: underline; text-underline-offset: 3px;
  transition: color var(--eh-hover-ms) linear;
}
.consent-policy:hover { color: var(--eh-ink); }
/* Блок настроек — на месте плашки: заголовок с линейкой, статус с кружком,
   «Отключить/Включить аналитику» и «Закрыть». */
.consent-title {
  margin: 0; padding-bottom: 10px; border-bottom: 1px solid var(--eh-ink);
  font-family: 'Jost', system-ui, sans-serif; font-weight: 500; font-size: 13px;
  letter-spacing: 0.14em; text-transform: uppercase;
}
.consent-status { display: flex; align-items: center; gap: 10px; padding: 14px 0; font-size: 15px; }
.consent-dot {
  flex: none; width: 15px; height: 15px; border-radius: 50%; box-sizing: border-box;
  border: 1.5px solid var(--eh-head);
}
.consent.on .consent-dot { border: 5px solid var(--eh-ink); }
.consent-settings .consent-actions { margin-top: 0; }
/* Обводка только при управлении с клавиатуры. */
.consent :focus-visible { outline: 2px solid var(--eh-ink); outline-offset: 2px; }

/* Легенда над плашкой: 12 px до низа + высота плашки + зазор 8 px. */
#map.consent-open .legend { bottom: calc(20px + var(--consent-h, 0px)); }

/* «Настройки cookies» в атрибуции карты — слева от «Leaflet | © OpenStreetMap»,
   тем же кеглем и цветом, что ссылки атрибуции; кнопка, а не ссылка, чтобы не
   трогать адрес. */
.leaflet-control-attribution .consent-link {
  font: inherit; color: #0078A8; background: none; border: 0; padding: 0; margin: 0;
  cursor: pointer; text-decoration: none;
}
.leaflet-control-attribution .consent-link:hover { text-decoration: underline; }
html.dark .leaflet-control-attribution .consent-link { color: #7aa7e6; }

/* ---- тёмная тема: всплывающие блоки на #1c1f24, как рекламная карточка ---- */
html.dark .consent { background: #1c1f24; box-shadow: 0 2px 14px rgba(0,0,0,0.55); }
html.dark .consent-btn { background: #1c1f24; border-color: #4a4f57; }
html.dark .consent-btn:hover { background: var(--eh-ink); border-color: var(--eh-ink); color: #1c1f24; }
html.dark .consent-dot { border-color: var(--eh-muted); }
html.dark .consent.on .consent-dot { border-color: var(--eh-ink); }

/* ---- телефон: полоса во всю ширину внизу; язычок панели, масштаб и рекламная
   строка сверху остаются открытыми. Снизу — внутренний отступ под полосу
   системы (env(safe-area-inset-bottom)). Кнопки 48 px. ---- */
@media (max-width: 768px) {
  .consent {
    left: 0; right: 0; bottom: 0;
    width: auto; max-width: none;
    padding: 18px 16px calc(4px + env(safe-area-inset-bottom, 0px));
    border-top: 1px solid var(--eh-line);
    box-shadow: 0 -2px 18px rgba(26,26,26,0.18);
  }
  .consent-text { font-size: 15px; }
  .consent-btn { height: 48px; font-size: 12.5px; letter-spacing: 0.1em; }
  .consent-policy { font-size: 14px; }
  .consent-status { font-size: 15px; }
  /* Легенда на телефоне ограничена сверху верхним рядом (responsive.css); плашка
     отнимает у неё место снизу. */
  #map.consent-open .legend {
    bottom: calc(8px + var(--consent-h, 0px));
    max-height: calc(100% - 191px - var(--consent-h, 0px));
  }
  html.dark .consent { border-top-color: #2a2c31; box-shadow: 0 -2px 18px rgba(0,0,0,0.55); }
}
