/* The button belongs to the template; no automatic header bar. */
.od-a11y-controls { display:inline-flex; flex-wrap:wrap; gap:8px; vertical-align:middle; }
.od-a11y-controls [hidden], #od-a11y [hidden], #od-a11y[hidden] { display:none !important; }
.od-a11y-button, #od-a11y button, #od-a11y select {
 box-sizing:border-box; font:16px/1.5 Arial,sans-serif !important;
 color:#172d3d !important; background:#fff !important; border:2px solid #36556b !important;
 border-radius:4px; padding:7px 12px !important; min-height:44px; height:auto !important; cursor:pointer;
}
.od-a11y-button { display:inline-flex; align-items:center; justify-content:center; gap:8px; }
.od-a11y-button svg { flex-shrink:0; }
.od-a11y-button:hover, #od-a11y button:hover { background:#e8f1f7 !important; }
/* A settings overlay does not rearrange the original site. */
#od-a11y {
 position:fixed; z-index:2147483000; top:16px; right:16px; width:min(820px,calc(100% - 32px));
 max-height:calc(100dvh - 32px); overflow:auto; box-sizing:border-box; border:2px solid #36556b;
 border-radius:8px; background:#fff; color:#172d3d; padding:16px; font:16px/1.5 Arial,sans-serif; box-shadow:0 8px 40px #0004;
}
#od-a11y * { box-sizing:border-box; }
#od-a11y .od-a11y-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:16px; }
#od-a11y h2 { font:bold 22px/1.4 Arial,sans-serif; color:inherit; margin:0; padding:0; }
#od-a11y-panel { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
#od-a11y label { display:flex; flex-direction:column; gap:6px; font-weight:bold; }
#od-a11y select { width:100%; min-width:0; font-weight:normal; }
#od-a11y .od-a11y-notice { grid-column:1 / -1; font-size:14px; margin:0; }
#od-a11y .od-a11y-actions { grid-column:1 / -1; display:flex; flex-wrap:wrap; gap:12px; align-items:center; }
#od-a11y a { color:#174f77; text-decoration:underline; }
.od-a11y-image-label { display:none; }
body :focus-visible { outline:3px solid #005a9c !important; outline-offset:3px !important; }
/* Preserve the design and original heading hierarchy; enlarge each original font. */
html[data-od-accessible="on"] { --od-scale:2; --od-leading:1.5; }
html[data-od-size="16"] { --od-scale:1.3333333; }
html[data-od-size="20"] { --od-scale:1.6666667; }
html[data-od-size="24"] { --od-scale:2; }
html[data-od-size="32"] { --od-scale:2.6666667; }
html[data-od-spacing="2"] { --od-leading:2; }
html[data-od-accessible="on"] #maincontainer,
html[data-od-accessible="on"] #maincontainer *,
html[data-od-accessible="on"] .ui-autocomplete,
html[data-od-accessible="on"] .ui-autocomplete * {
 font-size:calc(var(--od-base-font,12px) * var(--od-scale)) !important; line-height:var(--od-leading) !important;
}
html[data-od-accessible="on"] #maincontainer .od-a11y-controls,
html[data-od-accessible="on"] #maincontainer .od-a11y-controls * { font-size:16px !important; line-height:1.5 !important; }
/* Fit larger text without replacing or permanently expanding dropdown menus. */
html[data-od-accessible="on"] #header { height:auto; min-height:283px; }
html[data-od-accessible="on"] #forheader { height:auto; min-height:283px; padding-top:175px; }
html[data-od-accessible="on"] .search-top { position:relative; top:auto; left:auto; display:inline-block; }
html[data-od-accessible="on"] #header-left-r4 { position:relative; top:auto; left:auto; margin-top:65px; padding-bottom:16px; width:100%; }
html[data-od-accessible="on"] #mainnav { height:auto; min-height:66px; overflow:visible; margin-top:0; }
html[data-od-accessible="on"] #mainnav li { vertical-align:top; }
html[data-od-accessible="on"] #mainnav a { padding:8px 12px; }
html[data-od-accessible="on"] #snav h3 { height:auto; min-height:23px; }
html[data-od-accessible="on"] #snav ul { top:100%; left:0; right:auto; width:max(100%,300px); max-width:min(560px,90vw); z-index:120; }
html[data-od-accessible="on"] #snav td:last-child ul { right:0; left:auto; }
html[data-od-accessible="on"] #snav td:focus-within ul { display:block; }
html[data-od-accessible="on"] .search-top input,
html[data-od-accessible="on"] .search-top button,
html[data-od-accessible="on"] #maincontent input,
html[data-od-accessible="on"] #maincontent button,
html[data-od-accessible="on"] #maincontent select { height:auto; min-height:44px; }
html[data-od-accessible="on"] #maincontent { overflow-wrap:anywhere; }
html[data-od-accessible="on"] .pub-data { position:static; text-align:right; margin-bottom:16px; }
html[data-od-accessible="on"] .ui-autocomplete { max-width:calc(100vw - 32px); }
/* Contrast colours apply only when the visitor explicitly chooses a scheme. */
html[data-od-theme="white"] { --od-bg:#fff; --od-fg:#111; }
html[data-od-theme="yellow"] { --od-bg:#ffed00; --od-fg:#111; }
html[data-od-theme="black"] { --od-bg:#000; --od-fg:#fff; }
html[data-od-accessible="on"][data-od-theme]:not([data-od-theme="original"]) body,
html[data-od-accessible="on"][data-od-theme]:not([data-od-theme="original"]) body #maincontainer,
html[data-od-accessible="on"][data-od-theme]:not([data-od-theme="original"]) body #maincontainer *,
html[data-od-accessible="on"][data-od-theme]:not([data-od-theme="original"]) .ui-autocomplete,
html[data-od-accessible="on"][data-od-theme]:not([data-od-theme="original"]) .ui-autocomplete * {
 color:var(--od-fg) !important; background-color:var(--od-bg) !important; background-image:none !important;
 text-shadow:none !important; box-shadow:none !important; border-color:var(--od-fg) !important;
}
html[data-od-accessible="on"][data-od-theme]:not([data-od-theme="original"]) #maincontainer a { text-decoration:underline; }
html[data-od-images="gray"] img, html[data-od-images="gray"] video { filter:grayscale(1) !important; }
html[data-od-images="off"] img, html[data-od-images="off"] picture, html[data-od-images="off"] video { display:none !important; }
html[data-od-images="off"] .od-a11y-image-label { display:inline !important; }
@media (max-width:600px) {
 #od-a11y { top:8px; right:8px; width:calc(100% - 16px); max-height:calc(100dvh - 16px); }
 #od-a11y-panel { grid-template-columns:1fr; }
}
