/* muuv – Consent-Banner (selbst-gehostet, im Markenstil) */
#muuv-cc, #muuv-cc *{box-sizing:border-box;}
#muuv-cc{--ink:#1b1b1b;--blue:#0000ff;--paper:#f9f9f9;font-family:'Hanken Grotesk',system-ui,sans-serif;color:var(--ink);}
#muuv-cc[hidden], #muuv-cc [hidden]{display:none !important;}

.mcc-banner{position:fixed;left:24px;bottom:24px;z-index:2147483000;width:min(460px,calc(100vw - 48px));
  max-height:calc(100vh - 48px);overflow:auto;background:#fff;border:2px solid var(--ink);box-shadow:8px 8px 0 var(--ink);padding:24px;}
.mcc-banner:not([hidden]){animation:mcc-in .35s ease-out}
@keyframes mcc-in{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.mcc-title{font-family:'Anton',sans-serif;text-transform:uppercase;font-size:20px;letter-spacing:.02em;line-height:1.1;margin:0 0 10px;}
.mcc-text{font-size:14px;line-height:1.5;margin:0 0 14px;}
.mcc-text a,.mcc-links a,.mcc-dialog a{color:var(--blue);font-weight:700;text-decoration:underline;}
.mcc-btns{display:flex;flex-wrap:wrap;gap:10px;}
.mcc-links{display:flex;gap:16px;margin-top:14px;font-size:12px;}

/* Akzeptieren und Ablehnen bewusst IDENTISCH gestaltet (keine Lenkung) */
.mcc-btn{flex:1 1 0;font-family:'Hanken Grotesk',sans-serif;font-weight:800;text-transform:uppercase;letter-spacing:.1em;font-size:12px;
  padding:13px 16px;border:2px solid var(--ink);cursor:pointer;background:var(--blue);color:#fff;line-height:1.1;}
.mcc-btn:active{transform:translate(1px,1px);}
.mcc-btn:focus-visible,.mcc-link-btn:focus-visible,.mcc-close:focus-visible,.mcc-sw input:focus-visible + span{outline:3px solid var(--blue);outline-offset:2px;}
.mcc-link-btn{background:none;border:none;padding:0;font:inherit;font-size:12px;font-weight:700;color:var(--ink);text-decoration:underline;cursor:pointer;}

.mcc-modal{position:fixed;inset:0;z-index:2147483001;display:flex;align-items:center;justify-content:center;padding:20px;}
.mcc-overlay{position:absolute;inset:0;background:rgba(27,27,27,.55);}
.mcc-dialog{position:relative;width:min(600px,100%);max-height:90vh;overflow:auto;background:var(--paper);border:2px solid var(--ink);box-shadow:10px 10px 0 var(--ink);padding:28px;}
.mcc-dialog-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px;}
.mcc-close{border:2px solid var(--ink);background:#fff;width:36px;height:36px;cursor:pointer;font-size:16px;font-weight:700;line-height:1;flex:0 0 auto;}
.mcc-cat{margin:16px 0 20px;}
.mcc-cat-item{border:2px solid var(--ink);background:#fff;}
.mcc-cat-item + .mcc-cat-item{border-top:none;}
.mcc-cat-row{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:16px;}
.mcc-cat-row b{display:block;font-size:14px;text-transform:uppercase;letter-spacing:.05em;}
.mcc-cat-row small{display:block;font-size:13px;line-height:1.45;opacity:.8;margin-top:4px;}
.mcc-details{padding:0 16px 14px;font-size:12px;line-height:1.5;}
.mcc-details summary{cursor:pointer;font-weight:700;}
.mcc-details table{width:100%;border-collapse:collapse;margin-top:8px;}
.mcc-details td{border-top:1px solid #cfcfcf;padding:6px 6px 6px 0;vertical-align:top;}
.mcc-details td:first-child{font-weight:700;white-space:nowrap;width:1%;}

.mcc-sw{position:relative;flex:0 0 auto;width:46px;height:26px;}
.mcc-sw input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer;z-index:1;}
.mcc-sw span{position:absolute;inset:0;background:#fff;border:2px solid var(--ink);transition:.15s;}
.mcc-sw span::after{content:"";position:absolute;left:2px;top:2px;width:18px;height:18px;background:var(--ink);transition:.15s;}
.mcc-sw input:checked + span{background:var(--blue);}
.mcc-sw input:checked + span::after{left:auto;right:2px;background:#fff;}
.mcc-sw input:disabled + span{opacity:.5;}

@media (max-width:480px){
  .mcc-banner{left:12px;right:12px;bottom:12px;width:auto;padding:20px;}
  .mcc-banner .mcc-btn{flex:1 1 0;padding:13px 8px;}
  .mcc-dialog .mcc-btn{flex:1 1 100%;}
  .mcc-dialog{padding:20px;}
}
.mcc-banner .mcc-title{text-transform:none;font-size:22px}
@media (prefers-reduced-motion:reduce){.mcc-banner:not([hidden]){animation:none}.mcc-sw span,.mcc-sw span::after{transition:none;}}
