.analytics-consent[hidden] { display: none; }
.analytics-consent {
  position: fixed;
  z-index: 1000;
  inset: auto 24px 24px auto;
  width: min(520px, calc(100% - 48px));
  max-height: calc(100vh - 48px);
  max-height: calc(100dvh - 48px);
  overflow: auto;
  padding: 22px;
  color: #162b35;
  background: #fff;
  border: 1px solid #b7c6cb;
  border-radius: 8px;
  box-shadow: 0 6px 28px #162b3526;
  font-size: 13px;
  line-height: 1.8;
}
.analytics-consent strong { display: block; font-size: 14px; font-weight: 600; }
.analytics-consent p { margin: 6px 0; }
.analytics-consent a { color: #294f60; text-decoration: underline; text-underline-offset: 3px; }
.analytics-consent-actions { display: flex; gap: 10px; margin-top: 16px; }
.analytics-consent-actions button {
  flex: 1;
  min-height: 44px;
  padding: 9px 12px;
  border: 1px solid #536e7b;
  border-radius: 4px;
  color: #213d4a;
  background: #fff;
  font: inherit;
  font-weight: 500;
  cursor: pointer;
}
.analytics-consent-actions button:hover { background: #edf3f5; }
.analytics-consent-actions button:disabled { opacity: .55; cursor: default; }
.analytics-consent :is(button, a):focus-visible { outline: 3px solid #33758f; outline-offset: 3px; }
@media (max-width: 600px) {
  .analytics-consent {
    inset: auto 12px 12px;
    width: auto;
    max-height: calc(100vh - 24px);
    max-height: calc(100dvh - 24px);
    padding: 18px;
  }
}
