.analytics-consent {
  position: fixed;
  z-index: 100;
  right: max(16px, env(safe-area-inset-right));
  bottom: max(16px, env(safe-area-inset-bottom));
  left: max(16px, env(safe-area-inset-left));
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  max-width: 960px;
  margin: 0 auto;
  padding: 12px 16px;
  border: 1px solid #b8d3e2;
  border-radius: 4px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(17, 52, 78, .18);
  color: #17364a;
  font: 14px/1.45 Arial, sans-serif;
}

.analytics-consent[hidden],
[data-analytics-preferences][hidden] { display: none; }

.analytics-consent p { margin: 0; }
.analytics-consent a { color: #0878b0; }
.analytics-consent__actions { display: flex; flex: 0 0 auto; flex-wrap: wrap; gap: 8px; }
.analytics-consent button,
[data-analytics-preferences] {
  min-height: 44px;
  padding: 8px 14px;
  border: 1px solid #0878b0;
  border-radius: 3px;
  background: #0878b0;
  color: #fff;
  font: 700 13px Arial, sans-serif;
  cursor: pointer;
}

.analytics-consent [data-analytics-reject] {
  background: #fff;
  color: #17618a;
}

.analytics-consent button:focus-visible,
[data-analytics-preferences]:focus-visible {
  outline: 2px solid #0b5f8a;
  outline-offset: 2px;
}

@media (hover: hover) {
  .analytics-consent button:hover,
  [data-analytics-preferences]:hover { background: #075f8c; }
  .analytics-consent [data-analytics-reject]:hover { background: #e8f3f8; }
}

.analytics-consent button:active,
[data-analytics-preferences]:active { transform: scale(.97); }

@media (max-width: 640px) {
  .analytics-consent { align-items: stretch; flex-direction: column; }
  .analytics-consent__actions > * { flex: 1 1 auto; }
}
