/* Баннер согласия на cookies и Яндекс Метрику (разметку создаёт assets/js/site.js).
   Компактная полоса внизу экрана: на телефоне — не выше ~40% экрана, кнопки в ряд. */
.consent {
  position: fixed; left: 16px; right: 16px; bottom: 16px; z-index: 90;
  max-width: 760px; margin: 0 auto; box-sizing: border-box;
  display: flex; align-items: center; gap: 12px 20px; flex-wrap: wrap;
  padding: 14px 18px; border-radius: 14px;
  background: #fff; color: #17202A; border: 1px solid #DDE3EA;
  box-shadow: 0 10px 30px rgba(16, 38, 64, .18);
  font: 15px/1.45 "Segoe UI", system-ui, -apple-system, Roboto, "Helvetica Neue", Arial, sans-serif;
}
.consent[hidden] { display: none; }
.consent p { margin: 0; flex: 1 1 320px; }
.consent a { color: #1565C0; text-decoration: underline; }
.consent-btns { display: flex; gap: 8px; flex-wrap: wrap; }
.consent button {
  font: inherit; font-weight: 700; cursor: pointer; padding: 9px 16px; border-radius: 10px;
  border: 2px solid #1565C0; background: #fff; color: #1565C0; white-space: nowrap;
}
.consent button.consent-yes { background: #1565C0; color: #fff; }
.consent button:hover { border-color: #0D47A1; }
.consent button.consent-yes:hover { background: #0D47A1; }
.consent button:focus-visible, .consent a:focus-visible { outline: 3px solid #FFB300; outline-offset: 2px; }

@media (max-width: 600px) {
  .consent { left: 8px; right: 8px; bottom: 8px; padding: 10px 12px; gap: 8px; font-size: 14px;
             max-height: 40vh; overflow: auto; }
  .consent p { flex-basis: 100%; }
  .consent-btns { width: 100%; }
  .consent button { flex: 1 1 0; padding: 8px 10px; white-space: normal; }
}

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