/* campus Horn – Cookie-/Consent-Banner */
.chc-backdrop{position:fixed;inset:0;background:rgba(20,30,35,.45);z-index:100000;display:flex;align-items:flex-end;justify-content:center;padding:16px;box-sizing:border-box}
.chc-backdrop[hidden]{display:none}
.chc-box{background:#fff;color:#333;font:15px/1.55 Roboto,"Helvetica Neue",Arial,sans-serif;max-width:640px;width:100%;max-height:calc(100vh - 32px);overflow:auto;border-radius:4px;box-shadow:0 10px 40px rgba(0,0,0,.25);padding:26px 28px 22px;box-sizing:border-box}
.chc-box h2{font:700 19px/1.3 Roboto,Arial,sans-serif;margin:0 0 10px;color:#222;text-transform:none;letter-spacing:0}
.chc-box p{margin:0 0 14px}
.chc-box a{color:#019aaf;text-decoration:underline}
.chc-cats{margin:4px 0 18px;border-top:1px solid #e5e5e5}
.chc-cat{padding:12px 0;border-bottom:1px solid #e5e5e5}
.chc-cat label{display:flex;align-items:center;justify-content:space-between;gap:16px;font-weight:700;cursor:pointer;margin:0}
.chc-cat small{display:block;font-weight:400;color:#666;font-size:13.5px;line-height:1.45;margin-top:4px}
.chc-cat input{appearance:none;-webkit-appearance:none;flex:0 0 auto;width:42px;height:24px;border-radius:12px;background:#c8c8c8;position:relative;cursor:pointer;margin:0;transition:background .2s}
.chc-cat input::after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;transition:transform .2s}
.chc-cat input:checked{background:#019aaf}
.chc-cat input:checked::after{transform:translateX(18px)}
.chc-cat input:disabled{opacity:.55;cursor:default}
.chc-cat input:focus-visible{outline:2px solid #019aaf;outline-offset:2px}
.chc-actions{display:flex;flex-wrap:wrap;gap:10px}
.chc-actions button{flex:1 1 160px;font:700 13px/1 Roboto,Arial,sans-serif;text-transform:uppercase;letter-spacing:.04em;padding:14px 16px;border-radius:3px;cursor:pointer;border:2px solid #019aaf;background:#019aaf;color:#fff}
.chc-actions button.chc-secondary{background:#fff;color:#019aaf}
.chc-actions button:hover{filter:brightness(.93)}
.chc-actions button:focus-visible{outline:2px solid #222;outline-offset:2px}
.chc-links{margin:14px 0 0;font-size:13px;color:#777}
.chc-links a{color:#777;margin-right:14px}
.chc-settings[hidden],.chc-intro-actions[hidden]{display:none}
/* OpenStreetMap-Karte: in Graustufen wie die frühere Google-Karte */
.ch-osm .leaflet-tile-pane{filter:grayscale(1)}
.ch-osm{z-index:0}
/* Platzhalter für die Karte */
.chc-placeholder{height:100%;min-height:260px;display:flex;align-items:center;justify-content:center;text-align:center;background:#eef3f4;color:#444;font:15px/1.55 Roboto,Arial,sans-serif;padding:24px;box-sizing:border-box}
.chc-placeholder div{max-width:460px}
.chc-placeholder button{margin-top:12px;font:700 13px/1 Roboto,Arial,sans-serif;text-transform:uppercase;letter-spacing:.04em;padding:13px 20px;border:0;border-radius:3px;background:#019aaf;color:#fff;cursor:pointer}
.chc-placeholder a{color:#019aaf}
@media (max-width:480px){.chc-backdrop{padding:0}.chc-box{border-radius:0;max-height:100vh;padding:22px 18px 18px}.chc-actions button{flex-basis:100%}}
