/* ============================================================
   rider-bolt.css — Bolt akışı yolcu ekranı stilleri (v430)
   30 Tem restyle maratonunun kalıcı hali. JS artık stil üretmez;
   davranış kodu (bant, durum makinesi, ölçüm) 27-blok.js'te.
   ============================================================ */

/* — v406: renk tonları — */
/* ============================================================
   v406 — PREMIUM RESTYLE TUR 1/4: RENK TONLARI (yalnız değişkenler)
   Saf siyah → koyu lacivert taban, sarı → şampanya altını.
   Hiçbir seçici/yerleşim değişmedi; bu blok silinirse eski renkler döner.
   Sonraki turlar: 2) harita karartma + rota parlaması, 3) cam efekti,
   4) boşluk/radius normalizasyonu — HER BİRİ ekran görüntüsüyle onaydan sonra.
   ============================================================ */
:root{
  --ink:#0A0D14; --ink2:#10141D; --panel:#10141D;
  --gold:#D6B25E; --gold2:#E4C77E;
  --line:rgba(214,178,94,.18);
  --pr-gold:#D6B25E; --pr-gold2:#E4C77E;
  --pr-surf:#10141D; --pr-surf2:#151A25;
  --rs-bg:#090C13; --rs-s1:#111624; --rs-s2:#171D2B; --rs-s3:#1D2434;
  --rs-gold:#D6B25E; --rs-goldL:#EBD59A; --rs-goldbrd:rgba(214,178,94,.65);
}

/* — v407-harita — */
html.ygo-tile-acik body.ride-map-open .leaflet-tile-pane{filter:invert(1) hue-rotate(180deg) brightness(.82) contrast(.92) saturate(.28);}/* v431: Mapbox koyu zaten dengeli — ek karartma kaldırıldı */
html.ygo-tile-koyu body.ride-map-open .leaflet-tile-pane{filter:none;}body.ride-map-open .leaflet-control-attribution{background:rgba(10,13,20,.75);color:#9aa0a6;}

/* — v408-cam — */
body.ride-map-open .premium-route-card{background:#0E1119!important;border:1px solid rgba(214,178,94,.22)!important;color:#F5F5F5!important}@supports not (backdrop-filter:blur(1px)){body.ride-map-open .premium-route-card{background:#10141D!important}}body.ride-map-open .premium-route-card small{color:#9aa0a6!important}body.ride-map-open .premium-route-card b{color:#F5F5F5!important}body.ride-map-open .premium-route-card input{color:#F5F5F5!important}body.ride-map-open .premium-route-card input::placeholder{color:#7d8894!important}body.ride-map-open .route-separator{background:rgba(255,255,255,.10)!important}body.ride-map-open .route-plus{color:#cfd4da!important}body.ride-map-open #ygoKapat{color:#cfd4da!important}body.ride-map-open .premium-route-card #addrRes{background:#10141D;border:1px solid rgba(214,178,94,.25);color:#F5F5F5}body.ride-map-open #ygoBant{background:#0E1119!important;border-top:1px solid rgba(214,178,94,.18)!important}@supports not (backdrop-filter:blur(1px)){body.ride-map-open #ygoBant{background:#0e1119!important}}

/* — v409-yerlesim — */
body.ride-map-open .vcard{border-radius:20px!important;padding:12px 16px!important}body.ride-map-open .premium-route-card{padding:8px 12px!important}body.ride-map-open .premium-payment-row{border-radius:16px!important;padding:8px 12px!important;margin:0 0 8px!important}#ygoBant{border-radius:20px 20px 0 0!important;padding:8px 12px calc(12px + env(safe-area-inset-bottom))!important}#ygoBantAlt{gap:8px!important}body.ride-map-open #panel{padding-left:12px!important;padding-right:12px!important}

/* — v410-plan — */
#ygoBantAlt{display:flex!important;flex-wrap:nowrap!important;align-items:stretch!important}#ygoBant #rBtn{min-width:0!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}#ygoBant #rPlan{flex:0 0 56px!important;width:56px!important;min-width:56px!important}

/* — v412-sigorta — */
body.ride-map-open.ygo-bantsiz #panel{padding-bottom:calc(var(--ygo-nav,96px) + 16px)!important}

/* — v416-haritadan — */
.route-map-btn{flex:0 0 auto;width:44px;height:36px;border-radius:10px;border:1px solid rgba(214,178,94,.35);background:#151A25;display:flex;align-items:center;justify-content:center;padding:0;cursor:pointer;margin-right:2px}#ygoSecIpucu{position:fixed;left:50%;transform:translateX(-50%);top:calc(env(safe-area-inset-top) + 160px);z-index:1200;background:rgba(16,20,29,.9);color:#F5F5F5;border:1px solid rgba(214,178,94,.4);border-radius:12px;padding:10px 14px;font-size:.85rem;max-width:86vw;text-align:center}

/* — v425-bolt — */
body.ygo-hedefsiz .veh-title-row{display:none!important}body.ygo-hedefsiz .premium-vehicle-list{display:none!important}body.ygo-hedefsiz #selVeh{display:none!important}body.ygo-hedefsiz #ygoBant{display:none!important}body.ygo-hedefsiz #favRow{display:none!important}body.ygo-hedefsiz #prefRow{display:none!important}body.ygo-hedefsiz #promoRow{display:none!important}body.ygo-hedefsiz #stopRow{display:none!important}.premium-route-card .route-line:not(.destination) small{display:none!important}.premium-route-card .route-line:not(.destination) b{font-size:12px!important;color:#9aa0a6!important;font-weight:600!important}.premium-route-card .route-line:not(.destination){padding:2px 0!important}.premium-route-card #searchBox .route-input-wrap{background:#1D2434;border:1px solid rgba(214,178,94,.5);border-radius:12px;padding:6px 12px}.premium-route-card #searchBox small{display:none!important}.premium-route-card #searchBox input{font-size:16px!important;font-weight:700!important}.premium-route-card .route-map-btn{display:none!important}.premium-route-card .route-plus{display:none!important}#ygoAltLinkler{display:flex;gap:18px;padding:8px 4px 2px}#ygoAltLinkler a{color:#D6B25E;font-size:13px;font-weight:700;cursor:pointer}body.ygo-hedefsiz #recentRow > *:nth-child(n+4){display:none!important}#recentRow small,#recentRow .sub,#recentRow .rc-sub{display:none!important}body:not(.ygo-hedefsiz) #recentRow{display:none!important}.premium-vehicle-list{display:flex!important;flex-direction:column!important;gap:8px!important;overflow:visible!important;height:auto!important;min-height:0!important}.premium-vehicle-list .vcard{display:flex!important;flex-direction:row!important;align-items:center!important;gap:12px!important;width:100%!important;height:auto!important;min-height:0!important;padding:10px 14px!important;border-radius:16px!important;margin:0!important}.premium-vehicle-list .vcard .vehicle-art{width:60px!important;height:38px!important;flex:0 0 60px!important;margin:0!important}.premium-vehicle-list .vcard .vehicle-art img{height:100%!important;width:auto!important;max-width:60px!important;margin:0!important;display:block!important}.premium-vehicle-list .vcard .vehicle-copy{flex:1 1 auto!important;min-width:0!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important;text-align:left!important;gap:2px!important}.premium-vehicle-list .vcard b{font-size:15px!important;margin:0!important}.premium-vehicle-list .vcard .vdesc{display:none!important}.premium-vehicle-list .vcard .vtag{font-size:10px!important}.premium-vehicle-list .vcard .ygo-sag{margin-left:auto!important;display:flex!important;flex-direction:column!important;align-items:flex-end!important;gap:2px!important}.premium-vehicle-list .vcard .vp{font-size:16px!important;margin:0!important;order:0!important}.premium-vehicle-list .vcard .ygo-eta{font-size:11px!important;margin:0!important}.premium-vehicle-list .vcard.sel::before,.premium-vehicle-list .vcard.sel::after{display:none!important}

/* — v427-kapanis — */
#payCard{display:none!important}.ride-titlebar b{display:none!important}.ride-titlebar button[data-ic="map"]{display:none!important}.ride-titlebar{min-height:0!important;padding:2px 0!important}.veh-title-row a{display:none!important}body.ygo-hedefsiz #ygoTercihBas{display:none!important}#ygoBant .premium-payment-row{min-height:52px!important}#ygoBant #rBtn{height:56px!important}#ygoBant #rPlan{height:56px!important;width:56px!important;flex:0 0 56px!important}.premium-vehicle-list .vcard.sel{background:#181D29!important;border-color:#D6B25E!important;animation:none!important;box-shadow:none!important}.premium-vehicle-list .vcard.sel *{animation:none!important}body[data-screen="s-rider"] #ygoBant #rBtn{position:static!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;transform:none!important;width:auto!important;min-width:0!important;flex:1 1 auto!important;margin:0!important}body[data-screen="s-rider"] #ygoBant #rPlan{position:static!important;left:auto!important;right:auto!important;bottom:auto!important;transform:none!important;margin:0!important;display:flex!important;align-items:center!important;justify-content:center!important}.premium-route-card{padding:6px 12px!important}.premium-route-card .route-separator{margin:4px 0!important}#ygoAltLinkler{padding:6px 4px 0!important}.premium-vehicle-list .vcard .vehicle-art{width:68px!important;flex:0 0 68px!important}.premium-vehicle-list .vcard .vehicle-art img{max-width:68px!important;filter:brightness(1.15) contrast(1.05) drop-shadow(0 5px 8px rgba(0,0,0,.45))!important}


/* ═══ v438: ADRES KARTI AKIŞTA — sabit değil ═══
   v435'te kart haritanın üstüne sabitlenmişti; Fatih haritanın ortasında
   durmasını istemedi. Artık panelin en üstünde, içerikle birlikte kayıyor. */
body.ride-map-open .premium-route-card{
  position:relative!important;
  top:auto!important; left:auto!important; right:auto!important;
  margin:0 0 10px!important;
  border-radius:18px!important;
  box-shadow:none!important;
  z-index:auto!important;
}
body.ride-map-open #s-rider .ride-titlebar{display:none!important}


/* ═══ v439: PANELİN ALTINDAKİ ÖLÜ BOŞLUK KALDIRILDI ═══
   Sabit çağır bandının arkasında içerik kalmasın diye panele alttan boşluk
   bırakılıyordu. En alta kaydırınca o boşluk çıplak siyah alan olarak
   görünüyordu ("bu boşluğa ne gerek var").
   Doğru çözüm: boşluk eklemek değil, PANELİ BANDIN ÜSTÜNDE BİTİRMEK.
   Panel zaten alta sabit; artık alt kenarı bandın yüksekliği kadar
   yukarıdan başlıyor, kaydırma alanı tam orada bitiyor. */


/* ═══ v441: SÜRÜKLENEBİLİR PANEL — Bolt gibi ═══
   Hedef seçilmemiş ekranda panel 36vh'ye SABİTLENMİŞTİ, bu yüzden v387'den
   beri var olan sürükleme hiçbir işe yaramıyordu. Artık yükseklik
   --ygo-sheet değişkenini dinliyor: yukarı çekince adres yazma alanı ve
   liste açılıyor, aşağı çekince harita tam görünüyor.
   Tutamak (üstteki gri çizgi) daha belirgin ve dokunma alanı büyütüldü. */
body.ride-map-open #panel{transition:max-height .28s cubic-bezier(.22,.61,.36,1)}
body.ygo-suruklu #panel{transition:none!important}
body.ride-map-open #panel::before{
  width:52px!important; height:5px!important;
  background:rgba(255,255,255,.30)!important;
  margin:9px auto 10px!important; border-radius:99px!important;
}

/* ═══ v442: panel tam ekrana çıkabilsin ═══
   Sürükleme kademesi %94'e çıkıyor; eski üst sınırlar buna izin vermeliydi.
   Harita tamamen kapandığında da altta çağır bandı görünür kalır. */




/* ═══ v444: GERÇEK BOTTOM SHEET — transform tabanlı ═══
   Harita arkada tam ekran sabit; panel translateY ile aşağı itiliyor.
   Sürükleme yalnız üstteki 48 px tutamaç alanında; içerik kendi kayıyor. */
body.ride-map-open #map{
  position:fixed!important; inset:0!important;
  width:100%!important; height:100dvh!important;
  min-height:0!important; z-index:1!important;
}
body.ride-map-open #panel{
  position:fixed!important; left:0!important; right:0!important; bottom:0!important;
  top:auto!important;
  height:calc(100dvh - 55px)!important;
  max-height:none!important;
  border-radius:28px 28px 0 0!important;
  z-index:1000!important;
  overflow:hidden!important;
  padding:0!important;
  transition:transform .32s cubic-bezier(.22,1,.36,1);
  will-change:transform;
  box-shadow:0 -12px 35px rgba(0,0,0,.28)!important;
}
body.ride-map-open #panel.dragging{transition:none!important}
body.ride-map-open #panel::before{display:none!important}

#sheetDragArea{
  height:48px; display:flex; align-items:center; justify-content:center;
  touch-action:none; user-select:none; -webkit-user-select:none; cursor:grab;
}
#sheetDragArea:active{cursor:grabbing}
#sheetDragArea .sheet-handle{
  width:64px; height:6px; border-radius:999px; background:rgba(255,255,255,.25);
}
#sheetContent{
  height:calc(100% - 48px);
  padding:0 14px calc(28px + env(safe-area-inset-bottom));
  overflow-y:auto; overscroll-behavior:contain; -webkit-overflow-scrolling:touch;
}
/* çağır bandı panelin üstünde kalsın */
body.ride-map-open #ygoBant{z-index:1200!important}


/* ═══ v445: sayfa kaymasını ve yatay taşmayı engelle ═══
   body'ye touch-action:none KONMADI — harita ve panel bozulurdu. */
html, body{ width:100%; overflow-x:hidden; overscroll-behavior:none; }


/* ═══ v447: panelin tam yükselmesini garantiye al ═══
   index.html'deki eski `max-height:55dvh` kaldırıldı; buna ek olarak
   kural data-v444 ile daha yüksek özgüllükte tekrar ediliyor ki
   başka bir yerden gelecek yükseklik sınırı paneli yarıda kesmesin. */
body.ride-map-open #panel[data-v444="1"]{
  position:fixed!important;
  left:0!important; right:0!important; bottom:0!important; top:auto!important;
  height:calc(100dvh - 55px)!important;
  min-height:calc(100dvh - 55px)!important;
  max-height:none!important;
  padding:0!important;
  overflow:hidden!important;
  border-radius:28px 28px 0 0!important;
}


/* ═══════════════════════════════════════════════════════════
   v448 — BOTTOM SHEET SON KURAL (dosyanın en sonunda kalmalı)
   Bu blok bilinçli olarak en sonda: eski !important'lar
   (index.html'de ~210, bu dosyada ~184 tane) paneli bir daha
   ezemesin diye. Yeni kural eklenecekse BUNUN ÜSTÜNE eklensin.
   ═══════════════════════════════════════════════════════════ */
body.ride-map-open #panel{
  position:fixed!important;
  left:0!important; right:0!important; top:auto!important; bottom:0!important;
  width:100%!important;
  height:calc(100dvh - 55px)!important;
  min-height:calc(100dvh - 55px)!important;
  max-height:none!important;
  padding:0!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
  border-radius:28px 28px 0 0!important;
}


/* ═══ v450: harita modu DIŞINDA sheet yapısı görünmesin ═══
   #panel giriş ve kurulum ekranlarını da barındırıyor. JS tarafı artık
   o ekranlarda konum vermiyor; bu blok da görsel kalıntıyı temizliyor
   (gri tutamaç, sabit yükseklik, taşma kesme). */
body:not(.ride-map-open) #sheetDragArea{display:none!important}
body:not(.ride-map-open) #sheetContent{
  height:auto!important; padding:0!important; overflow:visible!important;
}
body:not(.ride-map-open) #panel{
  transform:none!important;
  height:auto!important; min-height:0!important;
  overflow:visible!important;
}


/* ═══ v451: ALT MENÜ GERİ GELDİ ═══
   v427'de yolculuk ekranında gizlenmişti; Fatih geri istedi.
   Menü ekranın altında sabit; panel ve çağır bandı artık onun
   ÜSTÜNDE bitiyor, üstünü kapatmıyor. --ygo-nav zaten navOlc()
   tarafından ölçülüyor (v414'ten beri). */
body[data-screen="s-rider"] #botNav{
  display:flex!important;
  position:fixed!important; left:0!important; right:0!important; bottom:0!important;
  z-index:1300!important;
}
body.ride-map-open #panel{
  bottom:var(--ygo-nav,0px)!important;
  height:calc(100dvh - 55px - var(--ygo-nav,0px))!important;
  min-height:calc(100dvh - 55px - var(--ygo-nav,0px))!important;
}
body.ride-map-open #ygoBant{
  bottom:var(--ygo-nav,0px)!important;
}


/* ═══ v453: ALT MENÜ İKONLARI KIRPILMASIN ═══
   Ekran görüntüsünde ikonların üst yarısı kesikti. Sebep: 01.css'te
   `#botNav{height:72px}` sabit yüksekliği ile index.html'deki
   `padding:10px 0 calc(14px + safe-area)` + `align-items:flex-start`
   üst üste binince ikon+etiket 72px'e sığmıyor, taşan kısım kırpılıyor.
   Çözüm: sabit yükseklik yerine ALT SINIR, içerik dikeyde ortalı,
   taşma serbest. rider-bolt.css en son yüklendiği için son söz burada. */
#botNav{
  height:auto!important;
  min-height:72px!important;
  align-items:center!important;
  overflow:visible!important;
  padding-top:8px!important;
}
#botNav .bn-item{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:visible!important;
  min-width:0!important;
}
#botNav .bn-item span{ line-height:1!important; display:block!important; }
#botNav .bn-item small{ line-height:1.15!important; white-space:nowrap!important; }
/* menü her ekranda üstte kalsın — sadece yolculuk ekranında değil */
#botNav{ z-index:1600!important; }


/* ═══ v460: SEÇİLİ ARAÇ KARTI (#selVeh) TEKRARI KALDIRILDI ═══
   Ekranda seçili sınıf iki kez görünüyordu: listedeki satır ("Business
   205 ₴") ve hemen altında aynı bilgiyi tekrarlayan büyük kart
   ("Premium · Lüks · 205 ₴"). İkisi aynı şeyi anlatıyor, panel uzuyor
   ve isimler de tutmuyordu (listede Business, kartta Premium).
   Bolt düzeninde seçili satır zaten altın çerçeveyle belli. */
body.ride-map-open #selVeh{display:none!important}

/* v557: EN metinler uzun — bant düzeni taşmaları.
   1) Kare planla butonu: metin ne olursa olsun yalnız 🕐 ikonu (dil bağımsız).
   2) rider_hint dekoratif metni harita/bant modunda ödeme kartına biniyordu — gizle. */
#ygoBant #rPlan{font-size:0!important;line-height:0!important}
#ygoBant #rPlan svg{display:block;margin:auto}
#ygoBant #rPlan:not(:has(svg))::after{content:'🕐';font-size:1.35rem;line-height:1}
body.ride-map-open #s-rider .hint[data-i18n="rider_hint"]{display:none!important}

/* v585: Profil ekranı adı, yan menüdeki (.sm-user-name) zarif tipografiyle eşitlendi */
#s-account #accName{font-size:24px;line-height:28px;font-weight:760;letter-spacing:-.025em;text-transform:none}
#s-account #accPhone{font-size:.86rem;letter-spacing:.01em}
