/* Leonida Hub – Cookie-/Consent-Banner (lokal, keine externen Ressourcen) */
.cc{position:fixed;z-index:200;left:50%;bottom:1rem;transform:translateX(-50%);width:min(760px,calc(100% - 1.5rem));max-height:calc(100vh - 2rem);overflow:auto;background:var(--panel,#fff);color:var(--ink,#14161c);border:1px solid var(--line,#e3e6ec);border-radius:18px;box-shadow:0 20px 60px rgba(0,0,0,.28);padding:1.3rem 1.4rem 1.2rem;font:500 .92rem/1.55 var(--font,system-ui);animation:cc-in .28s cubic-bezier(.2,.8,.2,1)}
.cc[hidden]{display:none}
.cc::before{content:"";position:absolute;inset:0 0 auto 0;height:4px;border-radius:18px 18px 0 0;background:linear-gradient(90deg,var(--pink,#e8336f),var(--accent,#0f9d8f))}
@keyframes cc-in{from{opacity:0;transform:translate(-50%,16px)}to{opacity:1;transform:translate(-50%,0)}}
@media (prefers-reduced-motion:reduce){.cc{animation:none}}
.cc-h{display:flex;align-items:center;gap:.6rem;margin:0 0 .5rem;font-size:1.12rem;font-weight:800;letter-spacing:-.01em}
.cc-h .cc-ico{display:grid;place-items:center;width:2rem;height:2rem;border-radius:10px;background:linear-gradient(135deg,var(--pink,#e8336f),var(--accent,#0f9d8f));color:#fff;flex:none}
.cc p{margin:0 0 .8rem;color:var(--muted,#5f6675)}
.cc p a{font-weight:700}
.cc-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem;margin-top:.4rem}
.cc-btn{font:700 .9rem/1.2 var(--font,system-ui);min-height:2.75rem;padding:.65rem 1rem;border-radius:11px;cursor:pointer;border:2px solid var(--ink,#14161c);background:var(--ink,#14161c);color:var(--panel,#fff);transition:transform .12s,filter .12s}
.cc-btn:hover{filter:brightness(1.12)}
.cc-btn:active{transform:translateY(1px)}
.cc-btn.cc-ghost{background:transparent;color:var(--ink,#14161c);border-color:var(--line,#e3e6ec)}
.cc-btn.cc-ghost:hover{border-color:var(--ink,#14161c)}
.cc-btn:focus-visible,.cc-sw input:focus-visible+.cc-track{outline:3px solid var(--pink,#e8336f);outline-offset:2px}
.cc-cats{list-style:none;margin:.2rem 0 1rem;padding:0;display:grid;gap:.55rem}
.cc-cat{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.2rem 1rem;align-items:center;padding:.8rem .9rem;border:1px solid var(--line,#e3e6ec);border-radius:12px;background:var(--panel2,#f7f8fa)}
.cc-cat b{font-size:.95rem}
.cc-cat small{grid-column:1;color:var(--muted,#5f6675);font-size:.82rem;line-height:1.45}
.cc-cat .cc-sw{grid-column:2;grid-row:1/span 2}
.cc-sw{position:relative;display:inline-flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.78rem;font-weight:700;color:var(--muted,#5f6675)}
.cc-sw input{position:absolute;opacity:0;width:1px;height:1px}
.cc-track{width:2.7rem;height:1.55rem;border-radius:99px;background:var(--line,#cfd4dc);position:relative;transition:background .18s;flex:none}
.cc-track::after{content:"";position:absolute;top:.2rem;left:.2rem;width:1.15rem;height:1.15rem;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.3);transition:transform .18s}
.cc-sw input:checked+.cc-track{background:var(--accent,#0f9d8f)}
.cc-sw input:checked+.cc-track::after{transform:translateX(1.15rem)}
.cc-sw input:disabled+.cc-track{opacity:.6;cursor:not-allowed}
.cc-meta{font-size:.76rem;color:var(--muted,#5f6675);margin:.8rem 0 0}
body.dark .cc{box-shadow:0 20px 60px rgba(0,0,0,.6)}
body.dark .cc-track{background:#3a404d}
.linkbtn{background:none;border:0;padding:0;font:inherit;color:var(--accent,#0f9d8f);cursor:pointer}
.linkbtn:hover{text-decoration:underline}
@media (max-width:640px){
  .cc{bottom:.5rem;padding:1.1rem 1rem 1rem;border-radius:16px}
  .cc-actions{grid-template-columns:1fr}
}
@media print{.cc{display:none!important}}
/* Rechtstexte (Impressum, Datenschutz) */
.legal .article{max-width:860px}
.legal .article h2{font-size:1.22rem}
.legal .addr{padding:.8rem 1rem;border-left:3px solid var(--accent,#0f9d8f);background:var(--panel2,#f7f8fa);border-radius:0 10px 10px 0;font-weight:600}
.tbl-wrap{overflow-x:auto;margin:0 0 1em}
.dtable{width:100%;border-collapse:collapse;font-size:.88rem}
.dtable th,.dtable td{text-align:left;vertical-align:top;padding:.55rem .7rem;border-bottom:1px solid var(--line,#e3e6ec)}
.dtable th{font:700 .72rem var(--mono,monospace);text-transform:uppercase;letter-spacing:.06em;color:var(--muted,#5f6675)}
.legal code,.dtable code{font:600 .82em var(--mono,monospace);background:var(--panel2,#f7f8fa);border:1px solid var(--line,#e3e6ec);border-radius:5px;padding:.05em .35em}
.cc-h:focus{outline:none}
@media (max-width:640px){.cc-panel:not([hidden])~.cc-actions{position:sticky;bottom:-1rem;margin:0 -1rem -1rem;padding:.7rem 1rem 1rem;background:var(--panel,#fff);border-top:1px solid var(--line,#e3e6ec)}}
