.partner-consent-layer {
  position: fixed;
  inset: 0;
  z-index: 120;
  display: grid;
  place-items: center;
  padding: 24px;
}

.partner-consent-layer[hidden] {
  display: none !important;
}

.partner-consent-backdrop {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
  background: rgba(24, 19, 37, 0.5);
  backdrop-filter: blur(10px);
}

.partner-consent-sheet {
  position: relative;
  width: min(480px, calc(100vw - 40px));
  max-height: calc(100vh - 48px);
  overflow: auto;
  padding: 32px;
  border: 1px solid rgba(91, 71, 126, 0.15);
  border-radius: 8px;
  background: #fbf9f6;
  color: #29243a;
  box-shadow: 0 30px 80px rgba(24, 17, 39, 0.26);
}

.partner-consent-mark {
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  margin-bottom: 20px;
  border-radius: 50%;
  color: #5e4b84;
  background: #efebf5;
}

.partner-consent-mark svg {
  width: 23px;
  height: 23px;
}

.partner-consent-eyebrow {
  margin: 0 0 7px;
  color: #79659a;
  font-size: 13px;
  font-weight: 650;
}

.partner-consent-sheet h2 {
  margin: 0;
  color: #262035;
  font-size: 27px;
  font-weight: 680;
  line-height: 1.35;
  letter-spacing: 0;
}

.partner-consent-sheet > p:not(.partner-consent-eyebrow):not(.partner-consent-footnote) {
  margin: 13px 0 0;
  color: #5f5869;
  font-size: 15px;
  line-height: 1.75;
}

.partner-consent-promises {
  display: grid;
  gap: 12px;
  margin: 22px 0;
  padding: 17px 0;
  border-top: 1px solid #e8e3eb;
  border-bottom: 1px solid #e8e3eb;
  list-style: none;
}

.partner-consent-promises li {
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr);
  gap: 10px;
  color: #544d5d;
  font-size: 14px;
  line-height: 1.55;
}

.partner-consent-promises svg {
  width: 18px;
  height: 18px;
  margin-top: 2px;
  color: #6b5a90;
}

.partner-consent-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

.partner-consent-actions button {
  min-height: 48px;
  font-size: 14px;
}

.partner-consent-footnote {
  margin: 14px 4px 0;
  color: #8b8390;
  font-size: 12px;
  line-height: 1.55;
  text-align: center;
}

.partner-preference-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 8px;
  padding: 4px 0;
  border: 0;
  background: transparent;
  color: #746487;
  font: inherit;
  font-size: 12px;
  cursor: pointer;
}

.partner-preference-link svg {
  width: 14px;
  height: 14px;
}

@media (prefers-reduced-motion: no-preference) {
  .partner-consent-sheet {
    animation: partner-dialog-in 200ms ease-out both;
  }

  @keyframes partner-dialog-in {
    from {
      opacity: 0;
      transform: translateY(8px);
    }
    to {
      opacity: 1;
      transform: translateY(0);
    }
  }
}
