/* ==========================================================================
   Accessibility widget + Cookie consent — in-house, dependency-free.
   Replaces the previous MobilDev third-party widget.
   English UI (site is en). Class-based high-contrast (NOT filter) so that
   position:fixed elements are not broken. Oto Cam Ticaret A.Ş.
   ========================================================================== */

/* ---- Accessibility: user preference classes applied on <html> ---- */

/* Font size (rem-based scale — html font-size scales all rem units) */
html.a11y-fs1 { font-size: 112.5%; }
html.a11y-fs2 { font-size: 125%; }
html.a11y-fs3 { font-size: 137.5%; }

/* High contrast (dark) — class-based colour override, no CSS filter */
html.a11y-invert,
html.a11y-invert body { background: #000 !important; color: #fff !important; }
html.a11y-invert section,
html.a11y-invert article,
html.a11y-invert aside,
html.a11y-invert header,
html.a11y-invert footer,
html.a11y-invert nav,
html.a11y-invert .navbar,
html.a11y-invert [class*="bg-"] {
  background-color: #000 !important;
  background-image: none !important;
}
html.a11y-invert h1, html.a11y-invert h2, html.a11y-invert h3,
html.a11y-invert h4, html.a11y-invert h5, html.a11y-invert p,
html.a11y-invert span, html.a11y-invert li, html.a11y-invert label,
html.a11y-invert strong, html.a11y-invert div { color: #fff !important; }
html.a11y-invert a, html.a11y-invert a * { color: #ffff00 !important; }
html.a11y-invert button,
html.a11y-invert input,
html.a11y-invert select,
html.a11y-invert textarea {
  background-color: #000 !important;
  color: #fff !important;
  border: 1px solid #fff !important;
}

/* Highlight links */
html.a11y-links a {
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
  font-weight: 700 !important;
  outline: 1px dashed currentColor;
  outline-offset: 2px;
}

/* Stop animations */
html.a11y-nomotion *,
html.a11y-nomotion *::before,
html.a11y-nomotion *::after {
  animation: none !important;
  transition: none !important;
  scroll-behavior: auto !important;
}

/* Readable spacing */
html.a11y-readable p, html.a11y-readable li, html.a11y-readable a,
html.a11y-readable span, html.a11y-readable h1, html.a11y-readable h2,
html.a11y-readable h3 {
  line-height: 1.8 !important;
  letter-spacing: 0.03em !important;
  word-spacing: 0.08em !important;
}

/* Visible keyboard focus ring */
.ags-a11y :focus-visible,
a:focus-visible, button:focus-visible, input:focus-visible,
select:focus-visible, textarea:focus-visible {
  outline: 3px solid #1d6598;
  outline-offset: 2px;
}

/* ---- Accessibility widget button + panel ---- */
.ags-a11y-btn {
  position: fixed; bottom: 16px; left: 16px; z-index: 2147483000;
  width: 52px; height: 52px; border-radius: 50%;
  background: #1d6598; color: #fff; border: 2px solid #fff;
  box-shadow: 0 6px 20px rgba(0,0,0,.25);
  display: flex; align-items: center; justify-content: center;
  cursor: pointer; padding: 0;
}
.ags-a11y-btn:hover { background: #164e75; }
.ags-a11y-btn svg { width: 28px; height: 28px; fill: currentColor; }

.ags-a11y-panel {
  position: fixed; bottom: 80px; left: 16px; z-index: 2147483000;
  width: 300px; max-width: calc(100vw - 32px);
  background: #fff; color: #222426; border: 1px solid #e2e2e2;
  border-radius: 16px; box-shadow: 0 24px 64px rgba(0,0,0,.25);
  padding: 16px; font-family: Roboto, Arial, sans-serif;
}
.ags-a11y-panel[hidden] { display: none; }
.ags-a11y-panel h2 { font-size: 18px; font-weight: 700; margin: 0 0 12px; color: #222426; }
.ags-a11y-row { margin-bottom: 12px; }
.ags-a11y-row .lbl { font-size: 13px; font-weight: 600; margin-bottom: 6px; display: block; }
.ags-a11y-fs { display: flex; align-items: center; gap: 8px; }
.ags-a11y-fs button {
  width: 36px; height: 36px; border: 1px solid #cfcfcf; border-radius: 8px;
  background: #fff; font-weight: 700; cursor: pointer;
}
.ags-a11y-fs .val { flex: 1; text-align: center; font-size: 13px; color: #555; }
.ags-a11y-opt {
  display: flex; width: 100%; align-items: center; justify-content: space-between;
  border: 1px solid #cfcfcf; border-radius: 8px; background: #fff;
  padding: 8px 12px; margin-bottom: 6px; font-size: 14px; font-weight: 500;
  color: #222426; cursor: pointer; text-align: left;
}
.ags-a11y-opt[aria-pressed="true"] { border-color: #007e34; background: #eaf7ef; color: #007e34; }
.ags-a11y-opt .sw { width: 36px; height: 20px; border-radius: 999px; background: #cfcfcf; position: relative; flex: none; }
.ags-a11y-opt[aria-pressed="true"] .sw { background: #007e34; }
.ags-a11y-opt .sw::after { content: ""; position: absolute; top: 2px; left: 2px; width: 16px; height: 16px; border-radius: 50%; background: #fff; transition: left .15s; }
.ags-a11y-opt[aria-pressed="true"] .sw::after { left: 18px; }
.ags-a11y-foot { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 4px; }
.ags-a11y-foot button { border: 1px solid #cfcfcf; border-radius: 8px; background: #fff; padding: 8px 12px; font-size: 14px; cursor: pointer; }
.ags-a11y-foot a { font-size: 13px; color: #1d6598; text-decoration: underline; }
.ags-a11y-close { position: absolute; top: 10px; right: 12px; border: 0; background: none; font-size: 22px; line-height: 1; color: #888; cursor: pointer; }

/* ---- Cookie consent banner ---- */
.ags-cookie {
  position: fixed; left: 16px; right: 16px; bottom: 16px; z-index: 2147483000;
  max-width: 720px; margin: 0 auto;
  background: #fff; color: #242424; border: 1px solid #e2e2e2;
  border-radius: 14px; box-shadow: 0 18px 54px rgba(0,0,0,.22);
  padding: 18px 20px; font-family: Roboto, Arial, sans-serif;
}
.ags-cookie[hidden] { display: none; }
.ags-cookie h3 { font-size: 17px; font-weight: 700; margin: 0 0 6px; }
.ags-cookie p { font-size: 14px; line-height: 1.5; margin: 0 0 12px; }
.ags-cookie p a { color: #1d6598; text-decoration: underline; }
.ags-cookie-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.ags-cookie-actions button { border-radius: 10px; padding: 10px 18px; font-size: 14px; font-weight: 600; cursor: pointer; border: 1px solid #cfcfcf; background: #fff; color: #242424; }
.ags-cookie-actions .primary { background: #da0a00; border-color: #da0a00; color: #fff; }
