/* MedExPrep accessibility settings: page-level rules. The panel itself lives in a shadow root (mxp-a11y.js). */

/* Toolbar buttons. Each variant copies the look of the toolbar it sits in. */
.mxa-btn { position: relative; cursor: pointer; flex: none; }
.mxa-btn svg { display: block; }
.mxa-btn__n { position: absolute; top: -5px; right: -5px; min-width: 17px; height: 17px; padding: 0 4px; border-radius: 999px; background: #0f7c79; color: #fff; font: 700 10.5px/17px "Inter", -apple-system, sans-serif; text-align: center; box-shadow: 0 0 0 2px #fff; pointer-events: none; }
html.mxa-site-mpje .mxa-btn__n { background: #1a4f9c; }
html.mxa-site-cps .mxa-btn__n { background: #045269; }
.mxa-btn__n[hidden] { display: none; }

/* round icon button: MedExPrep header, free quiz header, learner app top bar */
.mxa-btn--site, .mxa-btn--app, .mxa-btn--mpje, .mxa-btn--cps, .mxa-btn--auth, .mxa-btn--float {
  appearance: none; -webkit-appearance: none; display: inline-grid; place-items: center; padding: 0; margin: 0;
  border-radius: 50%; background: #fff; transition: border-color .15s, background .15s, color .15s;
}
/* Theme button styles (BuddyBoss/Reign on CPS: 3px radius, 8px 15px padding) must not reshape the round buttons. */
button.mxa-btn--site, button.mxa-btn--app, button.mxa-btn--mpje, button.mxa-btn--cps, button.mxa-btn--auth, button.mxa-btn--float {
  border-radius: 50% !important; padding: 0 !important; min-width: 0 !important; min-height: 0 !important; line-height: 1 !important; box-sizing: border-box !important; text-transform: none !important; letter-spacing: 0 !important;
}
button.mxa-btn--cpsdash { border-radius: 12.75px !important; padding: 0 !important; min-width: 0 !important; min-height: 0 !important; box-sizing: border-box !important; }
.mxa-btn--site { width: 44px; height: 44px; margin: 0; border: 1px solid rgba(26,79,156,.38); background: rgba(255,255,255,.95); color: #1a4f9c; box-shadow: 0 1px 2px rgba(15,23,42,.06); }
.mxa-btn--site:hover { border-color: #1a4f9c; background: #f3f7fd; }
.mfq-header-right .mxa-btn--site { border-color: #dfe5ec; color: #33425b; box-shadow: none; }
.mfq-header-right .mxa-btn--site:hover { border-color: #0f7c79; color: #0f7c79; background: #f2f9f8; }
.mxa-btn--site svg { width: 21px; height: 21px; }
.mfq-header-right .mxa-btn--site { width: 42px; height: 42px; margin: 0 4px 0 0; }
.mxa-btn--app { width: 38px; height: 38px; margin: 0; border: 1px solid #dde3eb; color: #556274; }
header.mpj-top .mxa-btn--app { margin-right: 2px; }
.mxa-btn--auth { width: 36px; height: 36px; margin-left: auto; margin-right: 14px; border: 1px solid #dde3eb; color: #556274; }
.mxa-btn--auth:hover { color: #0b1b33; border-color: #b8c3d1; }
.mxa-btn--auth svg { width: 19px; height: 19px; }
.mpj-auth__top { display: flex; align-items: center; }
.mxa-btn--app:hover { color: #0b1b33; border-color: rgba(148,163,184,.55); background: #f8fafc; }
.mxa-btn--app svg { width: 20px; height: 20px; }
.mxa-btn--mpje { width: 44px; height: 44px; margin-right: 14px; border: 1.5px solid #374977; color: #374977; }
.mxa-btn--mpje:hover { background: #374977; color: #fff; }
.mxa-btn--mpje svg { width: 22px; height: 22px; }
/* Council on Pharmacy Standards site header: round twin of the Login pill (logo teal outline). */
.mxa-btn--cps { width: 46px; height: 46px; margin: 0 14px 0 6px; border: 1.5px solid #045269; color: #045269; align-self: center; }
.mxa-btn--cps:hover { background: #045269; color: #fff; }
.mxa-btn--cps svg { width: 22px; height: 22px; }
/* CPS certification dashboard: same tile as its notification bell. */
div:has(> #cps-simple-bell) { display: flex; align-items: center; gap: 8px; }
.mxa-btn--cpsdash { appearance: none; -webkit-appearance: none; display: inline-grid; place-items: center; width: 43px; height: 43px; padding: 0; margin: 0; border: 1px solid #e2e8f0; border-radius: 12.75px; background: #fff; color: #475569; transition: border-color .15s, color .15s, background .15s; }
.mxa-btn--cpsdash:hover { border-color: #045269; color: #045269; }
.mxa-btn--cpsdash svg { width: 21px; height: 21px; }
header.hdr .hrow > .mxa-btn--cps { margin: 0 10px 0 auto; width: 42px; height: 42px; }
.mxa-btn--float { position: fixed; top: calc(var(--wp-admin--admin-bar--height, 0px) + 12px); right: 12px; z-index: 99990; width: 40px; height: 40px; border: 1px solid #dfe5ec; color: #33425b; box-shadow: 0 6px 18px -8px rgba(11,27,51,.35); }
.mxa-btn--float svg { width: 21px; height: 21px; }
.mxa-btn[aria-expanded="true"]:not(.mxa-btn--tool):not(.mxa-btn--exam) { background: #0f7c79; border-color: #0f7c79; color: #fff; }
html.mxa-site-mpje .mxa-btn[aria-expanded="true"]:not(.mxa-btn--tool):not(.mxa-btn--exam) { background: #374977; border-color: #374977; }
html.mxa-site-cps .mxa-btn[aria-expanded="true"]:not(.mxa-btn--tool):not(.mxa-btn--exam) { background: #045269; border-color: #045269; }
.mxa-btn:focus-visible { outline: 3px solid rgba(15,124,121,.35); outline-offset: 2px; }

/* lesson tools row and exam toolbar reuse their own button classes; only small touches here */
.mxa-btn--tool { display: inline-flex; align-items: center; gap: 6px; }
.mxa-btn--tool .mxa-btn__n { top: -4px; right: -4px; }
.mxa-btn--exam .medexp-uw-ico svg { width: 20px; height: 20px; }
.mxa-btn--exam .mxa-btn__n { top: -3px; right: -3px; box-shadow: 0 0 0 2px #1d3a66; }
@media (max-width: 760px) { .mxa-btn--tool span:not(.mxa-btn__n) { display: none; } .mxa-btn--site { margin-right: 6px; } .mxa-btn--mpje { width: 40px; height: 40px; margin-right: 8px; } }

/* Fonts */
html.mxa-font-readable body, html.mxa-font-readable body *:not(svg):not(svg *):not(i):not([class*="icon"]) { font-family: "Atkinson Hyperlegible", Verdana, Arial, sans-serif !important; }
html.mxa-font-dyslexic body, html.mxa-font-dyslexic body *:not(svg):not(svg *):not(i):not([class*="icon"]) { font-family: "OpenDyslexic", "Comic Sans MS", Verdana, sans-serif !important; }

/* Text spacing (WCAG 1.4.12 levels) */
html.mxa-sp-1 body *:not(svg *):not(#mxa-host) { letter-spacing: .04em !important; word-spacing: .08em !important; }
html.mxa-sp-2 body *:not(svg *):not(#mxa-host) { letter-spacing: .08em !important; word-spacing: .16em !important; }
html.mxa-sp-3 body *:not(svg *):not(#mxa-host) { letter-spacing: .12em !important; word-spacing: .26em !important; }

/* Line height */
html.mxa-lh-1 body *:not(svg *):not(#mxa-host) { line-height: 1.6 !important; }
html.mxa-lh-2 body *:not(svg *):not(#mxa-host) { line-height: 1.9 !important; }
html.mxa-lh-3 body *:not(svg *):not(#mxa-host) { line-height: 2.2 !important; }

/* Text align */
html.mxa-align-left body p, html.mxa-align-left body li, html.mxa-align-left body h1, html.mxa-align-left body h2, html.mxa-align-left body h3, html.mxa-align-left body h4, html.mxa-align-left body td, html.mxa-align-left body dd, html.mxa-align-left body blockquote { text-align: left !important; }
html.mxa-align-center body p, html.mxa-align-center body li, html.mxa-align-center body h1, html.mxa-align-center body h2, html.mxa-align-center body h3, html.mxa-align-center body h4, html.mxa-align-center body td, html.mxa-align-center body dd, html.mxa-align-center body blockquote { text-align: center !important; }
html.mxa-align-right body p, html.mxa-align-right body li, html.mxa-align-right body h1, html.mxa-align-right body h2, html.mxa-align-right body h3, html.mxa-align-right body h4, html.mxa-align-right body td, html.mxa-align-right body dd, html.mxa-align-right body blockquote { text-align: right !important; }
html.mxa-align-justify body p, html.mxa-align-justify body li, html.mxa-align-justify body dd, html.mxa-align-justify body blockquote { text-align: justify !important; }

/* Color filters (invert, smart contrast, saturation) are combined into one variable by the script */
html.mxa-filter body > *:not(#mxa-host) { filter: var(--mxa-filter) !important; }
html.mxa-contrast-invert body img, html.mxa-contrast-invert body video, html.mxa-contrast-invert body picture, html.mxa-contrast-invert body canvas { filter: invert(1) hue-rotate(180deg) !important; }

/* Dark contrast */
html.mxa-contrast-dark, html.mxa-contrast-dark body { background: #000 !important; }
html.mxa-contrast-dark body *:not(svg):not(svg *):not(img):not(video):not(canvas):not(#mxa-host) { background-color: #000 !important; background-image: none !important; color: #fff !important; border-color: #8a8a8a !important; box-shadow: none !important; text-shadow: none !important; -webkit-text-fill-color: currentColor !important; }
html.mxa-contrast-dark body a, html.mxa-contrast-dark body a * { color: #ffe14d !important; }
html.mxa-contrast-dark body button, html.mxa-contrast-dark body .btn, html.mxa-contrast-dark body [class*="btn"] { border: 1px solid #fff !important; }
html.mxa-contrast-dark body svg { color: #fff; }

/* Light contrast */
html.mxa-contrast-light, html.mxa-contrast-light body { background: #fff !important; }
html.mxa-contrast-light body *:not(svg):not(svg *):not(img):not(video):not(canvas):not(#mxa-host) { background-color: #fff !important; background-image: none !important; color: #000 !important; border-color: #333 !important; box-shadow: none !important; text-shadow: none !important; -webkit-text-fill-color: currentColor !important; }
html.mxa-contrast-light body a, html.mxa-contrast-light body a * { color: #0018c7 !important; }
html.mxa-contrast-light body button, html.mxa-contrast-light body .btn, html.mxa-contrast-light body [class*="btn"] { border: 1px solid #000 !important; }

/* Highlight links */
html.mxa-links body a { text-decoration: underline !important; text-decoration-thickness: 2px !important; text-underline-offset: 3px !important; outline: 2px solid #f5b400 !important; outline-offset: 2px !important; border-radius: 2px; }
html.mxa-links body a:hover, html.mxa-links body a:focus { background: #fff3bf !important; color: #000 !important; }

/* Highlight focus */
html.mxa-focus body *:focus { outline: 3px solid #f5b400 !important; outline-offset: 3px !important; box-shadow: 0 0 0 6px rgba(11,27,51,.85) !important; }

/* Pause animations */
html.mxa-pause *, html.mxa-pause *::before, html.mxa-pause *::after { animation-play-state: paused !important; animation-iteration-count: 1 !important; transition: none !important; scroll-behavior: auto !important; }

/* Hide images */
html.mxa-noimg body img:not(#mxa-host *), html.mxa-noimg body picture, html.mxa-noimg body video, html.mxa-noimg body svg image, html.mxa-noimg body canvas, html.mxa-noimg body iframe[src*="youtube"], html.mxa-noimg body iframe[src*="vimeo"] { visibility: hidden !important; }
html.mxa-noimg body [style*="background-image"] { background-image: none !important; }

/* Big cursors */
html.mxa-cursor-dark, html.mxa-cursor-dark * { cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 48 48'%3E%3Cpath d='M6 3 L6 40 L15 31 L21 45 L28 42 L22 28 L35 28 Z' fill='%23000' stroke='%23fff' stroke-width='3' stroke-linejoin='round'/%3E%3C/svg%3E") 6 3, auto !important; }
html.mxa-cursor-light, html.mxa-cursor-light * { cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 48 48'%3E%3Cpath d='M6 3 L6 40 L15 31 L21 45 L28 42 L22 28 L35 28 Z' fill='%23fff' stroke='%23000' stroke-width='3' stroke-linejoin='round'/%3E%3C/svg%3E") 6 3, auto !important; }

/* Read aloud: the block being read */
.mxa-speaking { outline: 3px solid #0f7c79 !important; outline-offset: 4px !important; background-color: rgba(15,124,121,.08) !important; border-radius: 4px; }
html.mxa-tts body p:hover, html.mxa-tts body li:hover, html.mxa-tts body h1:hover, html.mxa-tts body h2:hover, html.mxa-tts body h3:hover, html.mxa-tts body h4:hover, html.mxa-tts body td:hover, html.mxa-tts body label:hover, html.mxa-tts body blockquote:hover { outline: 2px dashed rgba(15,124,121,.6) !important; outline-offset: 3px !important; cursor: pointer; }

@media print { .mxa-btn, #mxa-host { display: none !important; } }

html.mxa-site-cps .mxa-speaking { outline-color: #045269 !important; background-color: rgba(4,82,105,.08) !important; }
html.mxa-site-cps.mxa-tts body p:hover, html.mxa-site-cps.mxa-tts body li:hover { outline-color: rgba(4,82,105,.6) !important; }
html.mxa-site-mpje .mxa-speaking { outline-color: #1a4f9c !important; background-color: rgba(26,79,156,.08) !important; }
html.mxa-site-mpje.mxa-tts body p:hover, html.mxa-site-mpje.mxa-tts body li:hover { outline-color: rgba(26,79,156,.6) !important; }
header.header .header__right { display: flex; align-items: center; }

/* Phone headers */
header.header .header__inner.mxa-hdr-m > nav.nav { grid-column: 4; grid-row: 1; }
header.header .header__inner.mxa-hdr-m > .header__right { grid-column: 3; grid-row: 1; justify-self: end; }
header.header .header__inner.mxa-hdr-m .mxa-btn--site { margin-right: 8px; }
.mxa-btn--mpje.mxa-push { margin-left: auto; margin-right: 12px; }
.mpjewrap:has(> .mxa-btn--mpje.mxa-push) > .mpjeburger { margin-left: 0 !important; }
@media (max-width: 760px) { .medexp-lessonToolbar > .mxa-btn--tool { order: -1; } }
