.md-consent[hidden], .md-consent-dialog [hidden], [data-md-consent-open][hidden] { display: none !important; }
.md-consent, .md-consent-dialog { box-sizing: border-box; color: #002f65; font-size: 14px; line-height: 1.6; text-align: left; }
.md-consent *, .md-consent-dialog * { box-sizing: border-box; }
.md-consent { position: fixed; z-index: 9990; bottom: calc(var(--md-consent-dock-gap, 64px) + 20px); left: 50%; transform: translateX(-50%); width: min(1060px, calc(100% - 48px)); max-height: calc(100dvh - var(--md-consent-dock-gap, 64px) - 48px); overflow: auto; padding: 28px 32px; border: 1px solid #dce4ee; border-top: 4px solid #c9dc03; background: #fff; box-shadow: 0 8px 48px #002f6526; }
.md-consent__heading { display: flex; align-items: center; gap: 12px; }
.md-consent__heading svg { width: 28px; height: 28px; flex-shrink: 0; fill: none; stroke: #002f65; stroke-width: 1.5; }
.md-consent h2, .md-consent-dialog h2 { margin: 0; font-size: 24px !important; font-weight: 500; line-height: 1.25; color: #002f65 !important; }
.md-consent p, .md-consent-dialog p { margin: 14px 0 20px; color: #51647d; font-size: 14px; text-align: left; }
.md-consent__actions { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.md-consent .md-consent__button, .md-consent-dialog .md-consent__button { width: 100%; min-height: 48px; margin: 0; padding: 11px 16px; border: 1px solid #002f65; border-radius: 0; background: #fff; color: #002f65 !important; font: inherit; font-weight: 600; cursor: pointer; }
.md-consent .md-consent__button:hover, .md-consent-dialog .md-consent__button:hover { background: #edf2f8 !important; }
.md-consent .md-consent__button--accept, .md-consent-dialog .md-consent__button--accept { background: #c9dc03; border-color: #c9dc03; }
.md-consent .md-consent__button--accept:hover, .md-consent-dialog .md-consent__button--accept:hover { background: #d7e65a !important; }
.md-consent__links { display: flex; flex-wrap: wrap; gap: 22px; margin-top: 16px; font-size: 12px; }
.md-consent a, .md-consent-dialog a { color: #51647d !important; text-decoration: underline; text-underline-offset: 4px; }
.md-consent-dialog { width: min(660px, calc(100% - 32px)); max-height: calc(100dvh - 32px); margin: auto; padding: 0; overflow: auto; border: 1px solid #dce4ee; border-top: 4px solid #c9dc03; border-radius: 0; background: #fff; box-shadow: 0 16px 70px #001c3d40; }
.md-consent-dialog::backdrop { background: #001f4499; }
.md-consent-dialog__head { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; padding: 24px 28px 18px; border-bottom: 1px solid #dce4ee; }
.md-consent__eyebrow { display: block; margin-bottom: 6px; color: #5f75b3; font-size: 11px; font-weight: 600; letter-spacing: .07em; text-transform: uppercase; }
.md-consent-dialog .md-consent__close { flex-shrink: 0; width: 44px; height: 44px; margin: 0; padding: 0; border: 0; border-radius: 0; background: #f0f4f9; color: #002f65 !important; font-size: 24px; cursor: pointer; }
.md-consent-dialog .md-consent__close:hover { background: #e2eaf4 !important; }
.md-consent-dialog__body { padding: 20px 28px; }
.md-consent-dialog__body > p:first-child { margin-top: 0; }
.md-consent__category { border-top: 1px solid #dce4ee; padding: 18px 0; }
.md-consent__category-head { display: flex; justify-content: space-between; align-items: center; gap: 16px; }
.md-consent-dialog h3 { margin: 0; color: #002f65 !important; font-size: 16px !important; font-weight: 600; }
.md-consent-dialog label { margin: 0; font: inherit; }
.md-consent__category p { margin: 8px 0 0; font-size: 13px; }
.md-consent__always { padding: 5px 8px; background: #f0f4df; color: #486039; font-size: 11px; white-space: nowrap; }
.md-consent__check { display: flex; align-items: center; gap: 8px; cursor: pointer; }
.md-consent__check input { appearance: none; width: 22px; height: 22px; margin: 0; border: 1px solid #8194ac; border-radius: 0; background: white; cursor: pointer; }
.md-consent__check input:checked { background: #c9dc03; border-color: #002f65; }
.md-consent__check input:checked::after { content: ""; display: block; width: 6px; height: 11px; margin: 2px 7px; border: solid #002f65; border-width: 0 2px 2px 0; transform: rotate(45deg); }
.md-consent-dialog__foot { padding: 18px 28px 24px; background: #f5f7fa; border-top: 1px solid #dce4ee; }
.md-consent__actions--two { grid-template-columns: 1fr 1fr; }
.md-consent-dialog .md-consent__button--save { margin-bottom: 12px; background: #002f65; color: #fff !important; }
.md-consent-dialog .md-consent__button--save:hover { background: #164474 !important; }
.md-consent .md-consent__error, .md-consent-dialog .md-consent__error { margin: 12px 0 0; color: #a33333; }
.md-consent :is(button, a):focus-visible, .md-consent-dialog :is(button, a, input):focus-visible { outline: 3px solid #5f75b3; outline-offset: 3px; }
.md-footer.md-footer .md-consent-footer-button { min-height: 44px; padding: 4px 0; border: 0; border-radius: 0; background: transparent; color: inherit !important; font: inherit; text-align: left; text-decoration: underline; text-underline-offset: 4px; cursor: pointer; }
.md-footer.md-footer .md-consent-footer-button:hover { background: transparent !important; color: #c9dc03 !important; }
.md-consent-noscript { padding: 16px; text-align: center; }
.md-consent-policy-button { min-height: 44px; padding: 10px 16px; border: 1px solid #002f65; border-radius: 0; background: #fff; color: #002f65; font: inherit; cursor: pointer; }
.md-consent-policy-button:hover { background: #edf2f8 !important; color: #002f65 !important; }
.md-consent-policy-button:focus-visible { outline: 3px solid #5f75b3; outline-offset: 3px; }
@media (max-width: 700px) {
  .md-consent { width: calc(100% - 24px); bottom: calc(var(--md-consent-dock-gap, 64px) + 12px); padding: 20px; max-height: calc(100dvh - var(--md-consent-dock-gap, 64px) - 24px); }
  .md-consent h2, .md-consent-dialog h2 { font-size: 22px !important; }
  .md-consent p { font-size: 13px; margin: 12px 0 16px; }
  .md-consent__actions { grid-template-columns: 1fr; gap: 8px; }
  .md-consent__links { margin-top: 12px; gap: 16px; }
  .md-consent-dialog__head { padding: 18px 20px 14px; }
  .md-consent-dialog__body, .md-consent-dialog__foot { padding: 16px 20px; }
  .md-consent__category-head { gap: 8px; }
}
@media (forced-colors: active) {
  .md-consent__check input { appearance: auto; }
}
