.mm-modal {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 9999;
  font-family: var(--font-family);
}

.mm-modal .mm-overlay {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.6);
}

.mm-modal .mm-modal-content {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: #E6F0FA;
  color: #00204A;
  width: min(95%, 700px);
  padding: 2rem 1.5rem 2rem;
  padding-top: 3rem;
  border-radius: var(--radius);
  box-shadow: 0 4px 12px var(--shadow-light);
  z-index: 10000;
  box-sizing: border-box;
}

.mm-dark-mode .mm-modal .mm-modal-content {
  background: #003F7F;
  color: #FFFFFF;
}

.mm-modal .mm-close {
  position: absolute;
  top: 10px;
  right: 10px;
  cursor: pointer;
}

.mm-modal .mm-close,
.mm-modal .mm-next,
.mm-modal .mm-prev,
.mm-modal .mm-option,
.mm-modal button[type="submit"] {
  background-color: var(--brand-secondary);
  color: var(--cta-text-light);
  border: none;
  border-radius: var(--radius);
  padding: 0.75em 1.25em;
  transition: background-color 0.3s ease, transform 0.2s ease;
}

.mm-dark-mode .mm-modal .mm-close,
.mm-dark-mode .mm-modal .mm-next,
.mm-dark-mode .mm-modal .mm-prev,
.mm-dark-mode .mm-modal .mm-option,
.mm-dark-mode .mm-modal button[type="submit"] {
  background-color: var(--brand-primary);
  color: var(--cta-text-dark);
}

.mm-modal .mm-close:hover,
.mm-modal .mm-next:hover,
.mm-modal .mm-prev:hover,
.mm-modal .mm-option:hover,
.mm-modal button[type="submit"]:hover {
  background-color: var(--brand-primary);
  color: var(--brand-bg);
  transform: scale(1.05);
}

.mm-dark-mode .mm-modal .mm-close:hover,
.mm-dark-mode .mm-modal .mm-next:hover,
.mm-dark-mode .mm-modal .mm-prev:hover,
.mm-dark-mode .mm-modal .mm-option:hover,
.mm-dark-mode .mm-modal button[type="submit"]:hover {
  background-color: var(--brand-secondary);
  color: var(--brand-bg);
}

.mm-step {
  display: none;
  text-align: center;
}

.mm-step.active {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.mm-step button {
  margin: 0.5rem;
}

.mm-modal .mm-option,
.mm-modal .mm-next {
  min-width: 6rem;
  height: auto;
  padding: 0.75em 1.25em;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

body:not(.mm-dark-mode) .mm-modal button[type="submit"] {
  min-width: 8rem;
  height: auto;
  padding: 0.75em 1.5em;
  background-color: var(--brand-secondary);
  color: var(--cta-text-light);
  border: none;
  margin-bottom: 0.5rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.mm-modal .mm-prev {
  display: block;
  margin: 1rem auto 0;
  width: auto;
  padding: 0.75em 2em;
}

.mm-success {
  text-align: center;
}
