/* SpeedyConsent von OkiLab – Design nach bisherigem Borlabs-Setup */
.drc-root{
	--drc-accent:#5a579a;
	--drc-accent-hover:#33317e;
	--drc-accept:#00aba9;
	--drc-accept-hover:#00a2a0;
	--drc-bg:#fff;
	--drc-text:#555;
	--drc-footer-bg:#f5f5f5;
	--drc-footer-text:#404040;
	--drc-sep:#e5e5e5;
	--drc-card:#f7f7f7;
	--drc-radius:4px;
	--drc-font:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI","Helvetica Neue",Arial,sans-serif;
	all:initial;
	font-family:var(--drc-font);
}
.drc-root *,.drc-root *::before,.drc-root *::after{box-sizing:border-box;}
.drc-root [hidden]{display:none!important;}

/* Backdrop */
.drc-backdrop{
	position:fixed;inset:0;z-index:999998;
	background:rgba(0,0,0,.6);
	opacity:0;transition:opacity .3s ease;
}
.drc-backdrop.drc-in{opacity:1;}

/* Gemeinsame Box */
.drc-dialog{
	position:fixed;z-index:999999;
	background:var(--drc-bg);color:var(--drc-text);
	font-family:var(--drc-font);font-size:16px;line-height:1.2;
	border-radius:var(--drc-radius);
	box-shadow:0 25px 50px -12px rgba(0,0,0,.25);
	display:flex;flex-direction:column;
	max-height:calc(100vh - 32px);
	opacity:0;transform:translateY(24px);
	transition:opacity .35s ease,transform .35s ease;
	text-align:left;
}
.drc-dialog.drc-in{opacity:1;transform:none;}
.drc-dialog:focus{outline:none;}
.drc-dialog a{color:var(--drc-accent);text-decoration:underline;}
.drc-dialog a:hover{color:var(--drc-accent-hover);}

/* ===== Erste Ebene (box-compact, unten rechts) ===== */
.drc-entrance{right:16px;bottom:16px;width:400px;}
.drc-entrance .drc-scroll{overflow-y:auto;padding:16px 16px 0;}
.drc-h{margin:0 0 12px;padding:0;font-size:20px;font-weight:700;line-height:1.3;color:var(--drc-text);font-family:var(--drc-font);letter-spacing:0;text-transform:none;}
.drc-p{margin:0 0 12px;padding:0;font-size:16px;line-height:1.35;color:var(--drc-text);}
.drc-checks{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px;margin:16px 0;}
.drc-check{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:16px;color:var(--drc-text);user-select:none;}
.drc-check input{
	appearance:none;-webkit-appearance:none;margin:0;flex:0 0 auto;
	width:18px;height:18px;border:1.5px solid #6b6b6b;border-radius:3px;background:#fff;cursor:pointer;
	display:inline-grid;place-content:center;
}
.drc-check input::before{content:"";width:10px;height:10px;transform:scale(0);transition:transform .12s ease;clip-path:polygon(14% 44%,0 65%,50% 100%,100% 16%,80% 0,43% 62%);background:#fff;}
.drc-check input:checked{background:var(--drc-accent);border-color:var(--drc-accent);}
.drc-check input:checked::before{transform:scale(1);}
.drc-check input:disabled{background:#d4d4d4;border-color:#d4d4d4;cursor:not-allowed;}
.drc-check input:focus-visible{outline:2px solid var(--drc-accent);outline-offset:2px;}

.drc-btns{display:flex;flex-direction:column;gap:8px;padding:0 0 16px;}
.drc-btn{
	all:unset;box-sizing:border-box;display:flex;align-items:center;justify-content:center;
	width:100%;min-height:48px;padding:12px 20px;border-radius:var(--drc-radius);
	font-family:var(--drc-font);font-size:16px;font-weight:600;line-height:1.2;text-align:center;
	color:#fff;background:var(--drc-accent);cursor:pointer;transition:background .15s ease;
}
.drc-btn:hover{background:var(--drc-accent-hover);color:#fff;}
.drc-btn:focus-visible{outline:2px solid #2563eb;outline-offset:2px;}
.drc-btn-accept,.drc-btn-accept:hover{background:var(--drc-accept);}
.drc-btn-accept:hover{background:var(--drc-accept-hover);}

.drc-foot{
	display:flex;justify-content:space-around;align-items:center;flex-wrap:wrap;gap:6px 14px;
	padding:12px 16px;background:var(--drc-footer-bg);
	border-radius:0 0 var(--drc-radius) var(--drc-radius);
	font-size:14px;
}
.drc-foot a,.drc-foot button.drc-link{color:var(--drc-footer-text);text-decoration:none;font-size:14px;}
.drc-foot a:hover,.drc-foot button.drc-link:hover{color:var(--drc-footer-text);text-decoration:underline;}
.drc-link{all:unset;cursor:pointer;font-family:var(--drc-font);}
.drc-link:focus-visible{outline:2px solid var(--drc-accent);outline-offset:2px;}

/* ===== Zweite Ebene: Datenschutz-Präferenz ===== */
.drc-prefs{left:50%;top:50%;width:min(864px,calc(100vw - 32px));transform:translate(-50%,calc(-50% + 24px));max-height:calc(100vh - 32px);}
.drc-prefs.drc-in{transform:translate(-50%,-50%);}
.drc-prefs-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:16px 24px 0;}
.drc-prefs-head .drc-h{font-size:24px;text-align:center;flex:1;margin:4px 0 8px;}
.drc-prefs-legal{display:flex;flex-direction:column;align-items:flex-end;gap:10px;font-size:14px;min-width:140px;}
.drc-prefs-legal a{color:var(--drc-footer-text);text-decoration:none;}
.drc-prefs-legal a:hover{text-decoration:underline;}
.drc-prefs-spacer{min-width:140px;}
.drc-prefs-desc{padding:0 24px;margin:4px 0 12px;font-size:14px;line-height:1.45;}
.drc-tabs{display:flex;padding:0 24px;}
.drc-tab{
	all:unset;box-sizing:border-box;flex:1;text-align:center;cursor:pointer;
	padding:8px;font-family:var(--drc-font);font-size:16px;font-weight:600;line-height:1.6;
	color:var(--drc-text);background:#fff;border-bottom:2px solid #e6e6e6;border-radius:var(--drc-radius) var(--drc-radius) 0 0;
}
.drc-tab[aria-selected="true"]{color:#fff;background:var(--drc-accent);border-bottom-color:var(--drc-accent-hover);}
.drc-tab:focus-visible{outline:2px solid #2563eb;outline-offset:-2px;}
.drc-panel{overflow-y:auto;padding:16px 24px;flex:1;min-height:0;}
.drc-sel{display:flex;justify-content:flex-end;gap:6px;margin:0 0 16px;}
.drc-sel button{all:unset;box-sizing:border-box;cursor:pointer;background:#000;color:#fff;font-family:var(--drc-font);font-size:14px;padding:8px 16px;border-radius:var(--drc-radius);display:inline-flex;align-items:center;gap:6px;}
.drc-sel button:hover{background:#262626;}
.drc-sel button:focus-visible{outline:2px solid #2563eb;outline-offset:2px;}
.drc-sel svg{width:14px;height:14px;}

.drc-card{background:var(--drc-card);border-radius:var(--drc-radius);padding:16px;margin:0 0 12px;}
.drc-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;}
.drc-card-title{display:flex;align-items:center;gap:10px;font-weight:700;font-size:16px;margin:0 0 8px;}
.drc-card-desc{margin:0;font-size:14px;line-height:1.5;}
.drc-more{all:unset;cursor:pointer;color:var(--drc-accent);font-family:var(--drc-font);font-size:14px;white-space:nowrap;display:flex;flex-direction:column;align-items:center;gap:2px;flex:0 0 auto;}
.drc-more:hover{color:var(--drc-accent-hover);}
.drc-more svg{width:12px;height:12px;transition:transform .2s ease;}
.drc-more[aria-expanded="true"] svg{transform:rotate(180deg);}
.drc-more:focus-visible{outline:2px solid var(--drc-accent);outline-offset:2px;}

.drc-svc-list{margin:12px 0 0;}
.drc-svc{background:#fff;border-radius:var(--drc-radius);padding:12px;margin:0 0 8px;font-size:14px;}
.drc-svc-head{display:flex;justify-content:space-between;align-items:center;gap:12px;font-weight:600;}
.drc-table{width:100%;border-collapse:collapse;margin:10px 0 0;font-size:13px;}
.drc-table th,.drc-table td{padding:8px;border-bottom:1px solid var(--drc-sep);text-align:left;vertical-align:top;color:var(--drc-text);font-weight:400;}
.drc-table th{width:32%;font-weight:600;}
.drc-table tr:nth-child(odd) td,.drc-table tr:nth-child(odd) th{background:#fafafa;}
.drc-table tr:nth-child(even) td,.drc-table tr:nth-child(even) th{background:#fcfcfc;}

/* Umschalter (Services-Tab) */
.drc-toggle{position:relative;display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:400;cursor:pointer;}
.drc-toggle input{appearance:none;-webkit-appearance:none;margin:0;width:36px;height:20px;border-radius:999px;background:#ccc;position:relative;cursor:pointer;transition:background .15s ease;}
.drc-toggle input::after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .15s ease;box-shadow:0 1px 2px rgba(0,0,0,.2);}
.drc-toggle input:checked{background:var(--drc-accent);}
.drc-toggle input:checked::after{transform:translateX(16px);}
.drc-toggle input:disabled{opacity:.6;cursor:not-allowed;}
.drc-toggle input:focus-visible{outline:2px solid #2563eb;outline-offset:2px;}

.drc-history-meta{font-size:13px;margin:0 0 10px;}
.drc-history-meta code{font-size:12px;background:#f0f0f0;padding:2px 4px;border-radius:3px;}

.drc-prefs-btns{display:flex;gap:16px;padding:16px 24px;border-top:1px solid var(--drc-sep);}
.drc-prefs-btns .drc-btn{flex:1;}

/* Blockierte Inhalte (Elfsight usw.) */
.drc-blocked:empty{display:none;}

/* ===== Mobil ===== */
@media (max-width:600px){
	.drc-entrance{left:16px;right:16px;bottom:16px;width:auto;}
	.drc-checks{gap:12px 8px;}
	.drc-foot{gap:6px 10px;padding:12px 8px;justify-content:space-between;}
	.drc-foot a,.drc-foot button.drc-link{font-size:13px;}
	.drc-prefs-head{flex-direction:column;align-items:stretch;padding:16px 16px 0;}
	.drc-prefs-spacer{display:none;}
	.drc-prefs-head .drc-h{font-size:20px;order:-1;}
	.drc-prefs-legal{flex-direction:row;justify-content:center;min-width:0;}
	.drc-prefs-desc,.drc-tabs,.drc-panel{padding-left:16px;padding-right:16px;}
	.drc-tab{font-size:13px;padding:8px 4px;}
	.drc-card-top{flex-direction:column;gap:8px;}
	.drc-more{flex-direction:row;}
	.drc-prefs-btns{flex-direction:column;gap:8px;padding:12px 16px;}
}
@media (prefers-reduced-motion:reduce){
	.drc-backdrop,.drc-dialog{transition:none;}
}

/* ===== Schutz gegen Theme-/Elementor-Button-Stile (v1.0.1) ===== */
.drc-root .drc-dialog button,
.drc-root .drc-dialog button:hover,
.drc-root .drc-dialog button:focus,
.drc-root .drc-dialog button:active{
	background:none!important;background-image:none!important;border:0!important;box-shadow:none!important;
	text-transform:none!important;letter-spacing:normal!important;text-shadow:none!important;
	margin:0!important;font-family:var(--drc-font)!important;line-height:1.2!important;
	transition:background .15s ease!important;
}
.drc-root .drc-dialog .drc-btn{
	display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;
	min-height:48px!important;padding:12px 20px!important;border-radius:var(--drc-radius)!important;
	font-size:16px!important;font-weight:600!important;color:#fff!important;background:var(--drc-accent)!important;
}
.drc-root .drc-dialog .drc-btn:hover,.drc-root .drc-dialog .drc-btn:focus-visible{background:var(--drc-accent-hover)!important;color:#fff!important;}
.drc-root .drc-dialog .drc-btn.drc-btn-accept,
.drc-root .drc-dialog .drc-btn.drc-btn-accept:hover,
.drc-root .drc-dialog .drc-btn.drc-btn-accept:focus-visible{background:var(--drc-accept)!important;color:#fff!important;}
.drc-root .drc-dialog .drc-btn.drc-btn-accept:hover{background:var(--drc-accept-hover)!important;}
.drc-root .drc-dialog .drc-btn:focus-visible{outline:2px solid #2563eb!important;outline-offset:2px!important;}
.drc-root .drc-dialog .drc-btn:focus:not(:focus-visible){outline:none!important;}

.drc-root .drc-dialog .drc-link{padding:0!important;font-size:inherit!important;font-weight:400!important;color:inherit!important;border-radius:0!important;}
.drc-root .drc-dialog .drc-foot .drc-link{font-size:14px!important;color:var(--drc-footer-text)!important;}
.drc-root .drc-dialog .drc-foot .drc-link:hover{text-decoration:underline!important;}
.drc-root .drc-dialog .drc-inline-prefs{text-decoration:underline!important;color:inherit!important;}

.drc-root .drc-dialog .drc-tab{flex:1!important;padding:8px!important;font-size:16px!important;font-weight:600!important;line-height:1.6!important;color:var(--drc-text)!important;background:#fff!important;border-bottom:2px solid #e6e6e6!important;border-radius:var(--drc-radius) var(--drc-radius) 0 0!important;}
.drc-root .drc-dialog .drc-tab[aria-selected="true"]{color:#fff!important;background:var(--drc-accent)!important;border-bottom-color:var(--drc-accent-hover)!important;}
.drc-root .drc-dialog .drc-sel button{background:#000!important;color:#fff!important;font-size:14px!important;padding:8px 16px!important;border-radius:var(--drc-radius)!important;display:inline-flex!important;align-items:center!important;gap:6px!important;}
.drc-root .drc-dialog .drc-sel button:hover{background:#262626!important;}
.drc-root .drc-dialog .drc-more{padding:0!important;font-size:14px!important;font-weight:400!important;color:var(--drc-accent)!important;display:flex!important;flex-direction:column!important;align-items:center!important;gap:2px!important;}
.drc-root .drc-dialog .drc-more:hover{color:var(--drc-accent-hover)!important;}
.drc-root .drc-dialog .drc-h{color:var(--drc-text)!important;font-family:var(--drc-font)!important;font-weight:700!important;}
@media (max-width:600px){
	.drc-root .drc-dialog .drc-tab{font-size:13px!important;padding:8px 4px!important;}
	.drc-root .drc-dialog .drc-more{flex-direction:row!important;}
	.drc-root .drc-dialog .drc-foot .drc-link{font-size:13px!important;}
}

/* ===== Typografie wie Borlabs (v1.0.3) ===== */
.drc-root .drc-entrance .drc-p{font-size:14px!important;line-height:1.5!important;margin:0 0 16px!important;}
.drc-root .drc-entrance .drc-h{font-size:20px!important;line-height:1.3!important;margin:0 0 12px!important;}
.drc-root .drc-entrance .drc-checks{gap:18px 16px!important;margin:18px 0 20px!important;}
.drc-root .drc-entrance .drc-check{font-size:16px!important;}
.drc-root .drc-entrance .drc-btns{gap:10px!important;}
