.privacy-consent {
  position: fixed;
  right: clamp(16px, 3vw, 36px);
  bottom: clamp(16px, 3vw, 30px);
  left: clamp(16px, 3vw, 36px);
  z-index: 90;
  width: min(920px, calc(100vw - clamp(32px, 6vw, 72px)));
  margin-inline: auto;
  padding: clamp(18px, 2.2vw, 26px);
  border: 1px solid var(--ui-border);
  border-radius: 16px;
  background: var(--ui-surface-floating);
  color: var(--ui-value-primary);
}

.privacy-consent[hidden],
.privacy-consent__details[hidden] { display: none; }

.privacy-consent__close {
  position: absolute;
  top: var(--space-8);
  inset-inline-end: var(--space-8);
  z-index: 1;
  color: var(--ui-value-muted);
  font-size: var(--ui-font-size-action-glyph);
  line-height: var(--ui-line-height-solid);
}

.privacy-consent__close:hover,
.privacy-consent__close:focus-visible { color: var(--ui-value-primary); }

.privacy-consent:has(.privacy-consent__close:not([hidden])) .privacy-consent__copy {
  padding-inline-end: calc(var(--ui-icon-button-size) + var(--space-5));
}

.privacy-consent__summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: clamp(18px, 3vw, 34px);
  align-items: center;
}

.privacy-consent h2,
.privacy-consent h3 { margin: 0; color: var(--ui-value-primary); }
.privacy-consent h2 { font-size: var(--ui-font-size-dialog-title-sm); }
.privacy-consent h3 { font-size: var(--ui-font-size-body-sm); }
.privacy-consent p {
  margin: 7px 0 0;
  color: var(--ui-text-body-secondary);
  font-size: var(--ui-font-size-body-sm);
  line-height: var(--ui-line-height-prose);
}

.privacy-consent__actions { display: flex; gap: var(--space-5); }
.privacy-consent__button {
  min-height: 38px;
  padding: 7px 16px;
  border: 0;
  border-radius: var(--ui-radius-field);
  background: var(--ui-control-bg);
  color: var(--ui-value-primary);
  white-space: nowrap;
}
.privacy-consent__button:hover,
.privacy-consent__button:focus-visible {
  background: color-mix(in srgb, var(--ui-accent) 12%, var(--ui-control-bg));
  color: var(--ui-value-primary);
}
.privacy-consent__button[aria-pressed="true"] {
  background: var(--ui-accent);
  color: var(--ui-text-on-accent);
}

.privacy-consent__details-toggle {
  margin-top: var(--space-5);
  padding-inline: 0;
  color: var(--ui-value-primary);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.privacy-consent__details {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(18px, 3vw, 34px);
  margin-top: var(--space-8);
  padding-top: var(--space-8);
  border-top: 1px solid var(--ui-border);
}
.privacy-consent__category-heading {
  display: flex;
  gap: var(--space-5);
  align-items: baseline;
  justify-content: space-between;
}
.privacy-consent__category-heading span,
.privacy-consent__change-note {
  color: var(--ui-value-muted);
  font-size: var(--ui-font-size-micro);
}
.privacy-consent__change-note { grid-column: 1 / -1; margin-top: 0; }

@media (max-width: 720px) {
  .privacy-consent__summary,
  .privacy-consent__details { grid-template-columns: 1fr; }
  .privacy-consent__actions { width: 100%; }
  .privacy-consent__button { flex: 1; }
}
