/* Erisilebilirlik modulu + cerez izni. Panel ve dugme (.ea-kok) sayfaya uygulanan ayarlardan etkilenmez. */
.ea-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.ea-atla { position: fixed; left: 12px; top: -60px; z-index: 5000; background: #00315f; color: #fff; font: 700 15px Roboto, Arial, sans-serif; padding: 12px 18px; border-radius: 12px; text-decoration: none; transition: top .2s; }
.ea-atla:focus { top: 12px; outline: 3px solid #ffd400; }

/* Dugme: kucuk, sol altta; telefonda alt sekme cubugunun ustunde */
.ea-dugme { position: fixed; left: 18px; bottom: 22px; z-index: 2450; width: 50px; height: 50px; border-radius: 50%; border: 0; cursor: pointer; color: #fff;
  background: linear-gradient(135deg, #0a5aa8, #00315f); box-shadow: 0 12px 26px -10px rgba(0,49,95,.8), 0 0 0 3px #fff; display: grid; place-items: center; transition: transform .2s; }
.ea-dugme:hover { transform: scale(1.07); }
.ea-dugme:focus-visible { outline: 3px solid #ffd400; outline-offset: 3px; }
.ea-dugme[hidden] { display: none; }
@media (max-width: 760px) { .ea-dugme { bottom: 96px; left: 12px; width: 44px; height: 44px; } }

/* Panel */
.ea-panel { position: fixed; left: 18px; bottom: 84px; z-index: 2460; width: 380px; max-height: calc(100vh - 110px); display: flex; flex-direction: column; background: #fff; color: #1d2433;
  border-radius: 22px; box-shadow: 0 30px 80px -24px rgba(12,20,36,.55), 0 0 0 1px rgba(16,24,40,.08); font: 400 14px/1.45 Roboto, Arial, sans-serif; overflow: hidden; animation: eaAc .25s ease; }
.ea-panel[hidden] { display: none; }
@keyframes eaAc { from { opacity: 0; transform: translateY(10px); } }
.ea-bas { display: flex; align-items: center; gap: 12px; padding: 14px 14px 14px 16px; background: linear-gradient(120deg, #0a5aa8, #00315f); color: #fff; }
.ea-bas-ikon { width: 40px; height: 40px; border-radius: 12px; background: rgba(255,255,255,.16); display: grid; place-items: center; flex-shrink: 0; }
.ea-bas h2 { font: 700 17px Roboto, Arial, sans-serif; margin: 0; } .ea-bas small { opacity: .85; font-size: 12px; }
.ea-bas > div { flex: 1; }
.ea-x { width: 36px; height: 36px; border-radius: 10px; border: 0; background: rgba(255,255,255,.18); color: #fff; font-size: 16px; cursor: pointer; }
.ea-govde { overflow-y: auto; padding: 6px 14px 10px; }
.ea-govde section { padding: 10px 0; border-bottom: 1px solid #f0f1f4; } .ea-govde section:last-child { border-bottom: 0; }
.ea-govde h3 { font: 700 12px Roboto, Arial, sans-serif; text-transform: uppercase; letter-spacing: .08em; color: #6b7280; margin: 0 0 8px; }
.ea-panel button { font: inherit; color: inherit; }
.ea-panel :focus-visible { outline: 3px solid #ffb800; outline-offset: 2px; }
.ea-ses { background: #f3f8ff; border-radius: 16px; padding: 12px !important; margin-top: 6px; border: 0 !important; }
.ea-ses-dugme { display: flex; gap: 6px; }
.ea-ses-dugme button { height: 42px; min-width: 42px; border-radius: 12px; border: 1px solid #d6e4f5; background: #fff; cursor: pointer; font-size: 15px; }
.ea-ses-dugme .ea-oku { flex: 1; background: #0a5aa8; color: #fff; border: 0; font-weight: 700; display: flex; align-items: center; justify-content: center; gap: 8px; }
.ea-satirk { display: flex; justify-content: space-between; align-items: center; margin-top: 10px; font-weight: 600; cursor: pointer; }
.ea-hiz { display: flex; align-items: center; gap: 5px; margin-top: 10px; font-size: 13px; color: #4b5563; } .ea-hiz span { margin-right: auto; }
.ea-hiz button { border: 1px solid #d6e4f5; background: #fff; border-radius: 8px; padding: 4px 8px; cursor: pointer; font-size: 12.5px; }
.ea-hiz button.on { background: #0a5aa8; color: #fff; border-color: #0a5aa8; }
.ea-anahtar { position: relative; width: 44px; height: 26px; flex-shrink: 0; }
.ea-anahtar input { position: absolute; inset: 0; opacity: 0; cursor: pointer; margin: 0; }
.ea-anahtar i { position: absolute; inset: 0; border-radius: 99px; background: #cfd5de; transition: background .2s; pointer-events: none; }
.ea-anahtar i::after { content: ''; position: absolute; left: 3px; top: 3px; width: 20px; height: 20px; border-radius: 50%; background: #fff; transition: transform .2s; box-shadow: 0 1px 3px rgba(0,0,0,.25); }
.ea-anahtar input:checked + i { background: #0a5aa8; } .ea-anahtar input:checked + i::after { transform: translateX(18px); }
.ea-anahtar input:focus-visible + i { outline: 3px solid #ffb800; outline-offset: 2px; }
.ea-profil { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }
.ea-profil button { display: flex; align-items: center; gap: 8px; text-align: left; border: 1.5px solid #e6e9ee; background: #fff; border-radius: 12px; padding: 9px 10px; cursor: pointer; font-weight: 600; font-size: 13px; line-height: 1.2; }
.ea-profil button span { font-size: 18px; }
.ea-profil button.on, .ea-sec.on { border-color: #0a5aa8; background: #eef5ff; color: #00315f; box-shadow: inset 0 0 0 1px #0a5aa8; }
.ea-boyut { display: flex; align-items: center; gap: 10px; }
.ea-boyut button { width: 54px; height: 42px; border-radius: 12px; border: 1.5px solid #e6e9ee; background: #fff; cursor: pointer; font-weight: 800; font-size: 16px; }
.ea-boyut output { flex: 1; text-align: center; font: 800 20px Roboto, Arial, sans-serif; color: #00315f; }
.ea-izgara { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; }
.ea-sec { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; text-align: center; min-height: 74px; border: 1.5px solid #e6e9ee; background: #fff; border-radius: 12px; padding: 8px 6px; cursor: pointer; font-size: 12px; font-weight: 600; line-height: 1.2; }
.ea-sec-ikon { font-size: 18px; font-weight: 800; line-height: 1; }
.ea-not { margin: 0; color: #6b7280; font-size: 13px; }
.ea-alt { display: flex; align-items: center; gap: 8px; padding: 10px 14px; border-top: 1px solid #eef0f3; background: #fafbfc; flex-wrap: wrap; }
.ea-alt button { border: 1px solid #e2e5ea; background: #fff; border-radius: 10px; padding: 7px 10px; cursor: pointer; font-size: 12.5px; font-weight: 600; }
.ea-alt a { margin-left: auto; color: #0a5aa8; font-weight: 700; font-size: 12.5px; text-decoration: none; }
@media (max-width: 760px) { .ea-panel { left: 0; right: 0; bottom: 0; width: 100%; max-height: 88dvh; border-radius: 22px 22px 0 0; } }

/* ---------- Sayfaya uygulanan ayarlar ---------- */
/* Filtreler (kontrast / ters renk / siyah-beyaz / doygunluk): panel ve dugme haric */
html.ea-filtre body > *:not(.ea-kok):not(.cerez-bant):not(.cerez-ortu) { filter: var(--ea-filtre); }
html.ea-koyu body > *:not(.ea-kok) :is(img, video, iframe, picture, .leaflet-tile-container) { filter: invert(1) hue-rotate(180deg); }
html.ea-koyu body { background: #000; }
/* Yazi boyutu: sayfa icerigi buyur (sabit px yazilar dahil) */
html.ea-olcekli body > :is(main, header, footer, .ust-serit, nav.alt-sekme) { zoom: var(--ea-olcek); }
html.ea-satir body > *:not(.ea-kok) * { line-height: 1.9 !important; }
html.ea-harf body > *:not(.ea-kok) * { letter-spacing: .1em !important; word-spacing: .18em !important; }
html.ea-font body > *:not(.ea-kok) * { font-family: 'Atkinson Hyperlegible', Verdana, Arial, sans-serif !important; }
html.ea-hizala main * { text-align: left !important; }
html.ea-link body > *:not(.ea-kok) a { text-decoration: underline !important; text-underline-offset: 3px; outline: 2px solid #ffb800; outline-offset: 2px; }
html.ea-baslik body > *:not(.ea-kok) :is(h1, h2, h3, h4) { outline: 3px dashed #e31e24 !important; outline-offset: 5px; }
html.ea-imlec, html.ea-imlec * { cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 24 24'%3E%3Cpath d='M4 2l15 11-6.5 1 3.8 7-2.6 1.3-3.8-7.1L4 20z' fill='%23000' stroke='%23fff' stroke-width='1.4'/%3E%3C/svg%3E") 6 3, auto !important; }
html.ea-anim *, html.ea-anim *::before, html.ea-anim *::after { animation-duration: 0s !important; animation-iteration-count: 1 !important; transition: none !important; scroll-behavior: auto !important; }
html.ea-gorsel body > *:not(.ea-kok) :is(img, video, picture, svg image) { visibility: hidden !important; }
html.ea-gorsel body > *:not(.ea-kok) [style*="background-image"] { background-image: none !important; }
html.ea-odak body > *:not(.ea-kok) :focus { outline: 4px solid #ffd400 !important; outline-offset: 3px !important; box-shadow: 0 0 0 8px #00315f !important; }
.ea-okunan { outline: 3px solid #ffb800 !important; outline-offset: 4px; background-color: rgba(255,214,0,.22) !important; border-radius: 4px; }
/* Okuma kilavuzu ve maske */
.eak-cizgi { position: fixed; left: 0; right: 0; top: 0; height: 36px; z-index: 2440; pointer-events: none; background: rgba(255,212,0,.18); border-top: 2px solid #ffb800; border-bottom: 2px solid #ffb800; }
.eak-cizgi[hidden], .eak-maske[hidden] { display: none; }
.eak-maske i { position: fixed; left: 0; right: 0; z-index: 2440; pointer-events: none; background: rgba(0,0,0,.6); }
.eak-maske i:first-child { top: 0; } .eak-maske i:last-child { bottom: 0; }

/* ---------- Cerez izni ---------- */
.cerez-bant { position: fixed; left: 18px; right: auto; bottom: 22px; z-index: 2900; width: min(560px, calc(100vw - 36px)); background: #fff; color: #1d2433; border-radius: 20px;
  box-shadow: 0 24px 60px -20px rgba(12,20,36,.5), 0 0 0 1px rgba(16,24,40,.07); font: 400 14px/1.5 Roboto, Arial, sans-serif; animation: eaAc .3s ease; }
.cb-ic { padding: 16px 18px; }
.cb-yazi b { display: block; font-size: 15.5px; margin-bottom: 4px; }
.cb-yazi p { margin: 0; color: #4b5563; font-size: 13.5px; } .cb-yazi a { color: #0a5aa8; font-weight: 600; }
.cb-dugmeler { display: flex; gap: 8px; margin-top: 12px; flex-wrap: wrap; }
.cb-btn { flex: 1 1 auto; height: 42px; padding: 0 14px; border-radius: 12px; font: 700 14px Roboto, Arial, sans-serif; cursor: pointer; border: 1.5px solid #d9dde4; background: #fff; color: #1d2433; }
.cb-btn.birincil { background: #e31e24; border-color: #e31e24; color: #fff; }
.cb-btn:focus-visible { outline: 3px solid #ffb800; outline-offset: 2px; }
@media (max-width: 760px) { .cerez-bant { left: 10px; right: 10px; width: auto; bottom: 92px; } }
.cerez-ortu { position: fixed; inset: 0; z-index: 3100; background: rgba(12,20,36,.5); display: grid; place-items: center; padding: 16px; font: 400 14px/1.5 Roboto, Arial, sans-serif; }
.cp-kutu { width: min(560px, 100%); max-height: 90vh; overflow-y: auto; background: #fff; color: #1d2433; border-radius: 22px; padding: 20px 22px; box-shadow: 0 30px 80px -24px rgba(0,0,0,.6); }
.cp-bas { display: flex; justify-content: space-between; align-items: center; } .cp-bas h2 { margin: 0; font: 800 20px Roboto, Arial, sans-serif; }
.cp-x { width: 36px; height: 36px; border-radius: 10px; border: 1px solid #e2e5ea; background: #fff; cursor: pointer; }
.cp-giris { color: #4b5563; font-size: 13.5px; }
.cp-liste { display: grid; gap: 8px; }
.cp-kat { display: flex; align-items: center; gap: 14px; border: 1px solid #eceef2; border-radius: 14px; padding: 12px 14px; cursor: pointer; }
.cp-kat.sabit { background: #f8f9fb; cursor: default; }
.cp-metin { flex: 1; } .cp-metin b { display: block; } .cp-metin small { color: #6b7280; font-size: 12.5px; }
.cp-anahtar { position: relative; width: 44px; height: 26px; flex-shrink: 0; }
.cp-anahtar input { position: absolute; inset: 0; opacity: 0; margin: 0; cursor: pointer; }
.cp-anahtar i { position: absolute; inset: 0; border-radius: 99px; background: #cfd5de; pointer-events: none; transition: background .2s; }
.cp-anahtar i::after { content: ''; position: absolute; left: 3px; top: 3px; width: 20px; height: 20px; border-radius: 50%; background: #fff; transition: transform .2s; }
.cp-anahtar input:checked + i { background: #16a34a; } .cp-anahtar input:checked + i::after { transform: translateX(18px); }
.cp-anahtar input:disabled + i { opacity: .6; }
.cp-anahtar input:focus-visible + i { outline: 3px solid #ffb800; outline-offset: 2px; }
.cp-tarih { font-size: 12px; color: #6b7280; margin: 10px 0 0; }
.cp-alt { display: flex; gap: 8px; margin-top: 16px; flex-wrap: wrap; }
.cp-link { display: inline-block; margin-top: 12px; color: #0a5aa8; font-weight: 600; font-size: 13px; }
@media print { .ea-dugme, .ea-panel, .eak-cizgi, .eak-maske, .cerez-bant, .ea-atla { display: none !important; } }
/* Cerez bandi alt ortada (sol alt erisilebilirlik, sag alt asistan dugmesi); acik erisilebilirlik paneli her zaman ustte */
@media (min-width: 761px) { .cerez-bant { left: 50%; transform: translateX(-50%); animation: none; } }
.ea-panel { z-index: 3050; }
