/* YUSE Consent – Gestaltung. Farben/Schrift kommen je Website über --yc-* Variablen. */
:root{--yc-bg:#fff;--yc-fg:#1d1d1f;--yc-muted:#666;--yc-accent:#0a66c2;--yc-accent-fg:#fff;--yc-line:rgba(0,0,0,.1);--yc-radius:16px;--yc-btn-radius:999px;--yc-font:system-ui,sans-serif;--yc-head-font:var(--yc-font);--yc-shadow:0 18px 50px -12px rgba(0,0,0,.35)}
.yc-root{position:fixed;bottom:20px;z-index:2147483000;width:min(400px,calc(100vw - 24px));font-family:var(--yc-font);
  opacity:0;transform:translateY(24px) scale(.98);pointer-events:none;
  transition:opacity .55s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1);}
.yc-left{left:20px}.yc-right{right:20px}
.yc-left{transform:translateX(-28px)}.yc-right{transform:translateX(28px)}
.yc-root.yc-in{opacity:1;transform:none;pointer-events:auto}
.yc-root.yc-instant{transition-duration:.25s}
.yc-card{background:var(--yc-bg);color:var(--yc-fg);border:1px solid var(--yc-line);border-radius:var(--yc-radius);box-shadow:var(--yc-shadow);padding:20px 20px 14px;max-height:calc(100vh - 40px);overflow:auto;-webkit-font-smoothing:antialiased}
.yc-head{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.yc-ico{display:inline-flex;width:30px;height:30px;flex:none;border-radius:50%;align-items:center;justify-content:center;background:color-mix(in srgb,var(--yc-accent) 16%,transparent);color:var(--yc-accent)}
.yc-ico svg{width:17px;height:17px}
.yc-card h2{font:600 17px/1.25 var(--yc-head-font);margin:0;flex:1;color:var(--yc-fg);letter-spacing:0;text-transform:none}
.yc-x{background:none;border:0;color:var(--yc-muted);font-size:22px;line-height:1;cursor:pointer;padding:2px 6px}
.yc-txt{font-size:14px;line-height:1.55;margin:0 0 14px;color:var(--yc-fg);opacity:.88}
.yc-txt a,.yc-foot a{color:inherit;text-decoration:underline;text-underline-offset:2px}
.yc-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
/* Beide Knöpfe absichtlich identisch: gleiche Größe, Farbe, Kontrast (VG Hannover 10 A 5385/22). */
.yc-btn{font:600 14px/1 var(--yc-font);padding:12px 14px;border-radius:var(--yc-btn-radius);border:1.5px solid var(--yc-accent);background:var(--yc-accent);color:var(--yc-accent-fg);cursor:pointer;transition:filter .2s,transform .1s}
.yc-btn:hover{filter:brightness(1.08)}.yc-btn:active{transform:scale(.98)}
.yc-btn:focus-visible,.yc-link:focus-visible,.yc-sw:focus-visible{outline:2px solid var(--yc-accent);outline-offset:3px}
.yc-save{width:100%;margin-top:10px}
.yc-foot{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:12px;font-size:12px;color:var(--yc-muted)}
.yc-foot a{color:var(--yc-muted)}
.yc-link{background:none;border:0;padding:0;font:inherit;color:var(--yc-fg);text-decoration:underline;text-underline-offset:2px;cursor:pointer}
.yc-more{border-top:1px solid var(--yc-line);margin:0 0 12px;padding-top:4px}
.yc-cat{padding:10px 0;border-bottom:1px solid var(--yc-line)}
.yc-row{display:flex;gap:12px;align-items:flex-start;justify-content:space-between;cursor:pointer}
.yc-row strong{display:block;font-size:14px}.yc-row small{display:block;font-size:12.5px;line-height:1.45;color:var(--yc-muted);margin-top:2px}
.yc-sw{appearance:none;-webkit-appearance:none;flex:none;width:40px;height:23px;border-radius:99px;background:var(--yc-line);position:relative;cursor:pointer;transition:background .2s;margin-top:2px}
.yc-sw::after{content:"";position:absolute;top:3px;left:3px;width:17px;height:17px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.3);transition:left .2s}
.yc-sw:checked{background:var(--yc-accent)}.yc-sw:checked::after{left:20px}.yc-sw:disabled{opacity:.55;cursor:not-allowed}
.yc-svc{margin-top:6px;font-size:12.5px}.yc-svc summary{cursor:pointer;color:var(--yc-muted)}
.yc-s{padding:8px 10px;margin-top:6px;border-radius:8px;background:color-mix(in srgb,var(--yc-fg) 5%,transparent);line-height:1.5}
.yc-ph{color:var(--yc-fg);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;padding:28px 18px;border-radius:12px;background:color-mix(in srgb,var(--yc-fg,#000) 6%,transparent);font:14px/1.5 var(--yc-font,system-ui)}
.yc-ph p{margin:0;max-width:420px}
@media (max-width:520px){.yc-root{left:12px;right:12px;bottom:12px;width:auto;transform:translateY(30px)}.yc-root.yc-in{transform:none}}
@media (prefers-reduced-motion:reduce){.yc-root{transition:opacity .2s;transform:none!important}}
