.mm-consent,
.mm-consent-settings {
  --mm-paper: #faf6ec;
  --mm-ink: #1d2b4f;
  --mm-ink-soft: #4f5a78;
  --mm-green: #1c8754;
  --mm-green-dark: #146640;
  --mm-border: #ded5c1;
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.mm-consent[hidden],
.mm-consent-settings[hidden] {
  display: none !important;
}

.mm-consent {
  position: fixed;
  z-index: 2147483000;
  right: auto;
  bottom: max(18px, env(safe-area-inset-bottom));
  left: max(18px, env(safe-area-inset-left));
  display: grid;
  gap: 18px;
  width: min(440px, calc(100% - 36px));
  max-height: calc(100dvh - 36px);
  padding: 22px;
  overflow: auto;
  color: var(--mm-ink);
  background:
    linear-gradient(135deg, rgba(28, 135, 84, .08), transparent 42%),
    var(--mm-paper);
  border: 1px solid var(--mm-border);
  border-top: 4px solid var(--mm-green);
  border-radius: 18px;
  box-shadow: 0 24px 70px rgba(22, 34, 63, .22);
  animation: mm-consent-enter .34s cubic-bezier(.2, .8, .2, 1) both;
}

.mm-brand-link.mm-consent__brand {
  --mm-logo-height: 44px;
  --mm-logo-compact-width: 100px;
  --mm-logo-expanded-width: 238px;
  --mm-logo-font-scale: .58;
  --mm-logo-square-left: 103px;
  margin: 0 0 10px;
}

.mm-consent__title {
  margin: 0 0 7px;
  color: var(--mm-ink);
  font-family: Fraunces, Georgia, serif;
  font-size: clamp(1.35rem, 2.3vw, 1.8rem);
  line-height: 1.1;
}

.mm-consent__copy {
  margin: 0;
  color: var(--mm-ink-soft);
  font-size: .94rem;
  line-height: 1.6;
}

.mm-consent__copy a {
  color: var(--mm-green-dark);
  font-weight: 800;
  text-underline-offset: 3px;
}

.mm-consent__choices {
  display: grid;
  gap: 9px;
}

.mm-consent__choice {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 4px 14px;
  align-items: center;
  padding: 13px 14px;
  background: rgba(255, 255, 255, .7);
  border: 1px solid var(--mm-border);
  border-radius: 12px;
}

.mm-consent__choice strong {
  color: var(--mm-ink);
  font-size: .94rem;
}

.mm-consent__choice--optional {
  cursor: pointer;
  transition: border-color .18s ease, background-color .18s ease;
}

.mm-consent__choice--optional:hover {
  background: rgba(255, 255, 255, .92);
  border-color: rgba(28, 135, 84, .48);
}

.mm-consent__choice input {
  width: 22px;
  height: 22px;
  margin: 0;
  accent-color: var(--mm-green);
}

.mm-consent__choice input:focus-visible {
  outline: 3px solid #f6cb4d;
  outline-offset: 3px;
}

.mm-consent__description {
  grid-column: 1 / -1;
  color: var(--mm-ink-soft);
  font-size: .8rem;
  line-height: 1.45;
}

.mm-consent__status {
  padding: 4px 8px;
  color: var(--mm-green-dark);
  background: rgba(28, 135, 84, .11);
  border-radius: 999px;
  font-size: .68rem;
  font-weight: 800;
  white-space: nowrap;
}

.mm-consent__status--off {
  color: var(--mm-ink-soft);
  background: rgba(79, 90, 120, .1);
}

.mm-consent__actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

.mm-consent__button,
.mm-consent-settings {
  min-height: 44px;
  border-radius: 999px;
  font: inherit;
  font-size: .88rem;
  font-weight: 800;
  cursor: pointer;
  transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease;
}

.mm-consent__button {
  width: 100%;
  padding: 10px 17px;
  color: var(--mm-ink);
  background: rgba(255, 255, 255, .78);
  border: 1px solid var(--mm-border);
}

.mm-consent__button--allow {
  color: #fff;
  background: var(--mm-green);
  border-color: var(--mm-green);
  box-shadow: 0 9px 22px rgba(28, 135, 84, .22);
}

.mm-consent__button:hover,
.mm-consent-settings:hover {
  transform: translateY(-1px);
}

.mm-consent__button--allow:hover {
  background: var(--mm-green-dark);
}

.mm-consent__button:focus-visible,
.mm-consent-settings:focus-visible {
  outline: 3px solid #f6cb4d;
  outline-offset: 3px;
}

.mm-consent-settings {
  position: fixed;
  z-index: 2147482999;
  bottom: max(14px, env(safe-area-inset-bottom));
  left: max(14px, env(safe-area-inset-left));
  padding: 9px 14px;
  color: var(--mm-ink);
  background: rgba(250, 246, 236, .96);
  border: 1px solid var(--mm-border);
  box-shadow: 0 10px 28px rgba(22, 34, 63, .16);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

@keyframes mm-consent-enter {
  from { opacity: 0; transform: translateX(-18px); }
  to { opacity: 1; transform: translateX(0); }
}

@media (max-width: 760px) {
  .mm-consent {
    padding: 20px;
    border-radius: 15px;
  }
}

@media (max-width: 430px) {
  .mm-consent {
    bottom: max(12px, env(safe-area-inset-bottom));
    left: max(12px, env(safe-area-inset-left));
    width: calc(100% - 24px);
    max-height: calc(100dvh - 24px);
  }

  .mm-consent__actions {
    grid-template-columns: 1fr;
  }
}

@media (prefers-reduced-motion: reduce) {
  .mm-consent {
    animation: none;
  }

  .mm-consent__choice--optional,
  .mm-consent__button,
  .mm-consent-settings {
    transition: none;
  }
}
