/*
 * Loi 25 – Consent Banner Styles
 * Supports: bottom bar, top bar, centred modal.
 * Uses CSS custom properties so the primary colour can be injected inline.
 */

/* ── Custom properties ─────────────────────────────────────────────────────── */
:root {
	--loi25-primary   : #1a5276;
	--loi25-primary-h : #154360; /* hover */
	--loi25-text-inv  : #ffffff;
	--loi25-bg        : #ffffff;
	--loi25-border    : #e0e0e0;
	--loi25-overlay   : rgba(0, 0, 0, 0.45);
	--loi25-radius    : 8px;
	--loi25-shadow    : 0 -2px 16px rgba(0,0,0,.15);
	--loi25-font      : -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
	--loi25-z         : 999999;
}

/* ── Banner base ───────────────────────────────────────────────────────────── */
#loi25-banner {
	position        : fixed;
	left            : 0;
	right           : 0;
	z-index         : var(--loi25-z);
	background      : var(--loi25-bg);
	border-top      : 3px solid var(--loi25-primary);
	box-shadow      : var(--loi25-shadow);
	font-family     : var(--loi25-font);
	font-size       : 15px;
	line-height     : 1.5;
	color           : #222;
	max-height      : 92vh;
	overflow-y      : auto;
}

/* Position variants */
#loi25-banner.loi25-position-bottom {
	bottom : 0;
	top    : auto;
}

#loi25-banner.loi25-position-top {
	top    : 0;
	bottom : auto;
	border-top    : none;
	border-bottom : 3px solid var(--loi25-primary);
	box-shadow    : 0 2px 16px rgba(0,0,0,.15);
}

#loi25-banner.loi25-position-modal {
	top       : 50%;
	left      : 50%;
	right     : auto;
	bottom    : auto;
	transform : translate(-50%, -50%);
	width     : min(640px, 96vw);
	border    : none;
	border-radius : var(--loi25-radius);
	box-shadow    : 0 8px 40px rgba(0,0,0,.25);
}

/* Modal overlay */
#loi25-banner.loi25-position-modal::before {
	content  : '';
	position : fixed;
	inset    : 0;
	background : var(--loi25-overlay);
	z-index  : -1;
}

/* Toaster – right side */
#loi25-banner.loi25-position-right {
	top       : auto;
	bottom    : 80px; /* clear the floating button */
	left      : auto;
	right     : 16px;
	width     : 340px;
	border    : none;
	border-radius : var(--loi25-radius);
	box-shadow    : 0 4px 24px rgba(0,0,0,.2);
	border-top    : 3px solid var(--loi25-primary);
}

/* Toaster – left side */
#loi25-banner.loi25-position-left {
	top       : auto;
	bottom    : 80px;
	left      : 16px;
	right     : auto;
	width     : 340px;
	border    : none;
	border-radius : var(--loi25-radius);
	box-shadow    : 0 4px 24px rgba(0,0,0,.2);
	border-top    : 3px solid var(--loi25-primary);
}

/* Inner layout overrides for side toasters */
#loi25-banner.loi25-position-left .loi25-banner-inner,
#loi25-banner.loi25-position-right .loi25-banner-inner {
	flex-direction : column;
	align-items    : stretch;
	padding        : 16px;
}

#loi25-banner.loi25-position-left .loi25-banner-actions,
#loi25-banner.loi25-position-right .loi25-banner-actions {
	flex-direction : column;
	width          : 100%;
}

#loi25-banner.loi25-position-left .loi25-btn,
#loi25-banner.loi25-position-right .loi25-btn {
	width      : 100%;
	text-align : center;
}

/* ── Inner layout ──────────────────────────────────────────────────────────── */
.loi25-banner-inner {
	display        : flex;
	flex-wrap      : wrap;
	align-items    : center;
	gap            : 16px;
	max-width      : 1200px;
	margin         : 0 auto;
	padding        : 16px 20px;
}

.loi25-banner-content {
	flex : 1 1 300px;
	min-width : 0;
}

.loi25-banner-title {
	font-size   : 1em;
	font-weight : 700;
	margin      : 0 0 6px;
	color       : #111;
}

.loi25-banner-text {
	margin : 0;
	color  : #444;
}

.loi25-banner-text strong {
	color : #111;
}

.loi25-policy-link-wrap {
	margin : 6px 0 0;
}

.loi25-policy-link {
	color           : var(--loi25-primary);
	text-decoration : underline;
	font-size       : 0.9em;
}

/* ── Action buttons ────────────────────────────────────────────────────────── */
.loi25-banner-actions {
	display     : flex;
	flex-wrap   : wrap;
	gap         : 8px;
	align-items : center;
	flex        : 0 0 auto;
}

.loi25-btn {
	display         : inline-flex;
	align-items     : center;
	justify-content : center;
	padding         : 9px 20px;
	border          : 2px solid transparent;
	border-radius   : 4px;
	font-family     : var(--loi25-font);
	font-size       : 14px;
	font-weight     : 600;
	line-height     : 1;
	cursor          : pointer;
	transition      : background .15s, border-color .15s, color .15s;
	white-space     : nowrap;
	text-decoration : none;
}

.loi25-btn-primary {
	background  : var(--loi25-primary);
	border-color: var(--loi25-primary);
	color       : var(--loi25-text-inv);
}
.loi25-btn-primary:hover,
.loi25-btn-primary:focus {
	background   : var(--loi25-primary-h);
	border-color : var(--loi25-primary-h);
	outline      : none;
}
.loi25-btn-primary:focus-visible {
	outline        : 3px solid var(--loi25-primary);
	outline-offset : 2px;
}

.loi25-btn-secondary {
	background   : transparent;
	border-color : var(--loi25-primary);
	color        : var(--loi25-primary);
}
.loi25-btn-secondary:hover,
.loi25-btn-secondary:focus {
	background : #f0f5fa;
	outline    : none;
}

.loi25-btn-link {
	background  : transparent;
	border-color: transparent;
	color       : var(--loi25-primary);
	padding     : 9px 8px;
	text-decoration : underline;
	font-weight : 400;
}
.loi25-btn-link:hover {
	color : var(--loi25-primary-h);
}

/* ── Bilingual display ─────────────────────────────────────────────────────── */
.loi25-bilingual-en {
	display    : block;
	margin-top : 6px;
	color      : #666;
	font-size  : 0.9em;
}

/* ── Preferences panel ─────────────────────────────────────────────────────── */
#loi25-preferences {
	border-top : 1px solid var(--loi25-border);
}

.loi25-preferences-inner {
	max-width : 1200px;
	margin    : 0 auto;
	padding   : 16px 20px 20px;
}

.loi25-preferences-title {
	font-size   : 1em;
	font-weight : 700;
	margin      : 0 0 12px;
}

/* ── Category list ─────────────────────────────────────────────────────────── */
.loi25-category-list {
	list-style : none;
	margin     : 0 0 16px;
	padding    : 0;
	display    : flex;
	flex-direction : column;
	gap        : 8px;
}

.loi25-category-item {
	background    : #f8f9fa;
	border        : 1px solid var(--loi25-border);
	border-radius : 6px;
	padding       : 12px 14px;
}

.loi25-category-header {
	display     : flex;
	align-items : center;
	justify-content : space-between;
	gap         : 12px;
	margin-bottom : 4px;
}

.loi25-category-label {
	font-weight : 600;
	font-size   : 0.9em;
	cursor      : pointer;
}

.loi25-category-desc {
	font-size : 0.82em;
	color     : #555;
	margin    : 0;
}

/* "Always active" badge */
.loi25-always-on {
	font-size   : 0.8em;
	font-weight : 600;
	color       : #1b5e20; /* ≥ 7.9:1 on #e8f5e9 – WCAG AAA */
	background  : #e8f5e9;
	border      : 1px solid #81c784;
	padding     : 2px 8px;
	border-radius : 20px;
	white-space : nowrap;
}

/* ── Toggle switch ─────────────────────────────────────────────────────────── */
.loi25-toggle {
	position    : relative;
	display     : inline-block;
	width       : 44px;
	height      : 24px;
	flex-shrink : 0;
	cursor      : pointer;
}

.loi25-toggle-input {
	opacity  : 0;
	width    : 0;
	height   : 0;
	position : absolute;
}

.loi25-toggle-slider {
	position      : absolute;
	inset         : 0;
	background    : #ccc;
	border-radius : 24px;
	transition    : .25s;
}

.loi25-toggle-slider::before {
	content       : '';
	position      : absolute;
	height        : 18px;
	width         : 18px;
	left          : 3px;
	bottom        : 3px;
	background    : white;
	border-radius : 50%;
	transition    : .25s;
	box-shadow    : 0 1px 3px rgba(0,0,0,.3);
}

.loi25-toggle-input:checked + .loi25-toggle-slider {
	background : var(--loi25-primary);
}

.loi25-toggle-input:checked + .loi25-toggle-slider::before {
	transform : translateX(20px);
}

.loi25-toggle-input:focus-visible + .loi25-toggle-slider {
	outline        : 3px solid var(--loi25-primary);
	outline-offset : 2px;
}

/* ── Accordion list (replaces flat category list in preferences panel) ─────── */
.loi25-accordion-list {
	list-style     : none;
	margin         : 0 0 16px;
	padding        : 0;
	display        : flex;
	flex-direction : column;
	gap            : 6px;
}

.loi25-accordion {
	background    : #f8f9fa;
	border        : 1px solid var(--loi25-border);
	border-radius : 6px;
	overflow      : hidden;
}

/* Essential accordion – slightly different tint */
.loi25-accordion-essential {
	background : #f0faf0;
	border-color : #a5d6a7;
}

/* ── Accordion header row ──────────────────────────────────────────────────── */
.loi25-accordion-header {
	display         : flex;
	align-items     : center;
	gap             : 8px;
	padding         : 10px 14px;
	min-height      : 48px;
}

/* Expand/collapse button (takes remaining space, left-aligned) */
.loi25-accordion-btn {
	flex            : 1 1 auto;
	display         : flex;
	align-items     : center;
	gap             : 8px;
	background      : transparent;
	border          : none;
	padding         : 0;
	font-family     : var(--loi25-font);
	font-size       : 0.9em;
	font-weight     : 600;
	color           : #111;
	cursor          : pointer;
	text-align      : left;
	line-height     : 1.3;
}

.loi25-accordion-btn:hover {
	color : var(--loi25-primary);
}

.loi25-accordion-btn:focus-visible {
	outline        : 2px solid var(--loi25-primary);
	outline-offset : 2px;
	border-radius  : 3px;
}

/* Chevron character rotates 90° when expanded */
.loi25-chevron {
	display         : inline-block;
	font-style      : normal;
	font-size       : 1.1em;
	line-height     : 1;
	color           : #5f6368; /* ≥ 4.6:1 on white – WCAG AA */
	transition      : transform .2s ease;
	flex-shrink     : 0;
	margin-top      : 1px;
}

/* Provider count badge in header */
.loi25-acc-count {
	font-size   : 0.85em;
	font-weight : 400;
	color       : #5f6368; /* ≥ 4.6:1 on white – WCAG AA */
}

/* ── Accordion body ────────────────────────────────────────────────────────── */
.loi25-accordion-body {
	border-top : 1px solid var(--loi25-border);
	padding    : 12px 14px 14px;
}

.loi25-accordion-essential .loi25-accordion-body {
	border-color : #a5d6a7;
}

.loi25-accordion-desc {
	font-size   : 0.82em;
	color       : #555;
	margin      : 0 0 10px;
	line-height : 1.4;
}

/* ── Provider list inside accordion ───────────────────────────────────────── */
.loi25-provider-list {
	list-style : none;
	margin     : 0;
	padding    : 0;
	display    : flex;
	flex-direction : column;
	gap        : 4px;
}

.loi25-provider-item {
	border-radius : 4px;
}

.loi25-provider-item + .loi25-provider-item {
	border-top : 1px solid #eee;
	padding-top : 4px;
	margin-top  : 4px;
}

.loi25-provider-row {
	display     : flex;
	align-items : center;
	gap         : 10px;
	padding     : 4px 2px;
}

.loi25-provider-info {
	flex    : 1 1 auto;
	min-width : 0;
}

.loi25-provider-name {
	display     : block;
	font-size   : 0.84em;
	font-weight : 600;
	color       : #222;
	line-height : 1.2;
}

.loi25-provider-desc {
	display   : block;
	font-size : 0.82em; /* bumped from 0.78 for readability */
	color     : #555;   /* ≥ 7.0:1 on white – WCAG AAA */
	margin-top : 1px;
	line-height : 1.3;
}

/* ── Small toggle (provider-level, 36×20 instead of 44×24) ────────────────── */
.loi25-toggle-sm {
	position    : relative;
	display     : inline-block;
	width       : 36px;
	height      : 20px;
	flex-shrink : 0;
	cursor      : pointer;
}

.loi25-toggle-sm .loi25-toggle-input {
	opacity  : 0;
	width    : 0;
	height   : 0;
	position : absolute;
}

.loi25-toggle-sm .loi25-toggle-slider {
	position      : absolute;
	inset         : 0;
	background    : #ccc;
	border-radius : 20px;
	transition    : .25s;
}

.loi25-toggle-sm .loi25-toggle-slider::before {
	content       : '';
	position      : absolute;
	height        : 14px;
	width         : 14px;
	left          : 3px;
	bottom        : 3px;
	background    : white;
	border-radius : 50%;
	transition    : .25s;
	box-shadow    : 0 1px 3px rgba(0,0,0,.3);
}

.loi25-toggle-sm .loi25-toggle-input:checked + .loi25-toggle-slider {
	background : var(--loi25-primary);
}

.loi25-toggle-sm .loi25-toggle-input:checked + .loi25-toggle-slider::before {
	transform : translateX(16px);
}

.loi25-toggle-sm .loi25-toggle-input:focus-visible + .loi25-toggle-slider {
	outline        : 3px solid var(--loi25-primary);
	outline-offset : 2px;
}

/* ── Preferences action row ────────────────────────────────────────────────── */
.loi25-preferences-actions {
	display     : flex;
	gap         : 8px;
	align-items : center;
	flex-wrap   : wrap;
}

/* ── Iframe placeholder ────────────────────────────────────────────────────── */
.loi25-iframe-placeholder {
	display         : flex;
	align-items     : center;
	justify-content : center;
	background      : #f0f4f8;
	border          : 1px dashed #b0bec5;
	border-radius   : 6px;
	min-height      : 180px;
	width           : 100%;
	padding         : 24px 16px;
	box-sizing      : border-box;
}

.loi25-placeholder-inner {
	text-align : center;
	max-width  : 360px;
}

.loi25-placeholder-icon {
	font-size   : 2.5em;
	color       : #90a4ae;
	display     : block;
	margin-bottom : 8px;
}

.loi25-placeholder-name {
	font-weight   : 700;
	font-size     : 1em;
	margin        : 0 0 4px;
	font-family   : var(--loi25-font);
	color         : #37474f;
}

.loi25-placeholder-note {
	font-size   : 0.82em;
	color       : #607d8b;
	margin      : 0 0 14px;
	font-family : var(--loi25-font);
}

/* Unknown external iframe – warning variant */
.loi25-unknown-iframe {
	background    : #fff8e1;
	border-color  : #f9a825;
}

.loi25-unknown-icon {
	color : #f57f17 !important;
}

.loi25-placeholder-domain {
	font-size : 0.8em;
	color     : #555;
	margin    : 0 0 6px;
	font-family: var(--loi25-font);
}

.loi25-placeholder-domain code {
	background : rgba(0,0,0,.06);
	padding    : 1px 5px;
	border-radius : 3px;
}

/* ── Body padding compensation (bottom bar) ────────────────────────────────── */
.loi25-banner-open body,
body.loi25-banner-open {
	/* JS could add this if desired, but CSS alone can't know banner height. */
}

body.loi25-modal-open {
	overflow : hidden;
}

/* ── Manage-cookies link (shortcode) ───────────────────────────────────────── */
.loi25-manage-link {
	color           : inherit;
	text-decoration : underline;
	cursor          : pointer;
}

/* ── Floating icon button ──────────────────────────────────────────────────── */
.loi25-floating {
	position   : fixed;
	z-index    : calc(var(--loi25-z) - 1); /* just below the banner */
	font-family: var(--loi25-font);
}

/* Corner positioning */
.loi25-floating-bottom-right { bottom: 20px; right: 20px; }
.loi25-floating-bottom-left  { bottom: 20px; left : 20px; }
.loi25-floating-top-right    { top   : 20px; right: 20px; }
.loi25-floating-top-left     { top   : 20px; left : 20px; }

.loi25-floating-trigger {
	display         : flex;
	align-items     : center;
	gap             : 8px;
	background      : var(--loi25-primary);
	color           : var(--loi25-text-inv);
	border          : none;
	border-radius   : 40px;
	padding         : 10px 16px 10px 12px;
	cursor          : pointer;
	box-shadow      : 0 3px 12px rgba(0,0,0,.25);
	transition      : transform .15s, box-shadow .15s, background .15s;
	font-family     : var(--loi25-font);
	font-size       : 13px;
	font-weight     : 600;
	white-space     : nowrap;
	line-height     : 1;
}

.loi25-floating-trigger:hover,
.loi25-floating-trigger:focus {
	background   : var(--loi25-primary-h);
	transform    : translateY(-2px);
	box-shadow   : 0 5px 16px rgba(0,0,0,.3);
	outline      : none;
}

.loi25-floating-trigger:focus-visible {
	outline        : 3px solid var(--loi25-primary);
	outline-offset : 3px;
}

.loi25-floating-trigger svg {
	flex-shrink : 0;
}

/* Collapsed: icon only – label shows on hover/focus */
.loi25-floating-label {
	max-width  : 0;
	overflow   : hidden;
	opacity    : 0;
	transition : max-width .2s ease, opacity .2s ease;
	white-space: nowrap;
}

.loi25-floating-trigger:hover .loi25-floating-label,
.loi25-floating-trigger:focus .loi25-floating-label,
.loi25-floating:hover .loi25-floating-label {
	max-width : 220px;
	opacity   : 1;
}

/* When banner is open, dim the floating button slightly */
.loi25-banner-open .loi25-floating-trigger {
	opacity : 0.7;
}

/* Drag state */
.loi25-floating {
	touch-action : none; /* let JS handle touch drag without triggering page scroll */
}

body.loi25-dragging-floating,
body.loi25-dragging-floating .loi25-floating-trigger {
	cursor      : grabbing !important;
	user-select : none;
}

/* Corner snap preview: glow ring signals the button will snap on release */
.loi25-floating.loi25-snap-preview .loi25-floating-trigger {
	box-shadow : 0 0 0 3px var(--loi25-text-inv), 0 0 0 5px var(--loi25-primary), 0 3px 12px rgba(0,0,0,.25);
	transform  : scale(1.08);
	transition : box-shadow .1s ease, transform .1s ease;
}

/* ── Responsive ────────────────────────────────────────────────────────────── */
@media (max-width: 640px) {
	.loi25-banner-inner {
		flex-direction : column;
		align-items    : stretch;
		padding        : 14px 14px;
	}

	.loi25-banner-actions {
		flex-direction : column;
		width          : 100%;
	}

	.loi25-btn {
		width      : 100%;
		text-align : center;
	}

	.loi25-banner-actions .loi25-btn-link {
		order : 3;
	}

	.loi25-preferences-inner {
		padding : 12px 14px 16px;
	}

	#loi25-banner.loi25-position-modal {
		top       : auto;
		bottom    : 0;
		left      : 0;
		right     : 0;
		transform : none;
		width     : 100%;
		border-radius : var(--loi25-radius) var(--loi25-radius) 0 0;
	}

	/* Toasters go full-width at the bottom on small screens */
	#loi25-banner.loi25-position-left,
	#loi25-banner.loi25-position-right {
		left          : 0;
		right         : 0;
		bottom        : 0;
		width         : 100%;
		border-radius : var(--loi25-radius) var(--loi25-radius) 0 0;
	}

	/* Floating button: label always visible on touch devices (no hover) */
	.loi25-floating-label {
		max-width : 180px;
		opacity   : 1;
	}

	.loi25-floating-bottom-right,
	.loi25-floating-bottom-left { bottom: 12px; }
	.loi25-floating-bottom-right { right: 12px; }
	.loi25-floating-bottom-left  { left : 12px; }
	.loi25-floating-top-right,
	.loi25-floating-top-left    { top: 12px; }
	.loi25-floating-top-right   { right: 12px; }
	.loi25-floating-top-left    { left : 12px; }
}

/* ── Toast notification ─────────────────────────────────────────────────────── */
.loi25-toast {
	position        : fixed;
	bottom          : 28px;
	left            : 50%;
	transform       : translateX(-50%) translateY(10px);
	z-index         : calc(var(--loi25-z) + 10);
	background      : #1c1e26;
	color           : #f0f2f5;
	font-family     : var(--loi25-font);
	font-size       : 14px;
	font-weight     : 500;
	line-height     : 1.4;
	padding         : 10px 22px;
	border-radius   : 24px;
	box-shadow      : 0 4px 18px rgba(0,0,0,.28);
	opacity         : 0;
	transition      : opacity .3s ease, transform .3s ease;
	pointer-events  : none;
	white-space     : nowrap;
}

.loi25-toast.loi25-toast-visible {
	opacity   : 1;
	transform : translateX(-50%) translateY(0);
}

/* ── Dark mode (system preference – no switch needed) ───────────────────────── */
@media (prefers-color-scheme: dark) {

	/* Scoped custom properties: override within the banner and its children */
	#loi25-banner {
		--loi25-bg     : #1c1e26;
		--loi25-border : #30333f;
		--loi25-shadow : 0 -2px 20px rgba(0,0,0,.55);
		color : #d0d3dc;
	}

	.loi25-banner-title  { color : #edeef2; }
	.loi25-banner-text   { color : #9ea3b0; }
	.loi25-banner-text strong { color : #d0d3dc; }
	.loi25-policy-link   { color : #6baed6; }
	.loi25-policy-link:hover { color : #90c6f0; }

	/* Buttons */
	.loi25-btn-secondary {
		border-color : #4a8ab5;
		color        : #6baed6;
	}
	.loi25-btn-secondary:hover,
	.loi25-btn-secondary:focus { background : rgba(255,255,255,.07); }
	.loi25-btn-link  { color : #6baed6; }
	.loi25-btn-link:hover { color : #90c6f0; }

	/* Preferences panel */
	#loi25-preferences { border-color : #30333f; }
	.loi25-preferences-title { color : #edeef2; }

	/* Accordion */
	.loi25-accordion {
		background   : #252836;
		border-color : #30333f;
	}
	.loi25-accordion-essential {
		background   : #1a2820;
		border-color : #2a4030;
	}
	.loi25-accordion-btn         { color : #d0d3dc; }
	.loi25-accordion-btn:hover   { color : #6baed6; }
	.loi25-chevron               { color : #7a7e8e; }
	.loi25-acc-count             { color : #7a7e8e; }
	.loi25-accordion-body        { border-color : #30333f; }
	.loi25-accordion-essential .loi25-accordion-body { border-color : #2a4030; }
	.loi25-accordion-desc        { color : #8a8e9e; }

	/* Provider rows */
	.loi25-provider-item + .loi25-provider-item { border-color : #30333f; }
	.loi25-provider-name { color : #d0d3dc; }
	.loi25-provider-desc { color : #8a8e9e; }

	/* Toggle off-state track */
	.loi25-toggle-slider,
	.loi25-toggle-sm .loi25-toggle-slider { background : #3c3f50; }

	/* Always-on badge */
	.loi25-always-on {
		background   : #192e1a;
		color        : #6dbf7e;
		border-color : #2a5230;
	}

	/* Old flat category list (fallback) */
	.loi25-category-item  { background : #252836; border-color : #30333f; }
	.loi25-category-label { color : #d0d3dc; }
	.loi25-category-desc  { color : #8a8e9e; }

	/* Iframe placeholders */
	.loi25-iframe-placeholder {
		background   : #252836;
		border-color : #3c3f50;
	}
	.loi25-placeholder-icon { color : #5a5e70; }
	.loi25-placeholder-name { color : #d0d3dc; }
	.loi25-placeholder-note { color : #8a8e9e; }

	/* Unknown iframe warning */
	.loi25-unknown-iframe {
		background   : #241e00;
		border-color : #7a5500;
	}
	.loi25-unknown-icon { color : #d4960a !important; }
	.loi25-placeholder-domain { color : #8a8e9e; }
	.loi25-placeholder-domain code { background : rgba(255,255,255,.08); }

	/* Toast inverted for dark backgrounds */
	.loi25-toast {
		background : #e8eaf0;
		color      : #1c1e26;
	}
}

/* ── High-contrast / reduced-motion ───────────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
	.loi25-btn,
	.loi25-toggle-slider,
	.loi25-toggle-slider::before {
		transition : none;
	}
}

@media (forced-colors: active) {
	.loi25-btn-primary {
		forced-color-adjust : none;
	}
}
