:root{
	--sp-consent-ink:#07192b;
	--sp-consent-muted:#60798f;
	--sp-consent-blue:#1677c8;
	--sp-consent-line:#d9e5ee;
	--sp-consent-soft:#f5f9fc;
	--sp-consent-green:#11976f;
}

html.sp-consent-open{overflow:hidden}

.sp-consent-overlay{
	position:fixed;
	inset:0;
	background:rgba(7,25,43,.48);
	backdrop-filter:blur(1px);
	z-index:99998;
}

.sp-consent-banner{
	position:fixed;
	left:50%;
	top:50%;
	transform:translate(-50%,-50%);
	width:min(720px,calc(100% - 30px));
	max-height:min(88vh,860px);
	overflow:auto;
	padding:28px 30px 24px;
	background:#fff;
	border:1px solid var(--sp-consent-line);
	border-radius:20px;
	box-shadow:0 30px 90px rgba(7,25,43,.30);
	z-index:99999;
	font:15px/1.5 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
	color:#334d65;
}

.sp-consent-banner h2{
	margin:0 0 10px;
	color:var(--sp-consent-ink);
	font-size:26px;
	line-height:1.15;
	letter-spacing:-.02em;
}

.sp-consent-banner h3{
	margin:0 0 4px;
	color:var(--sp-consent-ink);
	font-size:17px;
	line-height:1.25;
}

.sp-consent-banner p{margin:0 0 11px}
.sp-consent-note{font-size:14px;color:var(--sp-consent-muted)}

.sp-consent-summary{
	margin:20px 0 6px;
	border-top:1px solid var(--sp-consent-line);
}

.sp-consent-summary > div{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:18px;
	padding:13px 0;
	border-bottom:1px solid #edf2f6;
}

.sp-consent-summary strong{color:var(--sp-consent-ink)}
.sp-consent-status{font-size:13px;font-weight:800;color:var(--sp-consent-muted)}
.sp-consent-status--on{color:var(--sp-consent-green)}

.sp-consent-actions{
	display:flex;
	flex-wrap:wrap;
	gap:10px;
	justify-content:flex-end;
	margin-top:20px;
}

.sp-consent-actions--decisions{
	display:grid;
	grid-template-columns:1fr 1fr 1fr;
}

.sp-consent-btn,
.sp-consent-mini-btn,
.sp-consent-back{
	border:0;
	font:inherit;
	font-weight:800;
	cursor:pointer;
}

.sp-consent-btn{
	min-height:46px;
	padding:11px 16px;
	border-radius:999px;
	border:1px solid #bcd0df;
	background:#fff;
	color:var(--sp-consent-ink);
}

.sp-consent-btn--decision{
	background:var(--sp-consent-blue);
	border-color:var(--sp-consent-blue);
	color:#fff;
}

.sp-consent-btn--settings{background:#fff}
.sp-consent-btn--save{
	min-width:220px;
	background:var(--sp-consent-blue);
	border-color:var(--sp-consent-blue);
	color:#fff;
}

.sp-consent-btn:hover,
.sp-consent-mini-btn:hover,
.sp-consent-back:hover{transform:translateY(-1px)}

.sp-consent-policy{
	display:block;
	width:max-content;
	max-width:100%;
	margin:15px auto 0;
	color:#0e5592;
	font-size:13px;
}

.sp-consent-settings-head{
	display:flex;
	align-items:flex-start;
	gap:13px;
}

.sp-consent-back{
	flex:0 0 38px;
	width:38px;
	height:38px;
	border-radius:10px;
	background:#eef5fa;
	color:var(--sp-consent-ink);
	font-size:20px;
}

.sp-consent-top-actions{
	display:flex;
	justify-content:flex-end;
	gap:9px;
	margin:13px 0;
}

.sp-consent-mini-btn{
	padding:8px 12px;
	border-radius:999px;
	background:#eef5fa;
	color:var(--sp-consent-ink);
}

.sp-consent-category{
	padding:15px 0;
	border-top:1px solid var(--sp-consent-line);
}

.sp-consent-category-head{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:20px;
}

.sp-consent-category-head p{
	margin:0;
	color:var(--sp-consent-muted);
	font-size:13px;
}

.sp-consent-category details{
	margin-top:9px;
	padding:9px 11px;
	border-radius:10px;
	background:var(--sp-consent-soft);
}

.sp-consent-category summary{
	cursor:pointer;
	color:#0e5592;
	font-weight:800;
	font-size:13px;
}

.sp-consent-services{
	margin:10px 0 0;
	padding:0;
	list-style:none;
}

.sp-consent-services li{
	padding:8px 0;
	border-top:1px solid #dfeaf1;
}

.sp-consent-services li:first-child{border-top:0}
.sp-consent-services strong{display:block;color:var(--sp-consent-ink)}
.sp-consent-services span{display:block;margin-top:2px;font-size:12px;color:var(--sp-consent-muted)}

.sp-consent-empty{
	margin:9px 0 0!important;
	font-size:12px!important;
	color:var(--sp-consent-muted);
}

.sp-consent-demand-badge{
	flex:0 0 auto;
	padding:6px 9px;
	border-radius:999px;
	background:#e8f7f2;
	color:#0c7758;
	font-size:12px;
	font-weight:900;
}

.sp-consent-switch{
	position:relative;
	flex:0 0 auto;
	width:54px;
	height:30px;
}

.sp-consent-switch input{
	position:absolute;
	opacity:0;
	pointer-events:none;
}

.sp-consent-switch span{
	position:absolute;
	inset:0;
	border-radius:999px;
	background:#8595a2;
	transition:.18s ease;
	cursor:pointer;
}

.sp-consent-switch span::after{
	content:"";
	position:absolute;
	top:4px;
	left:4px;
	width:22px;
	height:22px;
	border-radius:50%;
	background:#fff;
	box-shadow:0 1px 4px rgba(0,0,0,.18);
	transition:.18s ease;
}

.sp-consent-switch input:checked + span{background:var(--sp-consent-blue)}
.sp-consent-switch input:checked + span::after{transform:translateX(24px)}
.sp-consent-switch--locked span{background:#8bd9c1}
.sp-consent-switch--locked span{cursor:not-allowed}

.sp-consent-manage{
	position:static;
	display:inline;
	padding:0;
	margin:0;
	color:inherit;
	background:transparent;
	border:0;
	border-radius:0;
	box-shadow:none;
	font:inherit;
	font-weight:inherit;
	text-decoration:none;
	cursor:pointer;
}

.sp-consent-manage:hover,
.sp-consent-manage:focus{
	color:inherit;
	text-decoration:underline;
	transform:none;
}

.sp-consent-manage[hidden]{display:none!important}

.sp-consent-footer-fallback{
	width:min(1180px,calc(100% - 32px));
	margin:0 auto;
	padding:8px 0 16px;
	text-align:center;
}

@media(max-width:700px){
	.sp-consent-banner{
		width:calc(100% - 20px);
		max-height:92vh;
		padding:22px 19px 18px;
		border-radius:16px;
	}

	.sp-consent-banner h2{font-size:23px}
	.sp-consent-actions--decisions{grid-template-columns:1fr}
	.sp-consent-actions--decisions .sp-consent-btn{width:100%}

	.sp-consent-category-head{align-items:flex-start}
	.sp-consent-category-head > div{min-width:0}

}
