/* IL Accessibility Suite Styles (WCAG 2.1 AA / IS 5568) */
.il-a11y-root {
  --a11y-accent: #1558d6;
  position: fixed;
  bottom: 22px;
  z-index: 99980;
  font-family: 'Heebo', -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif;
  direction: rtl;
}

.il-a11y-root.is-pos-left {
  left: 20px;
}

.il-a11y-root.is-pos-right {
  right: 20px;
}

.il-a11y-trigger {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: var(--a11y-accent);
  color: #ffffff;
  border: 2px solid #ffffff;
  border-radius: 999px;
  padding: 11px 18px;
  font-family: inherit;
  font-size: 0.92rem;
  font-weight: 700;
  cursor: pointer;
  box-shadow: 0 6px 20px rgba(15, 23, 42, 0.24);
  transition: transform 0.18s ease, box-shadow 0.18s ease;
}

.il-a11y-trigger:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 26px rgba(15, 23, 42, 0.3);
}

.il-a11y-panel {
  position: fixed;
  bottom: 78px;
  width: min(370px, calc(100vw - 28px));
  max-height: calc(100vh - 110px);
  overflow-y: auto;
  background: #ffffff;
  color: #0f172a;
  border-radius: 20px;
  border: 1px solid #cbd5e1;
  box-shadow: 0 18px 48px rgba(15, 23, 42, 0.22);
  z-index: 99985;
}

.il-a11y-root.is-pos-left .il-a11y-panel {
  left: 20px;
}

.il-a11y-root.is-pos-right .il-a11y-panel {
  right: 20px;
}

.il-a11y-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 18px;
  background: var(--a11y-accent);
  color: #ffffff;
  border-radius: 19px 19px 0 0;
}

.il-a11y-title {
  margin: 0;
  font-size: 1.08rem;
  font-weight: 800;
  color: #ffffff;
}

.il-a11y-subtitle {
  font-size: 0.75rem;
  opacity: 0.88;
}

.il-a11y-close {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.35);
  background: rgba(255, 255, 255, 0.15);
  color: #ffffff;
  font-size: 1rem;
  font-weight: 700;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.il-a11y-body {
  padding: 16px;
}

.il-a11y-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.il-a11y-btn {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 11px 6px;
  border-radius: 12px;
  border: 1px solid #e2e8f0;
  background: #f8fafc;
  color: #1e293b;
  font-family: inherit;
  font-size: 0.78rem;
  font-weight: 600;
  text-align: center;
  cursor: pointer;
  transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.il-a11y-btn:hover {
  background: #eef4ff;
  border-color: var(--a11y-accent);
}

.il-a11y-btn[aria-pressed="true"] {
  background: var(--a11y-accent);
  border-color: var(--a11y-accent);
  color: #ffffff;
}

.il-a11y-ico {
  font-size: 1.15rem;
  font-weight: 800;
  line-height: 1;
}

.il-a11y-footer-actions {
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid #e2e8f0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.il-a11y-reset-btn,
.il-a11y-statement-link {
  width: 100%;
  padding: 10px 14px;
  border-radius: 10px;
  font-family: inherit;
  font-size: 0.86rem;
  font-weight: 700;
  text-align: center;
  cursor: pointer;
  text-decoration: none;
}

.il-a11y-reset-btn {
  background: #f1f5f9;
  border: 1px solid #cbd5e1;
  color: #1e293b;
}

.il-a11y-reset-btn:hover {
  background: #e2e8f0;
}

.il-a11y-statement-link {
  display: block;
  background: #eef4ff;
  border: 1px solid rgba(21, 88, 214, 0.3);
  color: #1558d6;
}

.il-a11y-reading-guide {
  position: fixed;
  left: 0;
  right: 0;
  height: 12px;
  background: rgba(250, 204, 21, 0.55);
  border-top: 2px solid #000000;
  border-bottom: 2px solid #000000;
  pointer-events: none;
  z-index: 99970;
}

/* ==========================================================================
   ACCESSIBILITY STATE MODIFIERS
   ========================================================================== */
html.il-a11y-font-1 { font-size: 17.5px !important; }
html.il-a11y-font-2 { font-size: 19px !important; }
html.il-a11y-font-3 { font-size: 21px !important; }
html.il-a11y-font-down { font-size: 14.5px !important; }

body.il-a11y-readable-font,
body.il-a11y-readable-font h1,
body.il-a11y-readable-font h2,
body.il-a11y-readable-font h3,
body.il-a11y-readable-font p,
body.il-a11y-readable-font a,
body.il-a11y-readable-font li {
  font-family: Arial, Helvetica, sans-serif !important;
  letter-spacing: 0.02em !important;
  word-spacing: 0.06em !important;
}

/* Grayscale on #page only so fixed modals/toolbars remain anchored */
body.il-a11y-grayscale #page {
  filter: grayscale(100%) !important;
}

/* High Contrast Dark */
body.il-a11y-contrast-dark,
body.il-a11y-contrast-dark #page,
body.il-a11y-contrast-dark .gn-site-header,
body.il-a11y-contrast-dark .gn-topic-bar,
body.il-a11y-contrast-dark .gn-surface-card,
body.il-a11y-contrast-dark .gn-topic-box,
body.il-a11y-contrast-dark .gn-story-card,
body.il-a11y-contrast-dark .gn-widget-card,
body.il-a11y-contrast-dark .gn-article-shell,
body.il-a11y-contrast-dark .gn-archive-hero,
body.il-a11y-contrast-dark .gn-category-lead-card,
body.il-a11y-contrast-dark .gn-grid-card,
body.il-a11y-contrast-dark .gn-site-footer,
body.il-a11y-contrast-dark .gn-footer-disclaimer {
  background: #090d16 !important;
  color: #ffffff !important;
  border-color: #fde047 !important;
}

body.il-a11y-contrast-dark #page h1,
body.il-a11y-contrast-dark #page h2,
body.il-a11y-contrast-dark #page h3,
body.il-a11y-contrast-dark #page h4,
body.il-a11y-contrast-dark #page p,
body.il-a11y-contrast-dark #page li,
body.il-a11y-contrast-dark #page span,
body.il-a11y-contrast-dark #page time {
  color: #ffffff !important;
}

body.il-a11y-contrast-dark #page a,
body.il-a11y-contrast-dark #page a span {
  color: #fde047 !important;
  text-decoration-color: #fde047 !important;
}

/* High Contrast Light */
body.il-a11y-contrast-light,
body.il-a11y-contrast-light #page,
body.il-a11y-contrast-light .gn-surface-card,
body.il-a11y-contrast-light .gn-story-card,
body.il-a11y-contrast-light .gn-article-shell {
  background: #ffffff !important;
  color: #000000 !important;
  border-color: #000000 !important;
}

body.il-a11y-contrast-light #page p,
body.il-a11y-contrast-light #page h1,
body.il-a11y-contrast-light #page h2,
body.il-a11y-contrast-light #page h3 {
  color: #000000 !important;
}

body.il-a11y-contrast-light #page a {
  color: #0022aa !important;
  text-decoration: underline !important;
}

/* Highlight Links */
body.il-a11y-highlight-links #page a {
  background-color: #fef08a !important;
  color: #000000 !important;
  text-decoration: underline !important;
  text-decoration-thickness: 2px !important;
  padding-inline: 3px !important;
  border-radius: 3px !important;
}

/* Highlight Headings */
body.il-a11y-highlight-headings #page h1,
body.il-a11y-highlight-headings #page h2,
body.il-a11y-highlight-headings #page h3,
body.il-a11y-highlight-headings #page h4 {
  background: rgba(21, 88, 214, 0.1) !important;
  border-right: 5px solid #1558d6 !important;
  padding: 4px 10px !important;
  border-radius: 6px !important;
}

/* Big Cursor */
html.il-a11y-big-cursor,
html.il-a11y-big-cursor * {
  cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='44' height='44' viewBox='0 0 44 44'%3E%3Cpath d='M7 4 L7 34 L15 26 L21 39 L26 37 L20 24 L31 24 Z' fill='%23000000' stroke='%23ffffff' stroke-width='2.5'/%3E%3C/svg%3E") 6 4, auto !important;
}

/* Stop Animations */
html.il-a11y-stop-animations *,
html.il-a11y-stop-animations *::before,
html.il-a11y-stop-animations *::after {
  animation-duration: 0.001ms !important;
  animation-iteration-count: 1 !important;
  transition-duration: 0.001ms !important;
  scroll-behavior: auto !important;
}

/* Enhanced Keyboard Focus Ring */
body.il-a11y-focus-ring *:focus,
body.il-a11y-focus-ring *:focus-visible {
  outline: 4px solid #ef4444 !important;
  outline-offset: 3px !important;
}

@media (max-width: 600px) {
  .il-a11y-trigger-label {
    display: none;
  }
  .il-a11y-trigger {
    padding: 12px;
  }
}
