/* The CMS templates use Bootstrap 5.3 color utilities; the bundled themes are 5.1.3. */
:root {
	--cms-primary-subtle-bg: #cfe2ff;
	--cms-primary-emphasis: #052c65;
	--cms-primary-subtle-border: #9ec5fe;
	--cms-primary-solid-bg: #2c3e50;
	--cms-primary-solid-fg: #fff;
	--cms-secondary-subtle-bg: #e2e3e5;
	--cms-secondary-emphasis: #41464b;
	--cms-secondary-subtle-border: #c4c8cb;
	--cms-secondary-solid-bg: #6c757d;
	--cms-secondary-solid-fg: #fff;
	--cms-success-subtle-bg: #d1e7dd;
	--cms-success-emphasis: #0f5132;
	--cms-success-subtle-border: #a3cfbb;
	--cms-danger-subtle-bg: #f8d7da;
	--cms-danger-emphasis: #842029;
	--cms-danger-subtle-border: #f5c2c7;
	--cms-warning-subtle-bg: #fff3cd;
	--cms-warning-emphasis: #664d03;
	--cms-warning-subtle-border: #ffecb5;
	--cms-info-subtle-bg: #cff4fc;
	--cms-info-emphasis: #055160;
	--cms-info-subtle-border: #9eeaf9;
	--cms-light-bg: #f8f9fa;
	--cms-light-fg: #212529;
	--cms-light-border: #ced4da;
	--cms-dark-bg: #212529;
	--cms-dark-fg: #f8f9fa;
	--cms-dark-border: #343a40;
	--cms-body-tertiary-bg: #f1f3f5;
	--cms-body-secondary-fg: #59636e;
	--cms-muted-fg: #59636e;
}

:root[data-cms-theme="dark"] {
	--cms-primary-subtle-bg: #0a2f5e;
	--cms-primary-emphasis: #cfe2ff;
	--cms-primary-subtle-border: #084298;
	--cms-primary-solid-bg: #375a7f;
	--cms-primary-solid-fg: #fff;
	--cms-secondary-subtle-bg: #41464b;
	--cms-secondary-emphasis: #e2e3e5;
	--cms-secondary-subtle-border: #565e64;
	--cms-secondary-solid-bg: #565e64;
	--cms-secondary-solid-fg: #fff;
	--cms-success-subtle-bg: #0f5132;
	--cms-success-emphasis: #d1e7dd;
	--cms-success-subtle-border: #146c43;
	--cms-danger-subtle-bg: #842029;
	--cms-danger-emphasis: #f8d7da;
	--cms-danger-subtle-border: #b02a37;
	--cms-warning-subtle-bg: #664d03;
	--cms-warning-emphasis: #fff3cd;
	--cms-warning-subtle-border: #997404;
	--cms-info-subtle-bg: #055160;
	--cms-info-emphasis: #cff4fc;
	--cms-info-subtle-border: #087990;
	--cms-light-bg: #f8f9fa;
	--cms-light-fg: #212529;
	--cms-light-border: #ced4da;
	--cms-dark-bg: #212529;
	--cms-dark-fg: #f8f9fa;
	--cms-dark-border: #343a40;
	--cms-body-tertiary-bg: #2b3035;
	--cms-body-secondary-fg: #b8c2cc;
	--cms-muted-fg: #b8c2cc;
}

:root[data-cms-theme="high-contrast"] {
	--cms-primary-subtle-bg: #000;
	--cms-primary-emphasis: #ffd400;
	--cms-primary-subtle-border: #ffd400;
	--cms-primary-solid-bg: #ffd400;
	--cms-primary-solid-fg: #000;
	--cms-secondary-subtle-bg: #000;
	--cms-secondary-emphasis: #fff;
	--cms-secondary-subtle-border: #fff;
	--cms-secondary-solid-bg: #000;
	--cms-secondary-solid-fg: #fff;
	--cms-success-subtle-bg: #000;
	--cms-success-emphasis: #59f0ab;
	--cms-success-subtle-border: #59f0ab;
	--cms-danger-subtle-bg: #000;
	--cms-danger-emphasis: #ff9999;
	--cms-danger-subtle-border: #ff9999;
	--cms-warning-subtle-bg: #000;
	--cms-warning-emphasis: #ffd400;
	--cms-warning-subtle-border: #ffd400;
	--cms-info-subtle-bg: #000;
	--cms-info-emphasis: #66d9ff;
	--cms-info-subtle-border: #66d9ff;
	--cms-light-bg: #000;
	--cms-light-fg: #fff;
	--cms-light-border: #fff;
	--cms-dark-bg: #000;
	--cms-dark-fg: #fff;
	--cms-dark-border: #fff;
	--cms-body-tertiary-bg: #000;
	--cms-body-secondary-fg: #e6e6e6;
	--cms-muted-fg: #e6e6e6;
}

:root[data-cms-theme="vibrant"] {
	--cms-primary-subtle-bg: #392a66;
	--cms-primary-emphasis: #d7c5ff;
	--cms-primary-subtle-border: #8065c4;
	--cms-primary-solid-bg: #6f42c1;
	--cms-primary-solid-fg: #fff;
	--cms-secondary-subtle-bg: #482042;
	--cms-secondary-emphasis: #ffd4f5;
	--cms-secondary-subtle-border: #a34a91;
	--cms-secondary-solid-bg: #7a306c;
	--cms-secondary-solid-fg: #fff;
	--cms-success-subtle-bg: #124d30;
	--cms-success-emphasis: #c6f6d5;
	--cms-success-subtle-border: #1e7e49;
	--cms-danger-subtle-bg: #5c1d29;
	--cms-danger-emphasis: #ffd5d9;
	--cms-danger-subtle-border: #a83248;
	--cms-warning-subtle-bg: #664d03;
	--cms-warning-emphasis: #fff3cd;
	--cms-warning-subtle-border: #997404;
	--cms-info-subtle-bg: #0b3f52;
	--cms-info-emphasis: #cff4fc;
	--cms-info-subtle-border: #087990;
	--cms-light-bg: #f7fbff;
	--cms-light-fg: #170229;
	--cms-light-border: #c7e5eb;
	--cms-dark-bg: #170229;
	--cms-dark-fg: #f7fbff;
	--cms-dark-border: #5b5370;
	--cms-body-tertiary-bg: #26104a;
	--cms-body-secondary-fg: #c7c1d7;
	--cms-muted-fg: rgba(247, 251, 255, .82);
}

.text-bg-primary {
	color: var(--cms-primary-solid-fg) !important;
	background-color: var(--cms-primary-solid-bg) !important;
}

.text-bg-secondary {
	color: var(--cms-secondary-emphasis) !important;
	background-color: var(--cms-secondary-subtle-bg) !important;
}

.text-bg-success,
.text-bg-danger,
.text-bg-warning,
.text-bg-info {
	background-color: var(--cms-status-bg) !important;
	color: var(--cms-status-fg) !important;
}

.text-bg-success {
	--cms-status-bg: var(--cms-success-subtle-bg);
	--cms-status-fg: var(--cms-success-emphasis);
}

.text-bg-danger {
	--cms-status-bg: var(--cms-danger-subtle-bg);
	--cms-status-fg: var(--cms-danger-emphasis);
}

.text-bg-warning {
	--cms-status-bg: var(--cms-warning-subtle-bg);
	--cms-status-fg: var(--cms-warning-emphasis);
}

.text-bg-info {
	--cms-status-bg: var(--cms-info-subtle-bg);
	--cms-status-fg: var(--cms-info-emphasis);
}

.text-bg-light {
	color: var(--cms-light-fg) !important;
	background-color: var(--cms-light-bg) !important;
}

.text-bg-dark {
	color: var(--cms-dark-fg) !important;
	background-color: var(--cms-dark-bg) !important;
}

.bg-primary-subtle { background-color: var(--cms-primary-subtle-bg) !important; }
.text-primary-emphasis { color: var(--cms-primary-emphasis) !important; }
.border-primary-subtle { border-color: var(--cms-primary-subtle-border) !important; }
.bg-secondary-subtle { background-color: var(--cms-secondary-subtle-bg) !important; }
.text-secondary-emphasis { color: var(--cms-secondary-emphasis) !important; }
.border-secondary-subtle { border-color: var(--cms-secondary-subtle-border) !important; }
.bg-success-subtle { background-color: var(--cms-success-subtle-bg) !important; }
.text-success-emphasis { color: var(--cms-success-emphasis) !important; }
.border-success-subtle { border-color: var(--cms-success-subtle-border) !important; }
.bg-danger-subtle { background-color: var(--cms-danger-subtle-bg) !important; }
.text-danger-emphasis { color: var(--cms-danger-emphasis) !important; }
.border-danger-subtle { border-color: var(--cms-danger-subtle-border) !important; }
.bg-warning-subtle { background-color: var(--cms-warning-subtle-bg) !important; }
.text-warning-emphasis { color: var(--cms-warning-emphasis) !important; }
.border-warning-subtle { border-color: var(--cms-warning-subtle-border) !important; }
.bg-info-subtle { background-color: var(--cms-info-subtle-bg) !important; }
.text-info-emphasis { color: var(--cms-info-emphasis) !important; }
.border-info-subtle { border-color: var(--cms-info-subtle-border) !important; }

.bg-body {
	background-color: var(--bs-body-bg, #fff) !important;
}

.bg-body-tertiary {
	background-color: var(--cms-body-tertiary-bg) !important;
}

.text-body-secondary {
	color: var(--cms-body-secondary-fg) !important;
}

:root[data-cms-theme="light"] .text-muted,
:root[data-cms-theme="dark"] .text-muted {
	color: var(--cms-muted-fg) !important;
}
