
/* OMEGA Accessibility UI */
.accessibility-btn{
  appearance:none;border:0;background:transparent;color:#075a9c;
  display:inline-flex;align-items:center;gap:7px;padding:8px 10px;
  border-radius:999px;cursor:pointer;font-family:inherit;font-weight:800;
  font-size:11px;transition:.22s
}
.accessibility-btn:hover{background:#eef8ff;color:#087fd5}
.accessibility-btn svg{width:23px;height:23px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

.accessibility-overlay{
  position:fixed;inset:0;background:rgba(3,22,48,.34);backdrop-filter:blur(2px);
  z-index:1998;opacity:0;transition:opacity .28s ease
}
.accessibility-overlay.is-visible{opacity:1}

.accessibility-panel{
  position:fixed;z-index:1999;top:0;bottom:0;left:0;width:min(430px,calc(100vw - 26px));
  background:linear-gradient(180deg,#ffffff,#f7fbfe);
  box-shadow:26px 0 80px rgba(2,31,67,.24);
  transform:translateX(-104%);transition:transform .34s cubic-bezier(.2,.8,.2,1);
  display:flex;flex-direction:column;border-right:1px solid #dceaf4;
  direction:rtl
}
.accessibility-panel.is-open{transform:translateX(0)}
.accessibility-panel-head{
  display:flex;justify-content:space-between;align-items:flex-start;gap:16px;
  padding:26px 24px 18px;border-bottom:1px solid #e7eff5;
  background:radial-gradient(circle at 100% 0%,rgba(22,191,255,.10),transparent 32%)
}
.accessibility-kicker{font-size:9px;letter-spacing:1.4px;color:#0785d9;font-weight:900}
.accessibility-panel-head h2{margin:5px 0 4px;font-size:27px;color:#082b5d}
.accessibility-panel-head p{margin:0;color:#75859a;font-size:12px}
.accessibility-close{
  width:40px;height:40px;border:0;border-radius:50%;background:#f2f8fc;color:#0a4c83;
  font-size:27px;line-height:1;cursor:pointer;transition:.2s
}
.accessibility-close:hover{background:#e8f5fd;transform:rotate(5deg)}
.accessibility-scroll{overflow:auto;padding:18px 20px 28px}
.accessibility-tools{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.a11y-tool{
  min-height:74px;border:1px solid #dce9f3;background:#fff;border-radius:16px;padding:12px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;
  color:#173b64;font:700 11px "Rubik",Arial,sans-serif;cursor:pointer;transition:.22s;
  box-shadow:0 8px 22px rgba(2,58,105,.04)
}
.a11y-tool:hover{transform:translateY(-2px);border-color:#bfe3f6;box-shadow:0 14px 28px rgba(2,58,105,.08)}
.a11y-tool.is-active{background:linear-gradient(145deg,#edf9ff,#e6f5ff);border-color:#70caf1;color:#0877c4}
.a11y-tool-icon{
  width:34px;height:34px;border-radius:11px;display:grid;place-items:center;
  background:#edf8ff;color:#087fd5;font-size:15px;font-weight:900
}
.a11y-reset{grid-column:1/-1;min-height:54px;flex-direction:row;background:#f8fbfd}
.accessibility-statement{
  margin-top:22px;padding:20px;border-radius:20px;background:#052b61;color:#fff;
  box-shadow:0 18px 40px rgba(3,47,94,.15)
}
.accessibility-statement-label{font-size:9px;font-weight:900;letter-spacing:1px;color:#71ddff}
.accessibility-statement h3{font-size:20px;margin:7px 0 12px}
.accessibility-statement p{font-size:11px;line-height:1.75;color:#c8d9e7}
.accessibility-contact-card{
  margin-top:14px;padding:14px;border:1px solid rgba(255,255,255,.14);
  border-radius:14px;background:rgba(255,255,255,.06);display:grid;gap:5px;font-size:11px
}
.accessibility-contact-card a{color:#67ddff;text-decoration:none}
.accessibility-updated{display:block;margin-top:12px;color:#8fa9bf;font-size:9px}

/* Accessibility modes */
html.a11y-high-contrast{filter:none!important}
html.a11y-high-contrast body{background:#000!important;color:#fff!important}
html.a11y-high-contrast body *:not(img):not(video){border-color:#fff!important}
html.a11y-high-contrast a{color:#00e5ff!important}
html.a11y-high-contrast button{outline-color:#fff!important}
html.a11y-grayscale{filter:grayscale(1)}
html.a11y-underline-links a{text-decoration:underline!important;text-underline-offset:3px!important}
html.a11y-focus-mode *:focus-visible{outline:4px solid #ffbf00!important;outline-offset:4px!important}
html.a11y-large-cursor,html.a11y-large-cursor *{cursor:crosshair!important}
html.a11y-stop-motion *,html.a11y-stop-motion *::before,html.a11y-stop-motion *::after{
  animation:none!important;transition:none!important;scroll-behavior:auto!important
}
html.a11y-readable-font body,html.a11y-readable-font button,html.a11y-readable-font input,html.a11y-readable-font select,html.a11y-readable-font textarea{
  font-family:Arial,Helvetica,sans-serif!important
}
html.a11y-line-spacing body{line-height:1.9!important}
html.a11y-line-spacing p,html.a11y-line-spacing li,html.a11y-line-spacing span{line-height:1.9!important}
html.a11y-letter-spacing body{letter-spacing:.06em!important}

/* Cookie banner */
.cookie-banner{
  position:fixed;z-index:2100;right:20px;left:20px;bottom:18px;
  max-width:860px;margin:auto;display:grid;grid-template-columns:auto 1fr auto;
  align-items:center;gap:16px;padding:16px 18px;border-radius:20px;
  background:rgba(255,255,255,.97);border:1px solid #dce9f2;
  box-shadow:0 26px 70px rgba(3,31,67,.22);backdrop-filter:blur(18px)
}
.cookie-banner-icon{
  width:48px;height:48px;border-radius:15px;display:grid;place-items:center;
  background:#edf8ff;font-size:24px
}
.cookie-banner-copy strong{display:block;color:#082b5d;font-size:13px;margin-bottom:4px}
.cookie-banner-copy p{margin:0;color:#687b90;font-size:10px;line-height:1.55}
.cookie-banner-actions{display:flex;gap:8px}
.cookie-banner button{
  border:0;border-radius:11px;padding:11px 14px;font:800 10px "Rubik",Arial,sans-serif;cursor:pointer
}
.cookie-primary{background:linear-gradient(135deg,#0787e8,#16c5f7);color:#fff}
.cookie-secondary{background:#eef5f9;color:#31516f}

/* Mobile */
@media(max-width:980px){
  .accessibility-btn{order:3;padding:0;width:42px;height:42px;justify-content:center;border-radius:50%}
  .accessibility-btn span{display:none}
  .accessibility-btn svg{width:25px;height:25px}
}
@media(max-width:620px){
  .accessibility-panel{width:min(92vw,390px)}
  .accessibility-panel-head{padding:22px 18px 15px}
  .accessibility-scroll{padding:15px 14px 24px}
  .accessibility-tools{gap:8px}
  .a11y-tool{min-height:70px}
  .cookie-banner{
    right:10px;left:10px;bottom:10px;grid-template-columns:auto 1fr;
    padding:14px;border-radius:18px
  }
  .cookie-banner-actions{grid-column:1/-1;width:100%}
  .cookie-banner button{flex:1}
}
