/* ═══════════════════════════════════════════════════════════
   KOVANSAN — Erişilebilirlik Paneli
   Kurumsal mavi/lacivert palet. Tüm ayarlar localStorage'da
   saklanır ve sayfalar arasında korunur.
   ═══════════════════════════════════════════════════════════ */

/* ─────────────────────────────────────────────
   1. GECE GÖRÜNÜMÜ
   :root token'larını yeniden tanımlar; site geneli
   bu token'ları kullandığı için tüm bileşenler uyar.
   ───────────────────────────────────────────── */
html[data-theme="dark"]{
  --paper:#0E1822; --paper-2:#131F2B; --paper-3:#1A2836; --line:#263745;
  --ink:#EAF0F6;   --ink-2:#AFBDCB;   --ink-3:#7F8E9E;
  --tint:#12293D;  --tint-2:#1A3B55;
  --blue:#4C9EE2;  --blue-d:#3E8CCB;  --blue-l:#6FB4EA;
  --sh1:0 1px 2px rgba(0,0,0,.35),0 6px 16px rgba(0,0,0,.30);
  --sh2:0 4px 10px rgba(0,0,0,.35),0 18px 44px rgba(0,0,0,.45);
  --sh3:0 20px 60px rgba(0,0,0,.55);
  color-scheme:dark;
}
html[data-theme="dark"] body{background:var(--paper)}
html[data-theme="dark"] header{background:var(--paper);box-shadow:0 1px 0 var(--line)}
html[data-theme="dark"] header.stuck{box-shadow:0 2px 24px rgba(0,0,0,.55)}
html[data-theme="dark"] .brand img{filter:brightness(1.35) saturate(1.1)}
html[data-theme="dark"] .lang{background:var(--paper-3)}
html[data-theme="dark"] .pc-img .cal{background:rgba(20,32,44,.94);color:var(--blue-l)}
html[data-theme="dark"] .gi .zi{background:rgba(20,32,44,.92);color:var(--blue-l)}
html[data-theme="dark"] .gfilter button{background:var(--paper-2)}
html[data-theme="dark"] .gfilter button em{background:var(--paper-3);color:var(--ink-3)}
html[data-theme="dark"] .btn-o{background:var(--paper-2)}
html[data-theme="dark"] .fld input,
html[data-theme="dark"] .fld textarea,
html[data-theme="dark"] .fld select{background:var(--paper-3);color:var(--ink)}
html[data-theme="dark"] .mapsec-frame{filter:saturate(.6) contrast(1.05) brightness(.82)}
html[data-theme="dark"] .cc-img,
html[data-theme="dark"] .pd-main,
html[data-theme="dark"] .gi{background:var(--paper-3)}

/* ─────────────────────────────────────────────
   2. METİN BOYUTU
   Site px tabanlı olduğu için rem yerine zoom ile
   ölçekleniyor. Panel ölçeklemenin dışında tutulur.
   ───────────────────────────────────────────── */
body[data-fs="90"]  :is(.topbar,header,.drawer,main,footer){zoom:.90}
body[data-fs="115"] :is(.topbar,header,.drawer,main,footer){zoom:1.15}
body[data-fs="130"] :is(.topbar,header,.drawer,main,footer){zoom:1.30}

/* ─────────────────────────────────────────────
   3. OKUMA YARDIMCILARI
   ───────────────────────────────────────────── */

/* Yüksek kontrast */
body.a11y-hc{--ink:#000;--ink-2:#15202B;--ink-3:#2C3A47;--line:#0D1A26;
  --paper-2:#FFF;--paper-3:#F2F5F8;--tint:#E3F0FB;--blue:#0A4E88;--blue-d:#072F52}
html[data-theme="dark"] body.a11y-hc{--ink:#FFF;--ink-2:#E6EDF4;--ink-3:#CBD6E1;--line:#FFF;
  --paper:#000;--paper-2:#0A121A;--paper-3:#111C26;--tint:#0F2C44;--blue:#79BDF2;--blue-d:#9CD0F7}
body.a11y-hc :is(.pc,.pr,.cc,.ct-form,.spec,.pd-cta,.gi,.fs-grid,.menu ul){
  border-width:2px!important;border-style:solid!important;border-color:var(--line)!important}
body.a11y-hc .btn{border-width:2px!important;border-style:solid!important}
body.a11y-hc .btn-p{border-color:var(--ink)!important}
body.a11y-hc .lead,body.a11y-hc p,body.a11y-hc .pc-b p,body.a11y-hc .pr p{color:var(--ink-2)!important}

/* Azaltılmış hareket */
body.a11y-motion *,body.a11y-motion *::before,body.a11y-motion *::after{
  animation-duration:.001ms!important;animation-iteration-count:1!important;
  transition-duration:.001ms!important;scroll-behavior:auto!important}
body.a11y-motion [data-rv]{opacity:1!important;transform:none!important}
body.a11y-motion .sc>*{opacity:1!important;transform:none!important}
body.a11y-motion .slide-img img{transform:none!important}

/* Bağlantıları vurgula */
body.a11y-links :is(main,footer,header,.drawer) a{
  text-decoration:underline!important;text-underline-offset:3px;text-decoration-thickness:2px}
body.a11y-links .btn{text-decoration:none!important}

/* Disleksi dostu */
body.a11y-dys,
body.a11y-dys :is(h1,h2,h3,h4,h5,p,li,a,span,b,small,strong,em,button,input,textarea,select,label,dt,dd){
  font-family:'OpenDyslexic','Comic Sans MS','Trebuchet MS',Verdana,Tahoma,sans-serif!important;
  letter-spacing:.04em!important;word-spacing:.12em!important}
body.a11y-dys :is(h1,h2,h3){letter-spacing:.01em!important}
body.a11y-dys main :is(p,li){line-height:2!important}

/* Odak çerçevesi */
body.a11y-focus :is(a,button,input,select,textarea,summary,[tabindex]):focus{
  outline:4px solid var(--blue)!important;outline-offset:3px!important;border-radius:4px}
html[data-theme="dark"] body.a11y-focus :is(a,button,input,select,textarea,[tabindex]):focus{
  outline-color:var(--blue-l)!important}

/* Metin aralığı (WCAG 1.4.12) */
body.a11y-spacing main :is(p,li,dd,dt,blockquote){
  line-height:1.9!important;letter-spacing:.12em!important;word-spacing:.17em!important}
body.a11y-spacing main p{margin-bottom:2em!important}
body.a11y-spacing main :is(h1,h2,h3,h4){line-height:1.4!important;letter-spacing:.02em!important}

/* Okuma kılavuzu */
.a11y-guide{position:fixed;left:0;right:0;height:54px;z-index:9400;pointer-events:none;display:none;
  background:rgba(76,158,226,.13);
  border-top:2px solid rgba(76,158,226,.75);border-bottom:2px solid rgba(76,158,226,.75);
  box-shadow:0 0 0 100vmax rgba(7,25,42,.30)}
body.a11y-guide .a11y-guide{display:block}

/* ─────────────────────────────────────────────
   4. PANEL
   ───────────────────────────────────────────── */
/* Sağ alt yığının en üstü — WhatsApp'ın üzerinde.
   Konum style.css'teki --fab-b / --fab-gap değişkenlerine bağlıdır,
   böylece üç düğme her durumda birlikte hareket eder. */
.a11y-fab{
  position:fixed;right:20px;bottom:calc(var(--fab-b) + var(--fab-gap) * 2);z-index:9500;
  width:46px;height:46px;border-radius:50%;display:grid;place-items:center;
  background:var(--blue);color:#fff;border:2px solid rgba(255,255,255,.22);
  box-shadow:0 8px 26px rgba(7,47,82,.42);
  transition:transform .35s var(--ez),background .35s,bottom .4s var(--ez)}
.a11y-fab:hover{transform:scale(1.09);background:var(--blue-d)}
.a11y-fab svg{width:23px;height:23px}

.a11y-ovl{position:fixed;inset:0;z-index:9700;background:rgba(4,20,35,.55);
  backdrop-filter:blur(3px);opacity:0;visibility:hidden;transition:opacity .35s,visibility .35s}
.a11y-ovl.on{opacity:1;visibility:visible}

.a11y-panel{
  position:fixed;top:0;left:0;bottom:0;z-index:9800;width:min(392px,100vw);
  background:linear-gradient(168deg,#0B1E31 0%,#072F52 62%,#08243C 100%);
  color:#EAF2F9;box-shadow:24px 0 70px rgba(0,0,0,.5);
  transform:translateX(-100%);visibility:hidden;
  transition:transform .45s cubic-bezier(.22,1,.36,1),visibility .45s;
  display:flex;flex-direction:column;font-family:var(--body);
}
/* Kapalıyken visibility:hidden — aksi halde ekran dışındaki
   düğmeler Tab sırasına girer ve odak "kaybolur". */
.a11y-panel.on{transform:none;visibility:visible}
@media(prefers-reduced-motion:reduce){.a11y-panel{transition:none}}

.a11y-head{padding:22px 22px 18px;border-bottom:1px solid rgba(255,255,255,.11);
  display:flex;align-items:flex-start;gap:14px;flex-shrink:0}
.a11y-head h2{font-family:var(--disp);font-size:1.32rem;font-weight:700;color:#fff;margin:0 0 4px}
.a11y-head p{margin:0;font-size:12.8px;color:rgba(255,255,255,.62);line-height:1.5}
.a11y-x{margin-left:auto;flex-shrink:0;width:44px;height:44px;border-radius:11px;
  background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.18);color:#fff;
  display:grid;place-items:center;transition:all .3s}
.a11y-x:hover{background:#fff;color:#072F52;transform:rotate(90deg)}
.a11y-x svg{width:16px;height:16px}

.a11y-body{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:20px 22px 26px}
.a11y-body::-webkit-scrollbar{width:8px}
.a11y-body::-webkit-scrollbar-track{background:transparent}
.a11y-body::-webkit-scrollbar-thumb{background:rgba(255,255,255,.16);border-radius:8px}

.a11y-grp{margin-bottom:26px}
.a11y-lbl{display:flex;align-items:center;gap:9px;margin:0 0 12px;
  font-family:var(--disp);font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:rgba(255,255,255,.55)}
.a11y-lbl svg{width:15px;height:15px;color:var(--brass-l)}

/* Seçim kartları (görünüm) */
.a11y-2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.a11y-card{padding:14px 13px;border-radius:12px;text-align:left;
  background:rgba(255,255,255,.06);border:2px solid rgba(255,255,255,.12);
  color:#fff;transition:all .3s var(--ez)}
.a11y-card:hover{background:rgba(255,255,255,.12)}
.a11y-card .ci{display:block;margin-bottom:9px;color:var(--brass-l)}
.a11y-card .ci svg{width:20px;height:20px}
.a11y-card b{display:block;font-family:var(--disp);font-size:14.5px;font-weight:700;margin-bottom:2px}
.a11y-card small{display:block;font-size:11.5px;color:rgba(255,255,255,.58);line-height:1.4}
.a11y-card[aria-pressed="true"]{background:rgba(76,158,226,.22);border-color:var(--blue-l)}
.a11y-card[aria-pressed="true"] .ci{color:var(--blue-l)}

/* Metin boyutu */
.a11y-4{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.a11y-fs{padding:12px 6px;border-radius:11px;background:rgba(255,255,255,.06);
  border:2px solid rgba(255,255,255,.12);color:#fff;transition:all .3s var(--ez);text-align:center}
.a11y-fs:hover{background:rgba(255,255,255,.12)}
.a11y-fs b{display:block;font-family:var(--disp);font-size:16px;font-weight:800;line-height:1}
.a11y-fs small{display:block;font-size:10.5px;color:rgba(255,255,255,.55);margin-top:4px}
.a11y-fs[aria-pressed="true"]{background:var(--blue);border-color:var(--blue-l)}
.a11y-fs[aria-pressed="true"] small{color:rgba(255,255,255,.85)}

/* Sesli okuma */
.a11y-tts{display:flex;align-items:center;gap:13px;padding:13px 14px;border-radius:12px;margin-bottom:9px;
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12)}
.a11y-tts .ic{width:38px;height:38px;border-radius:10px;flex-shrink:0;display:grid;place-items:center;
  background:rgba(255,255,255,.09);color:#fff}
.a11y-tts .ic svg{width:17px;height:17px}
.a11y-tts .tx{flex:1;min-width:0}
.a11y-tts b{display:block;font-family:var(--disp);font-size:14px;font-weight:600;color:#fff}
.a11y-tts small{display:block;font-size:11.5px;color:rgba(255,255,255,.55);margin-top:1px}
.a11y-play{width:40px;height:40px;border-radius:50%;flex-shrink:0;display:grid;place-items:center;
  background:var(--blue);color:#fff;transition:all .3s var(--ez)}
.a11y-play:hover{background:var(--blue-l);transform:scale(1.07)}
.a11y-play svg{width:15px;height:15px;margin-left:1px}
.a11y-play.playing{background:#D9534F}
.a11y-play.playing svg{margin-left:0}
.a11y-tts.off{opacity:.45}
.a11y-tts.off .a11y-play{pointer-events:none;background:rgba(255,255,255,.15)}

.a11y-rate{padding:14px;border-radius:12px;background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.12)}
.a11y-rate-t{display:flex;justify-content:space-between;align-items:center;margin-bottom:11px;
  font-size:13px;color:rgba(255,255,255,.78)}
.a11y-rate-t b{font-family:var(--disp);font-size:14px;color:var(--brass-l);font-weight:700}
.a11y-rate input[type=range]{width:100%;height:5px;-webkit-appearance:none;appearance:none;
  background:rgba(255,255,255,.18);border-radius:999px;outline:none}
.a11y-rate input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;
  border-radius:50%;background:#fff;border:3px solid var(--blue);cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.4)}
.a11y-rate input[type=range]::-moz-range-thumb{width:18px;height:18px;border-radius:50%;
  background:#fff;border:3px solid var(--blue);cursor:pointer}

/* Anahtarlar */
.a11y-sw{display:flex;align-items:center;gap:13px;width:100%;padding:12px 14px;border-radius:12px;
  margin-bottom:8px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.10);
  text-align:left;transition:all .3s var(--ez)}
.a11y-sw:hover{background:rgba(255,255,255,.11);border-color:rgba(255,255,255,.2)}
.a11y-sw .ic{width:36px;height:36px;border-radius:10px;flex-shrink:0;display:grid;place-items:center;
  background:rgba(255,255,255,.08);color:rgba(255,255,255,.8);transition:all .3s}
.a11y-sw .ic svg{width:17px;height:17px}
.a11y-sw .tx{flex:1;min-width:0}
.a11y-sw b{display:block;font-family:var(--disp);font-size:13.8px;font-weight:600;color:#fff;line-height:1.3}
.a11y-sw small{display:block;font-size:11.5px;color:rgba(255,255,255,.55);margin-top:2px;line-height:1.35}
.a11y-knob{width:44px;height:25px;border-radius:999px;flex-shrink:0;position:relative;
  background:rgba(255,255,255,.16);transition:background .3s var(--ez)}
.a11y-knob::after{content:"";position:absolute;top:3px;left:3px;width:19px;height:19px;border-radius:50%;
  background:#B9C6D3;transition:transform .3s var(--ez),background .3s}
.a11y-sw[aria-checked="true"]{background:rgba(76,158,226,.18);border-color:rgba(76,158,226,.45)}
.a11y-sw[aria-checked="true"] .ic{background:var(--blue);color:#fff}
.a11y-sw[aria-checked="true"] .a11y-knob{background:var(--blue)}
.a11y-sw[aria-checked="true"] .a11y-knob::after{transform:translateX(19px);background:#fff}

/* Kısayollar */
.a11y-keys{padding:15px;border-radius:12px;background:rgba(0,0,0,.22);border:1px solid rgba(255,255,255,.1)}
.a11y-keys dl{margin:0;display:grid;gap:9px}
.a11y-keys div{display:flex;align-items:center;gap:10px}
.a11y-keys dt{display:flex;align-items:center;gap:5px;flex-shrink:0;min-width:112px}
.a11y-keys kbd{font-family:ui-monospace,'SFMono-Regular',Menlo,monospace;font-size:11px;
  padding:4px 8px;border-radius:6px;background:rgba(255,255,255,.13);
  border:1px solid rgba(255,255,255,.2);border-bottom-width:2px;color:#fff}
.a11y-keys dd{margin:0;font-size:12.5px;color:rgba(255,255,255,.66)}

.a11y-reset{width:100%;margin-top:16px;padding:14px;border-radius:12px;
  background:transparent;border:1px solid rgba(255,255,255,.24);color:#fff;
  font-family:var(--disp);font-size:14px;font-weight:600;
  display:flex;align-items:center;justify-content:center;gap:10px;transition:all .3s var(--ez)}
.a11y-reset:hover{background:rgba(217,83,79,.2);border-color:#D9534F}
.a11y-reset svg{width:16px;height:16px}

.a11y-foot{margin-top:18px;text-align:center;font-size:12.3px;color:rgba(255,255,255,.5);line-height:1.6}
.a11y-foot a{color:var(--brass-l);font-weight:600;text-decoration:underline;text-underline-offset:2px}
.a11y-foot a:hover{color:#fff}

/* Panel canlı duyuru alanı (ekran okuyucu) */
.a11y-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* Panel açıkken gövde kaydırması kilitli */
body.a11y-open{overflow:hidden}

/* Panel hiçbir zaman zoom/dyslexia/spacing ayarlarından etkilenmez */
.a11y-panel,.a11y-panel *{zoom:1!important}
body.a11y-dys .a11y-panel,body.a11y-dys .a11y-panel *{
  font-family:var(--disp),var(--body),sans-serif!important;letter-spacing:normal!important;word-spacing:normal!important}
body.a11y-spacing .a11y-panel *{line-height:normal!important;letter-spacing:normal!important;word-spacing:normal!important}
