#mms-consent-root{font:inherit;color:var(--color-text,#fff)}
#mms-consent-root a{color:var(--color-text,#fff);text-decoration:underline}
#mms-consent-root a:hover{color:var(--color-accent,#ffa500)}

.mms-consent-banner{
	position:fixed;
	left:max(10px,env(safe-area-inset-left));
	right:max(10px,env(safe-area-inset-right));
	bottom:max(10px,env(safe-area-inset-bottom));
	z-index:9999;
}

.mms-consent-banner__inner{
	box-sizing:border-box;
	width:min(calc(100vw - 20px),var(--site-width,1600px));
	margin:0 auto;
	padding:18px 22px;
	display:flex;
	gap:18px;
	align-items:flex-start;
	justify-content:space-between;
	border:1px solid var(--color-border-strong,rgba(255,255,255,.35));
	border-radius:var(--radius-card,18px);
	background:rgba(15,15,15,.94);
	color:var(--color-text,#fff);
	box-shadow:var(--shadow-dialog,0 12px 32px rgba(0,0,0,.25));
	backdrop-filter:saturate(120%) blur(10px);
}

.mms-consent-banner__text{
	flex:1 1 auto;
	min-width:0;
	line-height:1.65;
	color:var(--color-text-soft,rgba(255,255,255,.92));
}

.mms-consent-banner__text strong,
.mms-consent-modal__dialog h2{
	display:block;
	margin:0 0 8px 0;
	font-family:var(--font-heading,"Bahnschrift","Segoe UI",Arial,sans-serif);
	font-size:1.4em;
	font-weight:600;
	font-stretch:condensed;
	letter-spacing:.06em;
	font-variant:small-caps;
	color:var(--color-brand,#3B5998);
}

.mms-consent-banner__actions,
.mms-consent-modal__actions{
	display:flex;
	flex-wrap:wrap;
	gap:10px;
	align-items:center;
	justify-content:flex-end;
	flex:0 0 auto;
}

.mms-btn{
	appearance:none;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-height:42px;
	padding:0 18px;
	border:1px solid var(--color-border-contrast,rgba(255,255,255,.25));
	border-radius:var(--radius-pill,999px);
	background:var(--color-surface-soft,rgba(255,255,255,.04));
	color:var(--color-text,#fff);
	font:inherit;
	text-decoration:none;
	cursor:pointer;
	transition:background-color .15s ease,border-color .15s ease,color .15s ease,outline-color .15s ease;
}

.mms-btn:hover{
	border-color:var(--color-brand,#3B5998);
	background:var(--color-brand-hover,rgba(59,89,152,.45));
	color:var(--color-white,#fff);
}

.mms-btn--primary{
	font-weight:700;
	background:var(--color-brand,#3B5998);
	border-color:var(--color-border-contrast,rgba(255,255,255,.25));
	color:var(--color-text,#fff);
}

.mms-btn--primary:hover{
	background:var(--color-brand-hover,rgba(59,89,152,.45));
	border-color:var(--color-brand,#3B5998);
}

.mms-btn--secondary,
.mms-btn--ghost{
	font-weight:300;
	background:transparent;
	border-color:var(--color-border,rgba(255,255,255,.14));
	color:var(--color-text-muted,rgba(255,255,255,.75));
}

.mms-consent-modal{
	position:fixed;
	inset:0;
	z-index:10000;
}

.mms-consent-modal__backdrop{
	position:absolute;
	inset:0;
	background:var(--color-overlay,rgba(0,0,0,.80));
}

.mms-consent-modal__dialog{
	position:relative;
	box-sizing:border-box;
	width:min(calc(100vw - 20px),860px);
	margin:7vh auto 0;
	padding:22px 24px 20px;
	border:1px solid var(--color-border-strong,rgba(255,255,255,.35));
	border-radius:var(--radius-card,18px);
	background:rgba(15,15,15,.97);
	color:var(--color-text,#fff);
	box-shadow:var(--shadow-dialog,0 12px 32px rgba(0,0,0,.25));
	backdrop-filter:saturate(120%) blur(12px);
}

.mms-consent-modal__dialog p{
	margin:0 0 14px 0;
	line-height:1.75;
	color:var(--color-text-soft,rgba(255,255,255,.92));
}

.mms-consent-modal__close{
	position:absolute;
	top:10px;
	right:12px;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:40px;
	height:40px;
	padding:0;
	border:1px solid transparent;
	border-radius:var(--radius-pill,999px);
	background:transparent;
	color:var(--color-text,#fff);
	font-size:28px;
	line-height:1;
	cursor:pointer;
	transition:border-color .15s ease,background-color .15s ease,color .15s ease;
}

.mms-consent-modal__close:hover{
	border-color:var(--color-accent,#ffa500);
	background:rgba(255,255,255,.06);
	color:var(--color-white,#fff);
}

.mms-consent-option{
	display:flex;
	gap:14px;
	align-items:flex-start;
	margin:18px 0 16px 0;
	padding:16px 18px;
	border:1px solid var(--color-border,rgba(255,255,255,.14));
	border-radius:var(--radius-md,12px);
	background:var(--color-surface-soft,rgba(255,255,255,.04));
}

.mms-consent-option input{
	margin-top:4px;
	accent-color:var(--color-brand,#3B5998);
}

.mms-consent-option span{
	line-height:1.65;
	color:var(--color-text-soft,rgba(255,255,255,.92));
}

.mms-consent-option strong{
	color:var(--color-text,#fff);
}

.mms-consent-policy{
	margin:4px 0 18px 0;
	color:var(--color-text-muted,rgba(255,255,255,.75));
}

@media (max-width: 860px){
	.mms-consent-banner__inner{
		padding:16px 18px;
		flex-direction:column;
	}
	.mms-consent-banner__actions{
		width:100%;
		justify-content:flex-start;
	}
	.mms-consent-modal__dialog{
		margin:4vh auto 0;
		padding:20px 18px 18px;
	}
}

@media (max-width: 520px){
	.mms-consent-banner{
		left:max(8px,env(safe-area-inset-left));
		right:max(8px,env(safe-area-inset-right));
		bottom:max(8px,env(safe-area-inset-bottom));
	}
	.mms-consent-banner__inner,
	.mms-consent-modal__dialog{
		width:min(calc(100vw - 16px),var(--site-width,1600px));
		border-radius:var(--radius-lg,16px);
	}
	.mms-consent-banner__actions,
	.mms-consent-modal__actions{
		flex-direction:column;
		align-items:stretch;
	}
	.mms-btn{
		width:100%;
	}
	.mms-consent-option{
		padding:14px;
	}
}
