/* Scoped above page navigation/modals; no effect on approved section typography. */
.vk-consent-banner,.vk-consent-dialog{box-sizing:border-box;color:#f5f3ef;background:#181818;border:1px solid #555;font:400 14px/1.5 Arial,Helvetica,sans-serif;letter-spacing:normal;text-align:left;color-scheme:dark}
.vk-consent-banner *,.vk-consent-dialog *{box-sizing:border-box}
.vk-consent-banner{position:fixed;z-index:10000;inset:auto 24px max(24px,env(safe-area-inset-bottom));max-width:1120px;margin-inline:auto;padding:24px;display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,340px);gap:20px 32px;box-shadow:0 16px 60px #0008;border-radius:12px;max-height:calc(100dvh - 32px);overflow-y:auto}
.vk-consent-banner[hidden]{display:none}
.vk-consent-banner h2,.vk-consent-dialog h2{font:600 21px/1.25 Arial,Helvetica,sans-serif;letter-spacing:normal;text-transform:none;margin:0 0 12px;word-break:normal;overflow-wrap:normal}
.vk-consent-banner p,.vk-consent-dialog p{font:inherit;margin:0 0 10px;white-space:normal}
.vk-consent-banner a,.vk-consent-dialog a{font:inherit;color:#f5f3ef;text-decoration:underline;text-underline-offset:4px;letter-spacing:normal}
.vk-consent-muted{color:#bdbdbd}
.vk-consent-actions{display:grid;gap:8px;align-content:center}
.vk-consent-button{appearance:none;display:block;width:100%;min-height:44px;padding:10px 16px;color:#f5f3ef;background:#292929;border:1px solid #767676;border-radius:24px;font:600 14px/1.35 Arial,Helvetica,sans-serif;letter-spacing:normal;text-align:center;text-transform:none;cursor:pointer;white-space:normal}
.vk-consent-button:hover{background:#393939;border-color:#ddd}
.vk-consent-button:active{background:#444}
.vk-consent-banner :focus-visible,.vk-consent-dialog :focus-visible{outline:2px solid #fff;outline-offset:4px}
.vk-consent-error:empty{display:none}
.vk-consent-error{color:#ffc9bd;grid-column:1/-1}
.vk-consent-dialog{position:fixed;inset:0;width:min(600px,calc(100% - 32px));max-height:calc(100dvh - 32px);margin:auto;padding:28px;border-radius:12px;overflow-y:auto;overscroll-behavior:contain}
.vk-consent-dialog::backdrop{background:#000b}
.vk-consent-dialog-head{display:flex;align-items:start;justify-content:space-between;gap:16px;margin-bottom:16px}
.vk-consent-dialog-head .vk-consent-button{width:auto;min-width:80px}
.vk-consent-category{border-block-start:1px solid #4b4b4b;margin-block:20px;padding-top:18px}
.vk-consent-category h3{font:600 16px/1.4 Arial,Helvetica,sans-serif;margin:0 0 4px;text-transform:none;letter-spacing:normal}
.vk-consent-category p{margin-top:8px}
.vk-consent-toggle{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:44px;font:600 16px/1.4 Arial,Helvetica,sans-serif;cursor:pointer}
.vk-consent-toggle input{appearance:auto;position:static;opacity:1;display:block;flex:none;width:24px;height:24px;min-width:24px;margin:10px;accent-color:#eee;cursor:pointer}
.vk-consent-toggle input:disabled{cursor:not-allowed}
.vk-consent-dialog>.vk-consent-actions{margin-top:24px}
@media(max-width:640px){.vk-consent-banner{inset:auto 12px max(12px,env(safe-area-inset-bottom));padding:20px;grid-template-columns:1fr;gap:16px}.vk-consent-dialog{padding:20px}.vk-consent-banner h2,.vk-consent-dialog h2{font-size:20px}}
/* Give the German compound heading its own row, with a full-size close control below. */
@media(max-width:640px){.vk-consent-dialog[lang='de'] .vk-consent-dialog-head{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}.vk-consent-dialog[lang='de'] .vk-consent-dialog-head h2{white-space:nowrap;margin-bottom:0}.vk-consent-dialog[lang='de'] .vk-consent-dialog-head .vk-consent-button{justify-self:end}}
@media print{.vk-consent-banner,.vk-consent-dialog{display:none!important}}
