/* Readability 1.4.4. Shared border role; scoped to existing public MFSA markup. */
:root { --mfsa-ui-border-strong: #667878; }
body #page .mfsa-search-forms.msc-search-card,
body #page .mfsa-rfc-wrapper .mfsa-rfc-toolbar,
body #page .mfsa-rfc-wrapper .mfsa-rfc-search-wrap input[type="search"],
body #page .mfsa-rfc-wrapper .mfsa-rfc-sort-wrap select,
body #page .mfsa-rfc-wrapper .mfsa-rfc-view-toggles,
body #page .mfsa-rfc-wrapper .mfsa-rfc-toolbar-actions {
    border-color: var(--mfsa-ui-border-strong) !important;
}
body #page .mfsa-rfc-wrapper .mfsa-rfc-view-btn:not(:last-child),
body #page .mfsa-rfc-wrapper .mfsa-rfc-tool-btn:not(:last-child) {
    border-right-color: var(--mfsa-ui-border-strong) !important;
}
body #page .mfsa-h-table hr.h-date-separator {
    border: 0 !important;
    border-top: 1px solid var(--mfsa-ui-border-strong) !important;
    height: 0 !important;
    background: none !important;
    opacity: 1 !important;
}
/* Let larger labels wrap instead of clipping in narrow toolbars. */
body #page .mfsa-rfc-toolbar,
body #page .mfsa-rfc-toolbar-controls { flex-wrap: wrap; }
body #page .mfsa-rfc-toolbar-counts { white-space: normal; }
body #page .mfsa-rfc-input-wrap { min-width: 0; max-width: 100%; }
body #page .mfsa-rfc-search-wrap input[type="search"],
body #page .mfsa-rfc-sort-wrap select { max-width: 100%; min-height: 44px; height: auto; }
body #page .mfsa-rfc-view-btn,
body #page .mfsa-rfc-tool-btn { min-width: 44px; min-height: 44px; }
/* Configurable Recent Posts text keeps larger user-selected values. */
body #page .mfsa-recent-posts .mfsa-rp-meta { font-size: max(var(--mfsa-ui-font-min, 16pt), var(--rp-date-sz, 1rem)) !important; }
body #page .mfsa-recent-posts .mfsa-rp-title { font-size: max(var(--mfsa-ui-font-min, 16pt), var(--rp-title-sz, 1rem)) !important; }
body #page .mfsa-recent-posts .mfsa-rp-excerpt { font-size: max(var(--mfsa-ui-font-min, 16pt), var(--rp-content-sz, 1rem)) !important; }
/* Existing larger text elsewhere is not reset by a universal rule. */
body #page .csa-apply-filter-btn,
body #page .csa-btn,
body #page .csa-cache-bar,
body #page .csa-cancel-search-btn,
body #page .csa-card-meta,
body #page .csa-date-field > span,
body #page .csa-map-header p,
body #page .csa-map-legend,
body #page .csa-map-national-card span,
body #page .csa-map-region-count,
body #page .csa-map-status,
body #page .csa-map-summary-card span,
body #page .csa-map-toggle,
body #page .csa-map-tooltip,
body #page .csa-map-tooltip strong,
body #page .csa-page-btn,
body #page .csa-page-info,
body #page .csa-per-page,
body #page .csa-progress-detail,
body #page .csa-refresh-cache-btn,
body #page .entry-content th,
body #page .mfsa-add-calendar,
body #page .mfsa-btn-nav,
body #page .mfsa-cat-badge,
body #page .mfsa-industry-badge,
body #page .mfsa-tag-badge,
body #page .mfsa-cat-pill,
body #page .mfsa-doc-table td,
body #page .mfsa-doc-table th,
body #page .mfsa-excerpt,
body #page .mfsa-general-banner .breadcrumbs,
body #page .mfsa-general-banner .breadcrumbs a,
body #page .mfsa-general-banner .breadcrumbs span,
body #page .mfsa-h-count,
body #page .mfsa-h-export,
body #page .mfsa-h-page-status,
body #page .mfsa-h-pagination button,
body #page .mfsa-h-print,
body #page .mfsa-h-table td::before,
body #page .mfsa-hearings-table thead th,
body #page .mfsa-industry-box,
body #page .mfsa-manual-search-form,
body #page .mfsa-mc-date,
body #page .mfsa-mc-excerpt,
body #page .mfsa-meta-text,
body #page .mfsa-page-info,
body #page .mfsa-pagination-left,
body #page .mfsa-per-page-wrap,
body #page .mfsa-recent-posts .mfsa-rp-pills .mfsa-rp-pill,
body #page .mfsa-rfc-card-kicker,
body #page .mfsa-rfc-table tbody td::before,
body #page .mfsa-rfc-table thead th,
body #page .mfsa-rfc-toolbar-counts,
body #page .mfsa-rfc-wrapper,
body #page .mfsa-rp-readmore,
body #page .mfsa-search-forms .msc-browse-all,
body #page .mfsa-search-input,
body #page .mfsa-select,
body #page .mfsa-table-meta,
body #page .mfsa-vs__children .mfsa-vs__card-head > a,
body #page .mfsa-vs__status,
body #page .post-navigation .nav-next a::after,
body #page .post-navigation .nav-previous a::before,
body #page .rca-label,
body #page .rca-meta,
body.archive #page .ast-taxonomy-container a,
body.archive #page .ast-taxonomy-container a[href*="/financial-institutions/"]::after,
body.archive #page .ast-taxonomy-container a[href*="/real-estate/"]::after,
body.archive #page .ast-taxonomy-container a[href*="/securities/"]::after,
body.archive #page .entry-content p,
body.archive #page .entry-meta .posted-on,
body.search #page .ast-taxonomy-container a,
body.search #page .ast-taxonomy-container a[href*="/financial-institutions/"]::after,
body.search #page .ast-taxonomy-container a[href*="/real-estate/"]::after,
body.search #page .ast-taxonomy-container a[href*="/securities/"]::after,
body.search #page .entry-content p,
body.search #page .entry-meta .posted-on {
    font-size: var(--mfsa-ui-font-min, 16pt) !important;
    line-height: 1.5;
}
body #page .hearing-court-row, body #page .mfsa-matter-act { font-size: max(var(--mfsa-ui-font-min, 16pt), .95em) !important; }
body #page .mfsa-ui-term-pill, body #page .mfsa-recent-posts .mfsa-rp-pills .mfsa-rp-pill { white-space: normal; overflow-wrap: anywhere; height: auto; }
body.pojo-a11y-high-contrast #page :is(.mfsa-search-forms.msc-search-card, .mfsa-rfc-toolbar, .mfsa-rfc-search-wrap input[type="search"], .mfsa-rfc-sort-wrap select, .mfsa-rfc-view-toggles, .mfsa-rfc-toolbar-actions, .mfsa-rfc-view-btn:not(:last-child), .mfsa-rfc-tool-btn:not(:last-child), .mfsa-h-table hr.h-date-separator) { border-color: #fff !important; }
@media (forced-colors: active) { body #page :is(.mfsa-search-forms.msc-search-card, .mfsa-rfc-toolbar, .mfsa-rfc-search-wrap input[type="search"], .mfsa-rfc-sort-wrap select, .mfsa-rfc-view-toggles, .mfsa-rfc-toolbar-actions, .mfsa-rfc-view-btn:not(:last-child), .mfsa-rfc-tool-btn:not(:last-child), .mfsa-h-table hr.h-date-separator) { border-color: CanvasText !important; } }

/* Manitoba 16pt guidance: a readable base, without changing the root rem scale. */
body #page { font-size: var(--mfsa-ui-font-min, 16pt); }
/* Form controls do not reliably inherit text size from their containers. */
body #page .mfsa-search-forms :is(input, select, textarea, button, label),
body #page .mfsa-h-toolbar :is(input, select, button),
body #page .mfsa-rfc-toolbar :is(input, select, button) {
    font-size: max(var(--mfsa-ui-font-min, 16pt), 1em) !important;
    min-height: 44px;
    height: auto;
}
body #page .mfsa-h-toolbar,
body #page .mfsa-h-toolbar-controls,
body #page form.mfsa-standard-toolbar,
body #page form.mfsa-standard-toolbar .mfsa-toolbar-right { flex-wrap: wrap; }
body #page .mfsa-h-count,
body #page .mfsa-counts { white-space: normal; }
body #page .mfsa-h-search-wrap,
body #page .mfsa-h-sort-wrap { min-width: min(100%, 220px); }
/* Permit ordinary menu text to wrap instead of reducing it on French pages. */
html body #page #masthead #ast-hf-menu-1 .menu-item > a,
html body #page #masthead #ast-hf-menu-2 .menu-item > a,
html body #page #masthead #ast-hf-mobile-menu .menu-item > a {
    font-size: var(--mfsa-ui-font-min, 16pt) !important;
    line-height: 1.4 !important;
    white-space: normal !important;
}
html body #page #masthead .main-header-menu { flex-wrap: wrap !important; }
html body #page #masthead .site-header-section-right { min-width: 0; }
html body #page #ast-mobile-header .menu-toggle::after,
html body #page .ast-mobile-menu-trigger-minimal::after {
    font-size: var(--mfsa-ui-font-min, 16pt) !important;
    line-height: 1.3 !important;
}
/* Widen the current link-based language switcher to fit its larger two-letter label. */
html body #page .mfsa-lang-widget a.lang-toggle.mfsa-lang-link {
    width: 6rem !important;
    min-width: 96px !important;
    height: 3rem !important;
    min-height: 48px !important;
    flex-basis: 6rem !important;
}
html body #page .mfsa-lang-widget a.lang-toggle.mfsa-lang-link .mfsa-lang-visible-label,
html body #page .mfsa-lang-widget a.lang-toggle.mfsa-lang-link.is-target-en .mfsa-lang-visible-label {
    font-size: var(--mfsa-ui-font-min, 16pt) !important;
    line-height: 1.3 !important;
    left: auto !important;
    right: 10px !important;
}
html body #page .mfsa-lang-widget a.lang-toggle.mfsa-lang-link .lang-slider::before,
html body #page .mfsa-lang-widget a.lang-toggle.mfsa-lang-link.is-target-en .lang-slider::before {
    width: 24px !important; height: 24px !important;
    min-width: 24px !important; min-height: 24px !important;
    left: 6px !important; top: 50% !important;
    transform: translateY(-50%) !important;
}

/* Additional previously 16–20px text declarations identified in the source audit. */
body #page .ast-pagination .next.page-numbers,
body #page .ast-pagination .page-numbers,
body #page .ast-pagination .prev.page-numbers,
body #page .csa-card h3,
body #page .csa-checkbox-grid label,
body #page .csa-filter-label,
body #page .csa-map-header h3,
body #page .csa-map-region-count,
body #page .csa-map-region-label,
body #page .csa-map-side-panel h4,
body #page .csa-map-summary-card strong,
body #page .csa-per-page select,
body #page .csa-progress-header strong,
body #page .csa-search-box input,
body #page .mfsa-general-banner .mfsa-banner-desc,
body #page .mfsa-global-btn,
body #page .mfsa-h-nav,
body #page .mfsa-h-search,
body #page .mfsa-h-sort,
body #page .mfsa-hearings-table tbody td,
body #page .mfsa-hearings-tabs,
body #page .mfsa-mc-title,
body #page .mfsa-nested-group.depth-0 > .mfsa-sidebar-item,
body #page .mfsa-nested-group.depth-1 > .mfsa-sidebar-item,
body #page .mfsa-nested-group.depth-2 > .mfsa-sidebar-item,
body #page .mfsa-nested-group.depth-3 > .mfsa-sidebar-item,
body #page .mfsa-nested-group.depth-4 > .mfsa-sidebar-item,
body #page .mfsa-rfc-card-title,
body #page .mfsa-rfc-paragraph-title,
body #page .mfsa-rfc-table,
body #page .mfsa-rfc-wrapper,
body #page .mfsa-search-forms .msc-browse-section h3,
body #page .mfsa-search-forms .msc-search-fields legend,
body #page .mfsa-search-forms .msc-search-header h2,
body #page .mfsa-sidebar-col .mfsa-sidebar-item,
body #page .mfsa-sidebar-item,
body #page .mfsa-switcher-template .wp-block-accordion-heading__toggle-title,
body #page .mfsa-switcher-template .wp-block-accordion-panel,
body #page .mfsa-vs__card-head > a,
body #page .mfsa-vs__toggle span,
body #page .rca-btn,
body #page .rca-title,
body #page .wp-block-details > *:not(summary),
body #page .wp-block-details summary,
body.archive #page .entry-title a,
body.search #page .entry-title a { font-size: var(--mfsa-ui-font-min, 16pt) !important; }

/* Allow controls to use their text width before wrapping into another row. */
body #page form.mfsa-standard-toolbar .sort-wrap { flex: 1 1 22em; min-width: min(100%, 22em); }
body #page form.mfsa-standard-toolbar .search-wrap { flex: 1 1 16em; max-width: none; min-width: min(100%, 12em); }
body #page form.mfsa-standard-toolbar .mfsa-toolbar-right { gap: 12px; }
body #page form.mfsa-standard-toolbar .mfsa-input-wrap select { height: auto; min-height: 48px; line-height: 1.5; }
body #page .mfsa-standard-table td:last-child { min-width: 8em; }
/* Compact badge padding, retaining the 16pt text floor. */
body #page .mfsa-recent-posts .mfsa-rp-pills .mfsa-rp-pill { padding: .12em .4em !important; line-height: 1.25 !important; }
body #page .mfsa-recent-posts .mfsa-rp-pills .mfsa-rp-pill-box { min-width: 1.8em; width: auto !important; }
/* Keep export actions alongside desktop hearing filters when there is room. */
@media (min-width: 1200px) {
    html:not(.fontsize) body #page .mfsa-h-toolbar { flex-wrap: nowrap; }
    html:not(.fontsize) body #page .mfsa-h-count { flex: 1 1 0; min-width: 0; max-width: 26%; margin-right: 0; }
    html:not(.fontsize) body #page .mfsa-h-search-wrap,
    html:not(.fontsize) body #page .mfsa-h-sort-wrap { flex: 1 1 0; min-width: 0; }
    html:not(.fontsize) body #page .mfsa-h-export-wrap { flex: 0 0 auto; width: auto; }
}
/* Consistent spacing when the bilingual desktop menu needs two lines. */
html body #page #masthead .main-header-menu { row-gap: 12px; }
html body #page #masthead :is(#ast-hf-menu-1, #ast-hf-menu-2) > .menu-item > a { padding-inline: 10px !important; }
html body #page #masthead .sub-menu { max-width: calc(100vw - 32px); }

/* 1.4.4: balanced header controls. Language text retains the 16pt minimum. */
html body #page #masthead .mfsa-lang-widget a.lang-toggle.mfsa-lang-link {
    width: 80px !important; min-width: 80px !important; flex-basis: 80px !important;
    height: 48px !important; min-height: 48px !important;
}
html body #page #masthead .mfsa-lang-widget a.lang-toggle.mfsa-lang-link .lang-slider::before {
    width: 18px !important; height: 18px !important; min-width: 18px !important; min-height: 18px !important;
}
html body #page #masthead :is(.mfsa-search-trigger, .mfsa-search-btn) {
    width: 48px !important; min-width: 48px !important; max-width: 48px !important;
    height: 48px !important; min-height: 48px !important; max-height: none !important;
    flex: 0 0 48px !important; padding: 0 !important; box-sizing: border-box !important;
    align-items: center !important; justify-content: center !important;
}
html body #page #masthead :is(.mfsa-search-trigger, .mfsa-search-btn) .dashicons {
    width: 22px !important; height: 22px !important; font-size: 22px !important; line-height: 1 !important;
}
html body #page .mfsa-h-toolbar .mfsa-h-icon-button {
    width: 48px !important; height: 48px !important; min-width: 48px !important; min-height: 48px !important;
    padding: 0 !important; display: inline-flex !important; align-items: center; justify-content: center;
}
html body #page .mfsa-h-toolbar .mfsa-h-icon-button :is(svg, .dashicons, i) {
    width: 22px !important; height: 22px !important; font-size: 22px !important; line-height: 1 !important;
    flex: 0 0 22px; margin: 0 !important;
}
/* The Hero button must grow with enlarged text rather than clip its label. */
html body #page .chb-hero-container .chb-search-btn {
    width: auto !important; min-width: max-content; height: auto !important; min-height: 48px !important;
    flex: 0 0 auto; padding: .65em 1em !important; line-height: 1.4 !important; white-space: normal;
}
html body #page .chb-hero-container .chb-search-input { min-width: 0; }
@media (max-width: 768px) {
    html body #page .chb-hero-container .chb-search-btn { width: 100% !important; min-width: 0; }
}
/* Avoid the blank slider block in high contrast; the language remains a normal link. */
html body.contrast #page .mfsa-lang-widget .lang-slider { display: none !important; }
html body.contrast #page .mfsa-lang-widget a.lang-toggle.mfsa-lang-link .mfsa-lang-visible-label {
    position: static !important; display: block !important; text-align: center; transform: none !important;
}
/* WP Accessibility uses body.contrast; its stylesheet is inserted after page load. */
html body.contrast #page {
    --mfsa-ui-text: #fff; --mfsa-ui-text-muted: #fff;
    --mfsa-ui-surface: #000; --mfsa-ui-surface-subtle: #000;
    --mfsa-ui-border: #fff; --mfsa-ui-border-light: #fff; --mfsa-ui-border-strong: #fff;
}
html body.contrast #page :is(input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]), select, textarea) {
    color: #fff !important; -webkit-text-fill-color: #fff !important;
    background: #000 !important; border: 2px solid #fff !important;
}
html body.contrast #page :is(input, textarea)::placeholder {
    color: #fff !important; -webkit-text-fill-color: #fff !important; opacity: 1 !important;
}
html body.contrast #page :is(button, input[type="submit"], .mfsa-search-trigger, .mfsa-lang-link, .chb-btn) {
    color: #000 !important; -webkit-text-fill-color: #000 !important;
    background: #ff0 !important; border: 2px solid #fff !important; text-shadow: none !important;
}
html body.contrast #page :is(button, .mfsa-search-trigger, .mfsa-lang-link, .chb-btn) :is(span, i, svg, b, strong) {
    color: #000 !important; -webkit-text-fill-color: #000 !important; background: transparent !important;
}
html body.contrast #page :is(.mfsa-h-icon-button, .mfsa-search-trigger, .mfsa-search-btn) svg { fill: currentColor !important; }
html body.contrast #page :is(.mfsa-counts, .mfsa-h-count, .mfsa-rfc-toolbar-counts, .mfsa-rp-meta, .csa-card-meta, .chb-sub-heading) {
    color: #fff !important; background: #000 !important;
}
html body.contrast #page :is(.mfsa-standard-toolbar, .mfsa-h-toolbar, .mfsa-rfc-toolbar, .mfsa-search-forms, .mfsa-standard-table td) {
    background: #000 !important; color: #fff !important; border-color: #fff !important;
}
html body.contrast #page :is(.mfsa-standard-table, .mfsa-hearings-table, .mfsa-rfc-table) th {
    color: #fff !important; background: #000 !important; border-color: #fff !important;
}
html body.contrast #page .edac-nww-external-link-icon { --mfsa-external-icon-color: #0ff !important; color: #0ff !important; background-color: transparent !important; }
html body.contrast #page :is(a, button, input, select, textarea):focus-visible { outline: 3px solid #0ff !important; outline-offset: 3px !important; }
html.fontsize body #page #masthead .mfsa-lang-widget a.lang-toggle.mfsa-lang-link {
    width: 110px !important; min-width: 110px !important; flex-basis: 110px !important;
    height: 60px !important; min-height: 60px !important;
}
html.fontsize body #page #masthead :is(.mfsa-search-trigger, .mfsa-search-btn) {
    height: 60px !important; min-height: 60px !important;
}

/* 1.4.5: compact navigation exception authorised by site owner. Body stays 16pt. */
html body #page #masthead :is(#ast-hf-menu-1, #ast-hf-menu-2, #ast-hf-mobile-menu) .menu-item > a,
html body #page #masthead .mfsa-lang-widget a.lang-toggle.mfsa-lang-link .mfsa-lang-visible-label,
html body #page :is(.mfsa-sidebar-item, .mfsa-nested-group > .mfsa-sidebar-item, .mfsa-counts, .mfsa-h-count, .mfsa-rfc-toolbar-counts) {
    font-size: max(18px, 1.125rem) !important; line-height: 1.5 !important;
}
html body #page #masthead .mfsa-lang-widget a.lang-toggle.mfsa-lang-link,
html.fontsize body #page #masthead .mfsa-lang-widget a.lang-toggle.mfsa-lang-link {
    border-radius: 6px !important; display: inline-flex !important; align-items: center !important; justify-content: center !important;
}
/* Remove forced black tiles behind font glyphs in yellow controls. */
html body.contrast #page #masthead :is(.mfsa-search-trigger, .mfsa-search-btn) .dashicons::before,
html body.contrast .a11y-toolbar button .aticon,
html body.contrast .a11y-toolbar button .aticon::before {
    color: #000 !important; -webkit-text-fill-color: #000 !important;
    background: transparent !important; border: 0 !important; box-shadow: none !important;
}
html body.contrast .a11y-toolbar button { color: #000 !important; background: #ff0 !important; border-color: #fff !important; }
html body.contrast .a11y-toolbar button .offscreen {
    color: #fff !important; background: #000 !important; -webkit-text-fill-color: #fff !important;
}
/* Cyan belongs on black links, never on yellow category badges. */
html body.contrast #page :is(a.mfsa-csa-pill, .mfsa-ui-term-pill, .mfsa-rp-pill, .mfsa-filter-pill) {
    color: #000 !important; -webkit-text-fill-color: #000 !important;
    background: #ff0 !important; border: 1px solid #fff !important;
}
html body.contrast #page :is(a.mfsa-csa-pill, .mfsa-ui-term-pill, .mfsa-rp-pill, .mfsa-filter-pill) * {
    color: #000 !important; -webkit-text-fill-color: #000 !important; background: transparent !important;
}
html body.contrast #page :is(.mfsa-logo-img, .mfsa-social-icon img) {
    background: transparent !important; background-color: transparent !important;
}

/* 1.4.6: pagination breathing room before the next content block. */
html body #page .csa-results-footer { margin-bottom: 24px !important; }
/* Language navigation is a compact link, not an on/off switch. */
html body #page #masthead .mfsa-lang-widget a.lang-toggle.mfsa-lang-link {
    width: 48px !important; min-width: 48px !important; max-width: none !important;
    flex: 0 0 48px !important; padding: 0 !important;
}
html body #page #masthead .mfsa-lang-widget a.lang-toggle.mfsa-lang-link .lang-slider { display: none !important; }
html body #page #masthead .mfsa-lang-widget a.lang-toggle.mfsa-lang-link .mfsa-lang-visible-label,
html body #page #masthead .mfsa-lang-widget a.lang-toggle.mfsa-lang-link.is-target-en .mfsa-lang-visible-label {
    position: static !important; inset: auto !important; transform: none !important;
    display: block !important; width: auto !important; margin: 0 !important; text-align: center !important;
}
html.fontsize body #page #masthead .mfsa-lang-widget a.lang-toggle.mfsa-lang-link {
    width: 64px !important; min-width: 64px !important; flex-basis: 64px !important;
}
/* Shared border role gives the date/category separator sufficient visibility. */
html body #page .mfsa-meta-text .mfsa-meta-sep {
    color: var(--mfsa-ui-border-strong, #667878) !important; opacity: 1 !important;
}
html body.contrast #page .mfsa-meta-text .mfsa-meta-sep {
    color: #fff !important; -webkit-text-fill-color: #fff !important; background: transparent !important;
}
/* Match the document glyph to its label and centre it in the line box. */
html body #page :is(.mfsa-rfc-notice-link, .mfsa-rfc-notice-text) {
    display: inline-flex !important; align-items: center !important; gap: .3em !important;
}
html body #page .mfsa-rfc-notice-icon.dashicons {
    display: inline-flex !important; align-items: center; justify-content: center;
    font-size: 1em !important; width: 1em !important; height: 1em !important;
    line-height: 1 !important; flex: 0 0 1em !important; margin: 0 !important;
    vertical-align: middle;
}
html body #page .mfsa-rfc-notice-icon.dashicons::before { font-size: inherit !important; line-height: 1 !important; }
html body.contrast #page .mfsa-rfc-notice-icon.dashicons,
html body.contrast #page .mfsa-rfc-notice-icon.dashicons::before {
    color: #0ff !important; -webkit-text-fill-color: #0ff !important; background: transparent !important;
}

/* 1.4.7: export labels must not be squeezed into fixed grid tracks. */
html body #page .mfsa-firb .mfsa-firb-controls {
    display: flex !important; flex-wrap: wrap !important; gap: 8px !important;
    width: 100%; min-width: 0; align-items: stretch;
}
html body #page .mfsa-firb .mfsa-firb-controls > label { flex: 1 1 220px; width: auto !important; min-width: 0; }
html body #page .mfsa-firb .mfsa-firb-controls > .mfsa-firb-button {
    flex: 0 0 auto !important; width: auto !important; min-width: max-content !important;
    max-width: 100%; height: auto !important; min-height: 48px;
    overflow: visible !important; white-space: normal !important; padding: .55em .8em !important;
}
html body #page .mfsa-firb .mfsa-firb-button-label { flex: 0 1 auto; white-space: normal; line-height: 1.35; overflow-wrap: anywhere; }
@media (max-width: 600px) {
    html body #page .mfsa-firb .mfsa-firb-controls > label { flex-basis: 100%; }
    html body #page .mfsa-firb .mfsa-firb-controls > .mfsa-firb-button { flex: 1 1 auto !important; min-width: 0 !important; }
}
/* Keep alphabet ranges such as 0–9 together. */
html body #page .msc-letter-grid a { width: auto; min-width: 2.25em; white-space: nowrap; }

/* 1.4.8: the slider is hidden, so the language link itself owns its surface. */
html body #page #masthead .mfsa-lang-widget a.lang-toggle.mfsa-lang-link {
    background: var(--mfsa-ui-teal, #00685e) !important; color: #fff !important;
    -webkit-text-fill-color: #fff !important; border: 2px solid var(--mfsa-ui-teal, #00685e) !important;
}
html body #page #masthead .mfsa-lang-widget a.lang-toggle.mfsa-lang-link .mfsa-lang-visible-label {
    color: inherit !important; -webkit-text-fill-color: inherit !important;
    background: transparent !important; visibility: visible !important;
}
html body #page #masthead .mfsa-lang-widget a.lang-toggle.mfsa-lang-link:is(:hover,:focus-visible) {
    background: var(--mfsa-ui-teal-dark, #004d44) !important; color: #fff !important; -webkit-text-fill-color: #fff !important;
}
html body.contrast #page #masthead .mfsa-lang-widget a.lang-toggle.mfsa-lang-link {
    background: #ff0 !important; color: #000 !important;
    -webkit-text-fill-color: #000 !important; border-color: #ff0 !important;
}
html body.contrast #page #masthead .mfsa-lang-widget a.lang-toggle.mfsa-lang-link:is(:hover,:focus-visible) {
    background: #fff !important; color: #000 !important;
    -webkit-text-fill-color: #000 !important; border-color: #fff !important;
}
/* Media Centre default card text: 16pt (21.333 CSS pixels). The resize script's
 * inline important styles still enlarge it when the visitor requests that. */
html body #page .mfsa-mc-wrapper :is(.mfsa-meta-text,.mfsa-meta-text time,.mfsa-meta-text span,.mfsa-cat-badge,.mfsa-industry-badge,.mfsa-tag-badge,.mfsa-card h3,.mfsa-card h3 a,.mfsa-excerpt,.mfsa-excerpt p,.mfsa-link-style,.mfsa-link-text,.mfsa-btn-style) {
    font-size: max(16pt,1.3333333333rem) !important;
}

/* 1.4.10: alphabet cells size themselves from enlarged text, not 42px tracks. */
html body #page .mfsa-search-forms .msc-letter-grid {
    display: flex !important; flex-wrap: wrap !important; gap: 10px !important;
}
html body #page .mfsa-search-forms .msc-letter-grid a {
    display: inline-flex !important; flex: 0 0 auto !important;
    box-sizing: border-box !important; width: auto !important;
    min-width: max(44px,2.2em) !important; min-height: max(44px,2.2em) !important;
    height: auto !important; margin: 0 !important; padding: .25em .4em !important;
    line-height: 1.3 !important; white-space: nowrap !important;
}
html body #page .mfsa-search-forms .msc-search-header {
    flex-wrap: wrap !important; gap: 16px !important;
}
html body #page .mfsa-search-forms .msc-search-header h2 {
    flex: 1 1 15rem; min-width: 0; overflow-wrap: anywhere;
}
html body #page .mfsa-search-forms :is(.msc-browse-all,.msc-btn) {
    max-width: 100%; height: auto !important; white-space: normal !important;
    overflow-wrap: anywhere; line-height: 1.4 !important; flex-shrink: 0;
}
/* Counts remain readable and wrap without an oversized panel or horizontal scroll. */
html body #page :is(.mfsa-stats-row,.mfsa-stats) {
    display: flex !important; flex-wrap: wrap !important; gap: 8px 0 !important;
    padding: 12px !important; min-height: 0 !important; height: auto !important;
    overflow: visible !important; box-sizing: border-box !important;
}
html body #page .mfsa-stats-row > :not(style):not(script) {
    min-width: 0 !important; max-width: 100% !important; flex: 0 1 auto !important;
}
html body #page .mfsa-stats-row .mfsa-stats { padding: 0 !important; }
html body #page :is(.mfsa-stats-row,.mfsa-stats) .mfsa-stat-card {
    min-width: 0 !important; max-width: 100% !important; flex-wrap: wrap !important;
    white-space: normal !important; padding: .2em .55em !important;
    line-height: 1.4 !important; font-size: var(--mfsa-ui-font-min,16pt) !important;
}
html body #page :is(.mfsa-stat-label,.mfsa-stat-number) {
    font-size: var(--mfsa-ui-font-min,16pt) !important; line-height: 1.4 !important;
    white-space: normal !important;
}
/* Compact pills at the requested 16pt baseline; enlarged inline styles still win. */
html body #page :is(.mfsa-rp-pill,.mfsa-csa-pill,.mfsa-ui-term-pill,.mfsa-cat-badge,.mfsa-industry-badge,.mfsa-tag-badge) {
    font-size: var(--mfsa-ui-font-min,16pt) !important; line-height: 1.25 !important;
    padding: .12em .4em !important; height: auto !important;
    max-width: 100%; white-space: normal !important; overflow-wrap: anywhere;
}
html body #page :is(.mfsa-mc-pill-box,.mfsa-rp-pill-box) {
    width: auto !important; min-width: 1.75em !important;
}
/* Normal-mode utility icons need a paired dark foreground, including hover. */
html body:not(.contrast):not(.pojo-a11y-high-contrast) #page .mfsa-rfc-wrapper .mfsa-rfc-tool-btn {
    color: var(--mfsa-ui-teal-dark,#004d44) !important;
    -webkit-text-fill-color: var(--mfsa-ui-teal-dark,#004d44) !important;
    background: #fff !important; opacity: 1 !important;
}
html body:not(.contrast):not(.pojo-a11y-high-contrast) #page .mfsa-rfc-wrapper .mfsa-rfc-tool-btn:hover {
    background: #eef6f5 !important;
}
html body:not(.contrast):not(.pojo-a11y-high-contrast) #page .mfsa-rfc-wrapper .mfsa-rfc-tool-btn .dashicons,
html body:not(.contrast):not(.pojo-a11y-high-contrast) #page .mfsa-rfc-wrapper .mfsa-rfc-tool-btn .dashicons::before {
    color: inherit !important; -webkit-text-fill-color: inherit !important; background: transparent !important;
}
/* Shared content metadata. Component owners keep their colour settings. */
html body #page #content :is(.mfsa-ui-term-pill,.mfsa-cat-badge,.mfsa-category-badge,.mfsa-industry-badge,.mfsa-tag-badge,.mfsa-news-badge,.mfsa-rp-pill,.mfsa-unified-badge,.mfsa-csa-pill) {
 display:inline-flex !important;align-items:center !important;justify-content:center !important;
 box-sizing:border-box !important;font-family:inherit !important;font-size:var(--mfsa-ui-font-min,16pt) !important;font-weight:600 !important;
 line-height:1.5 !important;letter-spacing:0 !important;text-transform:none !important;
 padding:4px 10px !important;border-radius:4px !important;margin:0 !important;
 width:auto !important;height:auto !important;min-height:32px !important;max-width:100% !important;
 white-space:normal !important;overflow-wrap:break-word;text-align:center !important;
}
html body #page #content :is(.mfsa-ui-term-pill,.mfsa-cat-badge,.mfsa-category-badge,.mfsa-industry-badge,.mfsa-news-badge,.mfsa-rp-pill) :is(span,a) {font-family:inherit !important;font-size:inherit !important;font-weight:inherit !important;line-height:inherit !important;letter-spacing:inherit !important;text-transform:inherit !important;}
html body #page #content .mfsa-news-meta-pill {display:inline-flex;max-width:100%;padding:0 !important;background:none !important;}
html body #page #content :is(.mfsa-date-badge-wrap,.mfsa-resource-meta,.mfsa-card-badges) {gap:8px;}
html body #page #content :is(.mfsa-news-date,.mfsa-cpt-date,.mfsa-mc-date-label,.mfsa-resource-meta time) {font-size:var(--mfsa-ui-font-min,16pt) !important;line-height:1.5 !important;font-weight:500 !important;letter-spacing:0 !important;text-transform:none !important;}
html body:not(.contrast):not(.pojo-a11y-high-contrast) #page #content :is(.mfsa-news-date,.mfsa-cpt-date,.mfsa-mc-date-label,.mfsa-resource-meta time) {color:#334155 !important;}
html body #page #content :is(.mfsa-excerpt,.mfsa-contact-row .txt,.mfsa-contact-sub) {font-size:var(--mfsa-ui-font-min,16pt) !important;line-height:1.6 !important;}
html body:not(.contrast):not(.pojo-a11y-high-contrast) #page #content :is(.mfsa-contact-row .txt,.mfsa-contact-sub) {color:#334155 !important;}
html body:not(.contrast):not(.pojo-a11y-high-contrast) #page #content :is(.mfsa-sep,.mfsa-meta-sep) {color:#64748b !important;}
html body:not(.contrast):not(.pojo-a11y-high-contrast) #page #content :is(.mfsa-date-badge-wrap,.mfsa-contact-card,.mfsa-resource-meta) {border-color:#64748b !important;}
html body #page #content .mfsa-contact-card :is(a[href^="mailto:"],a[href^="tel:"]) {display:inline-block;min-height:32px;padding-block:4px;overflow-wrap:anywhere;}
/* Limit video width and remove conflicting intrinsic player heights. */
html body #page #content .mfsa-cpt-video-wrap {width:100% !important;max-width:900px !important;margin-inline:auto !important;}
html body #page #content .mfsa-cpt-video-wrap iframe {display:block !important;width:100% !important;height:auto !important;aspect-ratio:16/9 !important;min-height:0 !important;}
/* The resource template has one metadata row and one content column. */
html body #page #content #primary.mfsa-resource-layout {float:none;width:100%;max-width:100%;margin:0;padding:0;border:0;}
html body #page #content .mfsa-resource-article {max-width:1100px;margin:32px auto 48px;padding:0 24px;}
html body #page #content .mfsa-resource-meta {display:flex;align-items:center;flex-wrap:wrap;margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid #64748b;}
html body #page #content .mfsa-resource-body {font-size:18px;line-height:1.7;overflow-wrap:break-word;}
html body #page #content .mfsa-resource-image img {display:block;max-width:100%;height:auto;margin:0 auto 24px;}
html body #page #content .mfsa-resource-actions {margin:24px 0;}
html body #page #content .mfsa-resource-actions a {display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:10px 20px;border-radius:4px;font-size:18px;font-weight:600;}
html body:not(.contrast):not(.pojo-a11y-high-contrast) #page #content .mfsa-resource-actions a {background:#00685e;color:white;}
html body #page #content .mfsa-resource-actions a:focus-visible {outline:3px solid #004d44;outline-offset:4px;}
html body #page #content .mfsa-resource-pdf {width:100%;height:70vh;min-height:350px;border:1px solid #64748b;}
html body:not(.contrast):not(.pojo-a11y-high-contrast) #page #content .mfsa-resource-meta :is(.mfsa-category-badge,.mfsa-industry-badge) {background:#00685e;color:#fff;}

/* Muted alert red retains strong contrast against white without the bright scarlet. */
html body:not(.contrast):not(.pojo-a11y-high-contrast) #page #content a.rca-card {border-color:#9f2430 !important;box-shadow:none !important;}
html body:not(.contrast):not(.pojo-a11y-high-contrast) #page #content .rca-icon-col,
html body:not(.contrast):not(.pojo-a11y-high-contrast) #page #content a.rca-btn {background:#9f2430 !important;color:#fff !important;}
html body:not(.contrast):not(.pojo-a11y-high-contrast) #page #content .rca-label {color:#9f2430 !important;background:transparent !important;}
html body:not(.contrast):not(.pojo-a11y-high-contrast) #page #content .rca-icon-svg [stroke="#ce2029"] {stroke:#9f2430 !important;}
html body:not(.contrast):not(.pojo-a11y-high-contrast) #page #content .rca-icon-svg [fill="#ce2029"] {fill:#9f2430 !important;}
/* A rectangle identifies each whole interactive target on pointer and keyboard use. */
html body #page #content :is(button,a.button,a.btn,a[role="button"],.mfsa-global-btn,.mfsa-csa-btn,.mfsa-rp-more,.rca-btn,.mfsa-sidebar-item,.wp-block-button__link):is(:hover,:focus-visible) {outline:3px solid #004d44 !important;outline-offset:3px !important;}
html body.contrast #page #content :is(button,a.button,a.btn,a[role="button"],.mfsa-global-btn,.mfsa-csa-btn,.mfsa-rp-more,.rca-btn,.mfsa-sidebar-item,.wp-block-button__link):is(:hover,:focus-visible) {outline:3px solid #0ff !important;outline-offset:3px !important;}
html body:not(.contrast):not(.pojo-a11y-high-contrast) #page #content .mfsa-sidebar-col a.mfsa-sidebar-item:is(:hover,:focus-visible) {background:#e1efec !important;color:#004d44 !important;text-decoration:underline !important;}

/* Homepage alert heading belongs to the text column, not the shared pill layout. */
html body #page #content .rca-card .rca-text-col .rca-label {
 display:block !important;text-align:start !important;justify-content:flex-start !important;
 width:auto !important;padding:0 !important;margin:0 0 4px !important;min-height:0 !important;
 font-family:inherit !important;font-size:var(--mfsa-ui-font-min,16pt) !important;
 font-weight:600 !important;line-height:1.5 !important;letter-spacing:0 !important;
 text-transform:none !important;
}
