.analytics-consent,
.analytics-choices {
  font-family: "Open Sans", sans-serif;
}
.analytics-consent {
  position: fixed;
  z-index: 1900;
  right: 20px;
  bottom: 20px;
  width: min(460px, calc(100vw - 40px));
  padding: 22px;
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 20px;
  background: #071b2f;
  color: #fff;
  box-shadow: 0 20px 55px rgba(1,28,57,.3);
}
.analytics-consent h2 { margin: 0 0 7px; font: 800 1.15rem/1.25 "Nunito Sans", sans-serif; }
.analytics-consent p { margin: 0; color: rgba(255,255,255,.78); font-size: .88rem; line-height: 1.55; }
.analytics-consent__actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 17px; }
.analytics-consent button,
.analytics-choices {
  min-height: 44px;
  padding: 10px 17px;
  border: 1px solid rgba(255,255,255,.48);
  border-radius: 999px;
  font: 700 .86rem/1.2 "Open Sans", sans-serif;
  cursor: pointer;
}
.analytics-consent__accept { border-color: transparent !important; background: linear-gradient(135deg,#2260ff,#00b6f0); color: #fff; }
.analytics-consent__decline { background: transparent; color: #fff; }
.analytics-choices {
  position: fixed;
  z-index: 900;
  bottom: 12px;
  left: 12px;
  min-height: 36px;
  padding: 7px 12px;
  border-color: #b8c8d4;
  background: #fff;
  color: #0d537c;
  font-size: .75rem;
  box-shadow: 0 6px 18px rgba(1,28,57,.12);
}
.analytics-consent button:focus-visible,
.analytics-choices:focus-visible { outline: 3px solid #25a3ed; outline-offset: 3px; }
@media (max-width:600px) {
  .analytics-consent { right: 12px; bottom: 12px; width: calc(100vw - 24px); padding: 18px; }
  .analytics-consent__actions button { flex: 1 1 145px; }
}
@media (prefers-reduced-motion:reduce) {
  .analytics-consent *, .analytics-choices { transition: none !important; }
}
