body { padding-bottom: var(--consent-space, 0px); }
#analytics-consent[hidden] { display: none; }
#analytics-consent {
  position: fixed; z-index: 20; left: max(12px, env(safe-area-inset-left));
  right: max(12px, env(safe-area-inset-right)); bottom: max(12px, env(safe-area-inset-bottom));
  width: auto; max-width: 42rem; margin-inline: auto; box-sizing: border-box;
  display: flex; gap: 16px; align-items: center; padding: 16px 42px 16px 18px;
  color: #f1f3f6; background: #17212c; border: 1px solid #405062; border-radius: 12px;
  box-shadow: 0 3px 18px #0004; font-size: .875rem; line-height: 1.5;
  max-height: 45svh; overflow-y: auto; overscroll-behavior: contain;
}
.consent-copy { flex: 1; min-width: 0; }
.consent-copy p { margin: 4px 0; }
.consent-copy a { color: #b7dcf9; text-decoration: underline; }
.consent-copy small:empty { display: none; }
.consent-copy small { color: #b9c3cf; }
.consent-actions { display: flex; gap: 8px; flex-wrap: wrap; }
#analytics-consent button { font: inherit; cursor: pointer; color: #eef4fa; background: #243545; border: 1px solid #688097; border-radius: 6px; min-height: 44px; padding: 8px 14px; white-space: nowrap; }
#analytics-consent button:hover { background: #34495c; }
#analytics-consent button:focus-visible { outline: 3px solid #b7dcf9; outline-offset: 3px; }
#analytics-consent .consent-close { position: absolute; top: 4px; right: 4px; min-width: 36px; min-height: 36px; padding: 0; border: 0; background: transparent; font-size: 1.25rem; }
@media (max-width: 600px) {
  #analytics-consent { flex-direction: column; align-items: stretch; gap: 10px; padding: 12px 36px 12px 14px; }
  .consent-actions button { flex: 1; }
}
