.analytics-consent {
  position: fixed;
  z-index: 100;
  inset: auto 20px calc(20px + env(safe-area-inset-bottom, 0px)) auto;
  width: min(460px, calc(100% - 40px));
  max-height: calc(100dvh - 40px);
  overflow: auto;
  padding: 24px;
  border-radius: var(--sky-radius-group);
  background: var(--sky-surface);
  color: var(--sky-ink);
  box-shadow: var(--sky-shadow-card);
  font-family: var(--sky-font-sans);
}
.analytics-consent[hidden], .analytics-consent [hidden] { display: none; }
.analytics-consent h2 { margin: 0 0 10px; font: 400 26px/1.2 var(--sky-font-serif); letter-spacing: -.025em; }
.analytics-consent p { margin: 0 0 18px; color: var(--sky-secondary); font-size: 14px; line-height: 1.6; }
.analytics-consent a { color: var(--sky-primary); text-decoration: underline; text-underline-offset: 3px; }
.analytics-consent-actions { display: flex; gap: 12px; }
.analytics-consent-actions .sky-button { flex: 1; min-width: 0; min-height: var(--sky-size-button-small); }
.analytics-consent-close { display: block; margin: 14px auto 0; min-height: var(--sky-size-text-button); }
.analytics-consent-close, .analytics-choice {
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.site-legal .analytics-choice { min-height: var(--sky-size-text-button); padding: 4px 0; text-decoration: none; }
.analytics-choice:hover, .analytics-choice:focus-visible { color: var(--sky-ink); text-decoration: underline; }
.analytics-consent button:focus-visible, .analytics-choice:focus-visible { outline: 2px solid var(--sky-primary); outline-offset: 4px; }
@media (max-width: 480px) {
  .analytics-consent { right: 12px; bottom: calc(12px + env(safe-area-inset-bottom, 0px)); width: calc(100% - 24px); padding: 20px; }
}
