/*!
 * D2 Consent (claude) — banneret. Version 1.1.0
 *
 * Bygget på D2 Design System. Hver farve og radius er et --d2-token med en
 * fast reserveværdi, så banneret ser rigtigt ud selv hvis d2-tokens.css
 * af en eller anden grund ikke er indlæst — det må ALDRIG stå ulæseligt,
 * for så kan samtykket ikke gives.
 *
 * TRE STEDER AFVIGER JEG BEVIDST FRA SITETS NUVÆRENDE PRAKSIS
 *
 * 1. Den orange knap har næsten sort tekst, ikke hvid.
 *    --d2-orange #fc8902 mod hvid giver 2,41:1. Det er under WCAG 2.1 AA's
 *    krav på 4,5:1, og sitet gør det alligevel i dag. Mod --d2-ink-strong
 *    #1a1a1a giver den samme orange 7,2:1. Samme brandfarve, læsbar tekst.
 *    Et samtykkebanner er det sidste sted, hvor en knap må være svær at læse.
 *
 * 2. Fokusringen er mørk, ikke --d2-focus-ring.
 *    Tokenet er rgba(252,137,2,0.30) — en gennemsigtig orange, der på hvid
 *    bund er alt for svag til at kunne ses. En tastaturbruger skal kunne se
 *    hvor fokus er. Her bruges en mørk ring med afstand, så den virker både
 *    på lys og på orange bund.
 *
 * 3. Kanter der AFGRÆNSER noget bruger --d2-ink-faint, ikke linjetokens.
 *    --d2-line-strong #d8d8d8 mod hvid giver 1,43:1, og --d2-line #e8e8e8
 *    endnu mindre. WCAG 2.1 kræver 3:1 for det, der skal kunne identificere en
 *    komponent. Linjetokens er udmærkede til at adskille afsnit INDE i et
 *    kort; de holder ikke som kant om selve kortet eller om en knap.
 *
 * Alle tre afvigelser er fejl i det nuværende designsystem, ikke i banneret.
 * De er skrevet op i claude_patch-samtykkebanner-v1.md med de regnede tal.
 */
 .d2cn{position:fixed;z-index:999999;left:0;right:0;bottom:0;padding:16px;pointer-events:none;display:flex;justify-content:center}.d2cn:focus{outline:none}.d2cn__kort{pointer-events:auto;box-sizing:border-box;width:100%;max-width:720px;background:var(--d2-surface,#ffffff);color:var(--d2-ink-body,#292929);border:1px solid var(--d2-ink-faint,#666666);border-radius:var(--d2-radius-lg,12px);box-shadow:0 6px 28px rgb(0 0 0 / .18);padding:20px;font-family:var(--d2-font-body,Arial,Helvetica,sans-serif);font-size:15px;line-height:1.55}.d2cn__titel{margin:0 0 8px;font-family:var(--d2-font-display,'Montserrat',Arial,sans-serif);font-size:19px;line-height:1.3;font-weight:700;color:var(--d2-ink-strong,#1a1a1a)}.d2cn__brod{margin:0 0 16px;color:var(--d2-ink-body,#292929)}.d2cn__panel{margin:0 0 16px;border-top:1px solid var(--d2-line,#e8e8e8)}.d2cn__panel[hidden]{display:none}.d2cn__raekke{display:flex;align-items:flex-start;gap:12px;padding:14px 0;border-bottom:1px solid var(--d2-line,#e8e8e8)}.d2cn__raekke:last-child{border-bottom:0}.d2cn__raekke input[type="checkbox"]{flex:0 0 auto;width:20px;height:20px;margin:2px 0 0;accent-color:var(--d2-orange,#fc8902);cursor:pointer}.d2cn__raekke input[type="checkbox"]:disabled{cursor:default;opacity:.75}.d2cn__tekster{min-width:0}.d2cn__navn{display:block;font-weight:700;color:var(--d2-ink-strong,#1a1a1a);cursor:pointer}.d2cn__raekke input:disabled+.d2cn__tekster .d2cn__navn{cursor:default}.d2cn__om{margin:2px 0 0;font-size:14px;color:var(--d2-ink-muted,#444444)}.d2cn__handlinger{display:flex;flex-wrap:wrap;gap:10px}.d2cn__btn{box-sizing:border-box;flex:1 1 auto;min-width:160px;min-height:48px;padding:12px 18px;border-radius:var(--d2-radius-md,6px);font-family:var(--d2-font-body,Arial,Helvetica,sans-serif);font-size:15px;font-weight:700;line-height:1.2;cursor:pointer;transition:background-color var(--d2-transition,0.2s ease),border-color var(--d2-transition,0.2s ease)}.d2cn__btn[hidden]{display:none}.d2cn__btn--primaer{background:var(--d2-orange,#fc8902);border:2px solid var(--d2-orange,#fc8902);color:var(--d2-ink-strong,#1a1a1a)}.d2cn__btn--primaer:hover{background:var(--d2-orange-hover,#e57a00);border-color:var(--d2-orange-hover,#e57a00)}.d2cn__btn--sekundaer{background:var(--d2-surface,#ffffff);border:2px solid var(--d2-ink-muted,#444444);color:var(--d2-ink-body,#292929)}.d2cn__btn--sekundaer:hover{background:var(--d2-surface-alt,#f7f7f7);border-color:var(--d2-ink-strong,#1a1a1a)}.d2cn__btn--tredje{background:#fff0;border:2px solid #fff0;color:var(--d2-ink-body,#292929);text-decoration:underline;flex:0 1 auto;min-width:0}.d2cn__btn--tredje:hover{color:var(--d2-ink-strong,#1a1a1a);background:var(--d2-surface-alt,#f7f7f7)}.d2cn__btn:focus-visible,.d2cn__raekke input[type="checkbox"]:focus-visible,.d2cn__politik a:focus-visible,.d2cn-kaldfrem:focus-visible{outline:3px solid var(--d2-ink-strong,#1a1a1a);outline-offset:2px}.d2cn__btn:focus,.d2cn-kaldfrem:focus{outline:3px solid var(--d2-ink-strong,#1a1a1a);outline-offset:2px}.d2cn__btn:focus:not(:focus-visible),.d2cn-kaldfrem:focus:not(:focus-visible){outline:none}.d2cn__politik{margin:14px 0 0;font-size:14px}.d2cn__politik a{color:var(--d2-red-link,#990000);text-decoration:underline}.d2cn__politik a:hover{color:var(--d2-ink-strong,#1a1a1a)}.d2cn-kaldfrem{background:none;border:0;padding:8px 4px;font-family:var(--d2-font-body,Arial,Helvetica,sans-serif);font-size:14px;text-decoration:underline;cursor:pointer;color:inherit}.d2cn-kaldfrem--fod{display:block;margin:8px auto}.d2cn-kaldfrem--fast{position:fixed;z-index:999998;left:12px;bottom:12px;background:var(--d2-surface,#ffffff);color:var(--d2-ink-body,#292929);border:1px solid var(--d2-ink-muted,#444444);border-radius:var(--d2-radius-sm,4px);padding:6px 10px;text-decoration:none;box-shadow:0 2px 10px rgb(0 0 0 / .12)}html.d2cn-aaben{scroll-padding-bottom:260px}html.d2cn-aaben body{padding-bottom:260px}@media (max-width:600px){.d2cn{padding:10px}.d2cn__kort{padding:16px;font-size:14px;max-height:80vh;overflow-y:auto}.d2cn__titel{font-size:17px}.d2cn__btn{flex:1 1 100%;min-width:0}html.d2cn-aaben body{padding-bottom:340px}}@media (prefers-reduced-motion:reduce){.d2cn__btn{transition:none}}@media print{.d2cn,.d2cn-kaldfrem--fast{display:none!important}html.d2cn-aaben body{padding-bottom:0}}@media (forced-colors:active){.d2cn__kort{border:1px solid CanvasText}.d2cn__btn{border:2px solid ButtonText}}