/* HMX Cookie Consent – schlankes, zweifarbiges Design.
   Farben kommen aus den Einstellungen: --hmxcc-primary, --hmxcc-ink. */

:root{
	--hmxcc-primary:#2563eb;
	--hmxcc-ink:#1f2937;
	--hmxcc-bg:#fff;
	--hmxcc-line:rgba(0,0,0,.12);
	--hmxcc-muted:rgba(0,0,0,.6);
	--hmxcc-radius:14px;
	--hmxcc-shadow:0 12px 44px rgba(0,0,0,.18);
}

#hmxcc-banner,#hmxcc-modal,.hmxcc-reopen{
	box-sizing:border-box;
	font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
#hmxcc-banner *,#hmxcc-modal *{box-sizing:border-box;}

/* ---- Buttons (gleichwertig: akzeptieren = primär, ablehnen = ink) ---- */
.hmxcc-btn{
	font:inherit;font-size:.92rem;font-weight:600;line-height:1;
	cursor:pointer;border:1px solid transparent;border-radius:999px;
	padding:.78em 1.5em;transition:opacity .15s,transform .05s;white-space:nowrap;
}
.hmxcc-btn:hover{opacity:.9;}
.hmxcc-btn:active{transform:translateY(1px);}
.hmxcc-btn--primary{background:var(--hmxcc-primary);color:#fff;}
.hmxcc-btn--ink{background:var(--hmxcc-ink);color:#fff;}
.hmxcc-btn--ghost{background:transparent;color:var(--hmxcc-ink);border-color:var(--hmxcc-line);}
.hmxcc-btn--link{background:none;border:none;color:var(--hmxcc-ink);text-decoration:underline;padding:.78em .4em;}
.hmxcc-btn:focus-visible{outline:2px solid var(--hmxcc-primary);outline-offset:2px;}

/* ---- Banner (schlanke Leiste unten) ---- */
#hmxcc-banner{
	position:fixed;left:0;right:0;bottom:0;z-index:99999;display:none;
	background:var(--hmxcc-bg);color:var(--hmxcc-ink);
	border-top:1px solid var(--hmxcc-line);box-shadow:0 -6px 30px rgba(0,0,0,.10);
}
#hmxcc-banner.hmxcc-open{display:block;}
.hmxcc-banner-inner{
	max-width:1120px;margin:0 auto;padding:18px 24px;
	display:flex;gap:22px;align-items:center;flex-wrap:wrap;
}
.hmxcc-banner-text{flex:1 1 340px;min-width:240px;}
.hmxcc-banner-text h2{margin:0 0 5px;font-size:1.05rem;font-weight:700;}
.hmxcc-banner-text p{margin:0;font-size:.92rem;line-height:1.55;color:var(--hmxcc-muted);}
.hmxcc-banner-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;}
.hmxcc-links{margin-top:9px;font-size:.8rem;}
.hmxcc-links a{color:var(--hmxcc-muted);text-decoration:underline;}

/* ---- Modal / Einstellungsebene ---- */
#hmxcc-modal{
	position:fixed;inset:0;z-index:100000;display:none;
	background:rgba(17,24,39,.55);padding:20px;overflow:auto;
}
#hmxcc-modal.hmxcc-open{display:flex;align-items:center;justify-content:center;}
.hmxcc-modal-card{
	background:var(--hmxcc-bg);color:var(--hmxcc-ink);width:100%;max-width:560px;
	border-radius:var(--hmxcc-radius);box-shadow:var(--hmxcc-shadow);overflow:hidden;
	display:flex;flex-direction:column;max-height:92vh;
}
.hmxcc-modal-head{
	display:flex;align-items:center;justify-content:space-between;gap:12px;
	padding:20px 24px;border-bottom:1px solid var(--hmxcc-line);
}
.hmxcc-modal-head h2{margin:0;font-size:1.15rem;font-weight:700;}
.hmxcc-close{background:none;border:none;font-size:1.6rem;line-height:1;cursor:pointer;color:var(--hmxcc-muted);padding:0 4px;}
.hmxcc-close:hover{color:var(--hmxcc-ink);}
.hmxcc-modal-body{padding:6px 24px;overflow:auto;}
.hmxcc-intro{font-size:.9rem;color:var(--hmxcc-muted);line-height:1.55;margin:14px 0 4px;}

.hmxcc-cat{padding:18px 0;border-bottom:1px solid var(--hmxcc-line);}
.hmxcc-cat:last-child{border-bottom:none;}
.hmxcc-cat-head{display:flex;align-items:center;justify-content:space-between;gap:14px;}
.hmxcc-cat-title{font-weight:700;font-size:1rem;}
.hmxcc-cat-desc{margin:7px 0 0;font-size:.86rem;color:var(--hmxcc-muted);line-height:1.55;}
.hmxcc-always{font-size:.8rem;font-weight:700;color:var(--hmxcc-primary);white-space:nowrap;}

.hmxcc-cookies{margin-top:12px;}
.hmxcc-cookies summary{cursor:pointer;font-size:.82rem;color:var(--hmxcc-primary);font-weight:600;list-style:none;display:inline-block;}
.hmxcc-cookies summary::-webkit-details-marker{display:none;}
.hmxcc-cookies summary::before{content:"▸ ";}
.hmxcc-cookies[open] summary::before{content:"▾ ";}
.hmxcc-table{width:100%;border-collapse:collapse;margin-top:10px;font-size:.78rem;}
.hmxcc-table th,.hmxcc-table td{text-align:left;padding:7px 8px;border-bottom:1px solid var(--hmxcc-line);vertical-align:top;color:var(--hmxcc-muted);}
.hmxcc-table th{color:var(--hmxcc-ink);font-weight:600;white-space:nowrap;}
.hmxcc-table code{font-size:.76rem;word-break:break-word;}

.hmxcc-modal-foot{
	display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end;
	padding:18px 24px;border-top:1px solid var(--hmxcc-line);background:rgba(0,0,0,.02);
}

/* ---- Toggle-Switch ---- */
.hmxcc-switch{position:relative;display:inline-block;width:46px;height:26px;flex:none;}
.hmxcc-switch input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer;}
.hmxcc-slider{position:absolute;inset:0;background:rgba(0,0,0,.25);border-radius:999px;transition:.2s;pointer-events:none;}
.hmxcc-slider::before{content:"";position:absolute;height:20px;width:20px;left:3px;top:3px;background:#fff;border-radius:50%;transition:.2s;box-shadow:0 1px 3px rgba(0,0,0,.3);}
.hmxcc-switch input:checked + .hmxcc-slider{background:var(--hmxcc-primary);}
.hmxcc-switch input:checked + .hmxcc-slider::before{transform:translateX(20px);}
.hmxcc-switch input:focus-visible + .hmxcc-slider{outline:2px solid var(--hmxcc-primary);outline-offset:2px;}

/* ---- Wieder-öffnen-Button ---- */
.hmxcc-reopen{
	position:fixed;left:18px;bottom:18px;z-index:99998;width:46px;height:46px;
	border:none;border-radius:50%;background:var(--hmxcc-primary);color:#fff;cursor:pointer;
	box-shadow:0 6px 20px rgba(0,0,0,.25);display:flex;align-items:center;justify-content:center;padding:0;
}
.hmxcc-reopen:hover{opacity:.92;}
.hmxcc-reopen svg{width:24px;height:24px;}
.hmxcc-reopen:focus-visible{outline:2px solid var(--hmxcc-primary);outline-offset:3px;}
html.hmxcc-banner-open .hmxcc-reopen{display:none;}
html.hmxcc-modal-open{overflow:hidden;}

/* ---- Mobil ---- */
@media (max-width:600px){
	.hmxcc-banner-inner{padding:16px 18px;}
	.hmxcc-banner-actions{width:100%;}
	.hmxcc-banner-actions .hmxcc-btn{flex:1 1 auto;text-align:center;}
	.hmxcc-banner-actions .hmxcc-btn--link{flex:1 1 100%;}
	.hmxcc-modal-foot .hmxcc-btn{flex:1 1 auto;text-align:center;}
	.hmxcc-reopen{left:14px;bottom:14px;}
}
