/* Cookie-samtycke - frontend */
.csamt-root[hidden]{display:none}
.csamt-root{
	--csamt-bg:#ffffff;
	--csamt-text:#1a1a1a;
	--csamt-primary:#1f6feb;
	--csamt-primary-text:#ffffff;
	--csamt-border:rgba(0,0,0,.12);
	--csamt-radius:10px;
	--csamt-font:inherit;
	position:fixed;
	z-index:2147483000;
	color:var(--csamt-text);
	font-family:var(--csamt-font);
	font-size:14px;
	line-height:1.5;
}

/* I auto-läge: ärver font-family från temat (body) */
.csamt-root.csamt-auto{ font-family:var(--csamt-font, inherit) }

/* Positioner */
.csamt-pos-bottom-left{left:16px;right:auto;bottom:16px;top:auto;max-width:460px;width:calc(100% - 32px)}
.csamt-pos-bottom-right{right:16px;left:auto;bottom:16px;top:auto;max-width:460px;width:calc(100% - 32px)}
.csamt-pos-bottom-center{left:50%;transform:translateX(-50%);bottom:16px;top:auto;max-width:560px;width:calc(100% - 32px)}
.csamt-pos-top{left:0;right:0;top:0;bottom:auto;max-width:100%;width:100%}

/* Banner */
.csamt-banner{
	background:var(--csamt-bg);
	border:1px solid var(--csamt-border);
	border-radius:var(--csamt-radius);
	box-shadow:0 10px 30px rgba(0,0,0,.12);
	padding:18px 18px 16px;
	box-sizing:border-box;
	max-height:85vh;
	overflow:auto;
}
.csamt-pos-top .csamt-banner{border-radius:0;border-left:none;border-right:none;border-top:none;padding:14px 18px;max-width:900px;margin:0 auto;box-shadow:0 4px 12px rgba(0,0,0,.08)}

.csamt-title{
	margin:0 0 6px;
	font-size:16px;
	font-weight:700;
	color:inherit;
	font-family:inherit;
	line-height:1.3;
}
.csamt-desc{
	margin:0 0 14px;
	color:inherit;
	opacity:.92;
	font-family:inherit;
}
.csamt-link{color:var(--csamt-primary);text-decoration:underline;margin-left:4px}
.csamt-link:hover{opacity:.85}

/* Kategorier */
.csamt-cats{display:grid;gap:10px;margin:0 0 14px;padding:12px;background:rgba(0,0,0,.04);border-radius:calc(var(--csamt-radius) - 4px)}
.csamt-cat{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start;cursor:pointer;padding:4px 0}
.csamt-cat input{margin-top:4px;accent-color:var(--csamt-primary);width:16px;height:16px;flex-shrink:0}
.csamt-cat-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;grid-column:2}
.csamt-cat-name{font-weight:600}
.csamt-cat-required{font-size:11px;background:rgba(0,0,0,.1);padding:2px 8px;border-radius:999px;opacity:.75}
.csamt-cat-desc{grid-column:2;font-size:13px;opacity:.8;margin-top:2px}

/* Knappar */
.csamt-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}
.csamt-btn{
	appearance:none;
	border:1px solid var(--csamt-border);
	background:transparent;
	color:inherit;
	font-family:inherit;
	padding:9px 16px;
	border-radius:calc(var(--csamt-radius) - 4px);
	font-size:14px;
	font-weight:600;
	cursor:pointer;
	transition:transform .08s ease,background .15s ease,border-color .15s ease,opacity .15s ease;
	min-height:38px;
	line-height:1.2;
}
.csamt-btn:hover{border-color:currentColor}
.csamt-btn:active{transform:translateY(1px)}
.csamt-btn-primary{
	background:var(--csamt-primary);
	border-color:var(--csamt-primary);
	color:var(--csamt-primary-text);
}
.csamt-btn-primary:hover{filter:brightness(.94);border-color:var(--csamt-primary)}
.csamt-btn-ghost{background:transparent}

/* Återöppna-knapp */
.csamt-reopen{
	position:fixed;bottom:16px;left:16px;
	display:inline-flex;align-items:center;gap:6px;
	background:var(--csamt-bg);
	color:var(--csamt-text);
	border:1px solid var(--csamt-border);
	font-family:inherit;
	padding:8px 12px;border-radius:999px;
	font-size:13px;font-weight:600;cursor:pointer;
	box-shadow:0 4px 12px rgba(0,0,0,.1);
	z-index:2147482999;
}
.csamt-pos-bottom-left .csamt-reopen{left:auto;right:16px}
.csamt-reopen:hover{border-color:currentColor}
.csamt-reopen[hidden]{display:none}

/* Auto-hide-läge: osynlig som default, visas med .csamt-visible */
.csamt-reopen-auto .csamt-reopen{
	opacity:0;
	pointer-events:none;
	transform:translateY(8px);
	transition:opacity .25s ease,transform .25s ease;
}
.csamt-reopen-auto .csamt-reopen.csamt-visible{
	opacity:1;
	pointer-events:auto;
	transform:translateY(0);
}
@media (prefers-reduced-motion:reduce){
	.csamt-reopen-auto .csamt-reopen{transition:opacity .15s ease;transform:none}
}

/* Mobil */
@media (max-width:520px){
	.csamt-pos-bottom-left,.csamt-pos-bottom-right,.csamt-pos-bottom-center{
		left:8px;right:8px;bottom:8px;max-width:none;width:auto;transform:none;
	}
	.csamt-banner{padding:14px}
	.csamt-title{font-size:15px}
	.csamt-desc{font-size:13px}
	.csamt-actions{flex-direction:column-reverse}
	.csamt-actions .csamt-btn{width:100%}
}

@media (prefers-reduced-motion:reduce){
	.csamt-btn{transition:none}
}
