.analytics-consent[hidden], #analytics-settings[hidden] { display: none; }
.analytics-consent {
  position: fixed; inset: auto 20px 20px; z-index: 1000;
  max-width: 760px; margin-inline: auto; padding: 20px 24px;
  color: #fff; background: #261039; border: 1px solid #9670a6;
  border-radius: 12px; box-shadow: 0 6px 28px #0007;
  font: 14px/1.5 Montserrat, sans-serif;
  max-height: calc(100dvh - 40px); overflow: auto;
}
.analytics-consent h2 { margin: 0 0 8px; font-size: 19px; }
.analytics-consent p { margin: 0 0 14px; }
.analytics-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.analytics-actions button {
  flex: 1 1 180px; padding: 11px 18px; min-height: 44px;
  font: inherit; font-weight: 700; color: #fff; background: #483359;
  border: 1px solid #b69bc5; border-radius: 7px; cursor: pointer;
}
.analytics-actions button:hover { background: #604574; }
#analytics-reject {
  background: transparent; border-color: transparent;
  text-decoration: underline; text-underline-offset: 4px;
  text-decoration-thickness: 1px;
}
#analytics-reject:hover { background: transparent; text-decoration-thickness: 2px; }
.analytics-actions button:focus-visible, #analytics-settings:focus-visible { outline: 3px solid #00cce8; outline-offset: 3px; }
#analytics-settings { font: inherit; color: inherit; background: none; border: 0; padding: 0; text-decoration: underline; cursor: pointer; }
@media (max-width: 600px) {
  .analytics-consent { inset: auto 12px 12px; padding: 16px; font-size: 13px; }
  .analytics-actions { gap: 8px; }
  .analytics-actions button { flex-basis: 100px; }
}
