/* WIT Cookie Consent — Banner & Content-Blocker */
:root{
	--wit-cc-accent:#A1224E;
	--wit-cc-accent-dark:#811B3E;
	--wit-cc-text:#2c2230;
	--wit-cc-muted:#746873;
	--wit-cc-bg:#ffffff;
	--wit-cc-tint:#fdf6f9;
	--wit-cc-border:#e8c4d4;
	--wit-cc-radius:14px;
	--wit-cc-shadow:0 12px 40px rgba(0,0,0,.18);
}

.wit-cc,.wit-cc *{box-sizing:border-box;}
.wit-cc[hidden]{display:none;}

.wit-cc__backdrop{
	position:fixed;inset:0;background:rgba(20,10,20,.45);
	z-index:2147483646;opacity:0;transition:opacity .2s ease;
}
.wit-cc.is-open .wit-cc__backdrop{opacity:1;}

.wit-cc__box{
	position:fixed;z-index:2147483647;background:var(--wit-cc-bg);color:var(--wit-cc-text);
	width:min(440px,calc(100vw - 32px));max-height:calc(100vh - 32px);overflow-y:auto;
	border-radius:var(--wit-cc-radius);box-shadow:var(--wit-cc-shadow);
	padding:22px 22px 18px;border-top:4px solid var(--wit-cc-accent);
	font-family:inherit;font-size:14px;line-height:1.5;
}
/* Positionen */
.wit-cc--bottom-left .wit-cc__box{bottom:16px;left:16px;}
.wit-cc--bottom-right .wit-cc__box{bottom:16px;right:16px;}
.wit-cc--center .wit-cc__box{top:50%;left:50%;transform:translate(-50%,-50%);}
.wit-cc--bar-bottom .wit-cc__box{bottom:0;left:0;width:100vw;max-width:100vw;border-radius:0;}

.wit-cc__title{margin:0 0 8px;font-size:18px;font-weight:700;color:var(--wit-cc-accent-dark);}
.wit-cc__desc{margin:0 0 14px;color:var(--wit-cc-text);}

.wit-cc__details{margin:0 0 14px;border-top:1px solid var(--wit-cc-border);padding-top:10px;}
.wit-cc__cat{padding:10px 0;border-bottom:1px solid #f0e6ec;}
.wit-cc__cat:last-child{border-bottom:0;}
.wit-cc__cat-head{display:flex;align-items:center;justify-content:space-between;cursor:pointer;gap:12px;}
.wit-cc__cat-name{font-weight:600;}
.wit-cc__cat-desc{margin:6px 0 0;color:var(--wit-cc-muted);font-size:12.5px;}

/* Toggle-Switch */
.wit-cc__cat-toggle{position:absolute;opacity:0;width:1px;height:1px;}
.wit-cc__switch{position:relative;flex:0 0 auto;width:42px;height:24px;border-radius:999px;background:#cfc3cb;transition:background .15s ease;}
.wit-cc__switch::after{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:transform .15s ease;}
.wit-cc__cat-toggle:checked + .wit-cc__switch{background:var(--wit-cc-accent);}
.wit-cc__cat-toggle:checked + .wit-cc__switch::after{transform:translateX(18px);}
.wit-cc__cat-toggle:focus-visible + .wit-cc__switch{outline:2px solid var(--wit-cc-accent-dark);outline-offset:2px;}
.wit-cc__switch--locked{background:var(--wit-cc-accent);opacity:.55;}

.wit-cc__actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px;}
.wit-cc__btn{
	flex:1 1 0;min-width:140px;padding:12px 14px;border-radius:10px;border:1px solid transparent;
	font-size:13.5px;font-weight:600;cursor:pointer;font-family:inherit;line-height:1.2;transition:background .15s,border-color .15s,color .15s;
}
/* „Einstellungen" als dezenter Textlink (weniger prominent als Ablehnen/Akzeptieren erlaubt). */
.wit-cc__settings-link{
	display:block;width:100%;margin:10px 0 0;background:none;border:0;padding:4px;
	color:var(--wit-cc-accent-dark);font-family:inherit;font-size:13px;font-weight:500;
	text-decoration:underline;cursor:pointer;text-align:center;
}
.wit-cc__settings-link:hover{color:var(--wit-cc-accent);}
.wit-cc__btn--primary{background:var(--wit-cc-accent);color:#fff;}
.wit-cc__btn--primary:hover{background:var(--wit-cc-accent-dark);}
.wit-cc__btn--save{background:var(--wit-cc-accent-dark);color:#fff;}
.wit-cc__btn--save:hover{filter:brightness(1.08);}
.wit-cc__btn--ghost{background:#fff;color:var(--wit-cc-accent-dark);border-color:var(--wit-cc-border);}
.wit-cc__btn--ghost:hover{background:var(--wit-cc-tint);}
/* „Nur essenzielle" (Ablehnen) gleichwertig zu „Alle akzeptieren" — DSGVO: Ablehnen
   muss genauso leicht/prominent sein. Solide, gleiche Größe, klar als Button erkennbar. */
.wit-cc__btn--reject{background:var(--wit-cc-accent-dark);color:#fff;border-color:var(--wit-cc-accent-dark);}
.wit-cc__btn--reject:hover{filter:brightness(1.08);}

.wit-cc__links{margin:12px 0 0;font-size:12px;color:var(--wit-cc-muted);}
.wit-cc__links a{color:var(--wit-cc-accent-dark);text-decoration:underline;}

/* Floating-Toggle (Widerruf/erneut öffnen) */
.wit-cc-toggle{
	position:fixed;bottom:16px;right:16px;z-index:2147483640;width:44px;height:44px;border-radius:50%;
	background:var(--wit-cc-accent);color:#fff;border:0;cursor:pointer;display:flex;align-items:center;justify-content:center;
	box-shadow:0 4px 14px rgba(0,0,0,.22);transition:background .15s,transform .15s;
}
.wit-cc-toggle--bottom-left{left:16px;right:auto;}
.wit-cc-toggle--bottom-right{right:16px;left:auto;}
.wit-cc-toggle:hover{background:var(--wit-cc-accent-dark);transform:scale(1.06);}
.wit-cc-toggle[hidden]{display:none;}

/* Content-Blocker-Platzhalter */
.wit-cc-blocked{
	position:relative;min-height:200px;display:flex;align-items:center;justify-content:center;
	background:var(--wit-cc-tint);border:1px dashed var(--wit-cc-border);border-radius:10px;
	padding:24px;text-align:center;color:var(--wit-cc-text);font-family:inherit;
}
.wit-cc-blocked__inner{max-width:420px;}
.wit-cc-blocked__provider{margin:0 0 6px;font-weight:700;color:var(--wit-cc-accent-dark);font-size:16px;}
.wit-cc-blocked__notice{margin:0 0 14px;font-size:13px;color:var(--wit-cc-muted);}
.wit-cc-blocked__load{
	background:var(--wit-cc-accent);color:#fff;border:0;border-radius:9px;padding:10px 18px;
	font-weight:600;cursor:pointer;font-family:inherit;font-size:13.5px;
}
.wit-cc-blocked__load:hover{background:var(--wit-cc-accent-dark);}
.wit-cc-blocked__always{display:block;margin-top:10px;font-size:12px;color:var(--wit-cc-muted);cursor:pointer;}

@media (max-width:600px){
	.wit-cc--bottom-left .wit-cc__box,.wit-cc--bottom-right .wit-cc__box{left:8px;right:8px;bottom:8px;width:auto;}
	.wit-cc__btn{min-width:calc(50% - 4px);}
}

@media (prefers-reduced-motion:reduce){
	.wit-cc__backdrop,.wit-cc__switch,.wit-cc__switch::after,.wit-cc__btn,.wit-cc-toggle{transition:none;}
}
