/* Public --mlpp-* tokens are intentionally inherited/overridable. */
.mlpp-lab-notice { background: var(--mlpp-surface-alt, var(--ml-surface-alt, #eef3f1)); border-inline-start: .25rem solid var(--mlpp-accent, var(--ml-accent, #173f35)); color: var(--mlpp-text, var(--ml-text, #173f35)); padding: var(--ml-space-4, 1.5rem); margin-block-end: var(--ml-space-5, 2rem); font-size: var(--ml-text-2, .9375rem); }
.mlpp-lab-notice summary { cursor: pointer; padding-block: .5rem; }
.mlpp-lab-notice summary:focus-visible { outline: 3px solid var(--mlpp-focus, var(--ml-focus, #a83f00)); outline-offset: 3px; }
#cc-main, .mlpp-embed, .mlpp-settings, .mlpp-embed__revoke, .mlpp-preview-notice {
    --_mlpp-bg: var(--mlpp-bg, var(--ml-bg, #f8faf9)); --_mlpp-surface: var(--mlpp-surface, var(--ml-surface, #fff)); --_mlpp-surface-alt: var(--mlpp-surface-alt, var(--ml-surface-alt, #eef3f1)); --_mlpp-text: var(--mlpp-text, var(--ml-text, #173f35)); --_mlpp-muted: var(--mlpp-muted, var(--ml-muted, #2f5147)); --_mlpp-accent: var(--mlpp-accent, var(--ml-accent, #173f35)); --_mlpp-on-accent: var(--mlpp-on-accent, var(--ml-on-accent, #fff)); --_mlpp-line: var(--mlpp-line, var(--ml-line, #c5d2cc)); --_mlpp-control-line: var(--mlpp-control-line, var(--ml-control-line, #6f857c)); --_mlpp-focus: var(--mlpp-focus, var(--ml-focus, #a83f00));
    --_mlpp-font-body: var(--mlpp-font-body, var(--ml-font-body, system-ui, sans-serif)); --_mlpp-font-ui: var(--mlpp-font-ui, var(--ml-font-ui, var(--ml-font-body, system-ui, sans-serif))); --_mlpp-weight-body: var(--mlpp-weight-body, var(--ml-weight-body, 400)); --_mlpp-weight-ui: var(--mlpp-weight-ui, var(--ml-weight-ui, 600)); --_mlpp-text-xs: var(--mlpp-text-xs, var(--ml-text-1, .8125rem)); --_mlpp-text-sm: var(--mlpp-text-sm, var(--ml-text-2, .9375rem)); --_mlpp-text-md: var(--mlpp-text-md, var(--ml-text-3, 1rem)); --_mlpp-radius-control: var(--mlpp-radius-control, var(--ml-radius-control, .375rem)); --_mlpp-radius-card: var(--mlpp-radius-card, var(--ml-radius-card, .625rem)); --_mlpp-control-border-width: var(--mlpp-control-border-width, var(--ml-control-border-width, 1px)); --_mlpp-shadow-panel: var(--mlpp-shadow-panel, var(--ml-shadow-panel, 0 .75rem 2rem rgb(17 47 39 / 22%))); --_mlpp-shadow-overlay: var(--mlpp-shadow-overlay, var(--ml-shadow-overlay, var(--_mlpp-shadow-panel))); --_mlpp-shadow-card: var(--mlpp-shadow-card, var(--ml-shadow-card, 0 .25rem .75rem rgb(17 47 39 / 14%))); --_mlpp-space-1: var(--mlpp-space-1, var(--ml-space-1, .5rem)); --_mlpp-space-2: var(--mlpp-space-2, var(--ml-space-2, .75rem)); --_mlpp-space-3: var(--mlpp-space-3, var(--ml-space-3, 1rem)); --_mlpp-space-4: var(--mlpp-space-4, var(--ml-space-4, 1.5rem));
}
#cc-main { --cc-font-family: var(--_mlpp-font-body); --cc-bg: var(--_mlpp-surface); --cc-primary-color: var(--_mlpp-text); --cc-secondary-color: var(--_mlpp-muted); --cc-btn-primary-bg: var(--_mlpp-accent); --cc-btn-primary-color: var(--_mlpp-on-accent); --cc-btn-primary-border-color: var(--_mlpp-accent); --cc-btn-primary-hover-bg: var(--_mlpp-text); --cc-btn-secondary-bg: var(--_mlpp-surface-alt); --cc-btn-secondary-color: var(--_mlpp-text); --cc-btn-secondary-border-color: var(--_mlpp-control-line); --cc-btn-secondary-hover-bg: var(--_mlpp-bg); --cc-modal-border-radius: var(--_mlpp-radius-card); --cc-btn-border-radius: var(--_mlpp-radius-control); --cc-separator-border-color: var(--_mlpp-line); --cc-cookie-category-block-bg: var(--_mlpp-surface-alt); --cc-cookie-category-block-border: var(--_mlpp-line); --cc-cookie-category-block-hover-bg: var(--_mlpp-bg); --cc-footer-bg: var(--_mlpp-bg); --cc-footer-color: var(--_mlpp-muted); color: var(--_mlpp-text); font-family: var(--_mlpp-font-body); font-weight: var(--_mlpp-weight-body); }
#cc-main .cm, #cc-main .pm { box-shadow: var(--_mlpp-shadow-overlay); }
#cc-main .pm__header { gap: .75rem; }
#cc-main .pm__title, #cc-main .cm__title { min-width: 0; overflow-wrap: anywhere; }
#cc-main .pm__close-btn:not(.ml-button) { flex-shrink: 0; min-width: 44px; min-height: 44px; }
#cc-main .cm__title, #cc-main .pm__title, #cc-main .cm__btn:not(.ml-button), #cc-main .pm__btn:not(.ml-button), .mlpp-settings, .mlpp-embed__revoke { font-family: var(--_mlpp-font-ui); font-weight: var(--_mlpp-weight-ui); }
#cc-main .cm__title, #cc-main .pm__title { font-size: var(--mlpp-title-size, 1.125rem); }
#cc-main .cm__btn:not(.ml-button), #cc-main .pm__btn:not(.ml-button) { font-size: var(--_mlpp-text-md); }
#cc-main .cm__btn:not(.ml-button), #cc-main .pm__btn:not(.ml-button), .mlpp-settings, .mlpp-embed__revoke { border-width: var(--_mlpp-control-border-width); min-height: var(--ml-control-height, var(--ml-target-min, 44px)); }
#cc-main a:focus-visible, #cc-main button:not(.ml-button):focus-visible, #cc-main input:focus-visible, .mlpp-embed button:focus-visible, .mlpp-settings:focus-visible, .mlpp-embed__revoke:focus-visible { outline: var(--ml-focus-ring-width, 3px) solid var(--_mlpp-focus); outline-offset: var(--ml-focus-offset, 3px); box-shadow: 0 0 0 calc(var(--ml-focus-ring-width, 3px) + var(--ml-focus-offset, 3px)) var(--ml-focus-inner, transparent); }
#cc-main a:focus-visible { border-radius: 2px; } #cc-main .section__toggle:focus-visible ~ .toggle__icon { outline: var(--ml-focus-ring-width, 3px) solid var(--_mlpp-focus); outline-offset: var(--ml-focus-offset, 3px); } #cc-main .cm__desc, #cc-main .pm__section-desc-wrapper { font-size: var(--_mlpp-text-sm); }
#cc-main .section__toggle-wrapper { align-items: center; display: flex; height: 44px; width: 50px; }
#cc-main .section__toggle { height: 44px; opacity: 0; width: 50px; }
#cc-main .toggle__icon { top: 50%; transform: translateY(-50%); }
#cc-main .toggle-service { height: 44px; width: 44px; }
#cc-main .toggle-service .section__toggle { height: 44px; width: 44px; }
#cc-main .toggle-service .toggle__icon { height: 19px; width: 42px; }
#cc-main .mlpp-preview-note, .mlpp-preview-notice { background: var(--_mlpp-surface-alt); border-inline-start: .25rem solid var(--_mlpp-accent); color: var(--_mlpp-text); display: block; margin: var(--_mlpp-space-2) 0; padding: var(--_mlpp-space-2); }.mlpp-preview-notice { box-shadow: var(--_mlpp-shadow-card); margin: var(--_mlpp-space-3); position: relative; }#cc-main .mlpp-banner-copy, #cc-main .mlpp-service-detail { display: block; margin-block: var(--_mlpp-space-1); }#cc-main .mlpp-legal-links { display: flex; flex-wrap: wrap; gap: var(--_mlpp-space-1); }#cc-main .pm { container-type: inline-size; container-name: mlpp-preferences; }
#cc-main .mlpp-service-details { display: grid; gap: var(--_mlpp-space-1) var(--_mlpp-space-2); grid-template-columns: max-content minmax(0, 1fr); margin: var(--_mlpp-space-2) 0 0; }
#cc-main .mlpp-service-details dt { color: var(--_mlpp-text); font-weight: var(--_mlpp-weight-ui); }
#cc-main .mlpp-service-details dd { margin: 0; min-width: 0; overflow-wrap: anywhere; hyphens: auto; text-align: start; }
/* Use the actual modal width: a narrow sidebar dialog also stacks on a wide screen. */
@container mlpp-preferences (width < 34rem) {
    #cc-main .mlpp-service-details { grid-template-columns: minmax(0, 1fr); row-gap: var(--_mlpp-space-1); }
    #cc-main .mlpp-service-details dd + dt { margin-block-start: var(--_mlpp-space-1); }
}
@supports not (container-type: inline-size) {
    @media (max-width: 34rem) { #cc-main .mlpp-service-details { grid-template-columns: minmax(0, 1fr); } }
}
/* Scroll lock without a sideways shift (consent.js keepScrollbarGutter): while the banner locks scrolling, a page that
   scrolls keeps the gutter of a classic scrollbar, and an empty gutter takes the overlay's tint over the page.
   --mlpp-canvas is registered without inheritance: a plain custom property written on <html> restyles every element
   (measured 32–36 ms per write on soziotherapie-berg.de), a registered one 0.3 ms. */
@property --mlpp-canvas { syntax: "<color>"; inherits: false; initial-value: #fff; }
html.mlpp-scrollbar.disable--interaction.show--consent { scrollbar-gutter: stable; }
html.mlpp-scrollbar-tint.disable--interaction.show--consent { background: linear-gradient(var(--cc-overlay-bg), var(--cc-overlay-bg)) var(--mlpp-canvas, #fff); }

.mlpp-embed { --im-font-family: var(--_mlpp-font-body); --im-color: var(--_mlpp-text); --im-bg: var(--_mlpp-surface-alt); --im-btn-bg: var(--_mlpp-accent); --im-btn-color: var(--_mlpp-on-accent); --im-btn-hover-bg: var(--_mlpp-text); --im-btn-s-bg: var(--_mlpp-surface); --im-btn-s-color: var(--_mlpp-text); background: var(--_mlpp-surface-alt); color: var(--_mlpp-text); margin-block: var(--_mlpp-space-3); min-height: 12rem; overflow-wrap: anywhere; position: relative; }.mlpp-embed [data-placeholder] { align-content: center; display: grid; gap: var(--_mlpp-space-2); justify-items: center; min-height: inherit; padding: var(--_mlpp-space-4); text-align: center; }.mlpp-embed [data-placeholder] img { height: auto; max-width: min(100%, 44rem); }.mlpp-embed iframe { border: 0; display: block; min-height: 12rem; width: 100%; }
.mlpp-embed__revoke, .mlpp-settings { background: var(--_mlpp-surface); border: var(--_mlpp-control-border-width) solid var(--_mlpp-control-line); border-radius: var(--_mlpp-radius-control); color: var(--_mlpp-text); cursor: pointer; font-size: var(--_mlpp-text-md); padding: .5rem .875rem; }.mlpp-embed__revoke { margin-block: var(--_mlpp-space-2); }.mlpp-settings:hover, .mlpp-embed__revoke:hover { background: var(--_mlpp-bg); box-shadow: var(--_mlpp-shadow-card); }.mlpp-settings-fallback { margin: var(--_mlpp-space-3); }.mlpp-legal { overflow-wrap: anywhere; }
@media (max-width: 320px) { #cc-main { --cc-modal-margin: .5rem; } #cc-main .cm, #cc-main .pm { font-size: var(--_mlpp-text-sm); max-width: calc(100vw - 1rem); }  }
@media (prefers-reduced-motion: reduce) { #cc-main *, .mlpp-embed * { animation-duration: .01ms !important; scroll-behavior: auto !important; transition-duration: .01ms !important; } }
@media (forced-colors: active) { #cc-main .cm, #cc-main .pm, .mlpp-embed, .mlpp-settings, .mlpp-embed__revoke { border: 1px solid CanvasText; box-shadow: none; } #cc-main button:not(.ml-button):focus-visible, #cc-main input:focus-visible, .mlpp-settings:focus-visible, .mlpp-embed__revoke:focus-visible { outline-color: Highlight; } }
/* Design-system bridge: consent.js opts generated buttons into the public ml-design/ml-button
   contract when root control tokens exist. The role/geometry rules below apply only to buttons
   without ml-button, retaining the standalone appearance. Group flex/spacing stays vendor-owned,
   except the one-row consent actions above 640px (below). Both main actions remain equal;
   settings/save/close use the secondary role. */
#cc-main {
    /* The vendor derives these on :root, where they freeze to its own palette; restated so they follow the mapping. */
    --cc-btn-primary-hover-color: var(--_mlpp-on-accent); --cc-btn-primary-hover-border-color: var(--_mlpp-text);
    --cc-btn-secondary-hover-color: var(--_mlpp-text); --cc-btn-secondary-hover-border-color: var(--_mlpp-control-line);
    --cc-toggle-on-bg: var(--_mlpp-accent); --cc-link-color: var(--_mlpp-text); --cc-webkit-scrollbar-hover-bg: var(--_mlpp-text);
    --cc-pm-toggle-border-radius: var(--mlpp-radius-switch, var(--ml-radius-switch, 4em));
}
#cc-main :is(.cm__btn:not(.ml-button), .pm__btn:not(.ml-button)), #cc-main .cc--anim :is(.cm__btn:not(.ml-button), .pm__btn:not(.ml-button)), #cc-main .pm__close-btn:not(.ml-button) {
    box-sizing: border-box; min-height: var(--ml-control-height, var(--ml-target-min, 44px));
    padding: var(--ml-control-py, .5em) var(--ml-control-px, 1em);
    border-width: var(--_mlpp-control-border-width); border-radius: var(--ml-radius-control, var(--_mlpp-radius-control));
    font-size: var(--_mlpp-text-md); line-height: calc(var(--ml-leading-3, 1.25) * var(--ml-leading-body-factor, 1));
    /* Like the site's buttons: no colour fade (white text never fades onto a pale hover), only geometry and shadow move. */
    transition-property: transform, box-shadow, border-color; transition-duration: var(--ml-motion-duration-ui, .15s); transition-timing-function: var(--ml-motion-easing, ease-out);
}
#cc-main .pm__close-btn:not(.ml-button) { min-width: var(--ml-control-height, var(--ml-target-min, 44px)); padding: 0; }
#cc-main .pm__close-btn:not(.ml-button) svg { stroke: currentColor; }
/* Main role: accept and reject, identical by construction. */
#cc-main :is(.cm__btn:not(.ml-button), .pm__btn:not(.ml-button)):is([data-role="all"], [data-role="necessary"]) {
    background: var(--ml-button-primary-background, var(--_mlpp-accent)); background-image: var(--ml-button-primary-image, none);
    background-clip: var(--ml-button-primary-clip, border-box); background-origin: var(--ml-button-primary-origin, padding-box);
    border-color: var(--ml-button-primary-border, var(--_mlpp-accent)); border-style: var(--ml-button-primary-border-style, solid);
    color: var(--ml-button-primary-color, var(--_mlpp-on-accent)); box-shadow: var(--ml-button-primary-shadow, none);
    font-weight: var(--ml-button-primary-weight, var(--_mlpp-weight-ui)); letter-spacing: var(--ml-button-primary-spacing, normal); text-transform: var(--ml-button-primary-case, none);
}
@media (hover: hover) {
    #cc-main :is(.cm__btn:not(.ml-button), .pm__btn:not(.ml-button)):is([data-role="all"], [data-role="necessary"]):hover {
        background-color: var(--ml-button-primary-hover-background, var(--_mlpp-text)); background-image: var(--ml-button-primary-hover-image, none);
        border-color: var(--ml-button-primary-hover-border, var(--_mlpp-text)); color: var(--ml-button-primary-hover-color, var(--_mlpp-on-accent));
    }
}
#cc-main :is(.cm__btn:not(.ml-button), .pm__btn:not(.ml-button)):is([data-role="all"], [data-role="necessary"]):is(:active, :focus-visible) {
    background-color: var(--ml-button-primary-hover-background, var(--_mlpp-text)); background-image: var(--ml-button-primary-hover-image, none);
    border-color: var(--ml-button-primary-hover-border, var(--_mlpp-text)); color: var(--ml-button-primary-hover-color, var(--_mlpp-on-accent));
}
/* Secondary role: settings, save, close. */
#cc-main :is(.cm__btn:not(.ml-button), .pm__btn:not(.ml-button)):is([data-role="show"], [data-role="save"]), #cc-main .pm__close-btn:not(.ml-button) {
    background: var(--ml-button-secondary-background, var(--_mlpp-surface-alt)); background-image: var(--ml-button-secondary-image, none);
    background-clip: var(--ml-button-secondary-clip, border-box); background-origin: var(--ml-button-secondary-origin, padding-box);
    border-color: var(--ml-button-secondary-border, var(--_mlpp-control-line)); border-style: var(--ml-button-secondary-border-style, solid);
    color: var(--ml-button-secondary-color, var(--_mlpp-text)); box-shadow: var(--ml-button-secondary-shadow, none);
    font-weight: var(--ml-button-secondary-weight, var(--_mlpp-weight-ui)); letter-spacing: var(--ml-button-secondary-spacing, normal); text-transform: var(--ml-button-secondary-case, none);
}
@media (hover: hover) {
    #cc-main :is(.cm__btn:not(.ml-button), .pm__btn:not(.ml-button)):is([data-role="show"], [data-role="save"]):hover, #cc-main .pm__close-btn:not(.ml-button):hover {
        background-color: var(--ml-button-secondary-hover-background, var(--_mlpp-bg)); background-image: var(--ml-button-secondary-hover-image, none);
        border-color: var(--ml-button-secondary-hover-border, var(--_mlpp-control-line)); color: var(--ml-button-secondary-hover-color, var(--_mlpp-text));
    }
}
#cc-main :is(.cm__btn:not(.ml-button), .pm__btn:not(.ml-button)):is([data-role="show"], [data-role="save"]):is(:active, :focus-visible), #cc-main .pm__close-btn:not(.ml-button):is(:active, :focus-visible) {
    background-color: var(--ml-button-secondary-hover-background, var(--_mlpp-bg)); background-image: var(--ml-button-secondary-hover-image, none);
    border-color: var(--ml-button-secondary-hover-border, var(--_mlpp-control-line)); color: var(--ml-button-secondary-hover-color, var(--_mlpp-text));
}
/* The role's motion (lift, press, halo) where a precise pointer hovers; reduced motion switches it off below. */
@media (hover: hover) and (pointer: fine) {
    #cc-main :is(.cm__btn:not(.ml-button), .pm__btn:not(.ml-button)):is([data-role="all"], [data-role="necessary"]):hover { transform: var(--ml-button-primary-hover-transform, none); box-shadow: var(--ml-button-primary-hover-shadow, none); }
    #cc-main :is(.cm__btn:not(.ml-button), .pm__btn:not(.ml-button)):is([data-role="show"], [data-role="save"]):hover { transform: var(--ml-button-secondary-hover-transform, none); box-shadow: var(--ml-button-secondary-hover-shadow, none); }
}
#cc-main :is(.cm__btn:not(.ml-button), .pm__btn:not(.ml-button)):is([data-role="all"], [data-role="necessary"]):active { transform: var(--ml-button-primary-active-transform, none); }
#cc-main :is(.cm__btn:not(.ml-button), .pm__btn:not(.ml-button)):is([data-role="show"], [data-role="save"]):active { transform: var(--ml-button-secondary-active-transform, none); }
/* Embed placeholders: "Inhalt laden" is the main action, "Immer erlauben" the secondary one. */
.mlpp-embed div[data-service] .cll :is(.c-l-b, .c-la-b) { border: var(--_mlpp-control-border-width) solid transparent; border-radius: var(--ml-radius-control, var(--_mlpp-radius-control)); box-shadow: none; font-family: var(--_mlpp-font-ui); font-size: var(--_mlpp-text-sm); min-height: var(--ml-control-height, var(--ml-target-min, 44px)); }
.mlpp-embed div[data-service] .cll .c-l-b { background: var(--ml-button-primary-background, var(--_mlpp-accent)); background-image: var(--ml-button-primary-image, none); border-color: var(--ml-button-primary-border, var(--_mlpp-accent)); color: var(--ml-button-primary-color, var(--_mlpp-on-accent)); }
.mlpp-embed div[data-service] .cll .c-l-b::before { border-left-color: currentColor; }
.mlpp-embed div[data-service] .cll .c-la-b { background: var(--ml-button-secondary-background, var(--_mlpp-surface)); background-image: var(--ml-button-secondary-image, none); border-color: var(--ml-button-secondary-border, var(--_mlpp-control-line)); color: var(--ml-button-secondary-color, var(--_mlpp-text)); }
.mlpp-embed div[data-service] .cll .c-l-b:is(:hover, :focus-visible) { background-color: var(--ml-button-primary-hover-background, var(--_mlpp-text)); background-image: var(--ml-button-primary-hover-image, none); color: var(--ml-button-primary-hover-color, var(--_mlpp-on-accent)); }
.mlpp-embed div[data-service] .cll .c-la-b:is(:hover, :focus-visible) { background-color: var(--ml-button-secondary-hover-background, var(--_mlpp-bg)); background-image: var(--ml-button-secondary-hover-image, none); color: var(--ml-button-secondary-hover-color, var(--_mlpp-text)); }
#cc-main :is(.pm__section, .pm__section--toggle, .pm__section-title) { border-radius: max(0px, calc(var(--_mlpp-radius-card) - var(--_mlpp-space-1))); }
#cc-main .pm__section--toggle .pm__section-desc-wrapper { border-bottom-left-radius: max(0px, calc(var(--_mlpp-radius-card) - var(--_mlpp-space-1))); border-bottom-right-radius: max(0px, calc(var(--_mlpp-radius-card) - var(--_mlpp-space-1))); }
/* Links take the site's link style through the design system's ml-page-link hook (consent.js); only the vendor's bold stays out. */
#cc-main a.ml-page-link { font-weight: inherit; }
@media (prefers-reduced-motion: reduce) { #cc-main :is(.cm__btn:not(.ml-button), .pm__btn:not(.ml-button)) { transform: none !important; } }
@media (forced-colors: active) { #cc-main :is(.cm__btn:not(.ml-button), .pm__btn:not(.ml-button), .pm__close-btn:not(.ml-button)), .mlpp-embed div[data-service] .cll :is(.c-l-b, .c-la-b) { background: ButtonFace !important; border: 1px solid ButtonText !important; color: ButtonText !important; forced-color-adjust: auto; } }
/* Consent actions in one row (user decision 06.10.2026): above the vendor's 640px breakpoint the box takes the
   vendor's wide measure and accept, reject and settings share one row in DOM order, equally wide. A label that
   does not fit wraps the row, never its text; accept and reject stay equal either way. Up to 640px the vendor
   stacks them at full width (its !important rules). Layout only: button geometry stays with the roles above. */
@media screen and (min-width: 641px) {
    #cc-main .cm--box:not(.cm--wide) { max-width: 36em; }
    #cc-main .cm--box .cm__btns { flex-flow: row wrap; gap: .375rem; }
    #cc-main .cm--box .cm__btn-group { display: contents; }
    #cc-main .cm--box .cm__btns .cm__btn { flex: 1 1 0; margin: 0; min-width: max-content; }
}

/* Legal documents: content flow, never page sections. Full width of the content column and
   no shortened measure (user decision 05.10.2026). The privacy policy numbers its sections in
   the table of contents and in the headings with CSS counters (1., 2., 2.1 …), so documents
   that were published before keep matching without a new approval. */
.mlpp-legal {
    --_mlpp-paragraph-space: var(--ml-paragraph-space, 1em);
    --_mlpp-heading-space: var(--ml-heading-space, .65em);
    --_mlpp-fact-row-gap: .375em;
    inline-size: 100%;
    max-inline-size: none;
    min-inline-size: 0;
    margin-inline: 0;
    overflow-wrap: anywhere;
}
/* (1,1,0) beats the design system's reading-width cap #ml-lab-audit-content :is(p, ul, ol) (1,0,1). */
:is(.mlpp-legal, #ml-lab-audit-content .mlpp-legal) :where(p, ul, ol, dl, blockquote) {
    margin-block: 0 var(--_mlpp-paragraph-space);
    max-width: none;
    max-inline-size: none;
}
:is(.mlpp-legal, #ml-lab-audit-content .mlpp-legal) :where(h1, h2, h3) {
    margin-block: 0 var(--_mlpp-heading-space);
    scroll-margin-top: calc(6rem + var(--ml-space-4, 1.5rem));
}
:is(.mlpp-legal, #ml-lab-audit-content .mlpp-legal) h2 {
    margin-block-start: var(--ml-space-5, 2rem);
}
:is(.mlpp-legal, #ml-lab-audit-content .mlpp-legal) h3 {
    margin-block-start: var(--ml-space-4, 1.5rem);
}
/* Services follow each other without rules; the numbered headings separate them. */
.mlpp-service { margin-block-start: var(--ml-space-4, 1.5rem); }
:is(.mlpp-legal, #ml-lab-audit-content .mlpp-legal) .mlpp-service h3 { margin-block-start: 0; }
.mlpp-facts {
    display: grid;
    grid-template-columns: max-content minmax(0, 1fr);
    gap: var(--_mlpp-fact-row-gap, .375em) var(--ml-space-4, 1.5rem);
}
.mlpp-facts > :is(dt, dd) { min-inline-size: 0; margin: 0; overflow-wrap: anywhere; }
.mlpp-facts > dt { font-weight: 600; }
/* Telephone and e-mail as one block: no gap between the rows, half the indent. */
.mlpp-contacts { row-gap: 0; column-gap: calc(var(--ml-space-4, 1.5rem) / 2); }
.mlpp-contacts > dt { font-weight: 400; }
/* Table of contents: 1., 2., 2.1 … in a hanging number column. */
.mlpp-toc { margin-block: var(--ml-space-4, 1.5rem) var(--ml-space-5, 2rem); }
:is(.mlpp-legal, #ml-lab-audit-content .mlpp-legal) .mlpp-toc :is(p, ol) { margin-block: 0; }
:is(.mlpp-legal, #ml-lab-audit-content .mlpp-legal) .mlpp-toc ol { counter-reset: mlpp-toc; list-style: none; padding-inline-start: 0; }
:is(.mlpp-legal, #ml-lab-audit-content .mlpp-legal) .mlpp-toc li { counter-increment: mlpp-toc; display: grid; grid-template-columns: 1.75em minmax(0, 1fr); margin: 0; padding-block: .125em; }
:is(.mlpp-legal, #ml-lab-audit-content .mlpp-legal) .mlpp-toc li::before { content: counter(mlpp-toc) "."; }
:is(.mlpp-legal, #ml-lab-audit-content .mlpp-legal) .mlpp-toc li > * { grid-column: 2; }
:is(.mlpp-legal, #ml-lab-audit-content .mlpp-legal) .mlpp-toc ol ol > li { grid-template-columns: 2.25em minmax(0, 1fr); }
:is(.mlpp-legal, #ml-lab-audit-content .mlpp-legal) .mlpp-toc ol ol > li::before { content: counters(mlpp-toc, "."); }
.mlpp-toc > p { padding-block-end: .5em; }
/* Section numbers in the privacy policy, matching the table of contents. */
.mlpp-privacy { counter-reset: mlpp-h2; }
.mlpp-privacy > h2 { counter-increment: mlpp-h2; counter-reset: mlpp-h3; }
.mlpp-privacy > h2::before { content: counter(mlpp-h2) ". "; }
.mlpp-privacy > .mlpp-service > h3 { counter-increment: mlpp-h3; }
.mlpp-privacy > .mlpp-service > h3::before { content: counter(mlpp-h2) "." counter(mlpp-h3) " "; }
@media (max-width: 36rem) {
    .mlpp-facts:not(.mlpp-contacts) { grid-template-columns: minmax(0, 1fr); row-gap: 0; }
    .mlpp-facts:not(.mlpp-contacts) > dd { margin-block-end: calc(var(--_mlpp-fact-row-gap, .375em) * 2); }
    .mlpp-facts:not(.mlpp-contacts) > dd:last-child { margin-block-end: 0; }
}

/* The icon inherits the resolved button ink in every state, including vendor hover. */
#cc-main :is(.pm__close-btn, .cm__btn--close) svg,
#cc-main :is(.pm__close-btn, .cm__btn--close):is(:hover, :focus-visible, :active) svg { stroke: currentColor; }
