/* Cookie-Banner (gebaut von consent.js). "Alle akzeptieren" und "Alle ablehnen" sind bewusst gleich gestaltet. */
.qc-banner { position: fixed; left: 12px; right: 12px; bottom: 12px; z-index: 2147483000; max-width: 720px; margin: 0 auto;
  background: #0d2b27; color: #fff; border-radius: 12px; padding: 18px 20px; box-shadow: 0 12px 32px rgba(0,0,0,.28);
  font: 14px/1.55 system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif; max-height: calc(100vh - 24px); overflow-y: auto; box-sizing: border-box; }
.qc-banner[hidden] { display: none; }
.qc-title { margin: 0 0 6px; font-size: 16px; font-weight: 700; color: #fff; }
.qc-text { margin: 0 0 12px; color: #dce8e4; }
.qc-banner a { color: #9fd5c4; text-decoration: underline; }
.qc-settings { border: 0; margin: 0 0 12px; padding: 0; display: grid; gap: 10px; }
.qc-settings[hidden] { display: none; }
.qc-legend { font-weight: 700; font-size: 15px; margin-bottom: 4px; padding: 0; color: #fff; }
.qc-switch { display: grid; grid-template-columns: 22px 1fr; gap: 10px; align-items: start; background: rgba(255,255,255,.07); border-radius: 8px; padding: 10px 12px; cursor: pointer; }
.qc-switch input { width: 20px; height: 20px; margin: 2px 0 0; accent-color: #3fbf7f; }
.qc-switch strong { display: block; color: #fff; }
.qc-hint { display: block; color: #b6c9c3; font-size: 13px; margin: 0; }
.qc-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.qc-btn { flex: 1 1 140px; min-height: 44px; padding: 0 16px; border-radius: 8px; border: 1px solid #fff; background: #fff; color: #0d2b27; font: inherit; font-weight: 600; cursor: pointer; }
.qc-btn[hidden] { display: none; }
.qc-btn:hover { background: #e3efeb; }
.qc-banner a:focus-visible, .qc-btn:focus-visible, .qc-switch input:focus-visible { outline: 3px solid #9fd5c4; outline-offset: 2px; }
