/* 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:0;right:0;margin-left:auto;margin-right:auto;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 !important;
	font-size:16px !important;
	font-weight:700 !important;
	color:inherit !important;
	font-family:inherit !important;
	line-height:1.3 !important;
	text-transform:none !important;
	letter-spacing:normal !important;
}
.csamt-desc{
	margin:0 0 14px !important;
	color:inherit !important;
	opacity:.92 !important;
	font-family:inherit !important;
	font-size:14px !important;
	line-height:1.5 !important;
}
.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}

/* Knapp-rad */
.csamt-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}

/* Knappar - hög specificitet + !important för att stå emot aggressiva temastilar */
.csamt-root .csamt-btn{
	appearance:none !important;
	-webkit-appearance:none !important;
	border:1px solid var(--csamt-border) !important;
	background:transparent !important;
	color:var(--csamt-text) !important;
	font-family:inherit !important;
	padding:9px 16px !important;
	border-radius:calc(var(--csamt-radius) - 4px) !important;
	font-size:14px !important;
	font-weight:600 !important;
	cursor:pointer !important;
	transition:transform .08s ease,background .15s ease,border-color .15s ease,opacity .15s ease !important;
	min-height:38px !important;
	line-height:1.2 !important;
	text-transform:none !important;
	text-decoration:none !important;
	letter-spacing:normal !important;
	box-shadow:none !important;
}
.csamt-root .csamt-btn:hover{border-color:currentColor !important}
.csamt-root .csamt-btn:active{transform:translateY(1px) !important}
.csamt-root .csamt-btn-primary{
	background:var(--csamt-primary) !important;
	border-color:var(--csamt-primary) !important;
	color:var(--csamt-primary-text) !important;
}
.csamt-root .csamt-btn-primary:hover{filter:brightness(.94) !important;border-color:var(--csamt-primary) !important}
.csamt-root .csamt-btn-ghost{
	background:transparent !important;
	color:var(--csamt-text) !important;
}

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

/* Manuella positioner för reopen-knappen (överskriver auto-placering) */
.csamt-root.csamt-reopen-pos-left .csamt-reopen{left:16px !important;right:auto !important;transform:none !important}
.csamt-root.csamt-reopen-pos-right .csamt-reopen{right:16px !important;left:auto !important;transform:none !important}
.csamt-root.csamt-reopen-pos-center .csamt-reopen{left:50% !important;right:auto !important;transform:translateX(-50%) !important}

/* 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);
}
/* Center-position använder translateX för centrering - behåll det vid animation */
.csamt-root.csamt-reopen-pos-center.csamt-reopen-auto .csamt-reopen{
	transform:translateX(-50%) translateY(8px) !important;
}
.csamt-root.csamt-reopen-pos-center.csamt-reopen-auto .csamt-reopen.csamt-visible{
	transform:translateX(-50%) translateY(0) !important;
}
@media (prefers-reduced-motion:reduce){
	.csamt-reopen-auto .csamt-reopen{transition:opacity .15s ease}
}

/* 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}
}
