/* The panel reserves matching space in the document; controls remain reachable
   on short screens, with equally styled accept and decline actions. */
body { padding-bottom: var(--analytics-consent-space, 0px); }
.analytics-consent-panel {
  position: fixed;
  z-index: 100;
  inset-inline: 16px;
  bottom: max(12px, env(safe-area-inset-bottom));
  width: min(1000px, calc(100% - 32px));
  margin-inline: auto;
  display: grid;
  grid-template-columns: minmax(0, 1.8fr) minmax(260px, 1fr);
  gap: 16px 24px;
  align-items: center;
  max-height: min(360px, 50dvh);
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 20px 24px;
  border: 1px solid var(--line, #52606b);
  border-radius: 12px;
  color: var(--text, #152b38);
  background: var(--surface, #f5f4ee);
  box-shadow: 0 8px 40px #00101e33;
}
.analytics-consent-panel[hidden] { display: none; }
.analytics-consent-title { margin: 0 0 8px; font-size: 17px; line-height: 1.3; letter-spacing: 0; }
.analytics-consent-copy { margin: 0; font-size: 12px; line-height: 1.65; }
.analytics-consent-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.analytics-choice { width: 100%; min-height: 46px; padding: 12px; font-size: 12px; white-space: normal; }
.analytics-consent-actions .text-link { grid-column: 1 / -1; justify-self: center; min-height: 30px; text-decoration: underline; }
.analytics-consent-panel [role="status"] { grid-column: 1 / -1; font-size: 12px; line-height: 1.5; }
.analytics-consent-panel [role="status"]:empty { display: none; }
.analytics-preferences { padding: 8px 4px; min-height: 44px; border: 0; background: transparent; color: inherit; font: inherit; text-decoration: underline; text-underline-offset: 3px; }
.analytics-choice:focus-visible, .analytics-preferences:focus-visible, .analytics-consent-actions a:focus-visible {
  outline: 3px solid var(--accent-text, #735417);
  outline-offset: 3px;
}
@media (max-width: 700px) {
  .analytics-consent-panel { grid-template-columns: minmax(0, 1fr); gap: 14px; padding: 16px; max-height: 50dvh; }
  .analytics-consent-copy { font-size: 12px; }
  .analytics-consent-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (prefers-reduced-motion: reduce) {
  .analytics-choice { transition: none; }
  .analytics-choice:hover { transform: none; }
}
