/*!
 * FAZ Cookie Manager — Cookie Policy frontend styles.
 *
 * Deliberately minimal: inherits font, colours, spacing from the host
 * theme. The only interventions are:
 *   1. Lift the typographic max-width constraint that block themes like
 *      Twenty Twenty-Four/Five impose via `.entry-content` (60ch) — which
 *      makes a long legal document feel cramped.
 *   2. Style the optional disclaimer so it is visually distinct from
 *      body copy (warning-coloured callout, light backdrop). Visibility
 *      and text are now admin-configurable; CSS still gives it the
 *      callout treatment whenever it is rendered.
 *   3. Style the per-category accordion (<details>/<summary>) and the
 *      cookie table inside it. Accordion is HTML5-native, JS-free,
 *      keyboard-accessible. The table inside uses a mobile-friendly
 *      data-label fallback so the layout collapses to a card stack on
 *      narrow screens without media queries fighting the theme.
 *   4. Neutralise <code> inside the policy. The policy uses <code> for
 *      cookie names and technical tokens; many themes style the global
 *      `code {}` element with a coloured background + border (often via
 *      their own `--theme-color-*` custom properties), which looks out of
 *      place inside a legal document. We force a transparent, border-less,
 *      inherit-colour monospace token so the policy renders neutrally on
 *      any theme.
 *
 * Anything else (headings, link colours, paragraph rhythm) is theme.
 */ .faz-cookie-policy { max-width: none; width: 100%; box-sizing: border-box; } .faz-cookie-policy code { border: 0 !important; background: transparent !important; background-color: transparent !important; color: inherit !important; box-shadow: none !important; padding: 0; } .faz-cookie-policy-category { margin: 1em 0 1.5em 0; } .faz-cookie-policy-details { border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 6px; margin: 0.5em 0; background: var(--faz-policy-card-bg, transparent); } .faz-cookie-policy-details + .faz-cookie-policy-details { margin-top: 0.6em; } details.faz-cookie-policy-details > summary.faz-cookie-policy-summary { cursor: pointer; list-style: none; padding: 0.75em 1em; display: flex; align-items: center; gap: 0.75em; user-select: none; transition: background-color 120ms ease; } details.faz-cookie-policy-details > summary.faz-cookie-policy-summary:hover, details.faz-cookie-policy-details > summary.faz-cookie-policy-summary:focus-visible { background: rgba(0, 0, 0, 0.04); outline: none; } details.faz-cookie-policy-details > summary.faz-cookie-policy-summary::-webkit-details-marker { display: none; } details.faz-cookie-policy-details > summary.faz-cookie-policy-summary::marker { content: ''; } details.faz-cookie-policy-details > summary.faz-cookie-policy-summary::before { content: ''; display: inline-block; width: 0.55em; height: 0.55em; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(-45deg); transition: transform 150ms ease; flex: 0 0 auto; } details.faz-cookie-policy-details[open] > summary.faz-cookie-policy-summary::before { transform: rotate(45deg); } details.faz-cookie-policy-details > summary.faz-cookie-policy-summary > .faz-cookie-policy-category-name { display: inline-flex; align-items: center; margin: 0; padding: 0; width: auto; font-size: 1.05em; font-weight: 600; line-height: 1.3; flex: 1 1 auto; } details.faz-cookie-policy-details > summary.faz-cookie-policy-summary > .faz-cookie-policy-count { display: inline-flex; align-items: center; width: auto; font-size: 0.85em; color: var(--faz-policy-muted, #666); font-weight: normal; white-space: nowrap; flex: 0 0 auto; } .faz-cookie-policy-details-body { padding: 0.25em 1em 1em 1em; } .faz-cookie-policy-table { width: 100%; border-collapse: collapse; margin: 0.75em 0 0; font-size: 0.92em; } .faz-cookie-policy-table th, .faz-cookie-policy-table td { text-align: left; padding: 0.55em 0.7em; vertical-align: top; border-bottom: 1px solid rgba(0, 0, 0, 0.06); } .faz-cookie-policy-table thead th { font-weight: 600; border-bottom: 2px solid rgba(0, 0, 0, 0.12); background: rgba(0, 0, 0, 0.02); } .faz-cookie-policy-table code { font-size: 0.95em; } @media (max-width: 600px) { .faz-cookie-policy-table thead { clip: rect(0 0 0 0); clip-path: inset(50%); height: 1px; width: 1px; overflow: hidden; position: absolute; white-space: nowrap; } .faz-cookie-policy-table, .faz-cookie-policy-table tbody, .faz-cookie-policy-table tr, .faz-cookie-policy-table td { display: block; width: 100%; } .faz-cookie-policy-table tr { border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 4px; padding: 0.4em 0.5em; margin: 0.5em 0; } .faz-cookie-policy-table td { border: 0; padding: 0.2em 0; } .faz-cookie-policy-table td::before { content: attr(data-label) ': '; font-weight: 600; display: inline-block; margin-right: 0.4em; } } .faz-cookie-policy-disclaimer { margin-top: 2em; padding: 0.85em 1em; background: var(--faz-disclaimer-bg, #fff5d6); border-left: 4px solid var(--faz-disclaimer-accent, #d4a017); font-size: 0.9em; line-height: 1.55; } .faz-cookie-policy-transfers { margin-top: 2em; padding: 1em 1.15em; background: var(--faz-transfer-bg, #f1f5f9); border-left: 4px solid var(--faz-transfer-accent, #64748b); border-radius: 4px; } .faz-cookie-policy-transfers-title { margin: 0 0 0.4em; font-size: 1.15em; } .faz-cookie-policy-transfers-list { margin: 0.6em 0 0; padding-left: 1.2em; line-height: 1.55; } .faz-cookie-policy-transfers-list code { font-size: 0.92em; } .faz-cookie-policy-transfer { display: block; margin-top: 0.35em; font-size: 0.82em; color: var(--faz-transfer-fg, #475569); }