.mp-consent { position: relative; z-index: 99990; font-family: var(--mp-font-family-ui, "Montserrat", sans-serif); }
.mp-consent[hidden], .mp-consent [hidden] { display: none !important; }
.mp-consent__banner { position: fixed; right: clamp(1rem, 3vw, 2.5rem); bottom: clamp(1rem, 3vw, 2.5rem); left: clamp(1rem, 3vw, 2.5rem); display: grid; max-width: 76rem; padding: clamp(1.25rem, 3vw, 2rem); margin-inline: auto; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: clamp(1rem, 3vw, 2.5rem); border: 1px solid rgba(29, 43, 33, 0.2); background: #f7f6f2; color: #121813; box-shadow: 0 1.4rem 4rem rgba(18, 24, 19, 0.2); }
.mp-consent__eyebrow { margin: 0 0 0.6rem; font-size: 0.65rem; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; }
.mp-consent h2 { max-width: 18ch; margin: 0 0 0.65rem; font-family: var(--mp-font-family-display, sans-serif); font-size: clamp(1.7rem, 3vw, 2.65rem); font-weight: 500; letter-spacing: -0.04em; line-height: 1.02; }
.mp-consent h3 { margin: 0 0 0.3rem; font-size: 0.9rem; font-weight: 650; }
.mp-consent p { max-width: 52rem; margin: 0; color: #566057; font-size: 0.78rem; line-height: 1.6; }
.mp-consent a { color: #121813; text-underline-offset: 0.2em; }
.mp-consent__actions { display: grid; min-width: 15rem; grid-template-columns: 1fr 1fr; gap: 0.55rem; }
.mp-consent button { min-height: 2.85rem; padding: 0.7rem 1rem; border: 1px solid #121813; border-radius: 0; background: transparent; color: #121813; font: inherit; font-size: 0.66rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; cursor: pointer; }
.mp-consent button:hover, .mp-consent button:focus-visible { background: #121813; color: #f7f6f2; }
.mp-consent__text-button { grid-column: 1 / -1; min-height: auto !important; padding: 0.45rem !important; border-color: transparent !important; text-decoration: underline; text-underline-offset: 0.2em; }
.mp-consent__overlay { position: fixed; inset: 0; display: grid; padding: 1rem; place-items: center; background: rgba(7, 10, 7, 0.62); backdrop-filter: blur(0.25rem); }
.mp-consent__dialog { position: relative; width: min(42rem, 100%); max-height: min(46rem, calc(100svh - 2rem)); padding: clamp(1.5rem, 4vw, 2.5rem); overflow-y: auto; border: 1px solid rgba(29, 43, 33, 0.2); background: #f7f6f2; color: #121813; box-shadow: 0 1.5rem 5rem rgba(7, 10, 7, 0.32); }
.mp-consent__close { position: absolute; top: 0.85rem; right: 0.85rem; display: grid; width: 2.4rem; min-height: 2.4rem !important; padding: 0 !important; place-items: center; border: 0 !important; font-size: 1.5rem !important; font-weight: 300 !important; letter-spacing: 0 !important; }
.mp-consent__category { position: relative; display: grid; min-height: 5.5rem; padding: 1.1rem 0; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 1rem; border-bottom: 1px solid rgba(29, 43, 33, 0.16); cursor: pointer; }
.mp-consent__category:first-of-type { margin-top: 1.2rem; border-top: 1px solid rgba(29, 43, 33, 0.16); cursor: default; }
.mp-consent__category > span:not(.mp-consent__switch) { font-size: 0.65rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
.mp-consent__category input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.mp-consent__switch { position: relative; width: 2.7rem; height: 1.45rem; border: 1px solid #121813; border-radius: 999px; transition: background 180ms ease; }
.mp-consent__switch::after { position: absolute; top: 0.2rem; left: 0.22rem; width: 0.9rem; height: 0.9rem; border-radius: 50%; background: #121813; content: ""; transition: background 180ms ease, transform 180ms ease; }
.mp-consent__category input:checked + .mp-consent__switch { background: #121813; }
.mp-consent__category input:checked + .mp-consent__switch::after { background: #f7f6f2; transform: translateX(1.2rem); }
.mp-consent__category input:focus-visible + .mp-consent__switch { outline: 2px solid #a8522d; outline-offset: 3px; }
.mp-consent__dialog-actions { display: grid; margin-top: 1.25rem; grid-template-columns: 1fr 1fr; gap: 0.6rem; }
.mp-consent__launcher { position: fixed; bottom: 1rem; left: 1rem; min-height: 2.35rem !important; padding: 0.55rem 0.75rem !important; border-color: rgba(29, 43, 33, 0.3) !important; background: #f7f6f2 !important; box-shadow: 0 0.6rem 1.8rem rgba(18, 24, 19, 0.12); font-size: 0.58rem !important; }
.mp-consent__launcher:hover, .mp-consent__launcher:focus-visible { background: #121813 !important; color: #f7f6f2 !important; }
body.mp-consent-open { overflow: hidden; }
.mp-cookie-policy { max-width: 52rem; }
.mp-cookie-policy h2 { margin-top: 2.5rem; }
.mp-cookie-policy li + li { margin-top: 0.75rem; }

@media (max-width: 47.999rem) {
  .mp-consent__banner { grid-template-columns: 1fr; align-items: stretch; }
  .mp-consent__actions { min-width: 0; }
}

@media (max-width: 29.999rem) {
  .mp-consent__actions, .mp-consent__dialog-actions { grid-template-columns: 1fr; }
  .mp-consent__text-button { grid-column: auto; }
  .mp-consent__banner { max-height: calc(100svh - 2rem); overflow-y: auto; }
}

@media (prefers-reduced-motion: reduce) {
  .mp-consent__switch, .mp-consent__switch::after { transition: none; }
}
