/* Visitor preferences are supplementary. Base layout, semantics and focus work without JS. */
.bwcet-accessibility { position: relative; }
.bwcet-accessibility > summary { display: flex; align-items: center; justify-content: center; gap: .45rem; min-width: 44px; min-height: 44px; padding: .6rem; border: 1px solid transparent; border-radius: 4px; color: var(--wp--preset--color--brand); background: transparent; cursor: pointer; list-style: none; font: 650 .8125rem/1.4 var(--bwcet-font-body); }
.bwcet-accessibility > summary::-webkit-details-marker { display: none; }
.bwcet-accessibility > summary svg { flex: 0 0 20px; }
.bwcet-accessibility > summary:hover, .bwcet-accessibility[open] > summary { background: var(--wp--preset--color--surface); }
.bwcet-accessibility__panel { position: absolute; z-index: 45; inset-inline-end: 0; top: calc(100% + .75rem); width: min(22rem, calc(100vw - 2rem)); padding: 1.5rem; border: 1px solid var(--wp--preset--color--line); border-top: 3px solid var(--wp--preset--color--accent); border-radius: 5px; background: var(--wp--preset--color--white); color: var(--wp--preset--color--ink); box-shadow: 0 1rem 3rem #071f3224; text-align: start; font-size: .9375rem; line-height: 1.55; }
.bwcet-accessibility__panel h2 { margin: 0 0 1.25rem; font-size: 1.25rem; letter-spacing: -.025em; }
.bwcet-accessibility__panel fieldset { min-width: 0; padding: 0 0 1rem; margin: 0 0 .5rem; border: 0; border-bottom: 1px solid var(--wp--preset--color--line); }
.bwcet-accessibility__panel legend { padding: 0; margin-bottom: .5rem; font-weight: 650; }
.bwcet-accessibility__sizes { display: flex; flex-wrap: wrap; gap: .25rem; }
.bwcet-accessibility__sizes label { flex: 1 1 5rem; display: flex; align-items: center; gap: .4rem; min-height: 44px; padding: .4rem; border: 1px solid var(--wp--preset--color--line); border-radius: 3px; font-size: .8125rem; cursor: pointer; }
.bwcet-accessibility__sizes label:has(:checked) { border-color: var(--wp--preset--color--brand); background: var(--wp--preset--color--surface); font-weight: 650; }
.bwcet-accessibility__panel input { width: 1rem; height: 1rem; flex: 0 0 1rem; margin: 0; accent-color: var(--wp--preset--color--brand); }
.bwcet-accessibility__option { display: flex; gap: .75rem; align-items: center; min-height: 44px; padding-block: .5rem; cursor: pointer; }
.bwcet-accessibility__reset { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; margin-top: .75rem; padding: .6rem .8rem; color: var(--wp--preset--color--brand); background: var(--wp--preset--color--white); border: 1px solid var(--wp--preset--color--brand); border-radius: 3px; font-size: .875rem; font-weight: 650; }
.bwcet-accessibility__reset:hover { background: var(--wp--preset--color--surface); }
.bwcet-accessibility__note { font-size: .8125rem; color: var(--wp--preset--color--muted); margin: 1rem 0 0; }
/* Percentages respect the visitor's default font size and browser zoom. */
html[data-bwcet-text-size="smaller"] { font-size: 90%; }
html[data-bwcet-text-size="larger"] { font-size: 115%; }
html[data-bwcet-text-size] :is(button, summary, input[type="submit"], input[type="search"], .primary-menu a, .header-cta, .button, .wp-block-button__link, .wp-block-file__button, .search-submit, .bwcet-policy-list__actions a, .bwcet-document-list .wp-block-file a) { min-height: 44px; }
html[data-bwcet-text-size] :is(.submenu-toggle, .primary-nav__toggle) { min-width: 44px; }
/* Never filter body/root: filtering them changes fixed/sticky containing blocks.
   Greyscale uses neutral semantic tokens plus filters on media and social icons. */
@media (forced-colors: none) {
 html[data-bwcet-greyscale="true"], html[data-bwcet-greyscale="true"] body {
  --wp--preset--color--ink: #202020 !important; --wp--preset--color--muted: #4d4d4d !important;
  --wp--preset--color--paper: #f7f7f7 !important; --wp--preset--color--surface: #eee !important;
  --wp--preset--color--brand: #323232 !important; --wp--preset--color--brand-dark: #171717 !important;
  --wp--preset--color--accent: #c4c4c4 !important; --wp--preset--color--line: #ccc !important; --wp--preset--color--white: #fff !important;
 }
 html[data-bwcet-greyscale="true"] :is(img, video, iframe, .wp-social-link) { filter: grayscale(1); }
 html[data-bwcet-high-contrast="true"], html[data-bwcet-high-contrast="true"] body {
  --wp--preset--color--ink: #000 !important; --wp--preset--color--muted: #333 !important;
  --wp--preset--color--paper: #fff !important; --wp--preset--color--surface: #eee !important;
  --wp--preset--color--brand: #000 !important; --wp--preset--color--brand-dark: #000 !important;
  --wp--preset--color--accent: #ffe600 !important; --wp--preset--color--line: #555 !important; --wp--preset--color--white: #fff !important;
 }
 html[data-bwcet-high-contrast="true"][data-bwcet-greyscale="true"], html[data-bwcet-high-contrast="true"][data-bwcet-greyscale="true"] body { --wp--preset--color--accent: #e6e6e6 !important; }
 html[data-bwcet-high-contrast="true"] :is(.bwcet-hero__media, .bwcet-photo-cta)::after,
 html[data-bwcet-high-contrast="true"] .bwcet-photo-cta::before { background: #000 !important; }
 html[data-bwcet-high-contrast="true"] :is(.bwcet-dark-feature, .bwcet-services-band, .bwcet-section--brand, .bwcet-link-card, .bwcet-hero--text, .bwcet-location__visual) { background-image: none !important; }
 html[data-bwcet-high-contrast="true"] .wp-block-cover__background { background: #000 !important; opacity: 1 !important; }
 /* A saved light Cover can explicitly use Ink text. Normalize its entire inner
    reading surface together; forcing only the mask dark would hide that text.
    Nested core colour choices remain portable in saved content, and resume when
    the visitor resets. Keep nested Cover masks opaque as well. */
 html[data-bwcet-high-contrast="true"] .wp-block-cover .wp-block-cover__inner-container,
 html[data-bwcet-high-contrast="true"] .wp-block-cover .wp-block-cover__inner-container :where(*) { color: #fff !important; }
 html[data-bwcet-high-contrast="true"] .wp-block-cover .wp-block-cover__inner-container,
 html[data-bwcet-high-contrast="true"] .wp-block-cover .wp-block-cover__inner-container :where(*:not(.wp-block-cover__background)) { background-color: transparent !important; background-image: none !important; border-color: currentColor !important; }
 html[data-bwcet-high-contrast="true"] .wp-block-cover .wp-block-cover__inner-container a { text-decoration: underline; }
 html[data-bwcet-high-contrast="true"] .wp-block-cover .wp-block-cover__inner-container :is(.wp-block-button__link, .wp-block-file__button, .wp-block-search__button, input, select, textarea) { color: #000 !important; background: #fff !important; border-color: #fff !important; }
 html[data-bwcet-high-contrast="true"] .wp-block-cover .wp-block-cover__inner-container :is(.wp-block-button__link, .wp-block-file__button, .wp-block-search__button, input, select, textarea) :where(*) { color: inherit !important; }
 html[data-bwcet-high-contrast="true"] .wp-block-cover .wp-block-cover__inner-container :is(.wp-block-button__link, .wp-block-file__button, .wp-block-search__button) { text-decoration: none; }
 html[data-bwcet-high-contrast="true"] .wp-block-cover .wp-block-cover__inner-container :is(.wp-block-button__link, .wp-block-file__button, .wp-block-search__button):hover { color: #fff !important; background: #000 !important; }
 html[data-bwcet-high-contrast="true"] .has-accent-color { color: inherit !important; }
 html[data-bwcet-high-contrast="true"] :is(a, button, input, select, textarea, summary, [tabindex]):focus-visible { outline: 3px solid #000 !important; outline-offset: 3px; box-shadow: 0 0 0 6px #fff !important; }
 html[data-bwcet-high-contrast="true"] :is(.entry-content, .search-results) a:not(.wp-block-button__link):not(.wp-block-file__button) { text-decoration: underline; }
}
/* Cancels CSS movement as well as the JS controllers' observer/media work. */
html[data-bwcet-reduce-motion="true"], html[data-bwcet-reduce-motion="true"] *, html[data-bwcet-reduce-motion="true"] *::before, html[data-bwcet-reduce-motion="true"] *::after { scroll-behavior: auto !important; animation: none !important; transition: none !important; }
html[data-bwcet-reduce-motion="true"] :is(.bwcet-link-card, .bwcet-news-card img, .entry-card__media img, .entry-card__arrow), html[data-bwcet-reduce-motion="true"] .header-cta::after { transform: none !important; }
@media (forced-colors: active) {
 .bwcet-accessibility__panel, .bwcet-accessibility__reset, .bwcet-accessibility__sizes label { border-color: ButtonText; box-shadow: none; }
 .bwcet-accessibility :focus-visible { outline: 3px solid Highlight !important; box-shadow: none !important; }
}
@media (max-width: 767px) {
 .bwcet-accessibility { position: static; }
 .bwcet-accessibility__panel { inset-inline: 0; top: 100%; width: 100%; max-width: none; padding: 1.25rem; }
}
@media print { .bwcet-accessibility { display: none !important; } }
