/* DMHS consent controls, scoped to avoid altering historical pages. */
#dmhs-consent-root [hidden] { display: none !important; }
#dmhs-consent-root { font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; line-height: 1.45; }
#dmhs-consent-root * { box-sizing: border-box; }
.dmhs-consent-banner { position: fixed; z-index: 2147483000; inset-inline: max(12px, env(safe-area-inset-left)) max(12px, env(safe-area-inset-right)); bottom: max(12px, env(safe-area-inset-bottom)); width: auto; max-width: 1120px; max-height: min(70vh, 640px); overflow-y: auto; margin-inline: auto; padding: 1.15rem 1.35rem; display: flex; gap: 1.5rem; align-items: center; flex-wrap: wrap; background: #fff; color: #172d3c; border: 2px solid #2c5972; border-radius: .7rem; box-shadow: 0 3px 25px rgb(0 0 0 / 25%); }
.dmhs-consent-copy { flex: 2 1 470px; min-width: 0; }
.dmhs-consent-copy h2, .dmhs-consent-dialog h2 { font-size: 1.25rem; line-height: 1.25; font-weight: 700; color: #153f5c; margin: 0 0 .55rem; }
.dmhs-consent-copy p, .dmhs-consent-dialog p { margin: 0 0 .55rem; font-size: .94rem; }
.dmhs-consent-note { font-size: .82rem !important; }
.dmhs-consent-actions, .dmhs-consent-dialog-actions { display: flex; gap: .6rem; flex-wrap: wrap; align-items: stretch; }
.dmhs-consent-actions { flex: 1 1 340px; justify-content: flex-end; }
#dmhs-consent-root .dmhs-consent-button { appearance: none; background: #fff; color: #143d59; border: 2px solid #204d6c; border-radius: .4rem; padding: .6rem .8rem; min-height: 44px; flex: 1 1 100px; min-width: 100px; cursor: pointer; font: inherit; font-weight: 650; font-size: .91rem; text-align: center; }
#dmhs-consent-root .dmhs-consent-button:hover { background: #e8f1f6; }
#dmhs-consent-root a { color: #064c76; text-decoration: underline; }
#dmhs-consent-root a:focus-visible, #dmhs-consent-root button:focus-visible, #dmhs-consent-root input:focus-visible, .js-dmhs-cookie-settings:focus-visible, .dmhs-translation-button:focus-visible { outline: 3px solid #e0931e; outline-offset: 3px; }
#dmhs-consent-dialog { position: fixed; z-index: 2147483001; border: 2px solid #2c5972; border-radius: .7rem; background: #fff; color: #172d3c; width: min(650px, calc(100vw - 28px)); max-height: min(85dvh, 850px); overflow-y: auto; padding: 0; box-shadow: 0 12px 32px rgb(0 0 0 / 25%); }
#dmhs-consent-dialog::backdrop { background: rgb(0 0 0 / 50%); }
.dmhs-consent-dialog-inner { padding: 1.3rem; }
.dmhs-consent-dialog-title { display: flex; align-items: start; justify-content: space-between; gap: 1rem; }
#dmhs-consent-root .dmhs-consent-close { background: transparent; border: 1px solid #566; color: #172d3c; border-radius: .35rem; min-width: 44px; min-height: 44px; font-size: 1.65rem; line-height: 1; cursor: pointer; }
.dmhs-consent-category { border: 1px solid #a9b7be; border-radius: .4rem; padding: .8rem .9rem; margin: .8rem 0; }
.dmhs-consent-category label { font-size: 1rem; display: flex; gap: .5rem; align-items: start; cursor: pointer; }
.dmhs-consent-category input { accent-color: #215778; width: 20px; height: 20px; flex-shrink: 0; margin-top: .15rem; }
.dmhs-consent-category p { font-size: .89rem; margin: .35rem 0 0 1.8rem; }
.dmhs-gpc-note { border-left: 3px solid #215778; padding: .6rem .75rem; background: #f2f7fa; }
.dmhs-consent-footer { text-align: left; padding-top: .5rem; }
.dmhs-consent-footer a { text-decoration: underline; }
@media (max-width: 720px) { .dmhs-consent-banner { gap: .5rem; padding: 1rem; max-height: 75dvh; } .dmhs-consent-actions { flex-basis: 100%; justify-content: stretch; } .dmhs-consent-actions .dmhs-consent-button { min-width: 110px; } .dmhs-consent-dialog-actions .dmhs-consent-button { min-width: 135px; } }
@media (prefers-reduced-motion: reduce) { #dmhs-consent-root * { transition: none !important; } }
