/**
 * Redim\CookieConsent — granular consent banner styles.
 * Self-contained (no Bootstrap dependency) toggle switches + category layout.
 * Layered on top of the chosen theme css (e.g. redimstyle.css).
 */

/* ============================================================================
   Element baseline — explicit values for everything the banner renders.

   The !important hardening only protects properties the plugin actually
   declares. A site theme's TYPE selectors (a{font-size:18px}, span{},
   img{border:…}) reached everything left to the browser default, so the banner
   looked different from one site to the next. This block therefore states a
   value instead of relying on defaults.

   TWO RULES KEEP IT SAFE — do not change either:

   1. Specificity stays low: ".redim-tpl *" is (0,1,0) and ".redim-tpl <el>" is
      (0,1,1). That beats any bare type selector (0,0,1) but loses to every
      skin (1,2,1) and template (>= 0,2,0) rule.

   2. It lives at the TOP of this file, so single-class rules further down
      (.redim-cc, .redim-cc-iframe-note, .redim-cc-iframe-load — all (0,1,0),
      i.e. a TIE) win by document order. Emitting it from PHP as an inline
      <style> put it AFTER this stylesheet and silently broke exactly those:
      the block jumped from 14px to 16px and the iframe overlay lost its
      padding, background and radius.

   INHERITED properties must be reset to "inherit", never an absolute value:
   the skin styles the BUTTON (e.g. text-transform:uppercase) while its caption
   sits in a <span> — an absolute "none" would undo the design.

   font-family/font-size stay inherited on purpose; .redim-cc below pins the
   banner's own base size. Granular mode only (this file is not loaded for the
   classic banner, which stays the 2.x-compatible path).

   TEXT-SPACING EXCEPTION (WCAG 1.4.12, deliberate two-sided rule): the four
   user-adjustable properties — line-height, letter-spacing, word-spacing and
   the paragraph margin-bottom — must NEVER carry !important anywhere in the
   banner stack. The baseline repels bare theme type selectors via SPECIFICITY
   alone; !important on these only defeated the visitor's own text-spacing
   overrides (which work exactly with !important). Everything else keeps the
   !important hardening. Also banned: the font: shorthand (it silently re-pins
   line-height). Documented residual risk: themes that put !important on these
   typo properties can now influence the banner typography.
   ========================================================================= */
.redim-tpl {
    font-weight: 400 !important;
    font-style: normal !important;
    font-variant: normal !important;
    letter-spacing: normal;
    word-spacing: normal;
    text-transform: none !important;
    text-indent: 0 !important;
    text-shadow: none !important;
    box-sizing: border-box !important;
    float: none !important;
}

.redim-tpl *,
.redim-tpl *::before,
.redim-tpl *::after,
.redim-cc-iframe-overlay * {
    box-sizing: border-box !important;
    font-family: inherit !important;
    font-size: inherit !important;
    font-weight: inherit !important;
    font-style: inherit !important;
    font-variant: inherit !important;
    line-height: inherit;
    letter-spacing: inherit;
    word-spacing: inherit;
    text-transform: inherit !important;
    text-indent: inherit !important;
    text-shadow: inherit !important;
    text-decoration: none !important;
    text-align: inherit !important;
    color: inherit !important;
    background: none !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    margin-top: 0 !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
    margin-bottom: 0;
    padding: 0 !important;
    float: none !important;
    list-style: none !important;
    vertical-align: baseline !important;
}

.redim-tpl a,
.redim-cc-iframe-overlay a { cursor: pointer !important; text-decoration: none !important; }
.redim-tpl button,
.redim-cc-iframe-overlay button { -webkit-appearance: none !important; appearance: none !important; cursor: pointer !important; text-align: center !important; overflow: visible !important; }
.redim-tpl input { margin: 0 !important; }
.redim-tpl img { display: inline-block !important; max-width: 100% !important; height: auto !important; }
.redim-tpl div { display: block !important; }
/* The banner's main text (language key INFO) is an unclassed <p>; its trailing
   1em is the gap to the button row. Restate it — the universal margin reset
   above would otherwise pull the buttons up. margin-bottom stays overridable
   (text-spacing exception, 1.4.12). */
.redim-tpl p { display: block !important; margin-top: 0 !important; margin-right: 0 !important; margin-left: 0 !important; margin-bottom: 1em; }
.redim-tpl span { display: inline !important; }
.redim-tpl label { display: inline !important; cursor: pointer !important; }
/* Monospace is the DESIGN here, not a leftover browser default: the cookie-name
   chips are meant to read as code. State it explicitly (incl. the UA's 0.8125em)
   instead of inheriting — .redim-cc-consent-id code below deliberately opts out. */
.redim-tpl code, .redim-tpl kbd, .redim-tpl samp { font-family: monospace !important; font-size: 0.875em !important; }
.redim-tpl strong, .redim-tpl b { font-weight: 700 !important; }
.redim-tpl em, .redim-tpl i { font-style: italic !important; }
.redim-tpl small, .redim-tpl sub, .redim-tpl sup { font-size: inherit !important; vertical-align: baseline !important; }
.redim-tpl ul, .redim-tpl ol { list-style: none !important; }
.redim-tpl li { display: list-item !important; }
.redim-tpl h1, .redim-tpl h2, .redim-tpl h3,
.redim-tpl h4, .redim-tpl h5, .redim-tpl h6 { font-size: inherit !important; font-weight: inherit !important; display: block !important; }
.redim-tpl hr { border: 0 !important; height: 1px !important; }
.redim-tpl table { border-collapse: collapse !important; }

/* The display rules above are (0,1,1) and would beat the browser's own
   "[hidden] { display: none }" (0,1,0) — that silently unfolded every collapsed
   cookie list. Restore it at (0,2,0) so hidden stays hidden. */
.redim-tpl [hidden],
.redim-cc-iframe-overlay [hidden] { display: none !important; }

/* The floating badge lives outside the card and is an <a>/<button> too. */
.redim-cc-reopen {
    font-family: inherit !important;
    font-size: inherit !important;
    font-weight: 400 !important;
    font-style: normal !important;
    letter-spacing: normal;
    text-transform: none !important;
    box-sizing: border-box !important;
    float: none !important;
}

/* Normalised base font: without it the block inherits the host theme's body size
   (e.g. 22px in Twenty Twenty-Five vs 16px in Cassiopeia) and renders visibly
   larger on some sites. Explicit px keeps the banner identical everywhere. */
.redim-cc {
    font-size: 14px !important;
    line-height: 1.5;
}

/* Host-theme leaks, normalised once at the banner root so the banner reads
   identically on every host: body font-weight / letter-spacing (e.g. 300 and
   -0.1px in Twenty Twenty-Five vs 400/normal in Cassiopeia) would bleed into
   every banner text; <button> keeps the UA font (Arial) and line-height:normal
   on themes without a button reset (Bootstrap hosts reset it). Font-family
   itself stays inherited on purpose (the banner adopts the site font). */
#redim-cookiehint.redim-tpl {
    font-weight: 400 !important;
    font-style: normal !important;
    letter-spacing: normal;
}
#redim-cookiehint.redim-tpl button,
#redim-cookiehint.redim-tpl .redim-cc-btn {
    font-family: inherit !important;
    line-height: 1.5;
}

.redim-cc .redim-cc-categories {
    /* Negative side margins + matching padding: the scroller clips at its
       padding edge, so without this room the 3px focus rings of the switches
       were cut off at the sides (2.4.7/2.4.13). */
    margin: 12px -6px !important;
    padding-left: 6px !important;
    padding-right: 6px !important;
    text-align: left !important;
    max-height: 38vh !important;
    overflow-y: auto !important;
    /* Sticky save row (flyout/drawer panes): keep a scrolled-to control from
       ending up UNDER it (2.4.11 focus not obscured). */
    scroll-padding-bottom: 88px !important;
    /* Only vertical scrolling. Without this, overflow-y:auto makes the computed
       overflow-x "auto" too, so the detail-toggle caret briefly overflowing during
       its rotation transition would flash a horizontal scrollbar. */
    overflow-x: hidden !important;
}

/* 400% zoom / tiny viewports: a vh-capped list shrinks to a ~100px slit —
   release the cap and let the card itself scroll (1.4.10 reflow). */
@media (max-height: 480px) {
    .redim-cc .redim-cc-categories,
    #redim-cookiehint-modal .redim-cc .redim-cc-categories {
        max-height: none !important;
    }
}

/* Narrow phones: the 52px switch indent eats a quarter of the line (1.4.10). */
@media (max-width: 360px) {
    .redim-cc .redim-cc-cat-desc,
    .redim-cc .redim-cc-cookies {
        margin-left: 12px !important;
    }
}

/* --- collapsible "cookie settings" box --- */
/* The toggle is a full-size .redim-cc-btn in the main button row (the template styles it);
   here only the caret layout — no colours/borders that would fight the .redim-cc-btn look. */
.redim-cc .redim-cc-toggle-details {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    cursor: pointer !important;
    /* No font: shorthand — it silently re-pins line-height (1.4.12 ban). */
    font-family: inherit !important;
    font-size: inherit !important;
    font-weight: inherit !important;
    font-style: inherit !important;
}

.redim-cc .redim-cc-toggle-caret {
    font-size: 12px !important;
    transition: transform 0.2s ease !important;
}

.redim-cc .redim-cc-toggle-details.redim-cc-is-open .redim-cc-toggle-caret {
    transform: rotate(180deg) !important;
}

.redim-cc .redim-cc-details[hidden] {
    display: none !important;
}

/* The banner position style sets display:flex on the modal wrapper, which would
   override the UA [hidden] rule on themes without a Bootstrap-style reboot
   ([hidden]{display:none!important}) - e.g. WordPress Twenty Twenty-Five.
   The bar wrappers are covered too: a theme display rule on them would
   otherwise leave a hidden-but-focusable banner behind (4.1.2). */
#redim-cookiehint-modal[hidden],
#redim-cookiehint-top[hidden],
#redim-cookiehint-bottom[hidden],
#redim-cookiehint[hidden] {
    display: none !important;
}

.redim-cc .redim-cc-cat {
    /* Neutral grey instead of black-based rgba: stays visible on the dark theme
       CSS files (black.css, blue.css, ...) of the classic template system too. */
    border-top: 1px solid rgba(128, 128, 128, 0.3) !important;
    padding: 8px 2px !important;
}

.redim-cc .redim-cc-cat-head {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    cursor: pointer !important;
}

.redim-cc .redim-cc-cat-label {
    font-weight: 600 !important;
    flex: 1 1 auto !important;
}

.redim-cc .redim-cc-cat-count {
    font-weight: 400 !important;
    font-size: 0.9em !important;
    color: var(--redim-cc-skin-muted, #707070) !important;
}

/* Visible "always on" badge for the locked essential family — communicates the
   lock now that the switch is aria-disabled (findable) instead of disabled. */
.redim-cc .redim-cc-always-on {
    display: inline-block !important;
    margin-left: 0.4em !important;
    padding: 0.05em 0.5em !important;
    border: 1px solid currentColor !important;
    border-radius: 999px !important;
    font-size: 0.75em !important;
    font-weight: 400 !important;
    vertical-align: middle !important;
    white-space: nowrap !important;
}

.redim-cc .redim-cc-cat-desc {
    font-size: 12px !important;
    line-height: 1.5;
    color: var(--redim-cc-skin-muted, #707070) !important;
    margin: 4px 0 0 52px !important;
}

.redim-cc .redim-cc-detail-toggle {
    background: none !important;
    border: none !important;
    cursor: pointer !important;
    font-size: 14px !important;
    color: #707070 !important;
    padding: 2px 6px !important;
    /* 2.5.8 minimum target size: the caret glyph measured 23.7px wide (AInspector
       TARGET_SIZE_3) — pin the box to >= 24x24 without changing the look. */
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 24px !important;
    min-height: 24px !important;
    transition: transform 0.2s ease !important;
}

.redim-cc .redim-cc-detail-toggle[aria-expanded="true"] {
    transform: rotate(180deg) !important;
}

/* --- toggle switch --- */
.redim-cc .redim-cc-switch {
    position: relative !important;
    display: inline-block !important;
    width: 42px !important;
    height: 24px !important;
    flex: 0 0 auto !important;
    margin: 0 !important;
}

.redim-cc .redim-cc-switch input {
    opacity: 0 !important;
    width: 0 !important;
    height: 0 !important;
    position: absolute !important;
}

.redim-cc .redim-cc-slider {
    position: absolute !important;
    cursor: pointer !important;
    inset: 0 !important;
    /* >=3:1 against both light and dark card backgrounds AND against the white
       knob (WCAG 1.4.11 non-text contrast). */
    background-color: #8f8f8f !important;
    transition: 0.3s !important;
    border-radius: 24px !important;
}

.redim-cc .redim-cc-slider::before {
    content: "" !important;
    position: absolute !important;
    height: 18px !important;
    width: 18px !important;
    left: 3px !important;
    bottom: 3px !important;
    /* Knob colour is a skin variable (>= 3:1 against BOTH track states per
       skin, WCAG 1.4.11) — hard #fff sank to ~1.2:1 on light custom accents. */
    background-color: var(--redim-cc-skin-knob, #fff) !important;
    transition: 0.3s !important;
    border-radius: 50% !important;
}

.redim-cc .redim-cc-switch input:checked + .redim-cc-slider {
    background-color: var(--redim-cc-accent, #008511) !important;
}

.redim-cc .redim-cc-switch input:checked + .redim-cc-slider::before {
    transform: translateX(18px) !important;
}

/* Locked ("always on") switch: FULL accent — the former opacity:.55 washed the
   track/knob to ~2:1 (1.4.11). The lock is communicated by the visible badge,
   aria-disabled and the cursor instead. */
.redim-cc .redim-cc-switch input[aria-disabled="true"] + .redim-cc-slider {
    background-color: var(--redim-cc-accent, #008511) !important;
    cursor: not-allowed !important;
}

/* Cookie-row switch: 34x24 — 24px is the 2.5.8 minimum target height (the
   former 20px failed it); the knob inherits the 18px base size. */
.redim-cc .redim-cc-switch-sm {
    width: 34px !important;
    height: 24px !important;
}

.redim-cc .redim-cc-switch-sm input:checked + .redim-cc-slider::before {
    transform: translateX(10px) !important;
}

/* --- per-cookie rows --- */
.redim-cc .redim-cc-cookies {
    margin: 6px 0 4px 52px !important;
}

.redim-cc .redim-cc-cookie {
    display: grid !important;
    grid-template-columns: 34px 1fr !important;
    gap: 4px 10px !important;
    align-items: center !important;
    padding: 5px 0 !important;
    border-top: 1px dashed rgba(128, 128, 128, 0.25) !important;
}

.redim-cc .redim-cc-cookie-name {
    font-size: 13px !important;
}

.redim-cc .redim-cc-cookie-name code {
    background: rgba(128, 128, 128, 0.18) !important;
    padding: 1px 5px !important;
    border-radius: 3px !important;
    color: inherit !important;
}

/* --- remembered iframe providers ("allowed embedded content", 3.4.0) ---
   Reuses the category + cookie-row markup, so every skin and template styles
   it like a category. Its header carries no switch, so the 52px switch indent
   of description and list would only leave a gap. */
.redim-cc .redim-cc-frames .redim-cc-cat-head {
    cursor: default !important;
}
.redim-cc .redim-cc-frames .redim-cc-cat-desc,
.redim-cc .redim-cc-frames .redim-cc-cookies {
    margin-left: 0 !important;
}

.redim-cc .redim-cc-cookie-desc {
    grid-column: 2 !important;
    font-size: 12px !important;
    line-height: 1.5;
}

.redim-cc .redim-cc-cookie-meta {
    grid-column: 2 !important;
    font-size: 11px !important;
    line-height: 1.5;
    /* One AA-safe muted colour per skin instead of opacity stacking (which ate
       the contrast reserve, B16). */
    color: var(--redim-cc-skin-muted, #707070) !important;
}

/* --- noscript fallback --- */
.redim-cc .redim-cc-noscript p {
    margin: 8px 0 4px !important;
    font-size: 13px !important;
}

/* --- buttons --- */
.redim-cc .redim-cc-buttons {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    margin-top: 8px !important;
}

/* "Save selection" lives INSIDE the details accordion, below the categories. */
.redim-cc .redim-cc-save-row {
    margin-top: 4px !important;
}

.redim-cc .redim-cc-buttons .redim-cc-btn {
    flex: 1 1 auto !important;
}

.redim-cc .redim-cc-save {
    background: #f0f0f0 !important;
    color: #333 !important;
}

/* Accept and reject share ONE colour by design: equal-weight buttons are legally
   required (no visual steering towards consent). The admin-configured colour is
   injected as --redim-cc-btn-bg/-fg (see ConsentManager::colorStyle()). */
.redim-cc .redim-cc-accept-all,
.redim-cc .redim-cc-reject {
    background: var(--redim-cc-btn-bg, #008511) !important;
    color: var(--redim-cc-btn-fg, #fff) !important;
}

#redim-cookiehint-modal .redim-cc .redim-cc-categories {
    max-height: 46vh !important;
}

/* Footer links (info/imprint, watermark) sit in 11-13px text — give them the
   24px minimum target height (2.5.8) without changing the visual line. */
.redim-cc .redim-cc-text-center a,
.redim-cc-watermark a {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 24px !important;
    padding-left: 2px !important;
    padding-right: 2px !important;
}

/* --- accessibility (WCAG 2.2) --- */

/* Windows contrast mode (forced colors): without this block the toggle's ON
   and OFF state were indistinguishable (the accent backgrounds are stripped) —
   restate the states in system colours (1.4.1/1.4.11). */
@media (forced-colors: active) {
    .redim-cc .redim-cc-slider {
        background: ButtonFace !important;
        border: 1px solid ButtonText !important;
    }
    .redim-cc .redim-cc-slider::before {
        background: ButtonText !important;
    }
    .redim-cc .redim-cc-switch input:checked + .redim-cc-slider,
    .redim-cc .redim-cc-switch input[aria-disabled="true"] + .redim-cc-slider {
        background: Highlight !important;
        border-color: Highlight !important;
    }
    .redim-cc .redim-cc-switch input:checked + .redim-cc-slider::before,
    .redim-cc .redim-cc-switch input[aria-disabled="true"] + .redim-cc-slider::before {
        background: HighlightText !important;
    }
    #redim-cookiehint.redim-tpl {
        border: 1px solid CanvasText !important;
    }
    .redim-cc-reopen {
        border: 1px solid ButtonText !important;
    }
}

/* Screenreader-only text: gives the otherwise empty switch <label>s their
   visible caption as real text content (checkers flag aria-only names as
   "empty form label"). Specificity (0,2,0): above the element baseline,
   below every skin/template rule. clip-path replaces the legacy clip().
   #redim-cc-live is the live region OUTSIDE the banner wrapper (see
   ConsentManager::liveRegionHtml()) — it has no .redim-cc ancestor. */
#redim-cc-live,
.redim-cc .redim-cc-sr-only {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: -1px !important;
    padding: 0 !important;
    border: 0 !important;
    overflow: hidden !important;
    clip-path: inset(50%) !important;
    white-space: nowrap !important;
}

/* Visible focus indicator (2.4.7) as a template-neutral fallback. Two-tone by
   construction: the dark outline sits on a white halo (box-shadow), so the ring
   is visible against ANY card colour a custom skin brings — the former
   currentColor ring was white-on-white on the shipped buttons (latent, B6).
   The shipped skins override this with their own high-contrast rings. */
.redim-cc button:focus-visible,
.redim-cc a:focus-visible {
    outline: 3px solid #1a1a1a !important;
    outline-offset: 2px !important;
    box-shadow: 0 0 0 2px #ffffff !important;
}

.redim-cc .redim-cc-switch input:focus-visible + .redim-cc-slider {
    outline: 3px solid #1a1a1a !important;
    outline-offset: 2px !important;
    box-shadow: 0 0 0 2px #ffffff !important;
}

/* Engines without :focus-visible would otherwise show NO ring at all — a plain
   :focus net for exactly that case (modern browsers keep the rule above). */
@supports not selector(:focus-visible) {
    .redim-cc button:focus,
    .redim-cc a:focus {
        outline: 3px solid #1a1a1a !important;
        outline-offset: 2px !important;
        box-shadow: 0 0 0 2px #ffffff !important;
    }
    .redim-cc .redim-cc-switch input:focus + .redim-cc-slider {
        outline: 3px solid #1a1a1a !important;
        outline-offset: 2px !important;
        box-shadow: 0 0 0 2px #ffffff !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .redim-cc .redim-cc-toggle-caret,
    .redim-cc .redim-cc-detail-toggle,
    .redim-cc .redim-cc-slider,
    .redim-cc .redim-cc-slider::before {
        transition: none !important;
    }
}

/* ---- Two-click iframe blocker: blurred shield over blocked third-party frames.
   Outside the banner DOM, so no .redim-cc scope; !important against page CSS.
   These rules style the FALLBACK overlay only (sandboxed frames); the regular
   notice is painted inside the frame's own document by cookieconsent.js and
   carries its styles inline, because no stylesheet of ours reaches that
   document. Keep both in sync.
   The "load" button wears the colours of the banner's own buttons: the script
   resolves them from the banner's accept button (operator colours, skin
   colours, dark variant) and sets them inline in BOTH renderings; the
   --redim-cc-btn-bg/-fg variables below (:root, see ConsentManager::
   colorStyle()) are only the no-script fallback. Hover/focus is the same
   colour-independent inset ring the skins use for the banner buttons. */
.redim-cc-iframe-overlay {
    /* Geometry (left/top/width/height) is set by cookieconsent.js to the exact
       iframe box — the overlay is an out-of-flow sibling, never a wrapper. */
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    z-index: 5 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 12px !important;
    padding: 16px !important;
    box-sizing: border-box !important;
    text-align: center !important;
    background: rgba(96, 98, 103, 0.35) !important;
    -webkit-backdrop-filter: blur(10px) !important;
    backdrop-filter: blur(10px) !important;
    overflow: auto !important;
}
.redim-cc-iframe-note {
    margin: 0 !important;
    max-width: 44em !important;
    font-family: inherit !important;
    font-size: 14px !important;
    line-height: 1.5;
    color: #1d232b !important;
    background: rgba(255, 255, 255, 0.85) !important;
    padding: 8px 12px !important;
    border-radius: 6px !important;
}
.redim-cc-iframe-load {
    display: inline-block !important;
    min-height: 44px !important;
    padding: 10px 22px !important;
    border: 0 !important;
    border-radius: 6px !important;
    background: var(--redim-cc-btn-bg, #008511) !important;
    color: var(--redim-cc-btn-fg, #ffffff) !important;
    font-family: inherit !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    line-height: 1.5;
    cursor: pointer !important;
}
.redim-cc-iframe-load:hover,
.redim-cc-iframe-load:focus {
    box-shadow: inset 0 0 0 2px currentColor !important;
}
.redim-cc-iframe-load:focus-visible {
    outline: 3px solid #1d232b !important;
    outline-offset: 2px !important;
}
/* "Always load content from …" (option "remember per provider", 3.4.0) —
   fallback overlay only; in-frame the script styles it inline. A pill like the
   notice; the box keeps its native look against theme checkbox resets. */
.redim-cc-iframe-remember {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    max-width: 44em !important;
    min-height: 24px !important;
    font-family: inherit !important;
    font-size: 14px !important;
    line-height: 1.5;
    color: #1d232b !important;
    background: rgba(255, 255, 255, 0.85) !important;
    padding: 6px 12px !important;
    border-radius: 6px !important;
    cursor: pointer !important;
    text-align: left !important;
}
.redim-cc-iframe-overlay .redim-cc-iframe-remember-box {
    -webkit-appearance: checkbox !important;
    appearance: auto !important;
    position: static !important;
    opacity: 1 !important;
    width: 18px !important;
    height: 18px !important;
    margin: 0 !important;
    flex: none !important;
    cursor: pointer !important;
}

/* Consent-log: visitor-facing consent id under the granular save row.
   Muted via an AA-safe colour, not opacity (B16). */
.redim-cc .redim-cc-consent-id {
    margin-top: 6px !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
    margin-bottom: 0;
    font-size: 11px !important;
    color: var(--redim-cc-skin-muted, #707070) !important;
    text-align: center !important;
    word-break: break-all !important;
}
/* The id sits in <code>: host themes style that tag (Bootstrap: pink #d63384 at
   0.875em, own padding/background) — pin it so it reads like the label. */
.redim-cc .redim-cc-consent-id code {
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace !important;
    font-size: inherit !important;
    font-weight: inherit !important;
    color: inherit !important;
    background: none !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
}

/* Eintrag eines blockierten Anbieters: wuerde bei Zustimmung verwendet.
   Volle Deckkraft — die fruehere opacity .75 frass die Kontrastreserve (B16). */
.redim-cc-cookie-pending{display:inline-block !important;margin-left:.4em !important;padding:.05em .5em !important;border:1px solid currentColor !important;border-radius:999px !important;font-size:.75em !important;vertical-align:middle !important;white-space:nowrap !important}
