/* Lokale Datenschutzauswahl in der bestehenden Marketing-Farbwelt. */
.datenschutz-banner,.datenschutz-dialog{
 font-family:'DM Sans',ui-sans-serif,system-ui,sans-serif;font-size:16px;line-height:1.6;
 color:var(--ink,#f4f6f2);background:var(--card,#101b14);border:1px solid var(--line,#2b392f);
 overflow-wrap:anywhere;box-sizing:border-box;
}
.datenschutz-banner *,.datenschutz-dialog *{box-sizing:border-box}
.datenschutz-banner[hidden],.datenschutz-dialog [hidden]{display:none!important}
.datenschutz-banner{position:fixed;inset:auto auto max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));z-index:200;width:440px;max-width:calc(100% - max(16px,env(safe-area-inset-left)) - max(16px,env(safe-area-inset-right)));max-height:calc(100vh - max(16px,env(safe-area-inset-top)) - max(16px,env(safe-area-inset-bottom)));max-height:calc(100dvh - max(16px,env(safe-area-inset-top)) - max(16px,env(safe-area-inset-bottom)));overflow:auto;overscroll-behavior:contain;scroll-padding-block:14px;border-radius:6px;box-shadow:0 6px 22px -12px rgba(0,0,0,.6);padding:16px}
.datenschutz-banner-inhalt{display:grid;gap:14px}
.datenschutz-banner-text{min-width:0}
.datenschutz-banner h2,.datenschutz-dialog h2{font-size:21px;line-height:1.3;letter-spacing:-.02em;font-weight:600;margin:0 0 10px}
.datenschutz-banner p,.datenschutz-dialog p{margin:0;font-size:15px;line-height:1.65;color:var(--ink-soft,#bac5bc)}
.datenschutz-banner h2{font-size:1rem;line-height:1.4;margin-bottom:8px}
.datenschutz-banner p{font-size:.875rem;line-height:1.5}
.datenschutz-banner a,.datenschutz-dialog a{color:var(--ink,#f4f6f2);text-decoration:underline;text-underline-offset:4px}
.datenschutz-aktionen{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;min-width:0}
.datenschutz-knopf,.datenschutz-schliessen{
 appearance:none;display:inline-flex;justify-content:center;align-items:center;font:inherit;font-size:15px;font-weight:600;line-height:1.4;
 min-height:46px;padding:12px 16px;cursor:pointer;border-radius:6px;border:1px solid #788b7d;background:#1c3023;color:#f4f6f2;
 transition:background-color .18s,border-color .18s;touch-action:manipulation;
}
.datenschutz-knopf:hover,.datenschutz-schliessen:hover{background:#2c4634;border-color:#bac8be}
.datenschutz-banner .datenschutz-knopf{min-width:0;min-height:44px;font-size:.875rem;padding:10px 8px}
.datenschutz-banner :is(button,a):focus-visible,.datenschutz-dialog :is(button,a,input):focus-visible{outline:2px solid #d3dfd4;outline-offset:3px}
.datenschutz-knopf:disabled{opacity:.55;cursor:default}
.datenschutz-schliessen{background:transparent;min-height:44px;padding:10px 12px;font-size:14px;flex-shrink:0}
.datenschutz-dialog{position:fixed;inset:0;width:min(680px,calc(100% - 40px));max-width:none;max-height:calc(100vh - 40px);max-height:calc(100dvh - 40px);padding:0;margin:auto;border-radius:6px;overflow:auto;box-shadow:0 18px 60px -20px rgba(0,0,0,.8)}
.datenschutz-dialog:not([open]){display:none}
.datenschutz-dialog::backdrop{background:rgba(0,0,0,.7)}
.datenschutz-dialog-kopf{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 28px;border-bottom:1px solid var(--line,#2b392f)}
.datenschutz-dialog-kopf h2{margin:0}
.datenschutz-dialog-inhalt{padding:24px 28px}
.datenschutz-kategorie{padding:22px 0;border-bottom:1px solid var(--line,#2b392f)}
.datenschutz-kategorie h3,.datenschutz-auswahl{font-size:17px;font-weight:600;line-height:1.4;color:var(--ink,#f4f6f2);letter-spacing:0;margin:0 0 10px}
.datenschutz-auswahl{display:flex;align-items:center;gap:12px;cursor:pointer}
.datenschutz-auswahl input{accent-color:#006837;width:20px;height:20px;margin:0;flex-shrink:0}
.datenschutz-auswahl input:disabled{opacity:.55;cursor:default}
.datenschutz-dialog .datenschutz-leise,.datenschutz-dialog .datenschutz-details,.datenschutz-dialog .datenschutz-neuladen{margin-top:16px}
.datenschutz-dialog .datenschutz-neuladen{color:var(--ink,#f4f6f2)}
.datenschutz-status:empty{display:none}
.datenschutz-banner .datenschutz-status,.datenschutz-dialog .datenschutz-status{margin-top:14px;color:var(--ink,#f4f6f2)}
.datenschutz-dialog-aktionen{display:flex;flex-wrap:wrap;gap:10px;padding:20px 28px;border-top:1px solid var(--line,#2b392f)}
.datenschutz-dialog-aktionen .datenschutz-knopf{flex:1 1 160px}
[data-datenschutz-einstellungen]{cursor:pointer}
.datenschutz-einstellungen-link{appearance:none;background:transparent;border:0;font:inherit;color:var(--ink-soft,#bac5bc);padding:8px 0;min-height:44px;text-align:left}
.datenschutz-einstellungen-link:hover{color:var(--ink,#f4f6f2);text-decoration:underline;text-underline-offset:5px}
.datenschutz-einstellungen-link:focus-visible{outline:2px solid #d3dfd4;outline-offset:3px}
@media(max-width:600px){
 .datenschutz-banner{inset:auto max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));width:auto;max-width:none;max-height:calc(100vh - max(12px,env(safe-area-inset-top)) - max(12px,env(safe-area-inset-bottom)));max-height:calc(100dvh - max(12px,env(safe-area-inset-top)) - max(12px,env(safe-area-inset-bottom)));padding:14px}
 .datenschutz-banner p{font-size:.9375rem}
 .datenschutz-dialog h2{font-size:19px}
 .datenschutz-aktionen{grid-template-columns:repeat(2,minmax(0,1fr))}
 .datenschutz-aktionen .datenschutz-knopf:last-child{grid-column:1/-1}
 .datenschutz-knopf{font-size:15px;min-height:46px}
 .datenschutz-dialog{width:calc(100% - 24px);max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px)}
 .datenschutz-dialog-kopf{align-items:flex-start;flex-wrap:wrap;padding:18px;gap:10px}
 .datenschutz-dialog-kopf h2{flex:1 1 100%;padding-top:0}
 .datenschutz-dialog-kopf .datenschutz-schliessen{margin-left:auto}
 .datenschutz-dialog-inhalt{padding:20px 18px}
 .datenschutz-dialog-aktionen{padding:18px;flex-direction:column}
 .datenschutz-dialog-aktionen .datenschutz-knopf{flex:0 0 auto;width:100%}
}
@media(prefers-reduced-motion:reduce){.datenschutz-knopf,.datenschutz-schliessen{transition:none}}
@media(forced-colors:active){.datenschutz-knopf,.datenschutz-schliessen,.datenschutz-dialog,.datenschutz-banner{border:1px solid ButtonText}.datenschutz-auswahl input{appearance:auto}}
