/* Spans every footer column so the wide control row sizes no auto column and the copyright line keeps its right alignment. */
.privacy-settings { grid-column:1 / -1; grid-row:1; justify-self:end; display:flex; flex-wrap:wrap; justify-content:end; align-items:baseline; gap:0 16px; font-size:clamp(14px,.94vw,18px); font-style:normal; }
.privacy-open { display:inline-flex; align-items:center; min-height:24px; text-decoration:none; }
.privacy-open:is(:hover,:focus-visible) { color:var(--coverit-accent); text-decoration:underline; text-underline-offset:4px; }
/* Up to tablet width the control row needs its own line: next to the meta links it ran over them at 768 px. */
@media (max-width:1024px) { .privacy-settings { grid-row:auto; justify-self:start; justify-content:start; } }
@media (max-width:767px) { .privacy-open { min-height:44px; } }
.privacy-settings summary { cursor:pointer; }
.privacy-settings button,[data-video-stop] { font:inherit; min-height:44px; padding:8px 12px; border:1px solid currentColor; color:inherit; background:transparent; cursor:pointer; }
.privacy-settings :focus-visible,[data-video-stop]:focus-visible { outline:3px solid var(--coverit-accent); outline-offset:3px; }
[data-video-stop][hidden],.coverit-video__preview[hidden],.privacy-settings [hidden] { display:none; }
.klaro { --dark1:var(--coverit-background); --light1:var(--coverit-text); --green1:var(--coverit-accent); --blue1:var(--coverit-accent); --font-family:inherit; font-style:normal; }
/* Consent buttons (DSK OH Digitale Dienste Rz. 135): accept, reject and settings share size, colour, contrast and type. */
#klaro .cookie-modal .cm-btn, #klaro .cookie-notice .cm-btn, #klaro .cookie-notice .cn-learn-more { display:inline-flex; align-items:center; justify-content:center; min-height:44px; margin:0; padding:8px 16px; border:1px solid var(--coverit-text); background:transparent; color:var(--coverit-text); font-family:inherit; font-size:14px; font-weight:600; line-height:1.25; text-decoration:none; text-align:center; cursor:pointer; }
#klaro .cookie-modal .cm-btn:hover, #klaro .cookie-notice .cm-btn:hover, #klaro .cookie-notice .cn-learn-more:hover { border-color:var(--coverit-accent); color:var(--coverit-accent); }
.klaro :focus-visible { outline:3px solid var(--coverit-accent); outline-offset:3px; }
/* The switch input is transparent (Klaro); show its keyboard focus on the visible slider. */
.klaro .cm-list-input:focus-visible + .cm-list-label .slider { outline:3px solid var(--coverit-accent); outline-offset:3px; }
.klaro a:not(.cm-btn, .cn-learn-more) { color:var(--coverit-accent); text-decoration:underline; text-underline-offset:.2em; }
/* privacy.js publishes the notice height so focused elements are scrolled clear of it (a browser does not scroll an element that is merely behind it). */
html { scroll-padding-bottom:calc(var(--coverit-consent-inset, 0px) + var(--coverit-selection-inset, 0px)); }
body { padding-bottom:calc(var(--coverit-consent-inset, 0px) + var(--coverit-selection-inset, 0px)); }
/* First layer: a full-width bar at the bottom, text left and the three buttons right; non-blocking. */
#klaro .cookie-notice:not(.cookie-modal-notice) { left:0; right:0; bottom:0; width:auto; max-width:none; border-top:2px solid var(--coverit-accent); background:var(--coverit-background); }
#klaro .cookie-notice:not(.cookie-modal-notice) .cn-body { display:grid; grid-template-columns:minmax(0, 1fr) auto; align-items:center; column-gap:40px; max-width:var(--coverit-shell); margin:0 auto; padding:16px var(--coverit-gutter); }
#klaro .cookie-notice:not(.cookie-modal-notice) .cn-body > :not(.cn-ok) { grid-column:1; }
#klaro .cookie-notice:not(.cookie-modal-notice) .cn-body h2 { margin:0 0 6px; font-size:18px; line-height:1.25; }
#klaro .cookie-notice:not(.cookie-modal-notice) .cn-body p { max-width:var(--coverit-measure); margin:0; font-size:13px; line-height:1.45; }
#klaro .cookie-notice .cn-body :is(.cn-intro, .cn-service, .cn-storage, .cn-links) { display:block; }
#klaro .cookie-notice .cn-body :is(.cn-service, .cn-storage, .cn-links) { margin-top:4px; }
#klaro .cookie-notice .cn-body .cn-links { display:flex; flex-wrap:wrap; gap:4px 16px; }
#klaro .cookie-notice .cn-body .cn-service strong { margin-right:.3em; }
#klaro .cookie-notice:not(.cookie-modal-notice) .cn-body .cn-ok { grid-column:2; grid-row:1 / span 4; display:grid; grid-template-columns:repeat(3, minmax(10em, 1fr)); gap:12px; margin:0; padding:0; }
#klaro .cookie-notice:not(.cookie-modal-notice) .cn-body .cn-buttons { display:contents; }
/* Settings layer: services as switches, three equal buttons, privacy policy and legal notice at the bottom. */
.klaro .cookie-modal .cm-modal .cm-header .title { margin:0; padding-right:20px; font-size:clamp(18px, 5.6vw, 28px); }
#klaro .cookie-modal .cm-footer-buttons { display:flex; flex-wrap:wrap; gap:12px; }
#klaro .cookie-modal .cm-footer-buttons .cm-btn { flex:1 1 0; min-width:10em; }
#klaro .cookie-modal .cm-powered-by { display:flex; justify-content:flex-start; }
#klaro .cookie-modal .cm-powered-by .cm-links { display:flex; flex-wrap:wrap; gap:4px 16px; font-size:13px; }
@media (max-width:1024px) {
    #klaro .cookie-notice:not(.cookie-modal-notice) .cn-body { grid-template-columns:minmax(0, 1fr); padding-inline:var(--coverit-gutter); }
    #klaro .cookie-notice:not(.cookie-modal-notice) .cn-body .cn-ok { grid-column:1; grid-row:auto; margin-top:12px; }
}
/* Mobile: at most about a third of the screen; the text scrolls, the three stacked buttons stay visible. */
@media (max-width:767px) {
    #klaro .cookie-notice:not(.cookie-modal-notice) { max-height:none; overflow:visible; }
    #klaro .cookie-notice:not(.cookie-modal-notice) .cn-body { display:flex; flex-direction:column; max-height:33dvh; padding:10px 16px; }
    #klaro .cookie-notice:not(.cookie-modal-notice) .cn-body > p { flex:1 1 auto; min-height:3em; overflow-y:auto; overscroll-behavior:contain; }
    #klaro .cookie-notice:not(.cookie-modal-notice) .cn-body h2 { font-size:16px; margin-bottom:4px; }
    #klaro .cookie-notice:not(.cookie-modal-notice) .cn-body h2 { flex:none; }
    #klaro .cookie-notice:not(.cookie-modal-notice) .cn-body .cn-ok { flex:none; grid-template-columns:minmax(0, 1fr); align-self:stretch; justify-items:stretch; width:100%; gap:6px; margin-top:8px; }
    #klaro .cookie-notice:not(.cookie-modal-notice) .cn-ok > * { width:100%; padding-block:6px; }
    #klaro .cookie-modal .cm-footer-buttons { flex-direction:column; }
    #klaro .cookie-modal .cm-footer-buttons .cm-btn { flex:none; width:100%; }
}

#klaro .cookie-notice, #klaro .cookie-modal .cm-modal, #klaro .cookie-notice .cm-btn, #klaro .cookie-modal .cm-btn { border-radius:0; box-shadow:none; }
