/* ==========================================================================
   СОГЛАСИЕ НА СБОР СТАТИСТИКИ

   Просьба, а не стена. Кино продолжает идти, маршрут листается, ничего не
   затемняется и не блокируется: человек вправе просто не отвечать.

   Ни одного собственного значения — только словарь Design_System. Поверхность
   плавающего меню, мягкий волосок по краю, радиус панели, действия таблетками.

   На телефоне занимает низ экрана, и на это время стрелка маршрута поднимается
   выше — обе живут в одном стеке, а не одна поверх другой.
   ========================================================================== */

.bb-consent {
  position: fixed;
  z-index: 140; /* выше стрелки (100), ниже языкового меню шапки */
  bottom: 22px;
  left: 22px;
  display: flex;
  align-items: center;
  gap: 14px;
  max-width: min(520px, calc(100vw - 44px));
  padding: 12px 14px 12px 16px;
  border: 1px solid rgba(var(--bb-cyan-rgb), var(--bb-line-soft));
  border-radius: var(--bb-radius-panel);
  background: var(--bb-surface-menu);
  box-shadow: var(--bb-shadow-soft), var(--bb-glow-rest-cyan);
  color: var(--bb-text-secondary);
  font-family: var(--bb-font-family);
  transition: opacity var(--bb-ease-smooth), transform var(--bb-ease-smooth);
}

/* Появление и уход — одним и тем же движением снизу. */
.bb-consent[hidden] { display: none; }
.bb-consent[data-state="entering"] { opacity: 0; transform: translateY(10px); }
.bb-consent[data-state="leaving"] { opacity: 0; transform: translateY(10px); pointer-events: none; }

.bb-consent__text {
  margin: 0;
  font-size: 12px;
  font-weight: var(--bb-weight-body);
  line-height: 1.5;
  text-wrap: pretty;
}

.bb-consent__text a {
  color: var(--bb-text-secondary);
  text-decoration: none;
  border-bottom: 1px solid rgba(var(--bb-white-rgb), var(--bb-line-hint));
  transition: border-color var(--bb-ease-state);
}
.bb-consent__text a:hover { color: var(--bb-text-primary); border-bottom-color: currentColor; }

.bb-consent__actions {
  display: flex;
  flex: none;
  gap: 8px;
}

.bb-consent__action {
  min-height: 40px;
  min-width: 108px;
  padding: 0 14px;
  border: 1px solid rgba(var(--bb-white-rgb), var(--bb-line-neutral));
  border-radius: var(--bb-radius-pill);
  background: var(--bb-surface-none);
  color: var(--bb-text-primary);
  font: var(--bb-weight-medium) 12px var(--bb-font-family);
  white-space: nowrap;
  cursor: pointer;
  transition: color var(--bb-ease-state), border-color var(--bb-ease-state), box-shadow var(--bb-ease-state);
}
.bb-consent__action:hover {
  border-color: rgba(var(--bb-white-rgb), var(--bb-line-neutral-hover));
  color: var(--bb-text-primary);
}
.bb-consent__action:focus-visible {
  outline: none;
  border-color: var(--bb-cyan);
  box-shadow: var(--bb-glow-cyan);
}

/* Согласие — действие бренда; отказ остаётся равноправным, но тихим. */
.bb-consent__action--accept {
  border-color: rgba(var(--bb-orange-rgb), var(--bb-line-strong));
  color: var(--bb-orange);
}
.bb-consent__action--accept:hover {
  border-color: var(--bb-orange);
  box-shadow: var(--bb-glow-emphasis-orange);
}

/* ── Телефон ─────────────────────────────────────────────────────────────── */

@media (max-width: 699px) {
  .bb-consent {
    right: 12px;
    bottom: calc(12px + env(safe-area-inset-bottom, 0px));
    left: 12px;
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
    max-width: none;
    padding: 13px 14px;
  }
  .bb-consent__text { font-size: 11.5px; }
  .bb-consent__actions { justify-content: flex-end; }
  .bb-consent__action { min-height: 44px; flex: 1; }
}

.bb-privacy-settings { margin: 24px 0; padding: 20px; border: 1px solid rgba(var(--bb-white-rgb), var(--bb-line-neutral)); border-radius: var(--bb-radius-panel); }
.bb-privacy-settings[hidden], .bb-privacy-status [hidden] { display: none; }
.bb-privacy-settings .bb-consent__actions { flex-wrap: wrap; margin: 12px 0; }
.bb-privacy-status { color: var(--bb-text-secondary); }

/* Стрелка маршрута уходит выше ровно на высоту просьбы, пока та на экране. */
body[data-consent-open] .cinema-cue,
body[data-consent-open] .cinema-start { bottom: calc(22px + var(--bb-consent-lift, 0px)); }

@media (prefers-reduced-motion: reduce) {
  .bb-consent { transition: none; }
}
