/* Zihin Adası — uygulama kabuğu: üst çubuk, gezinme, ana ekran, ada haritası, etkinlik listesi, giriş ekranları.
   Belirteçler css/app.css'ten (--deniz, --zemin, --kum, --gunes, --metin, --a-<alan>…); burada yalnız düzen ve bileşen.
   ui.css'teki eski kabuk kuralları (.bugun ızgarası, .alt-gezinme…) bu dosyada .za kapsamıyla geçersiz kılınır.
   Kırılımlar: ≥1100 geniş (üst çubukta gezinme) · 700–1099 tablet dikey · <700 telefon · harita: ≥900 yan panel, <600 alt sayfa. */

/* ---------- kabuk ---------- */
.kabuk.za { max-width: 1240px; gap: 24px; padding-left: max(32px, env(safe-area-inset-left, 0px)); padding-right: max(32px, env(safe-area-inset-right, 0px)); padding-top: calc(4px + env(safe-area-inset-top, 0px)); }
.kabuk.za.giris { max-width: 820px; }
.za .gizli-etiket { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.za h1, .za h2, .za h3 { font-family: var(--baslik); font-weight: 800; color: var(--deniz); }

/* üst çubuk */
.za-ust { min-height: 92px; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.za-marka { display: inline-flex; align-items: center; min-height: 48px; border-radius: 16px; flex: none; }
.za-logo { display: block; height: 52px; width: auto; }
.za-ust-sag { display: flex; align-items: center; gap: 12px; min-width: 0; }
.za .za-profil { display: flex; align-items: center; gap: 10px; min-height: 52px; padding: 6px 18px 6px 6px; border-radius: 999px; border: 2px solid var(--kum-kenar, #E6D9BC); background: #fff; box-shadow: none; font-size: 17px; font-weight: 800; color: var(--metin); }
.za .za-profil:hover { border-color: var(--kum-kenar-koyu, #CFC2A0); }
.za .za-profil .profil-ad { max-width: 22ch; font-weight: 800; }
.za-yuvarlak { width: 52px; height: 52px; flex: none; border-radius: 50%; border: 2px solid var(--kum-kenar, #E6D9BC); background: #fff; color: var(--deniz); display: inline-grid; place-items: center; padding: 0; }
.za-yuvarlak:hover { border-color: var(--kum-kenar-koyu, #CFC2A0); }

/* gezinme: geniş ekranda üst çubukta, diğerlerinde altta sabit */
.za-gez { display: flex; gap: 4px; background: #fff; border: 2px solid var(--kum-kenar, #E6D9BC); border-radius: 999px; padding: 4px; }
.za-gez-oge { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; padding: 0 16px; border-radius: 999px; text-decoration: none; color: var(--metin-ikincil); font-weight: 800; font-size: 16px; white-space: nowrap; }
.za-gez-oge:hover { color: var(--deniz); background: var(--zemin); }
.za-gez-oge.etkin { background: var(--deniz); color: #fff; }
.za-ust .za-gez { margin: 0 auto; }
.za-ust { position: relative; }
@media (max-width: 1099px) {
  .za-gez { position: fixed; z-index: 25; left: 50%; transform: translateX(-50%); bottom: calc(10px + env(safe-area-inset-bottom, 0px)); width: min(560px, calc(100% - 24px)); border-radius: 22px; box-shadow: 0 10px 30px -10px rgba(10, 60, 70, .45); }
  .za-gez-oge { flex: 1; padding: 0 8px; }
}
@media (min-width: 1100px) { .za-bare > .za-gez { display: none; } }
@media (max-width: 699px) {
  .kabuk.za { padding-left: max(16px, env(safe-area-inset-left, 0px)); padding-right: max(16px, env(safe-area-inset-right, 0px)); gap: 18px; }
  .za-ust { min-height: 68px; gap: 8px; }
  .za-logo.za-logo-yatay { height: 38px; }
  .za .za-profil { padding: 4px; min-height: 52px; }
  .za .za-profil .profil-ad { display: none; }
  .za-gez { left: 0; right: 0; transform: none; width: auto; bottom: 0; border-radius: 22px 22px 0 0; border-width: 2px 0 0; padding: 6px max(8px, env(safe-area-inset-left, 0px)) calc(6px + env(safe-area-inset-bottom, 0px)) max(8px, env(safe-area-inset-right, 0px)); }
  .za-gez-oge { flex-direction: column; gap: 2px; min-height: 56px; font-size: 13px; border-radius: 16px; }
}
@media (min-width: 700px) and (max-width: 1099px) { .kabuk.za { padding-left: max(24px, env(safe-area-inset-left, 0px)); padding-right: max(24px, env(safe-area-inset-right, 0px)); } }

/* güncelleme bandı */
.za .guncelle-bant { background: #fff; border: 2px solid var(--gunes); border-radius: 20px; padding: 8px 8px 8px 16px; }

/* ---------- yıldızlar ve bölge simgesi ---------- */
.za-yildizlar { display: inline-flex; gap: 2px; flex: none; vertical-align: middle; }
.za-yildizlar svg path { fill: none; stroke: #9A8A6C; stroke-width: 1.5; stroke-linejoin: round; }
.za-yildizlar svg.dolu path { fill: var(--gunes); stroke: #B07A00; }
.bolge-ikon { width: 64px; height: 64px; border-radius: 50%; flex: none; display: inline-grid; place-items: center; }
.bolge-ikon.buyuk { width: 64px; height: 64px; }
.bolge-ikon.kucuk { width: 40px; height: 40px; }
.bolge-ikon.mini { width: 28px; height: 28px; }

/* ---------- ana ekran ---------- */
.za .bugun.za-ana { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr); gap: 24px; align-items: stretch; grid-auto-flow: row dense; }
.za .bugun.za-ana > * { grid-row: auto !important; min-width: 0; }
.za .bugun.za-ana > .olcum-kart.oncelikli, .za .bugun.za-ana > .bolgeler, .za .bugun.za-ana > .odev { grid-column: 1 / -1 !important; }
.za .bugun.za-ana > .gorev, .za .bugun.za-ana > .hafta, .za .bugun.za-ana > .olcum-kart { grid-column: 1 !important; }
.za .bugun.za-ana > .yolculuk, .za .bugun.za-ana > .baykus { grid-column: 2 !important; }
.za .bugun.za-ana > .olcum-kart:not(.oncelikli) ~ .odev { grid-column: 2 !important; }
@media (max-width: 1099px) {
  .za .bugun.za-ana { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .za .bugun.za-ana > .gorev, .za .bugun.za-ana > .baykus { grid-column: 1 / -1 !important; }
  .za .bugun.za-ana > .yolculuk { grid-column: 1 !important; }
  .za .bugun.za-ana > .hafta { grid-column: 2 !important; }
}
@media (max-width: 699px) {
  .za .bugun.za-ana { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  .za .bugun.za-ana > :is(.kart, .gorev, .bolgeler, .yolculuk, .baykus, .hafta, .olcum-kart, .odev) { grid-column: 1 !important; }
}

/* Bugünün keşfi */
.za .kesif { position: relative; overflow: hidden; min-height: 472px; background: var(--deniz); color: #fff; border-radius: 32px; padding: 40px; display: flex; flex-direction: column; justify-content: space-between; gap: 22px; box-shadow: none; border: 0; }
.kesif-cizim-kutu { position: absolute; right: -18px; bottom: -14px; width: 300px; line-height: 0; pointer-events: none; }
.kesif-cizim { width: 100%; height: auto; }
.kesif-metin { position: relative; max-width: 440px; display: flex; flex-direction: column; gap: 12px; }
.kesif-ust { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 14px; }
.kesif-etiket { margin: 0; font-size: 14px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--gunes); }
.kesif-etiket.duz { text-transform: none; letter-spacing: .02em; font-size: 16px; }
.kesif-tarih { font-size: 14px; font-weight: 700; color: #CFE6EA; }
.kesif-pill { font-size: 13px; font-weight: 800; padding: 2px 10px; border-radius: 999px; background: rgba(255, 255, 255, .14); color: #fff; }
.za .kesif h1 { margin: 0; font-size: 46px; line-height: 1.05; color: #fff; text-wrap: balance; }
.kesif .alt { margin: 0; font-size: 19px; line-height: 1.45; color: #CFE6EA; }
.za .kesif-plan { list-style: none; margin: 4px 0 0; padding: 0; display: flex; flex-direction: row; flex-wrap: wrap; gap: 8px; }
.za .kesif-plan .gorev-oge { display: block; padding: 0; background: none; border: 0; border-radius: 0; }
.plan-oge { display: inline-flex; align-items: center; gap: 10px; min-height: 48px; padding: 6px 14px 6px 6px; border-radius: 16px; border: 2px solid rgba(255, 255, 255, .28); background: rgba(255, 255, 255, .08); color: #fff; text-align: left; }
.plan-oge:hover { background: rgba(255, 255, 255, .16); }
.plan-oge .no { width: 32px; height: 32px; flex: none; border-radius: 50%; display: grid; place-items: center; border: 2px solid rgba(255, 255, 255, .6); font-family: var(--baslik); font-weight: 800; font-size: 16px; color: #fff; }
.siradaki .plan-oge { border-color: var(--gunes); background: rgba(244, 185, 66, .14); }
.siradaki .plan-oge .no { background: var(--gunes); border-color: var(--gunes); color: var(--metin); }
.bitti .plan-oge .no { background: var(--yaprak); border-color: var(--yaprak); color: #fff; }
.plan-oge .gorev-metin { display: flex; flex-direction: column; line-height: 1.2; }
.plan-oge .gorev-metin b { font-size: 15px; font-weight: 800; }
.plan-oge .gorev-metin small { font-size: 13px; font-weight: 700; color: #CFE6EA; }
.bitti .plan-oge .gorev-metin b { text-decoration: line-through; text-decoration-thickness: 2px; text-decoration-color: rgba(255, 255, 255, .55); }
.kesif-not { margin: 0; font-size: 14px; font-weight: 600; color: #B7D8DE; }
.kesif-butonlar { position: relative; display: flex; flex-wrap: wrap; align-items: center; gap: 14px; }
.za .kesif .kesif-basla { min-height: 62px; padding: 0 30px; border-radius: 20px; border: 0; background: var(--gunes); color: var(--metin); font-family: var(--baslik); font-weight: 800; font-size: 24px; gap: 10px; }
.za .kesif .kesif-basla:hover { background: var(--gunes-acik, #F7C760); }
.za .kesif .kesif-ikincil { min-height: 62px; padding: 0 22px; border-radius: 20px; border: 2px solid #7FB8C2; background: transparent; color: #fff; font-weight: 800; font-size: 18px; }
.za .kesif .kesif-ikincil:hover { background: rgba(255, 255, 255, .08); }
.za .kesif :focus-visible { outline: 4px solid var(--gunes); outline-offset: 3px; }
@media (max-width: 1099px) { .kesif-metin { max-width: 62%; } }
@media (max-width: 699px) {
  .za .kesif { min-height: 0; padding: 26px 22px 24px; border-radius: 28px; }
  .kesif-metin { max-width: none; }
  .za .kesif h1 { font-size: 34px; padding-right: 72px; }
  .kesif-ust { padding-right: 96px; }
  .kesif .alt { font-size: 17px; }
  .kesif-cizim-kutu { width: 130px; right: -14px; top: 10px; bottom: auto; opacity: .95; }
  .kesif-butonlar { flex-direction: column; align-items: stretch; }
  .za .kesif .kesif-basla, .za .kesif .kesif-ikincil { width: 100%; }
  .plan-oge { width: 100%; }
  .za .kesif-plan .gorev-oge { flex: 1 1 100%; }
}

/* Yolculuğun */
.za .yolculuk { background: #fff; border: 0; border-radius: 32px; padding: 28px; display: flex; flex-direction: column; gap: 14px; box-shadow: 0 1px 0 rgba(14, 79, 92, .1); }
.yolculuk-bas { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; }
.za .yolculuk h2 { margin: 0; font-size: 28px; }
.kucuk-not { font-size: 15px; font-weight: 700; color: var(--metin-ikincil); }
.yol-liste { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; justify-content: space-around; gap: 4px; flex-grow: 1; }
.yol-liste li { display: flex; align-items: center; gap: 12px; min-height: 38px; }
.yol-liste .nokta { width: 14px; height: 14px; border-radius: 50%; flex: none; }
.yol-liste .ad { flex-grow: 1; font-size: 17px; font-weight: 700; color: var(--metin); }
.cihaz-notu { margin: 0; border-top: 1px solid var(--cizgi); padding-top: 12px; display: flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 600; color: var(--metin-ikincil); }

/* Bölgeler */
.bolgeler { display: flex; flex-direction: column; gap: 12px; }
.za .bolgeler h2 { margin: 0; font-size: 26px; line-height: 1.1; }
.kutucuklar { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 14px; }
.kutucuk { min-height: 170px; padding: 16px 8px; background: #fff; border: 2px solid var(--cizgi); border-radius: 24px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; color: var(--metin); transition: transform .15s, border-color .15s; }
.kutucuk:hover { transform: translateY(-3px); border-color: #E0D2B0; }
.kutucuk .ad { font-size: 15px; font-weight: 800; text-align: center; line-height: 1.2; }
.kutucuk .sayi { font-size: 13px; font-weight: 700; color: var(--metin-ikincil); margin-top: -4px; }
@media (max-width: 1099px) { .kutucuk { min-height: 150px; } .kutucuk .bolge-ikon { width: 56px; height: 56px; } .kutucuklar { gap: 10px; } .kutucuk .ad { font-size: 14px; } }
@media (max-width: 759px) { .kutucuklar { grid-template-columns: repeat(3, minmax(0, 1fr)); } .kutucuk { min-height: 132px; } }
@media (prefers-reduced-motion: reduce) { .kutucuk { transition: none; } .kutucuk:hover { transform: none; } }

/* ikincil kartlar: hafta, baykuş, ölçüm, ödev */
.za .bugun.za-ana > .kart { border-radius: 28px; border: 0; background: #fff; box-shadow: 0 1px 0 rgba(14, 79, 92, .1); padding: 24px; }
.za .hafta h2, .za .baykus h2 { font-size: 22px; }
.za .gunler .gun span { border-color: var(--kum-kenar-koyu, #CFC2A0); }
.za .gunler .gun.tamam span { background: var(--yaprak); }
.za .gunler .gun.bugun span { border-color: var(--deniz); border-width: 3px; }
.za-durum { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.za .za-durum .durum-oge { display: inline-flex; align-items: center; gap: 6px; padding: 6px 14px; min-height: 40px; border-radius: 999px; background: var(--zemin); border: 2px solid var(--cizgi); font-family: var(--govde); font-size: 15px; font-weight: 700; color: var(--metin); }
.za .za-durum .durum-oge b { font-family: var(--baslik); font-size: 18px; }
.za .za-durum .seri .ikon { color: var(--mercan-koyu); }
.za .za-durum .yildiz-say .ikon { color: #B07A00; fill: var(--gunes); }
.za .za-durum .buz .ikon { color: var(--a-algi); }
.za .baykus { display: flex; gap: 16px; align-items: flex-start; }
.baykus-metin { display: flex; flex-direction: column; gap: 8px; align-items: flex-start; min-width: 0; }
.baykus-soz { margin: 0; font-size: 18px; font-weight: 800; color: var(--metin); line-height: 1.35; }
.rozet-seridi { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.rozet-seridi li { width: 36px; height: 36px; border-radius: 50%; display: grid; place-items: center; background: var(--gunes-zemin, #FDE7B0); color: #6E4A00; }
.za .olcum-kart { border-radius: 28px; }
.za .bugun.za-ana > .olcum-kart.oncelikli { border: 3px solid var(--gunes); background: #FFFCF4; box-shadow: 0 0 0 6px var(--gunes-zemin, #FDE7B0); flex-direction: row; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px 24px; }
.za .olcum-kart.oncelikli > div { flex: 1 1 320px; }
.za .olcum-kart.oncelikli .olcum-liste { flex: 1 1 100%; order: 3; }
.za .olcum-kart h3 { font-size: 22px; margin: 0; }
.za .odev summary { font-weight: 800; color: var(--deniz); }

/* ---------- ada haritası ---------- */
.kabuk.za.za-bare { max-width: none; padding: 0; gap: 0; min-height: 100vh; min-height: 100dvh; background: var(--deniz-acik); }
.za-bare > .guncelle-bant { margin: 12px 24px 0; }
.harita2 { --panel: 340px; display: grid; grid-template-columns: minmax(0, 1fr) var(--panel); gap: 24px; padding: 24px; min-height: 100vh; min-height: 100dvh; color: var(--metin); }
.harita-sol { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: calc(100dvh - 48px); min-width: 0; }
.harita-ust { position: absolute; z-index: 3; left: 0; top: 0; display: flex; align-items: center; gap: 16px; }
.za .harita-ust h1 { margin: 0; font-size: 32px; line-height: 1; color: #fff; }
.harita-ust .za-logo-ikon { height: 52px; width: 52px; }
.geri-hap { display: inline-flex; align-items: center; gap: 8px; min-height: 52px; padding: 0 20px 0 14px; border-radius: 999px; border: 0; background: #fff; color: var(--deniz); font-weight: 800; font-size: 17px; box-shadow: 0 4px 12px rgba(10, 60, 70, .25); }
.geri-hap:hover { color: var(--deniz-koyu); }
.pusula { position: absolute; left: 10px; bottom: 6px; line-height: 0; pointer-events: none; }
.ada-alan { position: relative; width: min(100%, calc((100dvh - 48px) * 860 / 834)); container-type: inline-size; }
.ada-cizim { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }
.dugumler { position: absolute; inset: 0; }
.dugum { --d: clamp(52px, 8.4cqw, 72px); position: absolute; z-index: 1; transform: translate(-50%, calc(var(--d) / -2)); display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 0; border: 0; background: transparent; color: var(--metin); }
.dugum .daire { position: relative; width: var(--d); height: var(--d); border-radius: 50%; border: 5px solid #fff; background: var(--tint); color: var(--ink); box-shadow: 0 6px 14px rgba(10, 60, 70, .35); display: grid; place-items: center; transition: transform .15s, box-shadow .15s; }
.dugum .daire .ikon { width: calc(var(--d) * .44); height: calc(var(--d) * .44); }
.dugum .sayi-rozet { position: absolute; right: -8px; top: -8px; min-width: 26px; height: 26px; padding: 0 6px; border-radius: 13px; background: var(--deniz); color: #fff; font-size: 13px; font-weight: 800; display: flex; align-items: center; justify-content: center; border: 2px solid #fff; }
.dugum .etiket { padding: 4px 12px; border-radius: 999px; background: #fff; color: var(--metin); font-size: clamp(12px, 1.75cqw, 15px); font-weight: 800; letter-spacing: 0; text-transform: none; white-space: nowrap; box-shadow: 0 2px 6px rgba(10, 60, 70, .15); }
.dugum:hover .daire { transform: scale(1.06); }
.dugum[aria-pressed="true"] { z-index: 2; }
.dugum[aria-pressed="true"] .daire { border-color: var(--mercan-koyu); box-shadow: 0 0 0 7px rgba(244, 185, 66, .9), 0 6px 14px rgba(10, 60, 70, .35); }
.dugum[aria-pressed="true"] .etiket { background: var(--deniz); color: #fff; }
.dugum:focus-visible { outline: none; }
.dugum:focus-visible .daire { outline: 4px solid var(--deniz-koyu); outline-offset: 9px; }
.dugum:focus-visible .etiket { outline: 3px solid var(--deniz-koyu); outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) { .dugum .daire { transition: none; } .dugum:hover .daire { transform: none; } }

/* bölge paneli */
.bolge-panel { position: sticky; top: 24px; align-self: start; max-height: calc(100dvh - 48px); background: #fff; border-radius: 32px; padding: 24px; display: flex; flex-direction: column; gap: 14px; box-shadow: 0 10px 30px rgba(10, 60, 70, .3); min-width: 0; }
.panel-bas { display: flex; align-items: center; gap: 14px; }
.panel-ad { min-width: 0; flex: 1; }
.za .bolge-panel h2 { margin: 0; font-size: 26px; line-height: 1.05; color: var(--deniz); }
.beceri-cip { display: inline-block; margin-top: 6px; padding: 3px 10px; border-radius: 999px; background: var(--kum); color: var(--metin); font-size: 13px; font-weight: 800; }
.panel-govde { display: flex; flex-direction: column; gap: 12px; min-height: 0; flex: 1; overflow-y: auto; margin: 0 -6px; padding: 0 6px 4px; }
.panel-aciklama { margin: 0; font-size: 16px; line-height: 1.4; color: #2C4A50; }
.duraklar { margin: 0; display: flex; align-items: center; flex-wrap: wrap; gap: 6px 10px; font-size: 14px; font-weight: 700; color: var(--metin-ikincil); }
.duraklar b { color: var(--metin); }
.durak-noktalar { display: inline-flex; gap: 4px; }
.durak-noktalar i { width: 12px; height: 12px; border-radius: 50%; border: 2px solid var(--ink); background: #fff; }
.durak-noktalar i.acik { background: var(--ink); }
.liste-bas { margin: 4px 0 0; font-size: 13px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--metin-ikincil); }
.panel-etk { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.etk { width: 100%; display: flex; align-items: center; gap: 10px; min-height: 52px; padding: 8px 12px; border-radius: 14px; border: 2px solid var(--cizgi); background: #fff; color: var(--metin); text-align: left; }
.etk:hover { border-color: #E0D2B0; background: #FFFCF4; }
.etk-metin { flex: 1; min-width: 0; display: flex; flex-direction: column; line-height: 1.25; }
.etk-metin b { font-size: 16px; font-weight: 800; }
.etk-metin small { font-size: 13px; font-weight: 600; color: var(--metin-ikincil); }
.etk.yakinda { color: var(--metin-ikincil); border-style: dashed; border-color: #DCCFB2; background: #FBF8F1; cursor: help; }
.etk.yakinda b { font-weight: 800; }
.etiket-yakinda { font-size: 12px; font-weight: 800; padding: 2px 8px; border-radius: 999px; background: #EFE6D2; color: #5A4A2A; white-space: nowrap; }
.yakinda-bilgi { margin: 6px 2px 4px; padding: 10px 12px; border-radius: 12px; background: var(--kum); font-size: 14px; font-weight: 700; line-height: 1.4; color: var(--metin); }
.liste-link { align-self: flex-start; font-size: 14px; color: var(--deniz); }
.panel-alt { display: flex; flex-direction: column; gap: 6px; flex: none; }
.za .bolge-panel .basla { width: 100%; min-height: 64px; border: 0; border-radius: 20px; background: var(--gunes); color: var(--metin); font-family: var(--baslik); font-weight: 800; font-size: 22px; gap: 10px; }
.za .bolge-panel .basla:hover { background: var(--gunes-acik, #F7C760); }
.panel-alt .siradaki { text-align: center; font-size: 13px; font-weight: 700; color: var(--metin-ikincil); }
.sayfa-tut { display: none; }

/* tablet dikey: harita üstte, panel altında */
@media (max-width: 899px) {
  .harita2 { grid-template-columns: minmax(0, 1fr); padding: 24px 24px calc(100px + env(safe-area-inset-bottom, 0px)); }
  .harita-sol { min-height: 0; padding-top: 0; }
  .ada-alan { width: 100%; margin-top: 40px; }
  .bolge-panel { position: static; max-height: none; }
  .panel-govde { overflow: visible; }
}
/* telefon: dikey ada, panel alttan açılan sayfa */
@media (max-width: 599px) {
  .harita2 { padding: 12px 16px calc(240px + env(safe-area-inset-bottom, 0px)); gap: 0; }
  .harita-ust { position: static; gap: 10px; align-self: stretch; margin-bottom: 8px; }
  .harita-ust .za-logo-ikon { display: none; }
  .za .harita-ust h1 { font-size: 24px; }
  .geri-hap { min-height: 48px; font-size: 15px; padding: 0 14px 0 10px; }
  .ada-alan { margin-top: 0; }
  .dugum { --d: 54px; }
  .dugum .daire { border-width: 4px; }
  .dugum .sayi-rozet { min-width: 22px; height: 22px; font-size: 12px; right: -6px; top: -6px; }
  .dugum .etiket { font-size: 12px; padding: 2px 8px; }
  .pusula { display: none; }
  .bolge-panel { position: fixed; z-index: 24; top: auto; left: 0; right: 0; bottom: calc(68px + env(safe-area-inset-bottom, 0px)); max-height: calc(100dvh - 140px); border-radius: 26px 26px 0 0; padding: 16px 16px 12px; gap: 10px; box-shadow: 0 -10px 30px rgba(10, 60, 70, .35); }
  .bolge-panel[data-acik="false"] .panel-govde { display: none; }
  .panel-govde { overflow-y: auto; }
  .bolge-panel .bolge-ikon.buyuk { width: 52px; height: 52px; }
  .za .bolge-panel h2 { font-size: 22px; }
  .beceri-cip { margin-top: 4px; }
  .sayfa-tut { display: inline-flex; flex-direction: column; align-items: center; justify-content: center; gap: 0; min-width: 72px; min-height: 52px; padding: 4px 8px; border-radius: 16px; border: 2px solid var(--kum-kenar, #E6D9BC); background: #fff; color: var(--deniz); font-size: 12px; font-weight: 800; }
  .za .bolge-panel .basla { min-height: 56px; font-size: 20px; }
  .panel-alt .siradaki { display: none; }
}

/* ---------- etkinlik listesi ---------- */
.za .etkinlik-sayfa { gap: 22px; }
.za .alan-blok { background: #fff; border-radius: 28px; padding: 20px; gap: 12px; box-shadow: 0 1px 0 rgba(14, 79, 92, .1); }
.alan-blok-bas { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.alan-blok-bas > div { flex: 1 1 180px; }
.alan-blok-bas .bolge-ikon { width: 52px; height: 52px; }
.za .alan-blok h2 { font-size: 24px; color: var(--deniz); display: block; }
.alan-blok-bas .btn { min-height: 48px; }
.za .etkinlik-kart { border: 2px solid var(--cizgi); border-top: 2px solid var(--cizgi); border-radius: 20px; box-shadow: none; background: #fff; color: var(--metin); min-height: 140px; }
.za .etkinlik-kart:hover { border-color: #E0D2B0; background: #FFFCF4; }
.ek-ust { display: flex; align-items: center; gap: 10px; }
.za .etkinlik-kart b { font-family: var(--baslik); font-weight: 800; font-size: 19px; color: var(--deniz); line-height: 1.15; }
.za .ek-alt { color: var(--metin-ikincil); font-weight: 700; }
.yakinda-satir { margin: 0; font-size: 14px; font-weight: 700; color: var(--metin-ikincil); }

/* gelişim */
.za .ac-ad { color: var(--metin); gap: 8px; }
.za .alan-cubuk .cubuk i { background: var(--k); }

/* ---------- giriş ekranları (kurulum, profil seçimi, mod seçimi) ---------- */
.za-giris-ust { justify-content: space-between; padding-top: 20px; }
.za-giris-marka { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.za-giris-marka.kucuk { padding-top: 16px; }
.za .giris-logo { margin: 0; line-height: 0; }
.za .giris-logo .za-logo { height: 64px; max-width: 100%; }
.za-giris-marka.kucuk .za-logo { height: 44px; }
.za-giris-marka .not { font-size: 17px; font-weight: 700; color: var(--metin-ikincil); }
.za.giris .bolum-baslik { font-size: 26px; }
.za .profil-izgara { grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 14px; }
.za .profil-kart { border-radius: 24px; border: 2px solid var(--cizgi); background: #fff; box-shadow: 0 1px 0 rgba(14, 79, 92, .1); min-height: 170px; }
.za .profil-kart:hover { border-color: #E0D2B0; transform: translateY(-2px); }
.za .profil-kart b { font-size: 18px; font-weight: 800; color: var(--metin); }
.za .profil-kart.yeni { border-style: dashed; border-color: var(--kum-kenar-koyu, #CFC2A0); background: #FFFCF4; box-shadow: none; }
.za .mod-kart, .za.giris > .kart, .za .karsilama { border-radius: 28px; border: 2px solid var(--cizgi); background: #fff; box-shadow: 0 1px 0 rgba(14, 79, 92, .1); }
.za .mod-kart:hover { border-color: #E0D2B0; }
.za .mod-kart b { font-weight: 800; color: var(--deniz); }
.za .mod-kart.kurum, .za .mod-kart.yerel, .za .kurulum { border-top-width: 2px; }
.za .mod-simge { border-radius: 50%; background: var(--a-sozel-zemin, #D3ECF1); color: var(--deniz); }
.za .mod-kart.yerel .mod-simge { background: var(--a-bellek-zemin, #D6EBD9); color: var(--a-bellek, #2F6E3E); }
.za .giris-alt { border-top: 1px solid var(--cizgi); }
@media (max-width: 599px) {
  .za-giris-ust .maskot svg { width: 72px; height: 72px; }
  .za .giris-logo .za-logo { height: 46px; }
  .za .profil-izgara { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (prefers-reduced-motion: reduce) { .za .profil-kart:hover { transform: none; } }

/* profil / ayarlar penceresi */
.profil-pencere-bas { display: flex; align-items: center; gap: 12px; }
