/**
 * FPL Theme — Native Accessibility System (WCAG 2.2 AA / ST RK 2191-2012)
 * Package: FPL Theme
 * Version: 1.0.0-rc48
 */

/* ==========================================================================
   0. Accessibility Trigger Buttons (Utility Bar & Mobile Menu)
   ========================================================================== */

button.utility-accessibility,
.utility-accessibility {
	background: transparent !important;
	background-color: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	-webkit-appearance: none !important;
	appearance: none !important;
	cursor: pointer;
	font-family: inherit;
}

button.utility-accessibility:hover,
.utility-accessibility:hover {
	background-color: rgba(22, 85, 103, 0.08) !important;
}

button.utility-accessibility:focus-visible,
.utility-accessibility:focus-visible {
	outline: 2px solid var(--wp--preset--color--diviza, #165567) !important;
	outline-offset: 2px !important;
}

button.mobile-accessibility,
.mobile-accessibility {
	background: transparent !important;
	background-color: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	-webkit-appearance: none !important;
	appearance: none !important;
	cursor: pointer;
	font-family: inherit;
	text-align: left;
	padding: 0;
}

/* ==========================================================================
   1. Accessibility Settings Toolbar (#fpl-a11y-toolbar)
   ========================================================================== */

.fpl-a11y-toolbar {
	display: block;
	background: #1a2530;
	color: #ffffff;
	border-bottom: 2px solid #004b91;
	padding: 12px 20px;
	font-family: var(--wp--preset--font-family--primary, 'Medeo Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif);
	font-size: 14px;
	line-height: 1.4;
	position: relative;
	z-index: 100000;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
	transition: all 0.2s ease-in-out;
}

.fpl-a11y-toolbar[hidden] {
	display: none !important;
}

.fpl-a11y-toolbar-inner {
	max-width: 1320px;
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 16px 24px;
	justify-content: space-between;
}

.fpl-a11y-group {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
}

.fpl-a11y-group-title {
	font-size: 13px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: #9cb3c9;
	white-space: nowrap;
}

.fpl-a11y-options {
	display: inline-flex;
	align-items: center;
	gap: 4px;
}

/* Toolbar Buttons */
.fpl-a11y-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	background: #2b3947;
	color: #ffffff;
	border: 1px solid #41556b;
	border-radius: 4px;
	padding: 5px 10px;
	font-family: inherit;
	font-size: 13px;
	font-weight: 500;
	cursor: pointer;
	text-decoration: none;
	transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
	line-height: 1.2;
	user-select: none;
	min-height: 32px;
	box-sizing: border-box;
}

.fpl-a11y-btn:hover {
	background: #394b5e;
	border-color: #647d99;
	color: #ffffff;
}

.fpl-a11y-btn:focus-visible {
	outline: 2px solid #ffcc00;
	outline-offset: 2px;
	box-shadow: 0 0 0 3px rgba(255, 204, 0, 0.4);
}

.fpl-a11y-btn[aria-pressed="true"] {
	background: #0066cc;
	border-color: #3399ff;
	color: #ffffff;
	font-weight: 700;
	box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.3), 0 0 0 1px #3399ff;
}

.fpl-a11y-font-badge {
	font-weight: 700;
	line-height: 1;
}

/* Swatches for Color Themes */
.fpl-a11y-theme-swatch {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 20px;
	height: 20px;
	border-radius: 3px;
	font-size: 12px;
	font-weight: 700;
	line-height: 1;
	border: 1px solid rgba(0, 0, 0, 0.3);
}

.swatch--default {
	background: #0b3d60;
	color: #ffffff;
	border-color: #ffffff;
}

.swatch--bw {
	background: #ffffff;
	color: #000000;
	border-color: #000000;
}

.swatch--wb {
	background: #000000;
	color: #ffffff;
	border-color: #ffffff;
}

.swatch--blue {
	background: #ebf2f7;
	color: #062c4e;
	border-color: #062c4e;
}

.swatch--yb {
	background: #0c2340;
	color: #ffde00;
	border-color: #ffde00;
}

/* Actions: Reset & Close */
.fpl-a11y-actions {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-left: auto;
}

.fpl-a11y-btn--reset {
	background: #3b4d61;
	border-color: #556c85;
}

.fpl-a11y-btn--reset:hover {
	background: #4a617a;
	border-color: #728ea9;
}

.fpl-a11y-btn--close {
	background: #c82333;
	border-color: #bd2130;
	color: #ffffff;
	padding: 5px 12px;
	font-size: 18px;
	font-weight: bold;
	line-height: 1;
}

.fpl-a11y-btn--close:hover {
	background: #bd2130;
	border-color: #b21f2d;
}

/* Responsive Toolbar */
@media (max-width: 991px) {
	.fpl-a11y-toolbar-inner {
		gap: 12px 16px;
	}
	.fpl-a11y-group-title {
		font-size: 12px;
	}
	.fpl-a11y-btn {
		padding: 4px 8px;
		font-size: 12px;
		min-height: 30px;
	}
	.fpl-a11y-btn-text {
		display: inline;
	}
}

@media (max-width: 600px) {
	.fpl-a11y-toolbar {
		padding: 10px 12px;
	}
	.fpl-a11y-toolbar-inner {
		flex-direction: column;
		align-items: stretch;
		gap: 10px;
	}
	.fpl-a11y-group {
		justify-content: space-between;
		width: 100%;
	}
	.fpl-a11y-actions {
		width: 100%;
		justify-content: space-between;
		margin-left: 0;
		padding-top: 4px;
		border-top: 1px solid #334455;
	}
	.fpl-a11y-btn--reset {
		flex: 1;
	}
}

/* ==========================================================================
   2. Font Scaling Modes (100%, 125%, 150%, 200%)
   ========================================================================== */

html.fpl-a11y-font-100 {
	font-size: 100%;
}

html.fpl-a11y-font-125 {
	font-size: 125% !important;
}

html.fpl-a11y-font-150 {
	font-size: 150% !important;
}

html.fpl-a11y-font-200 {
	font-size: 200% !important;
}

/* Heading safety clamps at large zoom levels to prevent mobile viewport clipping */
html[class*="fpl-a11y-font-"] h1,
html[class*="fpl-a11y-font-"] .fpl-hero__headline,
html[class*="fpl-a11y-font-"] .hero-headline {
	line-height: 1.25 !important;
	word-break: break-word;
	overflow-wrap: break-word;
}

/* Prevent horizontal scrollbars across all viewports */
html[class*="fpl-a11y-font-"] body {
	overflow-x: hidden;
}

/* ==========================================================================
   Homepage Blocks Font-Scaling for Accessibility Modes
   (Only active when 125%, 150%, or 200% font size is selected)
   ========================================================================== */

/* 1. Hero Block */
html[class*="fpl-a11y-font-"]:not(.fpl-a11y-font-100) .fpl-hero__headline,
html[class*="fpl-a11y-font-"]:not(.fpl-a11y-font-100) .hero-headline {
	font-size: clamp(1.5rem, 1.35vw + 1rem, 2.625rem) !important;
	line-height: 1.25 !important;
}

html[class*="fpl-a11y-font-"]:not(.fpl-a11y-font-100) .fpl-hero__description,
html[class*="fpl-a11y-font-"]:not(.fpl-a11y-font-100) .hero-description {
	font-size: clamp(0.9375rem, 0.2vw + 0.875rem, 1.0625rem) !important;
	line-height: 1.6 !important;
}

html[class*="fpl-a11y-font-"]:not(.fpl-a11y-font-100) .fpl-hero__btn,
html[class*="fpl-a11y-font-"]:not(.fpl-a11y-font-100) .hero-btn-primary,
html[class*="fpl-a11y-font-"]:not(.fpl-a11y-font-100) .hero-btn-secondary {
	font-size: 0.875rem !important;
	padding-top: 0.5em !important;
	padding-bottom: 0.5em !important;
	min-height: auto !important;
	height: auto !important;
	white-space: normal !important;
}

html[class*="fpl-a11y-font-"]:not(.fpl-a11y-font-100) .fpl-hero-metrics,
html[class*="fpl-a11y-font-"]:not(.fpl-a11y-font-100) .fpl-hero__meta {
	height: auto !important;
	flex-wrap: wrap !important;
}

/* 2. Asset Directions Section */
html[class*="fpl-a11y-font-"]:not(.fpl-a11y-font-100) .fpl-asset-directions-heading {
	font-size: clamp(1.625rem, 1.8vw + 1rem, 2.25rem) !important;
	line-height: 1.25 !important;
}

html[class*="fpl-a11y-font-"]:not(.fpl-a11y-font-100) .fpl-asset-directions-description {
	font-size: 0.875rem !important;
	line-height: 1.55 !important;
}

html[class*="fpl-a11y-font-"]:not(.fpl-a11y-font-100) .fpl-asset-directions-all-link {
	font-size: 0.875rem !important;
}

html[class*="fpl-a11y-font-"]:not(.fpl-a11y-font-100) .fpl-asset-direction-card__title {
	font-size: 0.9375rem !important;
	line-height: 1.35 !important;
}

html[class*="fpl-a11y-font-"]:not(.fpl-a11y-font-100) .fpl-asset-direction-card__desc {
	font-size: 0.78125rem !important;
	line-height: 1.5 !important;
}

html[class*="fpl-a11y-font-"]:not(.fpl-a11y-font-100) .fpl-asset-direction-card {
	min-height: auto !important;
	height: auto !important;
	padding: 1.25rem !important;
}

/* 3. About Fund Section */
html[class*="fpl-a11y-font-"]:not(.fpl-a11y-font-100) .fpl-about-fund-heading {
	font-size: clamp(1.625rem, 1.8vw + 1rem, 2.375rem) !important;
	line-height: 1.25 !important;
}

html[class*="fpl-a11y-font-"]:not(.fpl-a11y-font-100) .fpl-about-fund-description {
	font-size: 0.90625rem !important;
	line-height: 1.6 !important;
}

html[class*="fpl-a11y-font-"]:not(.fpl-a11y-font-100) .fpl-about-fund-btn {
	font-size: 0.875rem !important;
	height: auto !important;
	white-space: normal !important;
}

html[class*="fpl-a11y-font-"]:not(.fpl-a11y-font-100) .fpl-about-fund-card__title {
	font-size: 1rem !important;
	line-height: 1.35 !important;
}

html[class*="fpl-a11y-font-"]:not(.fpl-a11y-font-100) .fpl-about-fund-card__desc {
	font-size: 0.78125rem !important;
	line-height: 1.5 !important;
}

html[class*="fpl-a11y-font-"]:not(.fpl-a11y-font-100) .fpl-about-fund-card {
	min-height: auto !important;
	height: auto !important;
	padding: 1.25rem !important;
}

/* 4. Fund Metrics Section (Фонд в цифрах) */
html[class*="fpl-a11y-font-"]:not(.fpl-a11y-font-100) .fpl-fund-metrics-heading {
	font-size: clamp(1.625rem, 1.8vw + 1rem, 2.25rem) !important;
	line-height: 1.25 !important;
}

html[class*="fpl-a11y-font-"]:not(.fpl-a11y-font-100) .fpl-fund-metrics-description {
	font-size: 0.99rem !important;
	line-height: 1.55 !important;
}

html[class*="fpl-a11y-font-"]:not(.fpl-a11y-font-100) .fpl-kpi-card__title {
	font-size: 0.875rem !important;
	line-height: 1.35 !important;
}

html[class*="fpl-a11y-font-"]:not(.fpl-a11y-font-100) .fpl-kpi-card__number {
	font-size: clamp(1.5rem, 2vw + 1rem, 2.25rem) !important;
	line-height: 1.15 !important;
}

html[class*="fpl-a11y-font-"]:not(.fpl-a11y-font-100) .fpl-kpi-card__desc {
	font-size: 0.75rem !important;
	line-height: 1.45 !important;
}

html[class*="fpl-a11y-font-"]:not(.fpl-a11y-font-100) .fpl-kpi-card__period {
	font-size: 0.6875rem !important;
}

html[class*="fpl-a11y-font-"]:not(.fpl-a11y-font-100) .fpl-kpi-card {
	min-height: auto !important;
	height: auto !important;
}

/* 5. Content Hub Section */
html[class*="fpl-a11y-font-"]:not(.fpl-a11y-font-100) .fpl-content-hub-heading {
	font-size: clamp(1.625rem, 1.8vw + 1rem, 2.25rem) !important;
	line-height: 1.25 !important;
}

html[class*="fpl-a11y-font-"]:not(.fpl-a11y-font-100) .fpl-content-hub-description {
	font-size: 0.99rem !important;
	line-height: 1.55 !important;
}

html[class*="fpl-a11y-font-"]:not(.fpl-a11y-font-100) .fpl-content-hub__tab {
	font-size: 0.875rem !important;
	height: auto !important;
	padding: 0.5rem 1rem !important;
}

html[class*="fpl-a11y-font-"]:not(.fpl-a11y-font-100) .fpl-news-card__title,
html[class*="fpl-a11y-font-"]:not(.fpl-a11y-font-100) .fpl-news-card__title-link {
	font-size: 1.0625rem !important;
	line-height: 1.35 !important;
}

html[class*="fpl-a11y-font-"]:not(.fpl-a11y-font-100) .fpl-news-card__excerpt {
	font-size: 0.875rem !important;
	line-height: 1.5 !important;
}

html[class*="fpl-a11y-font-"]:not(.fpl-a11y-font-100) .fpl-news-card__date,
html[class*="fpl-a11y-font-"]:not(.fpl-a11y-font-100) .fpl-article-badge {
	font-size: 0.6875rem !important;
}

html[class*="fpl-a11y-font-"]:not(.fpl-a11y-font-100) .fpl-news-card {
	min-height: auto !important;
	height: auto !important;
}

/* 6. External Links & Gov Resources */
html[class*="fpl-a11y-font-"]:not(.fpl-a11y-font-100) .fpl-gov-resources-heading,
html[class*="fpl-a11y-font-"]:not(.fpl-a11y-font-100) .fpl-external-links__title {
	font-size: 1.25rem !important;
	line-height: 1.3 !important;
}

html[class*="fpl-a11y-font-"]:not(.fpl-a11y-font-100) .fpl-gov-card-title,
html[class*="fpl-a11y-font-"]:not(.fpl-a11y-font-100) .fpl-external-links__item {
	font-size: 0.71875rem !important;
	line-height: 1.35 !important;
}

/* 7. Visitor Statistics */
html[class*="fpl-a11y-font-"]:not(.fpl-a11y-font-100) .fpl-visitor-statistics-section h2,
html[class*="fpl-a11y-font-"]:not(.fpl-a11y-font-100) .fpl-visitor-statistics-section h3,
html[class*="fpl-a11y-font-"]:not(.fpl-a11y-font-100) .fpl-visitor-statistics-title {
	font-size: 1.25rem !important;
	line-height: 1.3 !important;
}

html[class*="fpl-a11y-font-"]:not(.fpl-a11y-font-100) .fpl-visitor-statistics-section p,
html[class*="fpl-a11y-font-"]:not(.fpl-a11y-font-100) .fpl-visitor-statistics-section span {
	font-size: 0.875rem !important;
}

/* 8. Home Contacts */
html[class*="fpl-a11y-font-"]:not(.fpl-a11y-font-100) .fpl-home-contacts-heading {
	font-size: clamp(1.375rem, 1.5vw + 0.875rem, 1.75rem) !important;
	line-height: 1.25 !important;
}

html[class*="fpl-a11y-font-"]:not(.fpl-a11y-font-100) .fpl-home-contacts-desc,
html[class*="fpl-a11y-font-"]:not(.fpl-a11y-font-100) .fpl-home-contacts-lead {
	font-size: 0.84375rem !important;
	line-height: 1.55 !important;
}

html[class*="fpl-a11y-font-"]:not(.fpl-a11y-font-100) .fpl-home-contacts-section,
html[class*="fpl-a11y-font-"]:not(.fpl-a11y-font-100) .fpl-home-contacts-section * {
	max-width: 100%;
	word-break: break-word;
}

/* General Section Eyebrows */
html[class*="fpl-a11y-font-"]:not(.fpl-a11y-font-100) .fpl-section-eyebrow,
html[class*="fpl-a11y-font-"]:not(.fpl-a11y-font-100) [class*="-eyebrow"] {
	font-size: 0.75rem !important;
	letter-spacing: 0.08em;
}

/* Container safety: ensure no fixed height clipping or hidden overflow */
html[class*="fpl-a11y-font-"]:not(.fpl-a11y-font-100) .entry-content > section,
html[class*="fpl-a11y-font-"]:not(.fpl-a11y-font-100) .fpl-hero,
html[class*="fpl-a11y-font-"]:not(.fpl-a11y-font-100) .fpl-asset-directions-section,
html[class*="fpl-a11y-font-"]:not(.fpl-a11y-font-100) .fpl-about-fund-section,
html[class*="fpl-a11y-font-"]:not(.fpl-a11y-font-100) .fpl-fund-metrics-section,
html[class*="fpl-a11y-font-"]:not(.fpl-a11y-font-100) .fpl-content-hub-section,
html[class*="fpl-a11y-font-"]:not(.fpl-a11y-font-100) .fpl-home-contacts-section {
	height: auto !important;
	min-height: auto !important;
	overflow: visible !important;
}

/* ==========================================================================
   3. Letter Spacing (Kerning)
   ========================================================================== */

html.fpl-a11y-spacing-normal body {
	letter-spacing: normal !important;
}

html.fpl-a11y-spacing-medium body,
html.fpl-a11y-spacing-medium p,
html.fpl-a11y-spacing-medium span,
html.fpl-a11y-spacing-medium a,
html.fpl-a11y-spacing-medium li,
html.fpl-a11y-spacing-medium h1,
html.fpl-a11y-spacing-medium h2,
html.fpl-a11y-spacing-medium h3,
html.fpl-a11y-spacing-medium h4,
html.fpl-a11y-spacing-medium h5,
html.fpl-a11y-spacing-medium h6,
html.fpl-a11y-spacing-medium button,
html.fpl-a11y-spacing-medium input,
html.fpl-a11y-spacing-medium select,
html.fpl-a11y-spacing-medium textarea {
	letter-spacing: 0.05em !important;
}

html.fpl-a11y-spacing-large body,
html.fpl-a11y-spacing-large p,
html.fpl-a11y-spacing-large span,
html.fpl-a11y-spacing-large a,
html.fpl-a11y-spacing-large li,
html.fpl-a11y-spacing-large h1,
html.fpl-a11y-spacing-large h2,
html.fpl-a11y-spacing-large h3,
html.fpl-a11y-spacing-large h4,
html.fpl-a11y-spacing-large h5,
html.fpl-a11y-spacing-large h6,
html.fpl-a11y-spacing-large button,
html.fpl-a11y-spacing-large input,
html.fpl-a11y-spacing-large select,
html.fpl-a11y-spacing-large textarea {
	letter-spacing: 0.12em !important;
}

/* ==========================================================================
   4. Line Height (Leading)
   ========================================================================== */

html.fpl-a11y-lh-normal body,
html.fpl-a11y-lh-normal p,
html.fpl-a11y-lh-normal li {
	line-height: inherit;
}

html.fpl-a11y-lh-medium body,
html.fpl-a11y-lh-medium p,
html.fpl-a11y-lh-medium li,
html.fpl-a11y-lh-medium article,
html.fpl-a11y-lh-medium .fplgov-bio,
html.fpl-a11y-lh-medium .fplgov-modal__bio {
	line-height: 1.8 !important;
}

html.fpl-a11y-lh-large body,
html.fpl-a11y-lh-large p,
html.fpl-a11y-lh-large li,
html.fpl-a11y-lh-large article,
html.fpl-a11y-lh-large .fplgov-bio,
html.fpl-a11y-lh-large .fplgov-modal__bio {
	line-height: 2.1 !important;
}

/* ==========================================================================
   5. Image Modes (Grayscale, Decorative Off)
   ========================================================================== */

/* Grayscale */
html.fpl-a11y-img-grayscale img,
html.fpl-a11y-img-grayscale video,
html.fpl-a11y-img-grayscale canvas,
html.fpl-a11y-img-grayscale svg:not(.fpl-a11y-toolbar svg) {
	filter: grayscale(100%) contrast(110%) !important;
}

/* Decorative Off: Hide background patterns, gradients, and decorative overlays while preserving content photos */
html.fpl-a11y-img-off .fpl-about-hero__bg,
html.fpl-a11y-img-off .fpl-hero::before,
html.fpl-a11y-img-off .fpl-hero::after,
html.fpl-a11y-img-off [class*="hero-pattern"],
html.fpl-a11y-img-off [class*="hero-bg"],
html.fpl-a11y-img-off .fpl-press-hero__bg,
html.fpl-a11y-img-off .fpl-calls-hero__bg,
html.fpl-a11y-img-off .fpl-calls-hero__image,
html.fpl-a11y-img-off .fpl-act-hero-pattern {
	display: none !important;
}

/* In off mode, add clear high contrast border to informative content images */
html.fpl-a11y-img-off .fplgov-card__photo img,
html.fpl-a11y-img-off .fplgov-modal__photo img,
html.fpl-a11y-img-off .wp-block-post-featured-image img,
html.fpl-a11y-img-off article img {
	outline: 2px solid currentColor !important;
	outline-offset: -2px;
}

/* ==========================================================================
   6. Color Schemes (WCAG 2.2 AA High Contrast)
   ========================================================================== */

/* --------------------------------------------------------------------------
   6.1. Black on White (.fpl-a11y-theme-bw)
   -------------------------------------------------------------------------- */
html.fpl-a11y-theme-bw,
html.fpl-a11y-theme-bw body {
	background-color: #ffffff !important;
	background-image: none !important;
	color: #000000 !important;
}

html.fpl-a11y-theme-bw .site-header,
html.fpl-a11y-theme-bw .site-header-wrapper,
html.fpl-a11y-theme-bw .main-header,
html.fpl-a11y-theme-bw .utility-bar,
html.fpl-a11y-theme-bw .site-footer,
html.fpl-a11y-theme-bw .fpl-hero,
html.fpl-a11y-theme-bw .fplgov-card,
html.fpl-a11y-theme-bw .fplgov-modal__dialog,
html.fpl-a11y-theme-bw .wp-block-group,
html.fpl-a11y-theme-bw .card,
html.fpl-a11y-theme-bw .modal-content,
html.fpl-a11y-theme-bw .wp-block-navigation__responsive-container,
html.fpl-a11y-theme-bw .wp-block-navigation-submenu {
	background-color: #ffffff !important;
	background-image: none !important;
	color: #000000 !important;
	border-color: #000000 !important;
}

html.fpl-a11y-theme-bw h1,
html.fpl-a11y-theme-bw h2,
html.fpl-a11y-theme-bw h3,
html.fpl-a11y-theme-bw h4,
html.fpl-a11y-theme-bw h5,
html.fpl-a11y-theme-bw h6,
html.fpl-a11y-theme-bw p,
html.fpl-a11y-theme-bw span:not(.fpl-a11y-toolbar *),
html.fpl-a11y-theme-bw li,
html.fpl-a11y-theme-bw td,
html.fpl-a11y-theme-bw th,
html.fpl-a11y-theme-bw label {
	color: #000000 !important;
}

html.fpl-a11y-theme-bw a:not(.fpl-a11y-toolbar *):not(.fpl-a11y-btn) {
	color: #0000ee !important;
	text-decoration: underline !important;
	text-decoration-thickness: 1.5px !important;
	text-underline-offset: 2px !important;
}

html.fpl-a11y-theme-bw a:not(.fpl-a11y-toolbar *):not(.fpl-a11y-btn):hover,
html.fpl-a11y-theme-bw a:not(.fpl-a11y-toolbar *):not(.fpl-a11y-btn):focus {
	background-color: #000000 !important;
	color: #ffffff !important;
}

html.fpl-a11y-theme-bw .fplgov-card,
html.fpl-a11y-theme-bw .fplgov-modal__dialog,
html.fpl-a11y-theme-bw table,
html.fpl-a11y-theme-bw td,
html.fpl-a11y-theme-bw th,
html.fpl-a11y-theme-bw input,
html.fpl-a11y-theme-bw select,
html.fpl-a11y-theme-bw textarea,
html.fpl-a11y-theme-bw hr {
	border: 1px solid #000000 !important;
}

html.fpl-a11y-theme-bw svg:not(.fpl-a11y-toolbar svg) {
	fill: currentColor !important;
}

/* --------------------------------------------------------------------------
   6.2. White on Black (.fpl-a11y-theme-wb)
   -------------------------------------------------------------------------- */
html.fpl-a11y-theme-wb,
html.fpl-a11y-theme-wb body {
	background-color: #000000 !important;
	background-image: none !important;
	color: #ffffff !important;
}

html.fpl-a11y-theme-wb .site-header,
html.fpl-a11y-theme-wb .site-header-wrapper,
html.fpl-a11y-theme-wb .main-header,
html.fpl-a11y-theme-wb .utility-bar,
html.fpl-a11y-theme-wb .site-footer,
html.fpl-a11y-theme-wb .fpl-hero,
html.fpl-a11y-theme-wb .fplgov-card,
html.fpl-a11y-theme-wb .fplgov-modal__dialog,
html.fpl-a11y-theme-wb .wp-block-group,
html.fpl-a11y-theme-wb .card,
html.fpl-a11y-theme-wb .modal-content,
html.fpl-a11y-theme-wb .wp-block-navigation__responsive-container,
html.fpl-a11y-theme-wb .wp-block-navigation-submenu {
	background-color: #000000 !important;
	background-image: none !important;
	color: #ffffff !important;
	border-color: #ffffff !important;
}

html.fpl-a11y-theme-wb h1,
html.fpl-a11y-theme-wb h2,
html.fpl-a11y-theme-wb h3,
html.fpl-a11y-theme-wb h4,
html.fpl-a11y-theme-wb h5,
html.fpl-a11y-theme-wb h6,
html.fpl-a11y-theme-wb p,
html.fpl-a11y-theme-wb span:not(.fpl-a11y-toolbar *),
html.fpl-a11y-theme-wb li,
html.fpl-a11y-theme-wb td,
html.fpl-a11y-theme-wb th,
html.fpl-a11y-theme-wb label {
	color: #ffffff !important;
}

html.fpl-a11y-theme-wb a:not(.fpl-a11y-toolbar *):not(.fpl-a11y-btn) {
	color: #ffff00 !important;
	text-decoration: underline !important;
	text-decoration-thickness: 1.5px !important;
	text-underline-offset: 2px !important;
}

html.fpl-a11y-theme-wb a:not(.fpl-a11y-toolbar *):not(.fpl-a11y-btn):hover,
html.fpl-a11y-theme-wb a:not(.fpl-a11y-toolbar *):not(.fpl-a11y-btn):focus {
	background-color: #ffffff !important;
	color: #000000 !important;
}

html.fpl-a11y-theme-wb .fplgov-card,
html.fpl-a11y-theme-wb .fplgov-modal__dialog,
html.fpl-a11y-theme-wb table,
html.fpl-a11y-theme-wb td,
html.fpl-a11y-theme-wb th,
html.fpl-a11y-theme-wb input,
html.fpl-a11y-theme-wb select,
html.fpl-a11y-theme-wb textarea,
html.fpl-a11y-theme-wb hr {
	border: 1px solid #ffffff !important;
}

html.fpl-a11y-theme-wb svg:not(.fpl-a11y-toolbar svg) {
	fill: currentColor !important;
}

/* --------------------------------------------------------------------------
   6.3. Dark Blue on Cyan / Light Blue (.fpl-a11y-theme-blue) (KZ eGov standard)
   -------------------------------------------------------------------------- */
html.fpl-a11y-theme-blue,
html.fpl-a11y-theme-blue body {
	background-color: #d8e9f5 !important;
	background-image: none !important;
	color: #062c4e !important;
}

html.fpl-a11y-theme-blue .site-header,
html.fpl-a11y-theme-blue .site-header-wrapper,
html.fpl-a11y-theme-blue .main-header,
html.fpl-a11y-theme-blue .utility-bar,
html.fpl-a11y-theme-blue .site-footer,
html.fpl-a11y-theme-blue .fpl-hero,
html.fpl-a11y-theme-blue .fplgov-card,
html.fpl-a11y-theme-blue .fplgov-modal__dialog,
html.fpl-a11y-theme-blue .wp-block-group,
html.fpl-a11y-theme-blue .card,
html.fpl-a11y-theme-blue .modal-content,
html.fpl-a11y-theme-blue .wp-block-navigation__responsive-container,
html.fpl-a11y-theme-blue .wp-block-navigation-submenu {
	background-color: #d8e9f5 !important;
	background-image: none !important;
	color: #062c4e !important;
	border-color: #062c4e !important;
}

html.fpl-a11y-theme-blue h1,
html.fpl-a11y-theme-blue h2,
html.fpl-a11y-theme-blue h3,
html.fpl-a11y-theme-blue h4,
html.fpl-a11y-theme-blue h5,
html.fpl-a11y-theme-blue h6,
html.fpl-a11y-theme-blue p,
html.fpl-a11y-theme-blue span:not(.fpl-a11y-toolbar *),
html.fpl-a11y-theme-blue li,
html.fpl-a11y-theme-blue td,
html.fpl-a11y-theme-blue th,
html.fpl-a11y-theme-blue label {
	color: #062c4e !important;
}

html.fpl-a11y-theme-blue a:not(.fpl-a11y-toolbar *):not(.fpl-a11y-btn) {
	color: #004b91 !important;
	text-decoration: underline !important;
	text-decoration-thickness: 1.5px !important;
	text-underline-offset: 2px !important;
}

html.fpl-a11y-theme-blue a:not(.fpl-a11y-toolbar *):not(.fpl-a11y-btn):hover,
html.fpl-a11y-theme-blue a:not(.fpl-a11y-toolbar *):not(.fpl-a11y-btn):focus {
	background-color: #062c4e !important;
	color: #ffffff !important;
}

html.fpl-a11y-theme-blue .fplgov-card,
html.fpl-a11y-theme-blue .fplgov-modal__dialog,
html.fpl-a11y-theme-blue table,
html.fpl-a11y-theme-blue td,
html.fpl-a11y-theme-blue th,
html.fpl-a11y-theme-blue input,
html.fpl-a11y-theme-blue select,
html.fpl-a11y-theme-blue textarea,
html.fpl-a11y-theme-blue hr {
	border: 1px solid #062c4e !important;
}

html.fpl-a11y-theme-blue svg:not(.fpl-a11y-toolbar svg) {
	fill: currentColor !important;
}

/* --------------------------------------------------------------------------
   6.4. Yellow on Dark Blue (.fpl-a11y-theme-yb)
   -------------------------------------------------------------------------- */
html.fpl-a11y-theme-yb,
html.fpl-a11y-theme-yb body {
	background-color: #0c2340 !important;
	background-image: none !important;
	color: #ffde00 !important;
}

html.fpl-a11y-theme-yb .site-header,
html.fpl-a11y-theme-yb .site-header-wrapper,
html.fpl-a11y-theme-yb .main-header,
html.fpl-a11y-theme-yb .utility-bar,
html.fpl-a11y-theme-yb .site-footer,
html.fpl-a11y-theme-yb .fpl-hero,
html.fpl-a11y-theme-yb .fplgov-card,
html.fpl-a11y-theme-yb .fplgov-modal__dialog,
html.fpl-a11y-theme-yb .wp-block-group,
html.fpl-a11y-theme-yb .card,
html.fpl-a11y-theme-yb .modal-content,
html.fpl-a11y-theme-yb .wp-block-navigation__responsive-container,
html.fpl-a11y-theme-yb .wp-block-navigation-submenu {
	background-color: #0c2340 !important;
	background-image: none !important;
	color: #ffde00 !important;
	border-color: #ffde00 !important;
}

html.fpl-a11y-theme-yb h1,
html.fpl-a11y-theme-yb h2,
html.fpl-a11y-theme-yb h3,
html.fpl-a11y-theme-yb h4,
html.fpl-a11y-theme-yb h5,
html.fpl-a11y-theme-yb h6,
html.fpl-a11y-theme-yb p,
html.fpl-a11y-theme-yb span:not(.fpl-a11y-toolbar *),
html.fpl-a11y-theme-yb li,
html.fpl-a11y-theme-yb td,
html.fpl-a11y-theme-yb th,
html.fpl-a11y-theme-yb label {
	color: #ffde00 !important;
}

html.fpl-a11y-theme-yb a:not(.fpl-a11y-toolbar *):not(.fpl-a11y-btn) {
	color: #ffffff !important;
	text-decoration: underline !important;
	text-decoration-thickness: 1.5px !important;
	text-underline-offset: 2px !important;
}

html.fpl-a11y-theme-yb a:not(.fpl-a11y-toolbar *):not(.fpl-a11y-btn):hover,
html.fpl-a11y-theme-yb a:not(.fpl-a11y-toolbar *):not(.fpl-a11y-btn):focus {
	background-color: #ffde00 !important;
	color: #0c2340 !important;
}

html.fpl-a11y-theme-yb .fplgov-card,
html.fpl-a11y-theme-yb .fplgov-modal__dialog,
html.fpl-a11y-theme-yb table,
html.fpl-a11y-theme-yb td,
html.fpl-a11y-theme-yb th,
html.fpl-a11y-theme-yb input,
html.fpl-a11y-theme-yb select,
html.fpl-a11y-theme-yb textarea,
html.fpl-a11y-theme-yb hr {
	border: 1px solid #ffde00 !important;
}

html.fpl-a11y-theme-yb svg:not(.fpl-a11y-toolbar svg) {
	fill: currentColor !important;
}

/* ==========================================================================
   7. Component & Plugin Compatibility Overrides
   ========================================================================== */

/* FPL Governance cards in high contrast */
html[class*="fpl-a11y-theme-"]:not(.fpl-a11y-theme-default) .fplgov-card {
	box-shadow: none !important;
}

html[class*="fpl-a11y-theme-"]:not(.fpl-a11y-theme-default) .fplgov-badge {
	background: transparent !important;
	border: 1px solid currentColor !important;
	color: currentColor !important;
}

/* Document Library */
html[class*="fpl-a11y-theme-"]:not(.fpl-a11y-theme-default) .fpl-doc-item,
html[class*="fpl-a11y-theme-"]:not(.fpl-a11y-theme-default) .fpl-doc-card {
	background-color: transparent !important;
	border: 1px solid currentColor !important;
}

/* Buttons in high contrast modes */
html[class*="fpl-a11y-theme-"]:not(.fpl-a11y-theme-default) .wp-element-button:not(.fpl-a11y-btn),
html[class*="fpl-a11y-theme-"]:not(.fpl-a11y-theme-default) .wp-block-button__link:not(.fpl-a11y-btn) {
	background-color: transparent !important;
	border: 2px solid currentColor !important;
	color: currentColor !important;
}

/* Keep the toolbar itself legible and isolated */
.fpl-a11y-toolbar * {
	box-sizing: border-box;
}
