/* KlimaMarkt Consent-Banner – nutzt die Theme-Tokens, mit Rückfallwerten. */
.km-cc{position:fixed;inset:auto 0 0 0;z-index:9999;padding:16px;pointer-events:none;font-family:var(--f,system-ui,sans-serif)}
.km-cc[hidden]{display:none}
.km-cc__box{pointer-events:auto;max-width:720px;margin:0 auto;background:var(--bg,#fff);color:var(--ink,#0A2140);border:1px solid var(--line,#DDE1E6);border-radius:var(--r-card,10px);box-shadow:var(--shadow,0 16px 40px rgba(10,33,64,.16));padding:20px 22px;transform:translateY(12px);opacity:0;transition:transform var(--t,260ms) var(--ease,ease),opacity var(--t,260ms) var(--ease,ease)}
.km-cc.is-open .km-cc__box{transform:none;opacity:1}
.km-cc__title{font-weight:700;font-size:17px;margin:0 0 6px}
.km-cc__text{font-size:14px;line-height:1.55;color:var(--ink-2,#3B4758);margin:0}
.km-cc__text a{color:var(--blue,#0078C8)}
.km-cc__opts{display:grid;gap:10px;margin:14px 0 0}
.km-cc__opts[hidden]{display:none}
.km-cc__opts label{display:flex;gap:10px;align-items:flex-start;font-size:14px;line-height:1.45;color:var(--ink-2,#3B4758);cursor:pointer}
.km-cc__opts input{margin-top:3px;width:18px;height:18px;accent-color:var(--blue,#0078C8);flex:none}
.km-cc__btns{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;margin-top:16px}
.km-cc__btn{font:inherit;font-size:14px;font-weight:600;padding:10px 16px;border-radius:var(--r-btn,8px);border:1px solid var(--line,#DDE1E6);background:var(--bg,#fff);color:var(--ink,#0A2140);cursor:pointer;min-height:44px}
.km-cc__btn[hidden]{display:none}
.km-cc__btn:hover{border-color:var(--ink-2,#3B4758)}
.km-cc__btn:focus-visible{outline:2px solid var(--blue,#0078C8);outline-offset:2px}
.km-cc__btn--primary{background:var(--blue,#0078C8);border-color:var(--blue,#0078C8);color:#fff}
.km-cc__btn--primary:hover{background:var(--blue-dark,#005C9E);border-color:var(--blue-dark,#005C9E)}
@media (max-width:560px){.km-cc{padding:10px}.km-cc__box{padding:16px}.km-cc__btns{justify-content:stretch}.km-cc__btn{flex:1 1 calc(50% - 4px)}.km-cc__btn--primary{flex-basis:100%;order:-1}}
@media (prefers-reduced-motion:reduce){.km-cc__box{transition:none}}
