#analytics-preferences {
  position: fixed;
  left: 50%;
  bottom: max(.75rem, env(safe-area-inset-bottom));
  z-index: 10000;
  width: min(60rem, calc(100% - 2rem));
  box-sizing: border-box;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 1rem;
  padding: .75rem 1rem;
  border: 1px solid rgba(41, 53, 92, .16);
  border-radius: 1rem;
  background: rgba(255, 255, 255, .97);
  color: #161d35;
  box-shadow: 0 12px 32px rgba(19, 29, 62, .16);
  transform: translateX(-50%);
  backdrop-filter: blur(12px);
  font: 500 .875rem/1.4 "Plus Jakarta Sans", system-ui, sans-serif;
  animation: analytics-consent-enter 180ms ease-out;
}

#analytics-preferences[hidden] { display: none !important; }
#analytics-preferences .analytics-consent__copy { min-width: 0; }
#analytics-preferences h2 { display: inline; margin: 0; font-size: .9rem; font-weight: 750; }
#analytics-preferences p { display: inline; margin: 0 0 0 .35rem; color: #5b647a; }
#analytics-preferences .analytics-consent__actions { display: flex; align-items: center; gap: .5rem; white-space: nowrap; }
#analytics-preferences .analytics-consent__button {
  min-height: 2.75rem;
  padding: 0 .95rem;
  border: 1px solid #294a9b;
  border-radius: .75rem;
  cursor: pointer;
  font: 700 .875rem/1 "Plus Jakarta Sans", system-ui, sans-serif;
}
#analytics-preferences .analytics-consent__button--accept { background: #214fa6; color: #fff; }
#analytics-preferences .analytics-consent__button--reject { background: #fff; color: #24345d; }
#analytics-preferences .analytics-consent__button:hover { filter: brightness(.95); }
#analytics-preferences .analytics-consent__privacy {
  min-height: 2.75rem;
  display: inline-flex;
  align-items: center;
  padding: 0 .25rem;
  color: #24345d;
  font-weight: 650;
  text-decoration: underline;
  text-underline-offset: .2em;
}
#analytics-preferences :is(button, a):focus-visible,
.analytics-preferences-link:focus-visible { outline: 3px solid #3568d4; outline-offset: 3px; }
.analytics-preferences-link { color: inherit; font-weight: 650; text-decoration: underline; text-underline-offset: .2em; }

@keyframes analytics-consent-enter {
  from { opacity: 0; transform: translate(-50%, .5rem); }
  to { opacity: 1; transform: translate(-50%, 0); }
}

@media (max-width: 700px) {
  #analytics-preferences {
    width: calc(100% - 1.5rem);
    grid-template-columns: 1fr;
    gap: .65rem;
    padding: .75rem;
    font-size: .8125rem;
  }
  #analytics-preferences h2,
  #analytics-preferences p { display: block; }
  #analytics-preferences p { margin: .2rem 0 0; }
  #analytics-preferences .analytics-consent__actions { display: grid; grid-template-columns: 1fr 1fr auto; }
  #analytics-preferences .analytics-consent__button { width: 100%; }
}

@media (max-width: 380px) {
  #analytics-preferences .analytics-consent__actions { grid-template-columns: 1fr 1fr; }
  #analytics-preferences .analytics-consent__privacy { grid-column: 1 / -1; justify-self: center; min-height: 2rem; }
}

@media (prefers-reduced-motion: reduce) {
  #analytics-preferences { animation: none; }
}
