:root {
	--sdlm-dark-bg: #111827;
	--sdlm-dark-surface: #1f2937;
	--sdlm-dark-text: #f9fafb;
	--sdlm-dark-muted: #cbd5e1;
	--sdlm-dark-link: #93c5fd;
	--sdlm-transition: 180ms ease;
}

html,
body,
body :where(header, footer, main, section, article, aside, nav, div, form, input, textarea, select, button, table, th, td, pre, code) {
	transition: background-color var(--sdlm-transition), border-color var(--sdlm-transition), color var(--sdlm-transition), box-shadow var(--sdlm-transition);
}

html.sdlm-dark,
html[data-sdlm-theme="dark"] {
	background: var(--sdlm-dark-bg);
}

html.sdlm-dark body,
html[data-sdlm-theme="dark"] body {
	background-color: var(--sdlm-dark-bg) !important;
	color: var(--sdlm-dark-text) !important;
}

html.sdlm-dark body :where(
	.site,
	.site-content,
	.site-main,
	.content-area,
	.widget-area,
	.wp-site-blocks,
	.wp-block-group,
	.wp-block-columns,
	.wp-block-column,
	article,
	section,
	aside,
	header,
	footer,
	nav,
	.widget,
	.card,
	.entry-content,
	.entry-summary,
	.comment,
	.comments-area
):not(.sdlm-ignore):not(.sdlm-toggle),
html[data-sdlm-theme="dark"] body :where(
	.site,
	.site-content,
	.site-main,
	.content-area,
	.widget-area,
	.wp-site-blocks,
	.wp-block-group,
	.wp-block-columns,
	.wp-block-column,
	article,
	section,
	aside,
	header,
	footer,
	nav,
	.widget,
	.card,
	.entry-content,
	.entry-summary,
	.comment,
	.comments-area
):not(.sdlm-ignore):not(.sdlm-toggle) {
	border-color: color-mix(in srgb, var(--sdlm-dark-muted) 28%, transparent) !important;
	color: var(--sdlm-dark-text);
}

html.sdlm-dark body :where(.card, .widget, article, aside, .wp-block-group.has-background, .wp-block-table table, .comment-body, dialog),
html[data-sdlm-theme="dark"] body :where(.card, .widget, article, aside, .wp-block-group.has-background, .wp-block-table table, .comment-body, dialog) {
	background-color: var(--sdlm-dark-surface) !important;
	color: var(--sdlm-dark-text) !important;
}

html.sdlm-dark body :where(h1, h2, h3, h4, h5, h6, p, li, dt, dd, blockquote, figcaption, label, legend, th, td),
html[data-sdlm-theme="dark"] body :where(h1, h2, h3, h4, h5, h6, p, li, dt, dd, blockquote, figcaption, label, legend, th, td) {
	color: inherit;
}

html.sdlm-dark body :where(.has-text-color):not(.sdlm-keep-color),
html[data-sdlm-theme="dark"] body :where(.has-text-color):not(.sdlm-keep-color) {
	color: var(--sdlm-dark-text) !important;
}

html.sdlm-dark body :where(.has-background):not(.sdlm-keep-background),
html[data-sdlm-theme="dark"] body :where(.has-background):not(.sdlm-keep-background) {
	background-color: var(--sdlm-dark-surface) !important;
}

html.sdlm-dark body a:not(.wp-element-button):not(.button),
html[data-sdlm-theme="dark"] body a:not(.wp-element-button):not(.button) {
	color: var(--sdlm-dark-link);
}

html.sdlm-dark body :where(input, textarea, select),
html[data-sdlm-theme="dark"] body :where(input, textarea, select) {
	background: color-mix(in srgb, var(--sdlm-dark-surface) 82%, #000) !important;
	border-color: color-mix(in srgb, var(--sdlm-dark-muted) 40%, transparent) !important;
	color: var(--sdlm-dark-text) !important;
}

html.sdlm-dark body :where(input, textarea)::placeholder,
html[data-sdlm-theme="dark"] body :where(input, textarea)::placeholder {
	color: var(--sdlm-dark-muted);
	opacity: 0.85;
}

html.sdlm-dark body :where(hr),
html[data-sdlm-theme="dark"] body :where(hr) {
	border-color: color-mix(in srgb, var(--sdlm-dark-muted) 28%, transparent) !important;
}

html.sdlm-dark body :where(pre, code, kbd, samp),
html[data-sdlm-theme="dark"] body :where(pre, code, kbd, samp) {
	background-color: color-mix(in srgb, var(--sdlm-dark-surface) 75%, #000) !important;
	color: var(--sdlm-dark-text) !important;
}

html.sdlm-dark img:not(.sdlm-keep-bright),
html[data-sdlm-theme="dark"] img:not(.sdlm-keep-bright) {
	filter: brightness(0.92) contrast(1.03);
}

.sdlm-toggle {
	align-items: center;
	appearance: none;
	background: #ffffff;
	border: 1px solid rgba(15, 23, 42, 0.16);
	border-radius: 999px;
	box-shadow: 0 8px 28px rgba(15, 23, 42, 0.18);
	color: #0f172a;
	cursor: pointer;
	display: inline-flex;
	font: inherit;
	font-size: 14px;
	font-weight: 700;
	gap: 8px;
	justify-content: center;
	line-height: 1;
	min-height: 44px;
	padding: 10px 14px;
	position: relative;
	z-index: 99999;
}

.sdlm-toggle:hover {
	transform: translateY(-1px);
}

.sdlm-toggle:focus-visible {
	outline: 3px solid rgba(59, 130, 246, 0.55);
	outline-offset: 3px;
}

.sdlm-toggle-floating {
	bottom: max(20px, env(safe-area-inset-bottom));
	position: fixed;
}

.sdlm-bottom-left {
	left: max(20px, env(safe-area-inset-left));
}

.sdlm-bottom-right {
	right: max(20px, env(safe-area-inset-right));
}

.sdlm-icon {
	font-size: 19px;
	line-height: 1;
}

.sdlm-icon-moon {
	display: none;
}

html.sdlm-dark .sdlm-toggle,
html[data-sdlm-theme="dark"] .sdlm-toggle {
	background: var(--sdlm-dark-surface);
	border-color: rgba(255, 255, 255, 0.18);
	color: var(--sdlm-dark-text);
}

html.sdlm-dark .sdlm-icon-sun,
html[data-sdlm-theme="dark"] .sdlm-icon-sun {
	display: none;
}

html.sdlm-dark .sdlm-icon-moon,
html[data-sdlm-theme="dark"] .sdlm-icon-moon {
	display: inline;
}

.sdlm-style-icon {
	border-radius: 50%;
	height: 48px;
	padding: 0;
	width: 48px;
}

.sdlm-style-icon .sdlm-label {
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	height: 1px;
	overflow: hidden;
	position: absolute;
	white-space: nowrap;
	width: 1px;
}

@media (prefers-reduced-motion: reduce) {
	html,
	body,
	body *,
	.sdlm-toggle {
		scroll-behavior: auto !important;
		transition: none !important;
	}
}

@media (max-width: 600px) {
	.sdlm-toggle-floating {
		bottom: max(14px, env(safe-area-inset-bottom));
	}

	.sdlm-bottom-left {
		left: max(14px, env(safe-area-inset-left));
	}

	.sdlm-bottom-right {
		right: max(14px, env(safe-area-inset-right));
	}
}
