.analytics-consent-manage {
  min-height: 44px;
  padding: 8px 12px;
  border: 1px solid currentColor;
  border-radius: 999px;
  background: transparent;
  color: inherit;
  font: inherit;
  cursor: pointer;
}

.analytics-consent-banner {
  position: fixed;
  z-index: 1000;
  inset: auto 16px 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  max-width: 760px;
  margin-inline: auto;
  padding: 16px 18px;
  border: 1px solid #5f6a4d;
  border-radius: 18px;
  background: #fffdf9;
  color: #252c22;
  box-shadow: 0 14px 42px rgb(29 35 24 / 22%);
  font: 500 15px/1.5 system-ui, sans-serif;
}

.analytics-consent-banner p { margin: 0; }
.analytics-consent-actions,
.analytics-consent-dialog__actions { display: flex; flex-wrap: wrap; gap: 8px; }
.analytics-consent-primary,
.analytics-consent-secondary,
.analytics-consent-close {
  min-height: 44px;
  padding: 9px 14px;
  border: 1px solid #47523b;
  border-radius: 999px;
  font: 600 14px/1.2 system-ui, sans-serif;
  cursor: pointer;
}
.analytics-consent-primary { background: #47523b; color: #fff; }
.analytics-consent-secondary,
.analytics-consent-close { background: transparent; color: #30382a; }

.analytics-consent-overlay {
  position: fixed;
  z-index: 1001;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 20px;
  background: rgb(18 22 17 / 58%);
}

.analytics-consent-dialog {
  width: min(100%, 520px);
  max-height: min(90vh, 720px);
  overflow: auto;
  padding: 24px;
  border: 1px solid #d7d2c8;
  border-radius: 22px;
  background: #fffdf9;
  color: #252c22;
  box-shadow: 0 20px 60px rgb(0 0 0 / 28%);
  font: 500 15px/1.5 system-ui, sans-serif;
}
.analytics-consent-dialog p { margin: 12px 0 18px; }
.analytics-consent-dialog__heading { display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.analytics-consent-dialog__heading h2 { margin: 0; font: 600 23px/1.2 system-ui, sans-serif; }
.analytics-consent-close { width: 44px; padding: 0; border-radius: 50%; font-size: 25px; }
.analytics-consent-toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 16px 0;
  border-top: 1px solid #dedbd2;
  cursor: pointer;
}
.analytics-consent-toggle__copy { display: grid; gap: 3px; }
.analytics-consent-toggle__copy strong { font-size: 16px; }
.analytics-consent-toggle__copy span { color: #565d51; }
.analytics-consent-toggle input { width: 24px; height: 24px; accent-color: #47523b; flex: 0 0 auto; }
.analytics-consent-notice { padding: 12px; border-radius: 10px; background: #f2efe7; }
.analytics-consent-dialog__actions { justify-content: flex-end; margin-top: 16px; }
.analytics-consent-manage:focus-visible,
.analytics-consent-primary:focus-visible,
.analytics-consent-secondary:focus-visible,
.analytics-consent-close:focus-visible,
.analytics-consent-toggle input:focus-visible { outline: 3px solid #9f5738; outline-offset: 3px; }

@media (max-width: 580px) {
  .analytics-consent-banner { inset-inline: 10px; bottom: 10px; display: grid; gap: 12px; padding: 14px; }
  .analytics-consent-actions { justify-content: flex-end; }
  .analytics-consent-dialog { padding: 20px; }
}

@media (prefers-reduced-motion: reduce) {
  .analytics-consent-banner,
  .analytics-consent-overlay,
  .analytics-consent-dialog { scroll-behavior: auto; }
}
