/* Bilohash — панель доступності (WCAG 2.1) і круглі кнопки в лівому нижньому куті (стиль наліпки). */
#bs-a11y-fab,#gdpr-consent-fab{
  width:48px !important;height:48px !important;border-radius:999px !important;
  border:3px solid #14110f !important;box-shadow:3px 3px 0 #14110f !important;cursor:pointer;
  display:flex;align-items:center;justify-content:center;transition:transform .15s}
#gdpr-consent-fab{background:#ffd84d !important;color:#14110f !important;font-size:18px}
#bs-a11y-fab{position:fixed;z-index:99990;left:max(1.25rem,env(safe-area-inset-left,0px));
  bottom:calc(max(1.35rem,env(safe-area-inset-bottom,0px)) + 60px);background:#2447ff;color:#fff;padding:0}
html:not(.bh-gdpr-has-consent) #bs-a11y-fab{bottom:max(1.35rem,env(safe-area-inset-bottom,0px))}
body.gdpr-banner-active #bs-a11y-fab{bottom:calc(var(--bh-gdpr-banner-h,0px) + 0.75rem + 60px)}
html:not(.bh-gdpr-has-consent) body.gdpr-banner-active #bs-a11y-fab{bottom:calc(var(--bh-gdpr-banner-h,0px) + 0.75rem)}
#bs-a11y-fab:hover,#gdpr-consent-fab:hover{transform:translate(-1px,-1px)}
#bs-a11y-fab:focus-visible,#gdpr-consent-fab:focus-visible{outline:3px solid #ffd84d;outline-offset:3px}
#bs-a11y-fab.is-on{background:#ff5a4f}
#bs-a11y-panel{position:fixed;z-index:99995;left:max(1.25rem,env(safe-area-inset-left,0px));bottom:calc(max(1.35rem,env(safe-area-inset-bottom,0px)) + 120px);
  width:min(360px,calc(100vw - 2.5rem));max-height:calc(100vh - 160px);overflow:auto;
  background:#fff8e7;color:#14110f;border:3px solid #14110f;border-radius:20px;box-shadow:6px 6px 0 #14110f;padding:16px;
  font:500 15px/1.4 Rubik,system-ui,-apple-system,"Segoe UI",sans-serif}
#bs-a11y-panel[hidden]{display:none}
#bs-a11y-panel .bsa-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
#bs-a11y-panel h2{margin:0;font:900 18px/1.2 Rubik,system-ui,sans-serif;color:#14110f;letter-spacing:-.01em}
#bs-a11y-panel button{font:inherit;color:#14110f;cursor:pointer}
#bs-a11y-panel button:focus-visible{outline:3px solid #2447ff;outline-offset:2px}
#bs-a11y-panel .bsa-x{width:36px;height:36px;border-radius:10px;border:3px solid #14110f;background:#fff;font-size:22px;line-height:1;font-weight:800}
#bs-a11y-panel .bsa-size{display:flex;align-items:center;gap:8px;background:#fff;border:3px solid #14110f;border-radius:14px;padding:8px 10px;margin-bottom:12px}
#bs-a11y-panel .bsa-size span{flex:1;font-weight:700}
#bs-a11y-panel .bsa-size button{min-width:44px;height:40px;border-radius:10px;border:3px solid #14110f;background:#ffd84d;font-weight:900}
#bs-a11y-panel .bsa-val{min-width:46px;text-align:center;font-weight:800}
#bs-a11y-panel .bsa-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
#bs-a11y-panel .bsa-opt{display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-height:72px;text-align:left;background:#fff;border:3px solid #14110f;border-radius:14px;padding:10px;font-weight:700;font-size:14px;line-height:1.2}
#bs-a11y-panel .bsa-opt i{font-size:18px;color:#2447ff}
#bs-a11y-panel .bsa-opt[aria-pressed="true"]{background:#7be0c3;box-shadow:3px 3px 0 #14110f}
#bs-a11y-panel .bsa-opt[aria-pressed="true"] i{color:#14110f}
#bs-a11y-panel .bsa-foot{display:flex;align-items:center;gap:10px;margin-top:12px;flex-wrap:wrap}
#bs-a11y-panel .bsa-reset{border:3px solid #14110f;background:#ff5a4f;color:#fff !important;border-radius:12px;padding:8px 14px;font-weight:800}
#bs-a11y-panel small{flex:1;min-width:140px;color:#4f4943;font-size:12px}
@media (max-width:420px){#bs-a11y-panel .bsa-opt{min-height:64px;font-size:13px}}

/* ── режими ── */
html.bsa-links a{text-decoration:underline !important;text-underline-offset:3px}
html.bsa-font body,html.bsa-font body *:not(i):not(.fas):not(.fab):not(.far):not(svg *){font-family:Verdana,Tahoma,"Atkinson Hyperlegible",Arial,sans-serif !important;letter-spacing:.01em}
html.bsa-spacing body *:not(i){line-height:1.6 !important;letter-spacing:.12em !important;word-spacing:.16em !important}
html.bsa-spacing body p{margin-bottom:2em !important}
html.bsa-still *,html.bsa-still *::before,html.bsa-still *::after{animation:none !important;transition:none !important;scroll-behavior:auto !important}
html.bsa-cursor,html.bsa-cursor *{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 40 40'%3E%3Cpath d='M4 2l26 15-11 3 7 13-5 3-7-13-8 8z' fill='%23fff' stroke='%23000' stroke-width='2.5' stroke-linejoin='round'/%3E%3C/svg%3E") 4 2,auto !important}
html.bsa-gray body{filter:grayscale(1)}
html.bsa-focus :focus{outline:4px solid #ffd84d !important;outline-offset:3px !important;box-shadow:0 0 0 7px #14110f !important}
html.bsa-contrast body,html.bsa-contrast body *:not(#bs-a11y-panel):not(#bs-a11y-panel *){background-color:#000 !important;background-image:none !important;color:#fff !important;border-color:#fff !important;box-shadow:none !important;text-shadow:none !important}
html.bsa-contrast body a,html.bsa-contrast body a *{color:#ffe14d !important}
html.bsa-contrast body button:not(#bs-a11y-panel button),html.bsa-contrast body .bs-btn{border:2px solid #fff !important}
html.bsa-contrast img,html.bsa-contrast picture,html.bsa-contrast video{opacity:1 !important}
@media (prefers-reduced-motion:reduce){#bs-a11y-fab,#gdpr-consent-fab{transition:none}}

/* ── тема «день / ніч» у панелі (2026-11-12) ── */
#bs-a11y-panel .bsa-theme{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}
#bs-a11y-panel .bsa-theme button{display:flex;align-items:center;justify-content:center;gap:10px;min-height:56px;border:3px solid #14110f;border-radius:16px;background:#fff;font-weight:900;font-size:17px;transition:transform .15s}
#bs-a11y-panel .bsa-theme .bsa-ico{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;border:2px solid #14110f}
#bs-a11y-panel .bsa-day .bsa-ico{background:#ffd84d;color:#14110f}
#bs-a11y-panel .bsa-night .bsa-ico{background:#14110f;color:#ffd84d}
#bs-a11y-panel .bsa-theme button[aria-pressed="true"]{background:#ffd84d;box-shadow:3px 3px 0 #14110f;transform:translate(-1px,-1px)}
#bs-a11y-panel .bsa-night[aria-pressed="true"]{background:#2447ff;color:#fff}
#bs-a11y-panel .bsa-night[aria-pressed="true"] .bsa-ico{border-color:#fff}
/* темна тема самої панелі */
html[data-theme="dark"] #bs-a11y-panel{background:#221d1a;color:#fff8e7;border-color:#fff8e7;box-shadow:6px 6px 0 #000}
html[data-theme="dark"] #bs-a11y-panel h2,html[data-theme="dark"] #bs-a11y-panel button{color:#fff8e7}
html[data-theme="dark"] #bs-a11y-panel :is(.bsa-x,.bsa-size,.bsa-opt,.bsa-theme button){background:#14110f;border-color:#fff8e7}
html[data-theme="dark"] #bs-a11y-panel .bsa-size button{background:#ffd84d;color:#14110f;border-color:#fff8e7}
html[data-theme="dark"] #bs-a11y-panel .bsa-opt i{color:#9fb0ff}
html[data-theme="dark"] #bs-a11y-panel .bsa-opt[aria-pressed="true"]{background:#7be0c3;color:#14110f}
html[data-theme="dark"] #bs-a11y-panel .bsa-opt[aria-pressed="true"] *{color:#14110f}
html[data-theme="dark"] #bs-a11y-panel .bsa-night[aria-pressed="true"]{background:#2447ff}
html[data-theme="dark"] #bs-a11y-panel small{color:#c9bfb0}
html[data-theme="dark"] #bs-a11y-panel .bsa-reset{color:#fff !important;background:#d93025}

/* ── кінематографічний перехід: коло розходиться від кнопки ── */
::view-transition-old(root),::view-transition-new(root){animation:none;mix-blend-mode:normal}
html.bs-vt-night::view-transition-new(root),html.bs-vt-day::view-transition-new(root){animation:bs-vt-reveal .8s cubic-bezier(.76,0,.24,1) both}
html.bs-vt-night::view-transition-old(root){animation:bs-vt-dusk .8s ease-in both}
html.bs-vt-day::view-transition-old(root){animation:bs-vt-dawn .8s ease-in both}
@keyframes bs-vt-reveal{from{clip-path:circle(0 at var(--bs-vt-x,50%) var(--bs-vt-y,50%))}to{clip-path:circle(var(--bs-vt-r,150vmax) at var(--bs-vt-x,50%) var(--bs-vt-y,50%))}}
@keyframes bs-vt-dusk{to{filter:brightness(.45) saturate(.6);transform:scale(.985)}}
@keyframes bs-vt-dawn{to{filter:brightness(1.35) saturate(1.2);transform:scale(.985)}}
html.bs-theme-fade body,html.bs-theme-fade body *{transition:background-color .4s ease,color .4s ease,border-color .4s ease !important}
@media (prefers-reduced-motion:reduce){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none !important}}
