/* Баннер согласия на cookie и ссылка «Настройки cookie» в подвале. Подключается на главной и на юридических страницах. */
/* ===== Cookie: компактная карточка в левом нижнем углу, как у Т-Банка; на телефоне — во всю ширину ===== */
.cookie-card {
  position: fixed; left: 16px; bottom: 16px; z-index: 9000;
  width: min(320px, calc(100vw - 32px)); max-height: calc(100dvh - 32px); overflow: auto;
  box-sizing: border-box;
  padding: 12px 14px; border-radius: 18px;
  background: var(--panel-solid, #fff); color: var(--ink);
  border: 1px solid var(--line);
  box-shadow: 0 10px 28px rgba(16, 32, 51, 0.16);
  font-size: 13px; line-height: 1.4;
  display: grid; grid-template-columns: minmax(0, 1fr); align-items: stretch; gap: 10px;
  animation: cookie-in 0.22s ease-out;
}
.cookie-card.is-open { width: min(400px, calc(100vw - 32px)); font-size: 14px; padding: 14px 16px; gap: 12px; }
.cookie-card[hidden] { display: none; }
@keyframes cookie-in { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .cookie-card { animation: none; } }
.cookie-text { margin: 0; color: var(--muted); }
.cookie-text a, .cookie-more a { color: var(--accent); font-weight: 600; text-decoration: underline; text-underline-offset: 2px; }
.cookie-prefs { display: grid; gap: 8px; }
.cookie-prefs fieldset { margin: 0; padding: 0; border: 0; display: grid; gap: 8px; }
.cookie-sub { padding: 0; margin-bottom: 2px; font-weight: 700; font-size: 0.9rem; color: var(--ink); }
.cookie-more { margin: 0; font-size: 0.8rem; color: var(--muted); }
.cookie-cat {
  display: flex; align-items: flex-start; justify-content: space-between; gap: 12px;
  margin: 0; padding: 9px 11px; border-radius: 12px; border: 1px solid var(--line); cursor: pointer;
  background: color-mix(in srgb, var(--accent) 5%, transparent); color: var(--ink);
}
.cookie-cat.is-locked { cursor: default; }
.cookie-cat-text { display: grid; gap: 2px; }
.cookie-cat-text small { color: var(--muted); font-size: 0.8rem; line-height: 1.4; }
.cookie-badge { margin-left: 6px; padding: 1px 7px; border-radius: 999px; font-style: normal; font-weight: 600; font-size: 0.72rem; background: color-mix(in srgb, var(--accent) 16%, transparent); color: var(--ink); white-space: nowrap; }
.cookie-switch { position: relative; flex: 0 0 auto; width: 42px; height: 24px; margin-top: 2px; }
.cookie-switch input { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; padding: 0; opacity: 0; cursor: pointer; z-index: 1; }
.cookie-switch input:disabled { cursor: not-allowed; }
.cookie-switch i {
  position: absolute; inset: 0; border-radius: 999px; background: color-mix(in srgb, var(--muted) 45%, transparent);
  transition: background 0.15s;
}
.cookie-switch i::after {
  content: ''; position: absolute; top: 3px; left: 3px; width: 18px; height: 18px; border-radius: 50%;
  background: #fff; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3); transition: transform 0.15s;
}
.cookie-switch input:checked + i { background: var(--accent); }
.cookie-switch input:checked + i::after { transform: translateX(18px); }
.cookie-switch input:disabled + i { opacity: 0.6; }
.cookie-switch input:focus-visible + i { outline: 2px solid var(--accent); outline-offset: 2px; }
.cookie-actions { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 8px; align-items: center; }
.cookie-actions .cookie-btn-primary,
.cookie-actions .cookie-btn-secondary { width: 100%; }
.cookie-btn {
  width: auto; margin: 0; min-height: 32px; padding: 5px 10px; border-radius: 10px; box-sizing: border-box;
  font: inherit; font-weight: 600; font-size: 0.78rem; cursor: pointer; white-space: nowrap; box-shadow: none;
}
/* «Принять» — основная (заливка), «Отклонить» — того же размера, контур: отказ не спрятан. */
.cookie-btn-primary { border: 2px solid var(--accent); color: #fff; background: var(--accent); }
.cookie-btn-secondary { border: 2px solid color-mix(in srgb, var(--accent) 60%, var(--line)); color: var(--ink); background: transparent; }
.cookie-btn-primary:hover { filter: brightness(1.08); }
.cookie-btn-secondary:hover { background: color-mix(in srgb, var(--accent) 8%, transparent); }
.cookie-btn-link {
  display: inline; margin: 0 0 0 0.35em; padding: 0; min-height: 0; line-height: inherit;
  background: none; border: 0; color: var(--ink); font-weight: 600; font-size: inherit;
  text-decoration: underline; text-underline-offset: 3px; white-space: nowrap; cursor: pointer; vertical-align: baseline;
}
.cookie-btn:focus-visible { outline: 3px solid color-mix(in srgb, var(--accent) 55%, transparent); outline-offset: 2px; }
.cookie-btn[hidden] { display: none; }
/* Открыто окно (вход в игру, регистрация) — карточка уходит под него. */
body:has(.modal:not([hidden])) .cookie-card { z-index: 10; }
.site-footer .cookie-settings-link { background: none; border: 0; padding: 0; margin: 0; width: auto; color: inherit; font: inherit; text-decoration: underline; text-underline-offset: 2px; cursor: pointer; opacity: 0.85; }
@media (max-width: 560px) {
  .cookie-card, .cookie-card.is-open { left: 8px; right: 8px; bottom: max(8px, env(safe-area-inset-bottom)); width: auto; padding: 10px 12px; border-radius: 16px; font-size: 13px; gap: 8px; }
  .cookie-actions, .cookie-card.is-open .cookie-actions { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .cookie-btn { min-width: 0; padding-left: 8px; padding-right: 8px; font-size: 0.78rem; }
}

.lg-foot a,
.lg-foot .cookie-settings-link { color: var(--accent, var(--lg-accent, #5b4bff)); }
.lg-foot .cookie-settings-link {
  background: none; border: 0; padding: 0; margin: 0; width: auto;
  font: inherit; text-decoration: underline;
  text-underline-offset: 2px; cursor: pointer;
}
