/* The decorative ".heading-hash" permalink icons next to <h3> headings on
   /financials are inherited from the OctoberCMS source. Their inner Froala-styled
   <img> overlays surrounding content and intercepts clicks on the balance-sheet
   download buttons. Hidden — the headings keep their id anchors. */
.heading-hash { display: none !important; }

/* Plain list of PDF links on /financials and /en/oikonomika-stoixeia. */
.sheet-list { list-style: disc; margin: 1rem 0 1.5rem 1.5rem; }
.sheet-list li { margin: .25rem 0; }
.sheet-list a { color: #6c8ac6; text-decoration: underline; }
.sheet-list a:hover, .sheet-list a:focus { text-decoration: none; }
.sheet-list span[aria-disabled="true"] { color: #888; }
html[data-contrast="high"] .sheet-list a { color: #ffd036 !important; }
html[data-contrast="high"] .sheet-list span[aria-disabled="true"] { color: #aaa !important; }

/* User accessibility preferences. Toggled via data-* attributes on <html>. */

/* Text size — scales the root font, so all rem-based sizing follows. */
html[data-text-size="lg"]  { font-size: 112.5%; }
html[data-text-size="xl"]  { font-size: 125%; }
html[data-text-size="xxl"] { font-size: 137.5%; }

/* High-contrast theme: yellow-on-black (the standard low-vision palette). */
html[data-contrast="high"] body,
html[data-contrast="high"] .off-canvas-wrapper,
html[data-contrast="high"] .off-canvas-content,
html[data-contrast="high"] .header,
html[data-contrast="high"] .moto,
html[data-contrast="high"] .card,
html[data-contrast="high"] .news-card,
html[data-contrast="high"] .marketing-site-footer {
  background: #000 !important;
  color: #ffd036 !important;
}
html[data-contrast="high"] {
  background: #000 !important;
}
html[data-contrast="high"] a,
html[data-contrast="high"] a:visited,
html[data-contrast="high"] .header-subnav li a,
html[data-contrast="high"] .menu > li > a,
html[data-contrast="high"] .topbar .menu li a,
html[data-contrast="high"] h1, html[data-contrast="high"] h2,
html[data-contrast="high"] h3, html[data-contrast="high"] h4,
html[data-contrast="high"] h5, html[data-contrast="high"] h6,
html[data-contrast="high"] p, html[data-contrast="high"] li,
html[data-contrast="high"] span, html[data-contrast="high"] strong,
html[data-contrast="high"] em, html[data-contrast="high"] label {
  color: #ffd036 !important;
}
html[data-contrast="high"] a:hover,
html[data-contrast="high"] a:focus {
  color: #fff !important;
  outline: 2px dotted #ffd036;
}
html[data-contrast="high"] .header-subnav li.active,
html[data-contrast="high"] .menu .active,
html[data-contrast="high"] .topbar .menu li.active,
html[data-contrast="high"] .header-subnav li.active > a,
html[data-contrast="high"] .menu .active > a,
html[data-contrast="high"] .topbar .menu li.active > a {
  background: #ffd036 !important;
  color: #000 !important;
}
html[data-contrast="high"] .button {
  background: #ffd036 !important;
  color: #000 !important;
  border: 2px solid #ffd036 !important;
}
html[data-contrast="high"] img {
  /* Greyscale photos under high contrast — keeps logos legible without color clashes. */
  filter: grayscale(1) contrast(1.1);
}

/* Reduce motion (overrides prefers-reduced-motion = no-preference). */
html[data-motion="reduce"] *,
html[data-motion="reduce"] *::before,
html[data-motion="reduce"] *::after {
  animation-duration: 0.001ms !important;
  animation-iteration-count: 1 !important;
  transition-duration: 0.001ms !important;
  scroll-behavior: auto !important;
}

/* Always underline links — helps low-vision users distinguish links from surrounding text. */
html[data-link-underline="always"] a {
  text-decoration: underline !important;
}

/* Visible focus reinforced site-wide — already strong in the base theme, made consistent here. */
html[data-text-size="lg"]  :focus,
html[data-text-size="xl"]  :focus,
html[data-text-size="xxl"] :focus,
html[data-contrast="high"] :focus,
html[data-link-underline="always"] :focus {
  outline: 3px solid #bd3741 !important;
  outline-offset: 2px;
}

/* The /accessibility settings panel itself. */
.a11y-panel {
  max-width: 48rem;
  margin: 2rem auto;
  padding: 1.5rem;
  border: 1px solid #cacaca;
  background: #fff;
}
.a11y-panel fieldset {
  border: 1px solid #cacaca;
  padding: 1rem 1.25rem 1.25rem;
  margin: 0 0 1rem;
}
.a11y-panel legend { font-weight: 700; padding: 0 .5rem; }
.a11y-panel .a11y-row { display: flex; flex-wrap: wrap; gap: .5rem; margin: .5rem 0; }
.a11y-panel .a11y-row label {
  display: inline-flex;
  align-items: center;
  gap: .25rem;
  padding: .35rem .75rem;
  border: 1px solid #cacaca;
  cursor: pointer;
}
.a11y-panel .a11y-row input[type="radio"]:checked + span,
.a11y-panel .a11y-row input[type="checkbox"]:checked + span {
  font-weight: 700;
}
.a11y-panel .a11y-row label:has(input:checked) {
  background: #ffd036;
  border-color: #000;
}
.a11y-panel .a11y-actions { margin-top: 1rem; }

/* High-contrast overrides for the panel itself, so its labels stay readable. */
html[data-contrast="high"] .a11y-panel {
  background: #000 !important;
  border-color: #ffd036 !important;
}
html[data-contrast="high"] .a11y-panel fieldset {
  border-color: #ffd036 !important;
}
html[data-contrast="high"] .a11y-panel legend,
html[data-contrast="high"] .a11y-panel p,
html[data-contrast="high"] .a11y-panel small {
  color: #ffd036 !important;
}
html[data-contrast="high"] .a11y-panel .a11y-row label {
  border-color: #ffd036 !important;
  background: #000 !important;
  color: #ffd036 !important;
}
html[data-contrast="high"] .a11y-panel .a11y-row label span {
  color: #ffd036 !important;
}
html[data-contrast="high"] .a11y-panel .a11y-row label:has(input:checked),
html[data-contrast="high"] .a11y-panel .a11y-row label:has(input:checked) span {
  background: #ffd036 !important;
  color: #000 !important;
}
html[data-contrast="high"] .a11y-panel .button {
  background: #ffd036 !important;
  color: #000 !important;
  border-color: #ffd036 !important;
}
