.consent-container-modal {
  display: flex;
  align-items: center;
  justify-content: center;
  position: fixed;
  inset: 0;
  z-index: 9999;
  padding: var(--wp--preset--spacing--30);
  background: rgba(0, 0, 0, 0.55);
}
.consent-container-modal[hidden] {
  display: none;
}

.consent-form {
  max-inline-size: 28rem;
  padding: var(--wp--preset--spacing--40);
  background: var(--wp--preset--color--white);
  color: var(--wp--preset--color--plum);
  font-family: var(--wp--preset--font-family--gamay);
  border-radius: 0.5rem;
  box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.25);
}
.consent-form p {
  margin: 0;
  margin-block-start: var(--wp--preset--spacing--20);
  line-height: 1.5;
}

.consent-heading {
  font-family: var(--wp--preset--font-family--gamay-editorial);
  font-size: var(--wp--preset--font-size--large);
  text-transform: uppercase;
  color: var(--wp--preset--color--plum);
}

.consent-actions {
  display: flex;
  gap: var(--wp--preset--spacing--20);
  margin-block-start: var(--wp--preset--spacing--30);
}

.consent-button {
  flex: 1;
  padding-block: var(--wp--preset--spacing--20);
  padding-inline: var(--wp--preset--spacing--30);
  text-align: center;
  text-decoration: none;
  border: 1px solid var(--wp--preset--color--plum);
  color: var(--wp--preset--color--plum);
  font-family: var(--wp--preset--font-family--gamay-editorial);
  font-size: var(--wp--preset--font-size--small);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  transition: background 0.15s ease, color 0.15s ease;
}
.consent-button:hover, .consent-button:focus-visible {
  background: var(--wp--preset--color--plum);
  color: var(--wp--preset--color--white);
}
.consent-button--primary, .consent-button.consent-button-primary {
  background: var(--wp--preset--color--magenta);
  border-color: var(--wp--preset--color--magenta);
  color: var(--wp--preset--color--white);
}
.consent-button--primary:hover, .consent-button--primary:focus-visible, .consent-button.consent-button-primary:hover, .consent-button.consent-button-primary:focus-visible {
  background: var(--wp--preset--color--plum);
  border-color: var(--wp--preset--color--plum);
}

.consent-options-link {
  display: inline-block;
  margin-block-start: var(--wp--preset--spacing--30);
  font-size: 0.8125rem;
  text-decoration: underline;
  color: var(--wp--preset--color--purple);
}
.consent-options-link:hover, .consent-options-link:focus-visible {
  color: var(--wp--preset--color--magenta);
}

.target-container {
  position: fixed;
  z-index: 9998;
}