/* Toolbar UI: fixed and self-contained so it does not change theme layout. */
.moure-a11y-skip-link { position: fixed; z-index: 2147483647; top: 12px; left: 12px; padding: 12px 16px; color: #fff; background: #053b75; border-radius: 4px; transform: translateY(-160%); }
.moure-a11y-skip-link:focus { transform: translateY(0); outline: 3px solid #ffd54a; outline-offset: 3px; }
.moure-a11y { position: fixed; z-index: 2147483646; right: 20px; bottom: 20px; font-family: Arial, Helvetica, sans-serif; font-size: 16px; line-height: 1.4; }
.moure-a11y button { font: inherit; cursor: pointer; }
.moure-a11y__launcher { display: flex; gap: 8px; align-items: center; padding: 12px 16px; color: #fff; background: #053b75; border: 2px solid #fff; border-radius: 999px; box-shadow: 0 2px 12px rgba(0,0,0,.28); }
.moure-a11y__launcher:hover, .moure-a11y__launcher:focus { background: #072b55; }
.moure-a11y__panel { width: min(310px, calc(100vw - 40px)); margin-bottom: 10px; padding: 16px; color: #17202a; background: #fff; border: 2px solid #053b75; border-radius: 10px; box-shadow: 0 4px 20px rgba(0,0,0,.28); }
.moure-a11y__heading { display: flex; justify-content: space-between; align-items: center; margin-bottom: 12px; font-size: 18px; }
.moure-a11y__close { width: 32px; height: 32px; color: #17202a; background: transparent; border: 0; border-radius: 4px; font-size: 28px; line-height: 1; }
.moure-a11y__group { margin: 0 0 10px; }
.moure-a11y__buttons { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 6px; margin-top: 5px; }
.moure-a11y__buttons button, .moure-a11y__toggle, .moure-a11y__reset { min-height: 42px; color: #17202a; background: #fff; border: 1px solid #617084; border-radius: 5px; }
.moure-a11y__toggle, .moure-a11y__reset { width: 100%; margin-top: 7px; padding: 8px 10px; text-align: left; }
.moure-a11y__toggle[aria-pressed="true"] { color: #fff; background: #053b75; border-color: #053b75; }
.moure-a11y__reset { text-align: center; }
.moure-a11y button:focus-visible { outline: 3px solid #e39b00; outline-offset: 2px; }

/* Visitor-selected preferences. */
html.moure-a11y-text-1 { font-size: 112.5% !important; }
html.moure-a11y-text-2 { font-size: 125% !important; }
html.moure-a11y-readable-font body, html.moure-a11y-readable-font body * { font-family: Arial, Helvetica, sans-serif !important; }
html.moure-a11y-underline-links a:not(.moure-a11y__launcher) { text-decoration: underline !important; text-decoration-thickness: 2px !important; text-underline-offset: .14em !important; }
html.moure-a11y-reduce-motion *, html.moure-a11y-reduce-motion *::before, html.moure-a11y-reduce-motion *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
html.moure-a11y-contrast { filter: contrast(1.15); }
html.moure-a11y-contrast body { background: #fff !important; color: #000 !important; }
html.moure-a11y-contrast body a { color: #003f98 !important; }
html.moure-a11y-contrast body :focus-visible { outline: 3px solid #d25a00 !important; outline-offset: 3px !important; }

@media (max-width: 480px) { .moure-a11y { right: 12px; bottom: 12px; } .moure-a11y__launcher-label { display: none; } .moure-a11y__launcher { padding: 12px; } }
