/* Akadálymentes mód – eszköztár és megjelenítési módok. Önálló, bármely oldalra beilleszthető. */
.a11y-sr-only{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.a11y-widget{font:1rem/1.4 system-ui,"Segoe UI",Roboto,Arial,sans-serif;color:#1b1f24}
.a11y-trigger{position:fixed;left:1rem;bottom:1rem;z-index:2147483000;display:inline-flex;align-items:center;gap:.5rem;min-height:3rem;padding:.6rem 1.1rem;font-size:1rem;font-weight:600;line-height:1.2;font-family:inherit;color:#fff;background:#0b3a6f;border:2px solid #fff;border-radius:999px;box-shadow:0 2px 12px rgba(0,0,0,.35);cursor:pointer}
.a11y-trigger:hover,.a11y-trigger:focus{color:#fff;background:#164e8f;border-color:#fff}
.a11y-trigger:focus-visible{outline:3px solid #ffbf47;outline-offset:3px}
.a11y-panel{position:fixed;left:1rem;bottom:4.75rem;z-index:2147483000;box-sizing:border-box;width:min(24rem,calc(100vw - 2rem));max-height:calc(100vh - 6.5rem);overflow-y:auto;padding:1rem 1.1rem;background:#fff;color:#1b1f24;border:2px solid #0b3a6f;border-radius:.75rem;box-shadow:0 10px 30px rgba(0,0,0,.3)}
.a11y-panel[hidden]{display:none}
.a11y-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.75rem}
.a11y-widget :is(h2,p,legend,label,output){color:inherit}
.a11y-head h2{margin:0;font-size:1.15rem;line-height:1.3;overflow-wrap:normal}
.a11y-btn{font:inherit;font-weight:600;min-height:2.75rem;padding:.4rem .9rem;color:#0b3a6f;background:#fff;border:2px solid #0b3a6f;border-radius:.5rem;cursor:pointer}
.a11y-btn:hover{background:#eef3f8}
.a11y-btn:focus-visible,.a11y-radio input:focus-visible{outline:3px solid #0b57d0;outline-offset:2px}
.a11y-btn[aria-disabled="true"]{opacity:.45;cursor:not-allowed}
.a11y-sw{display:flex;justify-content:space-between;align-items:center;gap:.75rem;width:100%;margin-top:.4rem;text-align:left}
.a11y-sw[aria-pressed="true"]{color:#fff;background:#0b3a6f}
.a11y-pill{min-width:2.4rem;padding:.05rem .5rem;font-size:.85rem;text-align:center;border:2px solid currentColor;border-radius:999px}
.a11y-master{font-size:1.05rem}
.a11y-help{margin:.5rem 0 0;font-size:.9rem}
.a11y-group{margin:1rem 0 0;padding:0;border:0}
.a11y-group legend{padding:0;margin-bottom:.25rem;font-weight:700}
.a11y-row{display:flex;align-items:center;gap:.6rem}
.a11y-out{min-width:3.5rem;font-weight:700;text-align:center}
.a11y-radio{display:flex;align-items:center;gap:.6rem;min-height:2.6rem;cursor:pointer}
.a11y-radio input{width:1.25rem;height:1.25rem;accent-color:#0b3a6f}
.a11y-reset{width:100%;margin-top:1rem}
.a11y-mask{position:fixed;left:0;right:0;top:40%;height:3.4rem;transform:translateY(-50%);z-index:2147482999;display:none;pointer-events:none;border-top:3px solid #ffbf47;border-bottom:3px solid #ffbf47;box-shadow:0 0 0 100vmax rgba(0,0,0,.55)}
html.a11y-ruler-on .a11y-mask{display:block}

/* keskeny képernyőn csak az ikon látszik (a felirat a képernyőolvasónak megmarad) */
@media (max-width:480px){.a11y-trigger{min-width:3rem;padding:.6rem;justify-content:center}.a11y-trigger span{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}}

/* Betűméret: a méretezést a JS végzi (elemenként, px-ben); itt csak a nagyobb szöveg miatti törések */
html[class*="a11y-fs-"] body :where(p,li,td,th,a,span,h1,h2,h3,h4,h5,h6){overflow-wrap:break-word;hyphens:auto}
/* táblázat: a cellák nem tolhatják ki az oldalt */
html[class*="a11y-fs-"] body table{table-layout:fixed;width:100%}
html[class*="a11y-fs-"] body :where(td,th){overflow-wrap:anywhere}
/* a fejlécben a hosszú cím nem tolhatja ki a gombot a képernyőről */
html[class*="a11y-fs-"] body header :where(.site-title,small,a,p,span){overflow-wrap:anywhere}
/* 175% és 200%: az asztali menü helyett a mobil (hamburger) fejléc jelenik meg – a téma gombja ugyanúgy működik (Neve) */
html.a11y-fs-3 nav.header--row.hide-on-mobile,html.a11y-fs-4 nav.header--row.hide-on-mobile{display:none!important}
html.a11y-fs-3 nav.header--row.hide-on-desktop,html.a11y-fs-4 nav.header--row.hide-on-desktop{display:block!important}

/* Sötét téma (az eszköztár kivétel: azt lentebb külön színezzük) */
html.a11y-c-dark,html.a11y-c-dark body,
html.a11y-c-dark body :where(*:not(img,svg,video,canvas,iframe,.a11y-mask,.a11y-widget,.a11y-widget *)){background:#121212!important;color:#ececec!important;border-color:#6b6b6b!important;text-shadow:none!important}
html.a11y-c-dark body a,html.a11y-c-dark body a *{color:#8ab4f8!important}
html.a11y-c-dark body .icon-bar{background:#8ab4f8!important}
html.a11y-c-dark .a11y-trigger{color:#000;background:#8ab4f8;border-color:#000}
html.a11y-c-dark .a11y-panel{color:#ececec;background:#1f1f1f;border-color:#8ab4f8}
html.a11y-c-dark .a11y-btn{color:#8ab4f8;background:#1f1f1f;border-color:#8ab4f8}
html.a11y-c-dark .a11y-btn:hover{background:#2b2b2b}
html.a11y-c-dark .a11y-sw[aria-pressed="true"]{color:#000;background:#8ab4f8}
html.a11y-c-dark .a11y-radio input{accent-color:#8ab4f8}

/* Magas kontraszt: fekete alapon sárga/fehér */
html.a11y-c-high,html.a11y-c-high body,
html.a11y-c-high body :where(*:not(img,svg,video,canvas,iframe,.a11y-mask,.a11y-widget,.a11y-widget *)){background:#000!important;color:#fff!important;border-color:#ff0!important;text-shadow:none!important;box-shadow:none!important}
html.a11y-c-high body a,html.a11y-c-high body a *{color:#ff0!important;text-decoration:underline!important}
html.a11y-c-high body :is(button,select,textarea):not(.a11y-widget *){color:#ff0!important;border:2px solid #ff0!important}
html.a11y-c-high body .icon-bar{background:#ff0!important}
html.a11y-c-high .a11y-trigger{color:#000;background:#ff0;border-color:#000}
html.a11y-c-high .a11y-panel{color:#fff;background:#000;border-color:#ff0}
html.a11y-c-high .a11y-btn{color:#ff0;background:#000;border-color:#ff0}
html.a11y-c-high .a11y-btn:hover{background:#222}
html.a11y-c-high .a11y-sw[aria-pressed="true"]{color:#000;background:#ff0}
html.a11y-c-high .a11y-radio input{accent-color:#ff0}
html.a11y-c-high :focus-visible{outline:3px solid #0ff!important;outline-offset:2px!important}

/* Szürkeárnyalatos – átfedő réteg (backdrop-filter): a body/html filter-e elmozgatná a rögzített elemeket */
.a11y-gray{display:none;position:fixed;inset:0;z-index:2147482998;pointer-events:none;-webkit-backdrop-filter:grayscale(1);backdrop-filter:grayscale(1)}
html.a11y-c-gray .a11y-gray{display:block}
html.a11y-c-gray .a11y-trigger,html.a11y-c-gray .a11y-panel{filter:grayscale(1)}

/* Olvashatóság */
html.a11y-links body a{text-decoration:underline!important;text-underline-offset:.15em}
html.a11y-font body :where(*:not(i,svg,[class*="icon"],[class*="fa-"])){font-family:Verdana,Tahoma,"Segoe UI",Arial,sans-serif!important}
html.a11y-lh body :where(*:not(.a11y-mask,.a11y-widget,.a11y-widget *)){line-height:1.8!important}
html.a11y-lh body :where(p,li,td,th,dd):not(.a11y-widget *){letter-spacing:.04em;word-spacing:.12em}

/* Mozgás */
html.a11y-noanim,html.a11y-noanim *,html.a11y-noanim *::before,html.a11y-noanim *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
@media (prefers-reduced-motion:reduce){html *,html *::before,html *::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
