.analytics-consent {
  position: fixed;
  z-index: 2000;
  inset-inline-start: 1.25rem;
  inset-block-end: 1.25rem;
  width: min(38rem, calc(100% - 2.5rem));
  box-sizing: border-box;
  padding: clamp(1.1rem, 3vw, 1.65rem);
  border: 1px solid #b7b7a7;
  border-radius: 16px;
  background: #fbf8f0;
  color: #173d3e;
  box-shadow: 0 10px 40px #173d3e26;
  font-family: inherit;
  text-align: start;
  line-height: 1.8;
  max-height: calc(100dvh - 2.5rem);
  overflow-y: auto;
}
.analytics-consent[hidden], .analytics-consent [hidden] { display: none !important; }
.analytics-consent h2 { font-size: 1.25rem; line-height: 1.7; font-weight: 750; margin: 0 0 .45rem; color: #173d3e; }
.analytics-consent p { font-size: .92rem; margin: 0; line-height: 1.9; color: #475e59; }
.analytics-consent .analytics-consent-status { font-size: .84rem; margin-top: .6rem; }
.analytics-consent-actions { display: grid; grid-template-columns: 1fr 1fr; gap: .7rem; margin: 1rem 0 .75rem; }
.analytics-consent-actions:has([data-marketing-accept]) { grid-template-columns: 1fr; }
.analytics-consent-choice {
  font: inherit;
  font-size: .94rem;
  line-height: 1.6;
  font-weight: 700;
  cursor: pointer;
  min-height: 46px;
  padding: .7rem .8rem;
  border: 1px solid #173d3e;
  border-radius: 6px;
  background: #173d3e;
  color: #fff9ec;
  text-align: center;
}
.analytics-consent-choice:hover { background: #284f4d; }
.analytics-consent-choice:disabled { opacity: .45; cursor: not-allowed; }
.analytics-consent-privacy, .analytics-consent-close, .analytics-settings {
  font: inherit;
  font-size: .85rem;
  color: inherit;
  border: 0;
  background: transparent;
  padding: .25rem 0;
  text-decoration: underline;
  text-underline-offset: 4px;
  cursor: pointer;
}
.analytics-consent-close { margin-inline-start: 1.3rem; }
.analytics-consent :focus-visible, .analytics-settings:focus-visible { outline: 3px solid #a07b3e; outline-offset: 4px; }
.analytics-consent:focus { outline: 2px solid #a07b3e; outline-offset: 3px; }
.analytics-settings { white-space: nowrap; }
@media (max-width: 480px) {
  .analytics-consent { inset-inline-start: .75rem; inset-block-end: .75rem; width: calc(100% - 1.5rem); max-height: calc(100dvh - 1.5rem); border-radius: 12px; }
  .analytics-consent-actions { gap: .55rem; }
  .analytics-consent-choice { font-size: .84rem; padding-inline: .35rem; }
}
