/**
 * BPV-boekje.nl dark theme
 *
 * This stylesheet is enqueued with:
 *   screen and (prefers-color-scheme: dark)
 *
 * The McLuhan body class `.dark` describes the header contrast mode and is
 * not used to activate this stylesheet. Images and deliberately coloured
 * Gutenberg content remain unchanged.
 */

:root {
	color-scheme: dark;
	--bpvdm-bg: #0f141b;
	--bpvdm-surface: #151d27;
	--bpvdm-surface-raised: #1b2633;
	--bpvdm-surface-subtle: #223041;
	--bpvdm-surface-hover: #2a3a4d;
	--bpvdm-bg-strong: #090e13;
	--bpvdm-text: #f2f5f7;
	--bpvdm-text-muted: #c5ced8;
	--bpvdm-text-faint: #9cabb9;
	--bpvdm-border: #425466;
	--bpvdm-border-soft: #304153;
	--bpvdm-link: #8abfff;
	--bpvdm-link-hover: #c5e2ff;
	--bpvdm-focus: #66c9d8;
	--bpvdm-azure: #66c9d8;
	--bpvdm-azure-bg: #12343d;
	--bpvdm-azure-bg-hover: #194752;
	--bpvdm-green: #c3df55;
	--bpvdm-green-bg: #29350e;
	--bpvdm-green-bg-hover: #354515;
	--bpvdm-purple: #c795ff;
	--bpvdm-purple-bg: #2b1d3c;
	--bpvdm-purple-bg-hover: #3a2850;
	--bpvdm-header: #155866;
	--bpvdm-header-hover: #1b6a79;
	--bpvdm-header-text: #f3fbfc;
	--bpvdm-error-bg: #3a171b;
	--bpvdm-error-border: #ff7b84;
	--bpvdm-error-text: #ffd7da;
	--bpvdm-success-bg: #102d1c;
	--bpvdm-success-border: #58c67b;
	--bpvdm-success-text: #c7f9d4;
	--bpvdm-info-bg: #10293d;
	--bpvdm-info-border: #66c9d8;
	--bpvdm-info-text: #d3f6fb;
	--bpvdm-warning-bg: #332600;
	--bpvdm-warning-border: #c99b22;
	--bpvdm-warning-text: #ffd986;
	--bpvdm-disabled-bg: #1a222d;
	--bpvdm-disabled-text: #8996a4;
}

/* Document and McLuhan structure. */
html,
body,
html body.custom-background {
	background: var(--bpvdm-bg);
	color: var(--bpvdm-text);
}

::selection {
	background: var(--bpvdm-azure);
	color: #071014;
}

.screen-reader-text:focus {
	background: var(--bpvdm-surface-raised);
	box-shadow: 0 0 0 2px var(--bpvdm-focus);
	color: var(--bpvdm-text);
}

.skip-link:focus {
	background: var(--bpvdm-surface-raised);
	color: var(--bpvdm-text);
}

/* Keep the main BPV brand bar recognisably turquoise in dark mode. */
html body .site-header,
html body .social-menu.desktop,
html body .mobile-menu-wrapper,
html body .social-menu.mobile,
html body .mobile-search.active {
	background: var(--bpvdm-header);
	color: var(--bpvdm-header-text);
}

.same-custom-bgs .site-header,
.white-bg .site-header {
	border-color: rgba(243, 251, 252, 0.22);
}

.site-header a,
.dark .site-header,
.dark .site-header a,
.mobile-menu-wrapper,
.dark .mobile-menu-wrapper,
.mobile-menu-wrapper a {
	color: var(--bpvdm-header-text);
}

.site-description,
.dark .site-description {
	color: #d9f3f6;
}

.site-title a:hover,
.dark .site-title a:hover,
.main-menu .current-menu-item > a,
.main-menu a:hover,
.dark .main-menu .current-menu-item > a,
.dark .main-menu a:hover {
	border-bottom-color: var(--bpvdm-header-text);
}

.nav-toggle .bar,
.dark .nav-toggle .bar,
.untoggle-mobile-search::before,
.untoggle-mobile-search::after,
.dark .untoggle-mobile-search::before,
.dark .untoggle-mobile-search::after {
	background: var(--bpvdm-header-text);
}

.social-menu a,
.dark .social-menu a {
	background: rgba(255, 255, 255, 0.12);
	color: var(--bpvdm-header-text);
}

body .social-menu a:hover,
body .social-menu a.active,
.dark .social-menu a:hover,
.dark .social-menu a.active {
	background: var(--bpvdm-header-text);
	color: #0b343c;
}

.logged-in .site-name::after {
	color: #bff68c;
}

/* Typography and links. */
a {
	text-decoration-color: currentColor;
}

.excerpt a,
.entry-content a,
.breadcrumb-trail a {
	border-bottom-color: var(--bpvdm-link);
	color: var(--bpvdm-link);
}

.excerpt a:hover,
.entry-content a:hover,
.breadcrumb-trail a:hover {
	border-bottom-color: var(--bpvdm-link-hover);
	color: var(--bpvdm-link-hover);
}

.page-subtitle,
.post-preview time,
.archive-pagination a,
.meta,
.comment-date,
.comment-date a,
.comment-reply a,
.wp-caption-text,
.site-footer .theme-by,
.trail-item.trail-end,
.mobile-results p,
.dark .mobile-results p,
.mobile-results .show-all,
.dark .mobile-results .show-all {
	color: var(--bpvdm-text-muted);
}

.post-preview,
.mobile-results li,
.dark .mobile-results li,
.site-footer,
hr,
.resume-template .entry-content h1,
.resume-template .entry-content h2,
.resume-template .entry-content h3,
.resume-template .entry-content h4,
.resume-template .entry-content h5,
.resume-template .entry-content h6 {
	border-color: var(--bpvdm-border);
}

.post-preview a,
.posts .list-title a,
.mobile-results li a,
.dark .mobile-results li a,
.archive-pagination a:hover {
	color: var(--bpvdm-text);
}

.posts .list-title a:hover {
	color: var(--bpvdm-link-hover);
}

.post-preview a:hover .title span,
.related-post:hover .title span {
	border-bottom-color: var(--bpvdm-text);
}

.sticky .sticky-arrow {
	background-color: var(--bpvdm-surface-raised);
	filter: invert(1) brightness(1.35);
}

/* Forms and native controls. */
fieldset {
	border-color: var(--bpvdm-border);
}

input[type="text"],
input[type="password"],
input[type="email"],
input[type="url"],
input[type="date"],
input[type="month"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="week"],
input[type="number"],
input[type="search"],
input[type="tel"],
input[type="color"],
select,
textarea {
	background: var(--bpvdm-surface);
	border-color: var(--bpvdm-border);
	color: var(--bpvdm-text);
}

select option {
	background: var(--bpvdm-surface);
	color: var(--bpvdm-text);
}

input::placeholder,
textarea::placeholder,
input.search-field::placeholder {
	color: var(--bpvdm-text-faint);
	opacity: 1;
}

input:disabled,
select:disabled,
textarea:disabled,
button:disabled,
[aria-disabled="true"] {
	cursor: not-allowed;
	opacity: 0.72;
}

input[type="checkbox"],
input[type="radio"] {
	accent-color: var(--bpvdm-azure);
}

button,
.button,
.wp-block-file__button,
.wp-block-button__link:not(.has-background),
input[type="button"],
input[type="submit"] {
	background: var(--bpvdm-azure);
	border-color: var(--bpvdm-azure);
	color: #0b3038;
}

button:hover,
.button:hover,
.wp-block-file__button:hover,
.wp-block-button__link:not(.has-background):hover,
input[type="button"]:hover,
input[type="submit"]:hover {
	background: #9ee2eb;
	border-color: #9ee2eb;
	color: #071014;
}

.comment-respond .form-submit #submit {
	background: var(--bpvdm-azure);
	border: 0;
	color: #0b3038;
}

.comment-respond .form-submit #submit:hover {
	background: #9ee2eb;
	color: #071014;
}

:focus-visible {
	outline: 3px solid var(--bpvdm-focus);
	outline-offset: 3px;
}

/* Tables, code and quotes. */
thead,
th {
	background: var(--bpvdm-surface-raised);
}

tbody > tr:nth-child(odd) {
	background: rgba(255, 255, 255, 0.045);
}

th,
td {
	border-color: var(--bpvdm-border-soft);
}

code,
pre,
address {
	background: var(--bpvdm-surface);
	color: var(--bpvdm-text);
}

blockquote {
	border-color: var(--bpvdm-border);
}

.wp-block-pullquote,
.wp-block-pullquote blockquote,
.wp-block-quote {
	background: transparent;
	border-color: var(--bpvdm-border);
	color: var(--bpvdm-text);
}

.gallery-caption {
	background: rgba(9, 14, 19, 0.94);
	color: var(--bpvdm-text);
}

/* Search overlay and mobile search. */
.search-overlay {
	background: var(--bpvdm-bg);
	color: var(--bpvdm-text);
}

.search-overlay .search-field,
.mobile-search .search-field,
.dark .mobile-search .search-field {
	background-color: transparent;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='%23f3fbfc' stroke-width='2.5'%3E%3Ccircle cx='14' cy='14' r='8.5'/%3E%3Cpath d='m20.5 20.5 7 7'/%3E%3C/svg%3E");
	border-color: #b8e9ef;
	color: var(--bpvdm-header-text);
}

.main-menu .toggle-mobile-search::before,
.dark .main-menu .toggle-mobile-search::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='%23f3fbfc' stroke-width='2.5'%3E%3Ccircle cx='14' cy='14' r='8.5'/%3E%3Cpath d='m20.5 20.5 7 7'/%3E%3C/svg%3E");
}

.mobile-search .search-field::placeholder,
.dark .mobile-search .search-field::placeholder {
	color: #d9f3f6;
}

/* Child-theme components. */
:target {
	background: var(--bpvdm-azure-bg);
	color: var(--bpvdm-text);
	outline-color: var(--bpvdm-purple);
}

.notify {
	background: var(--bpvdm-success-bg);
	border-color: var(--bpvdm-success-border);
	color: var(--bpvdm-success-text);
}

.notify a {
	color: inherit;
}

/* WordPress and Gutenberg blocks. */
.wp-block-file,
.entry-content .wp-block-file {
	background: var(--bpvdm-surface-raised);
	color: var(--bpvdm-text);
}

.wp-block-file a:not(.wp-block-file__button),
.entry-content .wp-block-file a:not(.wp-block-file__button) {
	color: var(--bpvdm-link);
}

.wp-block-button.is-style-outline > .wp-block-button__link:not(.has-text-color),
.wp-block-button__link.is-style-outline:not(.has-text-color) {
	color: var(--bpvdm-link);
}

.wp-block-button.is-style-outline > .wp-block-button__link:not(.has-background),
.wp-block-button__link.is-style-outline:not(.has-background) {
	background: transparent;
	border-color: currentColor;
}

.wp-block-button__link:hover {
	background: #9ee2eb;
	color: #071014;
}

.wp-block-details[open] {
	background: var(--bpvdm-surface-raised);
	color: var(--bpvdm-text);
	outline-color: var(--bpvdm-azure);
}

.wp-block-details summary {
	color: var(--bpvdm-text);
}

.wp-block-tab-list > button {
	background: var(--bpvdm-header);
	color: var(--bpvdm-header-text);
}

.wp-block-tab-list > button:hover,
.wp-block-tab-list > button:focus-visible {
	background: var(--bpvdm-header-hover);
}

.wp-block-tab-list [aria-selected="true"] {
	background: var(--bpvdm-green);
	color: #1e2a00;
}

.wp-block-tab-panels {
	background: var(--bpvdm-surface);
	color: var(--bpvdm-text);
	outline-color: var(--bpvdm-azure);
}

.wp-block-table table,
.wp-block-calendar table {
	background: var(--bpvdm-surface);
	color: var(--bpvdm-text);
}

.wp-block-table thead,
.wp-block-table tfoot {
	border-color: var(--bpvdm-border);
}

.wp-block-table td,
.wp-block-table th,
.wp-block-calendar tbody td,
.wp-block-calendar th {
	border-color: var(--bpvdm-border);
}

.wp-block-table.is-style-stripes {
	border-color: var(--bpvdm-border);
}

.wp-block-table.is-style-stripes tbody tr:nth-child(odd) {
	background: var(--bpvdm-surface-raised);
}

.wp-block-table .has-subtle-light-gray-background-color,
.wp-block-table .has-subtle-pale-green-background-color,
.wp-block-table .has-subtle-pale-blue-background-color,
.wp-block-table .has-subtle-pale-pink-background-color {
	background: var(--bpvdm-surface-raised);
	color: var(--bpvdm-text);
}

.wp-block-code,
.wp-block-preformatted {
	background: var(--bpvdm-surface);
	color: var(--bpvdm-text);
}

.wp-block-separator {
	border-color: var(--bpvdm-border);
	color: var(--bpvdm-border);
}

.wp-block-separator.is-style-dots::before {
	color: var(--bpvdm-border);
}

/* Breadcrumb Mod inherits most colours from McLuhan. */
.breadcrumb-trail.breadcrumbs,
.trail-items,
.trail-item {
	color: var(--bpvdm-text-muted);
}

.trail-item.trail-begin a {
	color: var(--bpvdm-link);
}

/* BPV Bedrijven Register. */
.bpvbr-finder {
	--bpvbr-border: var(--bpvdm-azure);
	--bpvbr-border-green: var(--bpvdm-green);
	--bpvbr-muted: var(--bpvdm-text-muted);
	--bpvbr-surface: var(--bpvdm-surface);
	--bpvbr-row-bg: var(--bpvdm-surface-raised);
	--bpvbr-blue: var(--bpvdm-link);
	--bpvbr-blue-dark: var(--bpvdm-link-hover);
	--bpvbr-gold-bg: #6f5e00;
	--bpvbr-silver-bg: #46515d;
	--bpvbr-basis-bg: #173326;
	--bpvbr-azure: var(--bpvdm-azure);
	--bpvbr-azure-dark: #9ee2eb;
	--bpvbr-azure-soft: #d3f6fb;
	--bpvbr-green: var(--bpvdm-green);
	--bpvbr-green-dark: #dff28f;
	--bpvbr-green-soft: var(--bpvdm-green-bg);
	--bpvbr-purple: var(--bpvdm-purple);
	--bpvbr-purple-dark: #e2c9ff;
	--bpvbr-purple-soft: var(--bpvdm-purple-bg);
	--bpvbr-focus: var(--bpvdm-focus);
	color: var(--bpvdm-text);
}

.bpvbr-finder__intro,
.bpvbr-finder__search-tools,
.bpvbr-finder__filter-panel,
.bpvbr-finder__active-filters,
.bpvbr-finder__filter-actions,
.bpvbr-finder__filter-panel-header {
	background: var(--bpvdm-surface);
	border-color: var(--bpvdm-border);
	color: var(--bpvdm-text);
}

.bpvbr-filter-group,
.bpvbr-filter-group[open],
.bpvbr-filter-group__panel {
	background: var(--bpvdm-surface-raised);
	border-color: var(--bpvdm-border);
	box-shadow: none;
	color: var(--bpvdm-text);
}

.bpvbr-filter-group[open] > .bpvbr-filter-group__summary {
	background: var(--bpvdm-azure-bg);
}

.bpvbr-filter-group[open] .bpvbr-filter-group__title,
.bpvbr-filter-group[open] > .bpvbr-filter-group__summary::after {
	color: var(--bpvdm-info-text);
}

.bpvbr-filter-group__selection,
.bpvbr-company-card__subtitle,
.bpvbr-company-card__item-label,
.bpvbr-finder__load-more-wrap p {
	color: var(--bpvdm-text-muted);
}

.bpvbr-filter-option:hover {
	background: var(--bpvdm-surface-hover);
}

.bpvbr-filter-option:has(input:checked) {
	background: var(--bpvdm-green-bg);
	box-shadow: inset 3px 0 0 var(--bpvdm-green);
}

.bpvbr-filter-option:has(input:checked) .bpvbr-filter-option__label {
	color: #ecf9b7;
}

.bpvbr-filter-option__count,
.bpvbr-filter-option:has(input:checked) .bpvbr-filter-option__count {
	background: var(--bpvdm-surface-subtle);
	color: var(--bpvdm-text);
}

.bpvbr-filter-option:has(input:disabled) {
	color: var(--bpvdm-disabled-text);
}

.bpvbr-finder__filter-chip {
	background: var(--bpvdm-header);
	border-color: var(--bpvdm-azure);
	color: var(--bpvdm-header-text);
}

.bpvbr-finder__filter-chip:hover,
.bpvbr-finder__filter-chip:focus-visible {
	background: var(--bpvdm-header-hover);
	border-color: #9ee2eb;
	color: var(--bpvdm-header-text);
}

.bpvbr-finder__reset,
.bpvbr-finder__clear-link,
.bpvbr-finder__close-filters,
.bpvbr-company-card__comment-summary {
	background: transparent;
	color: var(--bpvdm-link);
}

.bpvbr-finder__reset:hover,
.bpvbr-finder__reset:focus-visible,
.bpvbr-finder__clear-link:hover,
.bpvbr-finder__clear-link:focus-visible,
.bpvbr-finder__close-filters:hover,
.bpvbr-finder__close-filters:focus-visible,
.bpvbr-company-card__comment-summary:hover,
.bpvbr-company-card__comment-summary:focus-visible {
	background: var(--bpvdm-surface-hover);
	color: var(--bpvdm-link-hover);
}

.bpvbr-finder .wp-element-button,
.bpvbr-finder__open-filters,
.bpvbr-finder__apply,
.bpvbr-finder__load-more {
	background: var(--bpvdm-azure);
	border-color: var(--bpvdm-azure);
	color: #0b3038;
}

.bpvbr-finder .wp-element-button:hover,
.bpvbr-finder .wp-element-button:focus,
.bpvbr-finder__open-filters:hover,
.bpvbr-finder__open-filters:focus,
.bpvbr-finder__apply:hover,
.bpvbr-finder__apply:focus,
.bpvbr-finder__load-more:hover,
.bpvbr-finder__load-more:focus {
	background: #9ee2eb;
	border-color: #9ee2eb;
	color: #071014;
}

.bpvbr-finder__open-filters span,
.bpvbr-finder__panel-count {
	background: var(--bpvdm-green);
	color: #1e2a00;
}

.bpvbr-company-card {
	background: var(--bpvdm-surface);
	border-color: var(--bpvdm-border);
	box-shadow: none;
	color: var(--bpvdm-text);
}

.bpvbr-company-card__title,
.bpvbr-finder__title,
.bpvbr-finder__count-number {
	color: var(--bpvdm-text);
}

.bpvbr-company-card__summary {
	border-left-color: var(--bpvdm-green);
}

.bpvbr-company-card__group {
	background: var(--bpvdm-surface-raised);
	color: var(--bpvdm-text);
}

.bpvbr-company-card__group--stage {
	background: var(--bpvdm-green-bg);
	border-top-color: var(--bpvdm-green);
}

.bpvbr-company-card__group--stage .bpvbr-company-card__group-title {
	color: #e8f6aa;
}

.bpvbr-company-card__group--guidance {
	background: var(--bpvdm-azure-bg);
	border-top-color: var(--bpvdm-azure);
}

.bpvbr-company-card__group--guidance .bpvbr-company-card__group-title {
	color: var(--bpvdm-info-text);
}

.bpvbr-company-card__group--exam {
	background: var(--bpvdm-purple-bg);
	border-top-color: var(--bpvdm-purple);
}

.bpvbr-company-card__group--exam .bpvbr-company-card__group-title {
	color: #e6d2ff;
}

.bpvbr-company-card__badge--gold {
	background: #6f5e00;
	color: #fff0a3;
}

.bpvbr-company-card__badge--silver {
	background: #46515d;
	color: #f1f5f9;
}

.bpvbr-company-card__badge--basis {
	background: #173326;
	color: #c7f9d4;
}

.bpvbr-company-card__comment {
	border-color: var(--bpvdm-border);
}

.bpvbr-finder__message {
	background: var(--bpvdm-info-bg);
	border-color: var(--bpvdm-info-border);
	color: var(--bpvdm-info-text);
}

.bpvbr-finder__message--error {
	background: var(--bpvdm-error-bg);
	border-color: var(--bpvdm-error-border);
	color: var(--bpvdm-error-text);
}

.bpvbr-filter-skeleton,
.bpvbr-company-skeleton {
	background-color: var(--bpvdm-surface);
	background-image: linear-gradient(90deg, var(--bpvdm-surface) 0, var(--bpvdm-surface-subtle) 45%, var(--bpvdm-surface) 90%);
	border-color: var(--bpvdm-border);
}

.bpvbr-company-skeleton span {
	background: rgba(197, 206, 216, 0.16);
}

.bpvbr-finder .bpvbr-info__button,
.bpvbr-finder .bpvbr-info__popup {
	background: var(--bpvdm-header);
	color: var(--bpvdm-header-text);
}

.bpvbr-finder .bpvbr-info__button:hover,
.bpvbr-finder .bpvbr-info__button:focus {
	background: var(--bpvdm-header-hover);
	color: var(--bpvdm-header-text);
}

.bpvbr-finder .bpvbr-info__popup::before {
	border-bottom-color: var(--bpvdm-header);
}

.bpvbr-finder .bpvbr-info__popup--above::before {
	border-bottom-color: transparent;
	border-top-color: var(--bpvdm-header);
}

@media (max-width: 640px) {
	.bpvbr-finder__filter-panel-header {
		background: var(--bpvdm-header);
		border-bottom-color: var(--bpvdm-azure);
		color: var(--bpvdm-header-text);
	}

	.bpvbr-finder__filter-groups {
		background: var(--bpvdm-bg);
	}

	.bpvbr-finder__filter-actions {
		background: var(--bpvdm-surface);
		border-top-color: var(--bpvdm-border);
	}
}

/* Shared BPV frontend form design system. */
.bpvse-review-form {
	--bpvse-border: var(--bpvdm-azure);
	--bpvse-border-green: var(--bpvdm-green);
	--bpvse-primary: var(--bpvdm-link);
	--bpvse-primary-hover: var(--bpvdm-link-hover);
	--bpvse-selected: var(--bpvdm-green);
	--bpvse-muted: var(--bpvdm-text-muted);
	--bpvse-surface: var(--bpvdm-surface);
	--bpvse-subtle-bg: var(--bpvdm-surface-raised);
	--bpvse-text: var(--bpvdm-text);
	--bpvse-error-bg: var(--bpvdm-error-bg);
	--bpvse-error-border: var(--bpvdm-error-border);
	--bpvse-error-text: var(--bpvdm-error-text);
	--bpvse-success-bg: var(--bpvdm-success-bg);
	--bpvse-success-border: var(--bpvdm-success-border);
	--bpvse-success-text: var(--bpvdm-success-text);
}

.bpvsr {
	--bpvsr-border: var(--bpvdm-azure);
	--bpvsr-border-green: var(--bpvdm-green);
	--bpvsr-primary: var(--bpvdm-link);
	--bpvsr-primary-hover: var(--bpvdm-link-hover);
	--bpvsr-muted: var(--bpvdm-text-muted);
	--bpvsr-surface: var(--bpvdm-surface);
	--bpvsr-row-bg: var(--bpvdm-surface-raised);
	--bpvsr-error-bg: var(--bpvdm-error-bg);
	--bpvsr-error-border: var(--bpvdm-error-border);
	--bpvsr-error-text: var(--bpvdm-error-text);
	--bpvsr-success-bg: var(--bpvdm-success-bg);
	--bpvsr-success-border: var(--bpvdm-success-border);
	color: var(--bpvdm-text);
}

.mtr-review-form {
	--mtr-border: var(--bpvdm-azure);
	--mtr-border-green: var(--bpvdm-green);
	--mtr-primary: var(--bpvdm-link);
	--mtr-primary-hover: var(--bpvdm-link-hover);
	--mtr-muted: var(--bpvdm-text-muted);
	--mtr-text: var(--bpvdm-text);
	--mtr-surface: var(--bpvdm-surface);
	--mtr-row-bg: var(--bpvdm-surface-raised);
	--mtr-error-bg: var(--bpvdm-error-bg);
	--mtr-error-border: var(--bpvdm-error-border);
	--mtr-error-text: var(--bpvdm-error-text);
	--mtr-success-bg: var(--bpvdm-success-bg);
	--mtr-success-border: var(--bpvdm-success-border);
	--mtr-score-g-bg: #185f31;
	--mtr-score-g-fg: #effff3;
	--mtr-score-v-bg: #263c1d;
	--mtr-score-v-border: #78c66d;
	--mtr-score-v-text: #dff8d8;
	--mtr-score-o-bg: var(--bpvdm-error-bg);
	--mtr-score-o-border: var(--bpvdm-error-border);
	--mtr-score-o-text: var(--bpvdm-error-text);
}

.bpvo-form {
	--bpvo-border: var(--bpvdm-azure);
	--bpvo-border-green: var(--bpvdm-green);
	--bpvo-primary: var(--bpvdm-link);
	--bpvo-primary-hover: var(--bpvdm-link-hover);
	--bpvo-muted: var(--bpvdm-text-muted);
	--bpvo-surface: var(--bpvdm-surface);
	--bpvo-row-bg: var(--bpvdm-surface-raised);
	--bpvo-error-bg: var(--bpvdm-error-bg);
	--bpvo-error-border: var(--bpvdm-error-border);
	--bpvo-error-text: var(--bpvdm-error-text);
	--bpvo-success-bg: var(--bpvdm-success-bg);
	--bpvo-success-border: var(--bpvdm-success-border);
	color: var(--bpvdm-text);
}

.blg-form {
	--blg-border: var(--bpvdm-azure);
	--blg-border-green: var(--bpvdm-green);
	--blg-primary: var(--bpvdm-link);
	--blg-primary-hover: var(--bpvdm-link-hover);
	--blg-muted: var(--bpvdm-text-muted);
	--blg-surface: var(--bpvdm-surface);
	--blg-row-bg: var(--bpvdm-surface-raised);
	--blg-error-bg: var(--bpvdm-error-bg);
	--blg-error-border: var(--bpvdm-error-border);
	--blg-error-text: var(--bpvdm-error-text);
	--blg-success-bg: var(--bpvdm-success-bg);
	--blg-success-border: var(--bpvdm-success-border);
	color: var(--bpvdm-text);
}

/* Form surfaces. */
.bpvse-review-form__intro,
.bpvse-review-form__branding,
.bpvse-review-form__section,
.bpvse-review-form__progress,
.bpvse-review-form__criterion,
.bpvse-review-form__process,
.bpvsr__intro,
.bpvsr__after-text,
.bpvsr__fieldset,
.bpvsr__question,
.bpvsr__question-progress,
.bpvsr__progress,
.bpvsr__review-summary,
.bpvsr__success-card,
.mtr-review-form__intro,
.mtr-review-form__branding,
.mtr-review-form__section,
.mtr-review-form__criterion,
.mtr-review-form__progress,
.mtr-review-form__criteria-progress,
.mtr-review-form__score-summary,
.bpvo-form__intro,
.bpvo-form__after-text,
.bpvo-form__progress,
.bpvo-form__section,
.blg-form__branding,
.blg-form__date-strip,
.blg-form__progress,
.blg-form__section {
	background: var(--bpvdm-surface);
	border-color: var(--bpvdm-border);
	color: var(--bpvdm-text);
}

.bpvse-review-form__criterion-row--title,
.mtr-review-form__criterion-row--title,
.bpvsr__stage-status,
.bpvo-form__section-intro,
.blg-form__form-help {
	background: var(--bpvdm-surface-raised);
	color: var(--bpvdm-text);
}

.bpvse-review-form__criterion-row + .bpvse-review-form__criterion-row,
.mtr-review-form__criterion-row + .mtr-review-form__criterion-row {
	border-top-color: var(--bpvdm-border);
}

.bpvse-review-form input[type="text"],
.bpvse-review-form input[type="date"],
.bpvse-review-form input[type="number"],
.bpvse-review-form select,
.bpvse-review-form textarea,
.blg-form :where(input[type="text"], input[type="date"], input[type="number"], select, textarea) {
	background: var(--bpvdm-surface-raised);
	border-color: var(--bpvdm-border);
	color: var(--bpvdm-text);
}

.bpvse-review-form :where(input[type="text"], input[type="date"], input[type="number"], select, textarea)::placeholder {
	color: var(--bpvdm-text-faint);
}

/* Choice cards and selected states. */
.bpvse-review-form__education-option,
.bpvse-review-form__radio-card,
.bpvsr__choice,
.bpvsr__confirm,
.bpvsr__scale-option,
.mtr-review-form__radio-card,
.mtr-review-form__education-option,
.mtr-review-form__score-option,
.mtr-review-form .mtr-review-form__send-copy,
.bpvo-form__choice,
.blg-form__education-option {
	background: var(--bpvdm-surface-raised);
	border-color: var(--bpvdm-border);
	color: var(--bpvdm-text);
}

.bpvse-review-form__education-option:hover,
.bpvse-review-form__radio-card:hover,
.bpvsr__choice:hover,
.bpvsr__confirm:hover,
.bpvsr__scale-option:hover,
.mtr-review-form__radio-card:hover,
.mtr-review-form__education-option:hover,
.mtr-review-form__score-option:hover,
.mtr-review-form .mtr-review-form__send-copy:not([aria-disabled="true"]):hover,
.bpvo-form__choice:hover,
.blg-form__education-option:hover {
	background: var(--bpvdm-surface-hover);
}

.bpvse-review-form__education-option:has(input:checked),
.bpvse-review-form__radio-card:has(input:checked),
.bpvsr__choice:has(input:checked),
.bpvsr__confirm:has(input:checked),
.bpvsr__scale-option:has(input:checked),
.bpvsr__choice.is-selected,
.bpvsr__confirm.is-selected,
.bpvsr__scale-option.is-selected,
.mtr-review-form__radio-card:has(input:checked),
.mtr-review-form__education-option:has(input:checked),
.mtr-review-form .mtr-review-form__send-copy:has(input:checked),
.bpvo-form__choice:has(input:checked),
.blg-form__education-option:has(input:checked) {
	background: var(--bpvdm-green-bg);
	border-color: var(--bpvdm-green);
	color: #ecf9b7;
	outline-color: var(--bpvdm-green);
}

.bpvse-review-form__criterion-number span,
.mtr-review-form__criterion-number {
	background: var(--bpvdm-azure-bg);
	color: var(--bpvdm-info-text);
}

/* Progress, active, complete and error states. */
.bpvse-review-form__process-item,
.bpvsr__progress-item,
.mtr-review-form__progress-item,
.bpvo-form__progress-item,
.blg-form__progress-item {
	color: var(--bpvdm-text-muted);
}

.bpvse-review-form__process-item[data-state="active"],
.bpvsr__progress-item[data-state="active"],
.mtr-review-form__progress-item[data-state="active"],
.bpvo-form__progress-item[data-state="active"],
.blg-form__progress-item[data-state="active"] {
	color: var(--bpvdm-info-text);
}

.bpvse-review-form__process-item[data-state="complete"],
.bpvsr__progress-item[data-state="complete"],
.mtr-review-form__progress-item[data-state="complete"],
.bpvo-form__progress-item[data-state="complete"],
.blg-form__progress-item[data-state="complete"] {
	color: var(--bpvdm-success-text);
}

.bpvse-review-form__process-item[data-state="error"],
.bpvsr__progress-item[data-state="error"],
.mtr-review-form__progress-item[data-state="error"],
.bpvo-form__progress-item[data-state="error"],
.blg-form__progress-item[data-state="error"] {
	color: var(--bpvdm-error-text);
}

.bpvse-review-form__progress progress,
.bpvsr__question-progress progress,
.mtr-review-form__criteria-progress progress {
	accent-color: var(--bpvdm-green);
	background: var(--bpvdm-surface-subtle);
}

/* Validation and notices. */
[class$="form__field-error"],
[class$="field-error"],
.bpvse-review-form__character-counter--limit,
.bpvsr__counter--limit,
.mtr-review-form__mail-status--error {
	color: var(--bpvdm-error-text);
}

[class*="form__help"],
[class*="form__hint"],
.bpvse-review-form__branding-education,
.bpvse-review-form__required-note,
.bpvse-review-form__character-counter,
.bpvsr__help,
.bpvsr__scale-explanation,
.bpvsr__required-note,
.mtr-review-form__branding-education,
.mtr-review-form__char-counter,
.mtr-review-form__required-note,
.bpvo-form__section-intro,
.blg-form__required-note {
	color: var(--bpvdm-text-muted);
}

.bpvse-review-form__character-counter--warning,
.mtr-review-form__char-counter--low {
	color: var(--bpvdm-warning-text);
}

.bpvse-review-form__error-summary,
.bpvse-review-form__notice--error,
.bpvsr__notice--error,
.bpvsr__errors,
.mtr-review-form__notice--error,
.bpvo-form__notice--error,
.blg-form__notice--error {
	background: var(--bpvdm-error-bg);
	border-color: var(--bpvdm-error-border);
	color: var(--bpvdm-error-text);
}

.bpvse-review-form__notice--success,
.bpvsr__notice--success,
.bpvsr__success-card,
.mtr-review-form__notice--success,
.mtr-review-form__mail-status--success,
.bpvo-form__notice--success,
.blg-form__notice--success {
	background: var(--bpvdm-success-bg);
	border-color: var(--bpvdm-success-border);
	color: var(--bpvdm-success-text);
}

.bpvse-review-form__notice--info,
.bpvsr__notice--info,
.bpvsr__notice--processing,
.mtr-review-form__notice--info,
.blg-form__notice--info {
	background: var(--bpvdm-info-bg);
	border-color: var(--bpvdm-info-border);
	color: var(--bpvdm-info-text);
}

.bpvse-review-form__education-option:has(input[aria-invalid="true"]),
.bpvse-review-form__radio-card:has(input[aria-invalid="true"]),
.bpvsr__field--invalid input,
.bpvsr__field--invalid textarea,
.bpvsr__field--invalid select,
.bpvsr__question--invalid,
.bpvsr__field--invalid .bpvsr__choice,
.bpvsr__field--invalid .bpvsr__confirm,
.bpvsr__question--invalid .bpvsr__choice,
.bpvsr__question--invalid .bpvsr__scale-option,
.mtr-review-form__education-options.mtr-review-form__field--invalid .mtr-review-form__education-option,
.mtr-review-form__choice-group.mtr-review-form__field--invalid .mtr-review-form__radio-card,
.mtr-review-form__score-group.mtr-review-form__field--invalid .mtr-review-form__score-option,
.mtr-review-form__final-score.mtr-review-form__field--invalid .mtr-review-form__score-option,
.mtr-review-form__send-copy-field.mtr-review-form__field--invalid .mtr-review-form__send-copy,
.bpvo-form__field--invalid .bpvo-form__choice,
.blg-form__field--invalid .blg-form__education-option {
	background: var(--bpvdm-error-bg);
	border-color: var(--bpvdm-error-border);
	color: var(--bpvdm-error-text);
}

.bpvse-review-form :where(input:not([type="radio"]):not([type="checkbox"]), select, textarea)[aria-invalid="true"],
.mtr-review-form .mtr-review-form__field--invalid :where(input[type="text"], input[type="date"], input[type="number"], input[type="email"], input[type="tel"], textarea, select),
.mtr-review-form :where(input[type="text"], input[type="date"], input[type="number"], input[type="email"], input[type="tel"], textarea, select)[aria-invalid="true"],
.bpvo-form .bpvo-form__field--invalid input,
.blg-form .blg-form__field--invalid > :where(input[type="text"], input[type="date"], input[type="number"], select, textarea) {
	background: var(--bpvdm-error-bg);
	border-color: var(--bpvdm-error-border);
	color: var(--bpvdm-error-text);
}

.bpvsr__submit[disabled],
.bpvo-form__actions button[disabled],
.blg-form__actions button[disabled],
.mtr-review-form .mtr-review-form__send-copy[aria-disabled="true"] {
	background: var(--bpvdm-disabled-bg);
	border-color: var(--bpvdm-border-soft);
	color: var(--bpvdm-disabled-text);
}

.bpvsr__secondary-action {
	background: transparent;
	border-color: var(--bpvdm-border);
	color: var(--bpvdm-link);
}

.bpvsr__secondary-action:hover,
.bpvsr__secondary-action:focus-visible {
	background: var(--bpvdm-surface-hover);
	color: var(--bpvdm-link-hover);
}

.bpvse-review-form__submit .wp-block-button__link {
	background: var(--bpvdm-azure);
	color: #0b3038;
}

.bpvse-review-form form[aria-busy="true"] .bpvse-review-form__submit .wp-block-button__link {
	opacity: 0.72;
}

.bpvsr__success-title,
.bpvsr__success-icon {
	color: var(--bpvdm-success-text);
}

/* Mentor review score colours retain meaning without light surfaces. */
.mtr-review-form__score-option--G:has(input:checked) {
	background: var(--mtr-score-g-bg);
	border-color: var(--bpvdm-success-border);
	color: var(--mtr-score-g-fg);
}

.mtr-review-form__score-option--V:has(input:checked) {
	background: var(--mtr-score-v-bg);
	border-color: var(--mtr-score-v-border);
	color: var(--mtr-score-v-text);
}

.mtr-review-form__score-option--O:has(input:checked) {
	background: var(--mtr-score-o-bg);
	border-color: var(--mtr-score-o-border);
	color: var(--mtr-score-o-text);
}

.mtr-review-form__criterion:has(.mtr-review-form__score-option--G input:checked) .mtr-review-form__criterion-row--score {
	background: var(--bpvdm-success-bg);
}

.mtr-review-form__criterion:has(.mtr-review-form__score-option--V input:checked) .mtr-review-form__criterion-row--score {
	background: #263c1d;
}

.mtr-review-form__criterion:has(.mtr-review-form__score-option--O input:checked) .mtr-review-form__criterion-row--score {
	background: var(--bpvdm-error-bg);
}

.mtr-review-form__score-summary-item--G {
	color: var(--bpvdm-success-text);
}

.mtr-review-form__score-summary-item--V {
	color: #dff8d8;
}

.mtr-review-form__score-summary-item--O,
.mtr-review-form__consistency-note {
	color: var(--bpvdm-error-text);
}

.mtr-review-form__draft-status,
.mtr-review-form__mail-status {
	color: var(--bpvdm-text-muted);
}

/* BPVO information tooltip. */
.bpvo-form .bpvo-info__button,
.bpvo-form .bpvo-info__popup {
	background: var(--bpvdm-header);
	color: var(--bpvdm-header-text);
}

.bpvo-form .bpvo-info__button:hover,
.bpvo-form .bpvo-info__button:focus {
	background: var(--bpvdm-header-hover);
	color: var(--bpvdm-header-text);
}

.bpvo-form .bpvo-info__popup::before {
	border-bottom-color: var(--bpvdm-header);
}

.bpvo-form .bpvo-info__popup--above::before {
	border-bottom-color: transparent;
	border-top-color: var(--bpvdm-header);
}

/* BPV timelines: retain colourful segments, darken neutral framing. */
.wp-block-bpv-boekje-tijdlijnen,
.bpv-timelines--v2 {
	--bpv-timelines-border: var(--bpvdm-azure);
	--bpv-timelines-divider: var(--bpvdm-border);
	--bpv-timelines-track: var(--bpvdm-surface-subtle);
	--bpv-timelines-text: var(--bpvdm-text);
	background: transparent;
	color: var(--bpvdm-text);
}

.bpv-timelines__heading,
.bpv-timelines__row,
.bpv-timelines__title-cell {
	border-color: var(--bpvdm-border);
	color: var(--bpvdm-text);
}

.bpv-timelines__title-cell {
	background: var(--bpvdm-surface);
}

.bpv-timelines__track {
	background: var(--bpvdm-surface-subtle);
}

.bpv-timelines__segment {
	color: #f8fafc;
}

/* Explicit hooks for components whose light styles otherwise rely on inheritance. */
.bpvbr-finder__field,
.bpvbr-finder__count,
.bpvbr-company-card__badge {
	color: var(--bpvdm-text);
}

.bpvbr-finder__count,
.bpvbr-company-card__badge {
	border-color: var(--bpvdm-border);
}

.bpvbr-finder .bpvbr-info__icon,
.bpvo-form .bpvo-info__icon {
	fill: currentColor;
}

.bpvse-review-form__help,
.bpvse-review-form__progress-texts p:last-child,
.bpvse-review-form__criterion-required,
.bpvsr__stage-status-help,
.bpvsr__counter,
.mtr-review-form__field-help,
.mtr-review-form__help,
.mtr-review-form__criterion-required,
.blg-form__field-help {
	color: var(--bpvdm-text-muted);
}

.bpvse-review-form__field-error,
.bpvsr__field-error,
.mtr-review-form__field-error,
.bpvo-form__field-error,
.blg-form__field-error {
	color: var(--bpvdm-error-text);
}

.bpvse-review-form__notice,
.bpvsr__notice,
.mtr-review-form__notice,
.bpvo-form__notice,
.blg-form__notice {
	border-color: var(--bpvdm-border);
}

.bpvse-review-form__process-marker,
.bpvsr__progress-marker,
.mtr-review-form__progress-marker,
.bpvo-form__progress-marker,
.blg-form__progress-marker {
	background: var(--bpvdm-surface-raised);
	border-color: currentColor;
}

.bpvse-review-form__button-spinner,
.bpvsr__notice-spinner,
.bpvsr__button-spinner,
.mtr-review-form__button-spinner,
.bpvo-form__button-spinner,
.blg-form__button-spinner {
	border-color: currentColor;
	border-right-color: transparent;
}

.bpvsr__choice-fieldset {
	background: transparent;
	border-color: var(--bpvdm-border);
}

.mtr-review-form__row-title,
.mtr-review-form__score-summary-item,
.bpv-timelines__title {
	color: var(--bpvdm-text);
}

.mtr-review-form__send-copy-email {
	background: var(--bpvdm-surface-raised);
	color: var(--bpvdm-text);
}

.bpv-timelines__rows {
	border-color: var(--bpvdm-border);
}

/* Browser autofill must not flash a white field. */
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
textarea:-webkit-autofill,
select:-webkit-autofill {
	-webkit-text-fill-color: var(--bpvdm-text);
	box-shadow: 0 0 0 1000px var(--bpvdm-surface) inset;
	caret-color: var(--bpvdm-text);
}

@media (max-width: 1000px) {
	.same-custom-bgs .site-header,
	.white-bg .site-header {
		border-bottom-color: rgba(243, 251, 252, 0.22);
	}
}

@media (prefers-contrast: more) {
	:root {
		--bpvdm-text-muted: #e0e6ec;
		--bpvdm-text-faint: #c4ced8;
		--bpvdm-border: #7f91a3;
		--bpvdm-border-soft: #66788a;
		--bpvdm-focus: #9ee2eb;
	}
}
