/* ELK GDPR Cookie Consent — front-end banner */
:root{
	--elk-primary:#2563eb;
	--elk-bg:#ffffff;
	--elk-text:#1f2937;
	--elk-radius:14px;
}
.elk-gdpr{
	position:fixed;
	z-index:999999;
	max-width:460px;
	width:calc(100% - 32px);
	background:var(--elk-bg);
	color:var(--elk-text);
	border-radius:var(--elk-radius);
	box-shadow:0 10px 40px rgba(0,0,0,.18);
	font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
	font-size:14px;
	line-height:1.5;
	opacity:0;
	transform:translateY(16px);
	transition:opacity .3s ease,transform .3s ease;
}
.elk-gdpr.elk-visible{opacity:1;transform:translateY(0);}
.elk-pos-bottom{bottom:16px;left:16px;}
.elk-pos-top{top:16px;left:16px;}
.elk-pos-corner{bottom:16px;right:16px;left:auto;}
.elk-pos-center{top:50%;left:50%;transform:translate(-50%,-46%);max-width:520px;}
.elk-pos-center.elk-visible{transform:translate(-50%,-50%);}
.elk-layout-bottombar,.elk-layout-topbar{max-width:none;width:100%;left:0;border-radius:0;}
.elk-layout-topbar{top:0;bottom:auto;}
.elk-layout-bottombar{bottom:0;}
.elk-layout-glassmorphism{background:rgba(255,255,255,.7);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);}
.elk-theme-dark{--elk-bg:#111827;--elk-text:#f3f4f6;}
.elk-gdpr-inner{padding:20px;}
.elk-gdpr-title{margin:0 0 8px;font-size:17px;font-weight:700;}
.elk-gdpr-desc{margin:0 0 12px;}
.elk-gdpr-desc p{margin:0 0 8px;}
.elk-gdpr-links{margin:0 0 12px;font-size:13px;}
.elk-gdpr-links a{color:var(--elk-primary);margin-right:14px;}
.elk-gdpr-actions{display:flex;flex-wrap:wrap;gap:8px;}
.elk-gdpr-btn{
	flex:1 1 auto;
	min-width:120px;
	padding:10px 16px;
	border:1px solid var(--elk-primary);
	background:transparent;
	color:var(--elk-primary);
	border-radius:8px;
	font-size:14px;
	font-weight:600;
	cursor:pointer;
	transition:background .15s ease,color .15s ease,transform .1s ease;
}
.elk-gdpr-btn:hover{transform:translateY(-1px);}
.elk-gdpr-btn:focus-visible{outline:3px solid var(--elk-primary);outline-offset:2px;}
.elk-gdpr-primary{background:var(--elk-primary);color:#fff;}
.elk-gdpr-prefs{margin:6px 0 14px;max-height:240px;overflow:auto;}
.elk-gdpr-cat{padding:10px 0;border-bottom:1px solid rgba(0,0,0,.08);}
.elk-gdpr-cat-desc{margin:4px 0 0 50px;font-size:12.5px;opacity:.8;}
.elk-gdpr-switch{display:flex;align-items:center;gap:10px;cursor:pointer;font-weight:600;}
.elk-gdpr-switch input{position:absolute;opacity:0;width:0;height:0;}
.elk-gdpr-slider{position:relative;width:40px;height:22px;background:#cbd5e1;border-radius:22px;flex:0 0 auto;transition:background .2s;}
.elk-gdpr-slider::after{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;background:#fff;border-radius:50%;transition:transform .2s;}
.elk-gdpr-switch input:checked + .elk-gdpr-slider{background:var(--elk-primary);}
.elk-gdpr-switch input:checked + .elk-gdpr-slider::after{transform:translateX(18px);}
.elk-gdpr-switch input:disabled + .elk-gdpr-slider{opacity:.6;}
.elk-gdpr-switch input:focus-visible + .elk-gdpr-slider{outline:3px solid var(--elk-primary);outline-offset:2px;}
.elk-gdpr-cat-name em{font-weight:400;font-size:12px;opacity:.7;}
.elk-gdpr-reopen{
	position:fixed;bottom:16px;left:16px;z-index:999998;
	width:48px;height:48px;border-radius:50%;border:none;
	background:var(--elk-primary);color:#fff;font-size:22px;cursor:pointer;
	box-shadow:0 6px 20px rgba(0,0,0,.25);
}
.elk-gdpr-declaration{width:100%;border-collapse:collapse;font-size:14px;}
.elk-gdpr-declaration th,.elk-gdpr-declaration td{border:1px solid #e5e7eb;padding:8px 10px;text-align:left;}
.elk-gdpr-declaration th{background:#f9fafb;}
@media(max-width:480px){
	.elk-gdpr{left:8px;right:8px;width:calc(100% - 16px);max-width:none;}
	.elk-gdpr-btn{min-width:100%;}
}
@media(prefers-reduced-motion:reduce){
	.elk-gdpr,.elk-gdpr-btn,.elk-gdpr-slider::after{transition:none;}
}
