/* Full Stack Developer Hakan Sevim */

:root{
  --yesil:#1ecf6c; --yesil-koyu:#12b85c; --yesil-acik:#e8f9f0;
  --lacivert:#0e1824; --lacivert-2:#16243a;
  --beyaz:#ffffff; --zemin:#f4f6f9; --kart:#ffffff;
  --metin:#101828; --metin-2:#667085; --metin-3:#98a2b3;
  --cizgi:#eaecf0; --kirmizi:#ef4444; --sari:#f6b73c;
  --r-kart:24px; --r-pill:16px; --r-btn:30px;
  --golge:0 12px 32px rgba(16,24,40,.10);
  --golge-sm:0 4px 16px rgba(16,24,40,.08);
  --font:'Plus Jakarta Sans',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
}

*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{height:100%;overflow:hidden}
body{
  font-family:var(--font);color:var(--metin);background:var(--zemin);
  -webkit-font-smoothing:antialiased;overscroll-behavior:none;
  position:fixed;inset:0;width:100%;
}
.uygulama{
  max-width:480px;margin:0 auto;height:100dvh;position:relative;
  background:var(--zemin);overflow:hidden;box-shadow:0 0 60px rgba(16,24,40,.06);
}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}
input,select,textarea{font-family:inherit;font-size:15px;color:var(--metin)}
a{color:inherit;text-decoration:none}
.gizli{display:none!important}

#harita{position:absolute;inset:0;z-index:0;background:#e9edf1}
.leaflet-control-attribution{font-size:9px!important;opacity:.5}
.leaflet-bar a{border-radius:12px!important}

.yuvar-btn{
  width:48px;height:48px;border-radius:50%;background:var(--beyaz);
  box-shadow:var(--golge-sm);display:grid;place-items:center;
  position:absolute;z-index:600;
}
.yuvar-btn svg{width:22px;height:22px}
.ust-sol{top:18px;left:18px}
.ust-sag{top:18px;right:18px}

.araba-ikon{width:100%;height:100%;display:block;object-fit:contain;filter:drop-shadow(0 5px 7px rgba(16,24,40,.32))}
.konum-nokta{
  width:22px;height:22px;border-radius:50%;background:var(--yesil);
  border:4px solid #fff;box-shadow:0 0 0 6px rgba(30,207,108,.25),0 4px 10px rgba(16,24,40,.2);
}

.sayfa{
  position:absolute;inset:0;z-index:500;background:var(--zemin);
  display:flex;flex-direction:column;transform:translateX(100%);
  transition:transform .32s cubic-bezier(.4,0,.2,1);
}
.sayfa.acik{transform:translateX(0)}
.sayfa-baslik{
  display:flex;align-items:center;gap:16px;padding:18px 20px 8px;
}
.sayfa-baslik h1{font-size:20px;font-weight:800;letter-spacing:-.4px;flex:1}
.geri-btn{width:44px;height:44px;border-radius:50%;background:#fff;box-shadow:var(--golge-sm);display:grid;place-items:center}
.geri-btn svg{width:20px;height:20px;color:var(--yesil-koyu)}
.sayfa-govde{flex:1;overflow-y:auto;padding:8px 20px calc(92px + env(safe-area-inset-bottom));-webkit-overflow-scrolling:touch}

.alt-katman{
  position:absolute;left:0;right:0;bottom:0;z-index:550;
  background:var(--beyaz);border-radius:28px 28px 0 0;
  box-shadow:0 -8px 40px rgba(16,24,40,.12);
  padding:10px 22px max(22px,env(safe-area-inset-bottom));
  transform:translateY(100%);transition:transform .34s cubic-bezier(.4,0,.2,1);
  max-height:88dvh;overflow-y:auto;
}
.alt-katman.acik{transform:translateY(0)}
.tutamac{width:42px;height:5px;border-radius:9px;background:#e3e7ee;margin:4px auto 16px}

.h-buyuk{font-size:27px;font-weight:800;letter-spacing:-.6px;line-height:1.15}
.muted{color:var(--metin-2)}
.kart{background:var(--kart);border-radius:var(--r-kart);box-shadow:var(--golge);padding:18px}

.guvenlik{
  display:flex;align-items:center;gap:14px;background:#fff;border-radius:20px;
  box-shadow:var(--golge);padding:14px 16px;margin:0 0 14px;
}
.guvenlik .kalkan{width:42px;height:42px;border-radius:13px;background:var(--yesil-acik);display:grid;place-items:center;flex:0 0 auto}
.guvenlik .kalkan svg{width:22px;height:22px;color:var(--yesil-koyu)}
.guvenlik b{font-size:15px;font-weight:700}
.guvenlik p{font-size:12.5px;color:var(--metin-2);margin-top:2px}
.guvenlik .ok{margin-left:auto;color:var(--metin)}

.arama-kutu{
  display:flex;align-items:center;gap:12px;background:#f1f3f6;border-radius:18px;
  padding:16px 18px;margin:18px 0 16px;
}
.arama-kutu svg{width:20px;height:20px;color:var(--metin-3);flex:0 0 auto}
.arama-kutu input{background:none;border:none;outline:none;width:100%;font-weight:600}
.arama-kutu input::placeholder{color:var(--metin-3);font-weight:600}

.ikili{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:18px}
.cip{
  display:flex;align-items:center;justify-content:center;gap:10px;
  background:#f1f3f6;border-radius:16px;padding:15px;font-weight:700;font-size:14.5px;
}
.cip svg{width:20px;height:20px}

.rota-cizgi{display:flex;gap:14px;margin:6px 0}
.rota-cizgi .ikonlar{display:flex;flex-direction:column;align-items:center;padding-top:5px}
.rota-cizgi .nk{width:14px;height:14px;border-radius:50%;border:3px solid var(--yesil)}
.rota-cizgi .nk.dolu{background:var(--yesil)}
.rota-cizgi .cizgi{width:2px;flex:1;background:var(--yesil);min-height:34px;margin:3px 0}
.rota-cizgi .bilgi{flex:1}
.rota-cizgi .et{font-size:12.5px;color:var(--metin-3);font-weight:600}
.rota-cizgi .ad{font-size:15px;font-weight:700;margin-top:1px}
.rota-ayrac{height:1px;background:var(--cizgi);margin:12px 0}

.adres-satir{display:flex;align-items:center;gap:14px;padding:14px 2px;border-bottom:1px solid #f1f3f6}
.adres-satir:last-child{border-bottom:none}
.adres-satir .pin{width:24px;height:24px;color:var(--metin-3);flex:0 0 auto}
.adres-satir .ad{font-size:14.5px;font-weight:700}
.adres-satir .alt{font-size:12.5px;color:var(--metin-3);margin-top:1px}

.btn{
  display:flex;align-items:center;justify-content:center;gap:10px;width:100%;
  border-radius:var(--r-btn);padding:18px;font-size:16px;font-weight:700;
}
.btn-koyu{background:var(--lacivert);color:#fff}
.btn-koyu:active{background:var(--lacivert-2)}
.btn-yesil{background:var(--yesil);color:#063d22}
.btn-yesil:active{background:var(--yesil-koyu)}
.btn-acik{background:var(--yesil-acik);color:var(--yesil-koyu)}
.btn-cizgi{background:#fff;border:1.5px solid var(--cizgi);color:var(--metin)}
.btn svg{width:20px;height:20px}
.btn:disabled{opacity:.5}

.arac-kart{
  display:flex;align-items:center;gap:14px;border:1.5px solid var(--cizgi);
  border-radius:18px;padding:14px 16px;margin-bottom:12px;position:relative;background:#fff;
}
.arac-kart.secili{border-color:var(--yesil);background:var(--yesil-acik)}
.arac-kart .resim{width:96px;height:60px;flex:0 0 auto;display:grid;place-items:center;margin-right:4px}
.arac-kart .resim svg{width:60px;height:40px}
.arac-kart .resim .arac-foto{width:96px;height:auto;max-height:60px;object-fit:contain;filter:drop-shadow(0 4px 6px rgba(16,24,40,.18))}
.arac-kart .ad{font-size:16px;font-weight:800}
.arac-kart .fiyat{font-size:17px;font-weight:800;margin-top:2px}
.arac-kart .detay{display:flex;gap:14px;margin-top:4px;font-size:12px;color:var(--metin-3);font-weight:600}
.arac-kart .detay span{display:flex;align-items:center;gap:4px}
.arac-kart .detay svg{width:14px;height:14px}
.arac-kart .radio{margin-left:auto;width:24px;height:24px;border-radius:50%;border:2px solid var(--cizgi);flex:0 0 auto}
.arac-kart.secili .radio{border-color:var(--yesil);background:var(--yesil);box-shadow:inset 0 0 0 4px #fff}
.populer-rozet{position:absolute;top:-10px;right:18px;background:var(--lacivert);color:#fff;font-size:11px;font-weight:700;padding:4px 12px;border-radius:10px}

.ozet-satir{display:flex;justify-content:space-around;margin:18px 0;text-align:center}
.ozet-satir .og{display:flex;align-items:center;gap:8px;font-weight:700;font-size:15px}
.ozet-satir .og svg{width:20px;height:20px;color:var(--yesil-koyu)}

.surucu-ust{display:flex;gap:16px;align-items:center;margin:16px 0}
.surucu-ust .av{width:78px;height:78px;border-radius:50%;object-fit:cover;flex:0 0 auto;background:#eef1f5}
.surucu-ust h2{font-size:24px;font-weight:800;letter-spacing:-.5px}
.surucu-ust .meta{font-size:13px;color:var(--metin-3);font-weight:600;margin-top:2px}
.yildizlar{display:flex;align-items:center;gap:3px;margin-top:7px}
.yildizlar svg{width:18px;height:18px;color:var(--sari)}
.yildizlar span{margin-left:7px;color:var(--metin-2);font-weight:700;font-size:13px}

.cizgi-ayrac{height:1px;background:var(--cizgi);margin:16px 0}
.odeme-satir{display:flex;justify-content:space-between;align-items:center;padding:5px 0}
.odeme-satir .et{color:var(--metin-2);font-size:14px;font-weight:600}
.odeme-satir .dg{font-weight:800;font-size:15px}

.istat-satir{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:20px 0}
.istat{background:#fff;border-radius:18px;box-shadow:var(--golge-sm);padding:16px 14px}
.istat .ust{display:flex;justify-content:space-between;align-items:center;color:var(--metin-2);font-size:12.5px;font-weight:600}
.istat .ust svg{width:18px;height:18px;color:var(--metin-3)}
.istat .dg{font-size:24px;font-weight:800;margin-top:8px}

.cuzdan-kart{
  display:flex;align-items:center;gap:16px;background:var(--lacivert);
  border-radius:20px;padding:22px;margin:18px 0;color:#fff;
}
.cuzdan-kart .ik{width:46px;height:46px;border-radius:14px;background:rgba(255,255,255,.08);display:grid;place-items:center}
.cuzdan-kart .ik svg{width:24px;height:24px;color:var(--yesil)}
.cuzdan-kart .tutar{font-size:22px;font-weight:800;color:var(--yesil)}
.cuzdan-kart .et{font-size:13px;opacity:.7;margin-top:1px}
.cuzdan-kart .yukle{margin-left:auto;background:var(--yesil);color:#063d22;padding:11px 16px;border-radius:13px;font-weight:700;font-size:13px}

.menu-satir{display:flex;align-items:center;gap:18px;padding:18px 4px;border-bottom:1px solid #f4f6f9}
.menu-satir svg{width:24px;height:24px;color:var(--metin-2)}
.menu-satir .ad{font-size:16px;font-weight:700}
.menu-satir.cikis{color:var(--kirmizi)}
.menu-satir.cikis svg{color:var(--kirmizi)}
.menu-satir .ok{margin-left:auto;color:var(--metin-3)}

.ride-kart{background:#fff;border-radius:22px;box-shadow:var(--golge);padding:20px;margin-bottom:18px}
.ride-ust{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
.ride-ust .tar{font-size:15px;font-weight:800}
.ride-sur{display:flex;gap:13px;align-items:center;margin-bottom:14px}
.ride-sur img{width:46px;height:46px;border-radius:50%;object-fit:cover;background:#eef1f5}
.ride-sur .ad{font-size:15px;font-weight:800}
.ride-sur .alt{font-size:12px;color:var(--metin-3);font-weight:600}
.ride-alt{display:flex;justify-content:space-between;align-items:center;margin-top:14px}
.ride-alt .fiyat{font-size:18px;font-weight:800}
.durum-rozet{padding:9px 18px;border-radius:20px;font-size:13px;font-weight:700}
.durum-tamamlandi{background:var(--lacivert);color:#fff}
.durum-iptal{background:#fdecec;color:var(--kirmizi)}
.durum-aktif{background:var(--yesil-acik);color:var(--yesil-koyu)}

.giris-ekran{
  position:absolute;inset:0;z-index:700;background:var(--beyaz);
  display:flex;flex-direction:column;padding:0 26px env(safe-area-inset-bottom);overflow-y:auto;
}
.giris-ust{flex:0 0 auto;padding:max(60px,calc(env(safe-area-inset-top) + 44px)) 0 6px;display:flex;flex-direction:column;align-items:center;text-align:center}
.giris-ust.kompakt{padding-top:max(48px,calc(env(safe-area-inset-top) + 34px))}
.marka-rozet{width:108px;height:108px;filter:drop-shadow(0 20px 38px rgba(18,184,92,.34))}
.giris-ust.kompakt .marka-rozet{width:80px;height:80px}
.marka-rozet svg{width:100%;height:100%;display:block}
.marka-yazi{margin-top:22px;font-size:32px;font-weight:800;letter-spacing:-1.2px;color:var(--lacivert)}
.giris-ust.kompakt .marka-yazi{margin-top:16px;font-size:26px}
.marka-yazi span{color:var(--yesil-koyu)}
.marka-alt{margin-top:8px;color:var(--metin-2);font-weight:600;font-size:14.5px}
.giris-form{flex:1;display:flex;flex-direction:column;justify-content:center;padding:26px 0 14px}
.giris-form h2{font-size:25px;font-weight:800;letter-spacing:-.5px}
.giris-form p.alt{color:var(--metin-2);margin:6px 0 22px;font-size:14.5px}
.alan{margin-bottom:14px}
.alan label{display:block;font-size:13px;font-weight:700;color:var(--metin-2);margin-bottom:7px}
.alan .kutu{display:flex;align-items:center;gap:10px;background:#f4f6f9;border:1.5px solid transparent;border-radius:15px;padding:15px 16px}
.alan .kutu:focus-within{border-color:var(--yesil);background:#fff}
.alan .kutu svg{width:20px;height:20px;color:var(--metin-3);flex:0 0 auto}
.alan .kutu input{background:none;border:none;outline:none;width:100%;font-weight:600}
.alan .on{font-weight:800;color:var(--metin)}
.giris-alt{text-align:center;padding:18px 0;font-size:14px;color:var(--metin-2);font-weight:600}
.giris-alt b{color:var(--yesil-koyu)}
.hata-kutu{background:#fdecec;color:var(--kirmizi);border-radius:13px;padding:13px 15px;font-size:13.5px;font-weight:600;margin-bottom:14px}

.otp-haneler{display:flex;gap:10px;justify-content:space-between;margin:8px 0 20px}
.otp-haneler input{width:100%;aspect-ratio:1;text-align:center;font-size:24px;font-weight:800;background:#f4f6f9;border:1.5px solid transparent;border-radius:15px;outline:none}
.otp-haneler input:focus{border-color:var(--yesil);background:#fff}

.araniyor-anim{display:flex;flex-direction:column;align-items:center;padding:18px 0 8px}
.puls{width:96px;height:96px;border-radius:50%;background:var(--yesil-acik);display:grid;place-items:center;position:relative}
.puls::before,.puls::after{content:'';position:absolute;inset:0;border-radius:50%;border:2px solid var(--yesil);animation:puls 1.8s ease-out infinite}
.puls::after{animation-delay:.9s}
.puls svg{width:42px;height:42px;color:var(--yesil-koyu);z-index:1}
@keyframes puls{0%{transform:scale(.6);opacity:.9}100%{transform:scale(1.7);opacity:0}}

.toast{
  position:fixed;left:50%;top:max(16px,calc(env(safe-area-inset-top) + 12px));transform:translateX(-50%) translateY(-180%);
  background:var(--lacivert);color:#fff;padding:14px 22px;border-radius:16px;
  font-size:14px;font-weight:700;z-index:1200;transition:transform .35s cubic-bezier(.2,.8,.2,1);max-width:90%;text-align:center;box-shadow:0 10px 28px rgba(16,24,40,.28);
}
.toast.goster{transform:translateX(-50%) translateY(0)}

.yukleniyor{display:inline-block;width:18px;height:18px;border:2.5px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:don .7s linear infinite}
@keyframes don{to{transform:rotate(360deg)}}

.oneri-liste{position:absolute;left:22px;right:22px;background:#fff;border-radius:18px;box-shadow:var(--golge);margin-top:6px;z-index:20;overflow:hidden;max-height:300px;overflow-y:auto}
.oneri-liste .adres-satir{padding:14px 16px;cursor:pointer}
.oneri-liste .adres-satir:active{background:var(--zemin)}

.modal-fon{position:absolute;inset:0;z-index:800;background:rgba(16,24,40,.45);display:none;align-items:flex-end}
.modal-fon.acik{display:flex}
.modal{background:#fff;width:100%;border-radius:28px 28px 0 0;padding:24px 22px max(22px,env(safe-area-inset-bottom))}
.modal h3{font-size:20px;font-weight:800;margin-bottom:4px}
.modal p{color:var(--metin-2);font-size:14px;margin-bottom:18px}
.secenek{display:flex;align-items:center;gap:14px;padding:16px;border:1.5px solid var(--cizgi);border-radius:16px;margin-bottom:12px;font-weight:700}
.secenek.secili{border-color:var(--yesil);background:var(--yesil-acik)}
.secenek svg{width:24px;height:24px;color:var(--metin-2)}
.secenek.secili svg{color:var(--yesil-koyu)}
.secenek .radio{margin-left:auto;width:22px;height:22px;border-radius:50%;border:2px solid var(--cizgi)}
.secenek.secili .radio{border-color:var(--yesil);background:var(--yesil);box-shadow:inset 0 0 0 4px #fff}

.miktar-cip{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:14px 0}
.miktar-cip button{background:#f4f6f9;border-radius:14px;padding:15px;font-weight:800;font-size:16px}
.miktar-cip button.secili{background:var(--yesil-acik);color:var(--yesil-koyu);outline:2px solid var(--yesil)}


/* === Faz 3 ek bileşenler === */
.ev-is{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px}
.ev-is .kis{display:flex;align-items:center;gap:11px;background:#fff;border:1.5px solid var(--cizgi);border-radius:16px;padding:13px 14px}
.ev-is .kis .ik{width:38px;height:38px;border-radius:11px;background:var(--yesil-acik);display:grid;place-items:center;flex:0 0 auto}
.ev-is .kis .ik svg{width:19px;height:19px;color:var(--yesil-koyu)}
.ev-is .kis .ad{font-size:14px;font-weight:700}
.ev-is .kis .alt{font-size:11px;color:var(--metin-3);font-weight:600;margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:90px}

.promo-satir{display:flex;align-items:center;gap:12px;background:var(--yesil-acik);border-radius:16px;padding:15px 16px;margin-bottom:14px;font-weight:700;font-size:14.5px;color:var(--yesil-koyu)}
.promo-satir svg{width:20px;height:20px;flex:0 0 auto}
.promo-satir span{flex:1}
.promo-satir .ok{width:18px;height:18px}
.promo-satir.uygulandi{background:var(--yesil);color:#063d22}

.konum-secici{position:absolute;inset:0;z-index:760;background:#fff;display:none}
.konum-secici.acik{display:block}
#seciciHarita{position:absolute;inset:0;z-index:0}
.secici-pin{position:absolute;top:50%;left:50%;transform:translate(-50%,-100%);z-index:5;pointer-events:none;filter:drop-shadow(0 6px 8px rgba(16,24,40,.3))}
.secici-pin svg{width:36px;height:54px}
.secici-geri{position:absolute;top:18px;left:18px;z-index:6}
.secici-alt{position:absolute;left:0;right:0;bottom:0;z-index:6;background:#fff;border-radius:24px 24px 0 0;box-shadow:0 -8px 30px rgba(16,24,40,.15);padding:18px 20px max(20px,env(safe-area-inset-bottom))}
.secici-adres{font-size:15px;font-weight:700;margin-bottom:14px;min-height:22px}

.adres-yonet{display:flex;align-items:center;gap:14px;background:#fff;border-radius:18px;box-shadow:var(--golge-sm);padding:16px;margin-bottom:12px}
.adres-yonet .ik{width:44px;height:44px;border-radius:13px;background:var(--yesil-acik);display:grid;place-items:center;flex:0 0 auto}
.adres-yonet .ik svg{width:21px;height:21px;color:var(--yesil-koyu)}
.adres-yonet .ad{font-size:15px;font-weight:700}
.adres-yonet .alt{font-size:12.5px;color:var(--metin-3);font-weight:600;margin-top:1px}
.adres-yonet .sil{margin-left:auto;width:38px;height:38px;border-radius:11px;background:#fdecec;display:grid;place-items:center;flex:0 0 auto}
.adres-yonet .sil svg{width:18px;height:18px;color:var(--kirmizi)}
.cip.secili{background:var(--yesil-acik);color:var(--yesil-koyu);outline:2px solid var(--yesil)}
.eta-rozet{display:inline-flex;align-items:center;gap:7px;background:var(--yesil-acik);color:var(--yesil-koyu);padding:7px 14px;border-radius:20px;font-weight:700;font-size:13px;margin-top:8px}
.eta-rozet svg{width:15px;height:15px}

.zaman-sec{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:4px 0 12px}
.zaman-cip{display:flex;align-items:center;justify-content:center;gap:8px;padding:13px;border:1.5px solid var(--cizgi);border-radius:15px;background:#fff;font-weight:700;font-size:14px;color:var(--metin)}
.zaman-cip svg{width:19px;height:19px;color:var(--metin-2)}
.zaman-cip.secili{border-color:var(--yesil);background:var(--yesil-acik);color:var(--yesil-koyu)}
.zaman-cip.secili svg{color:var(--yesil-koyu)}
.zaman-kutu{margin-bottom:12px}
.zaman-kutu input{width:100%;background:#f4f6f9;border:1.5px solid transparent;border-radius:15px;padding:14px 16px;font-weight:700;color:var(--metin);outline:none}
.zaman-kutu input:focus{border-color:var(--yesil)}

.puan-hero{background:linear-gradient(140deg,var(--lacivert),var(--lacivert-2));color:#fff;border-radius:22px;padding:24px;margin:6px 0 18px;position:relative;overflow:hidden}
.puan-hero .deg{position:absolute;right:-30px;top:-30px;width:140px;height:140px;border-radius:50%;background:rgba(30,207,108,.18)}
.puan-hero .et{font-size:13px;opacity:.8;font-weight:700;display:flex;align-items:center;gap:7px}
.puan-hero .et svg{width:18px;height:18px;color:var(--yesil)}
.puan-hero .dg{font-size:40px;font-weight:800;margin:8px 0 2px;letter-spacing:-1px}
.puan-hero .alt{font-size:13.5px;opacity:.85;font-weight:600}
.puan-bozum{display:flex;align-items:center;gap:12px;background:var(--yesil-acik);border-radius:16px;padding:14px 16px;margin-bottom:18px}
.puan-bozum .bilgi{flex:1}
.puan-bozum .bilgi .a{font-weight:800;font-size:15px;color:var(--metin)}
.puan-bozum .bilgi .b{font-size:12.5px;color:var(--yesil-koyu);font-weight:700;margin-top:2px}
.puan-bozum button{background:var(--yesil);color:#063d22;border:none;padding:11px 18px;border-radius:13px;font-weight:800;font-size:13.5px;font-family:inherit}
.puan-bozum button:disabled{opacity:.45}

.fav-kart{display:flex;align-items:center;gap:14px;background:#fff;border-radius:18px;box-shadow:var(--golge-sm);padding:14px;margin-bottom:12px}
.fav-kart img{width:54px;height:54px;border-radius:14px;object-fit:cover;flex:0 0 auto}
.fav-kart .ad{font-size:15.5px;font-weight:800}
.fav-kart .meta{font-size:12.5px;color:var(--metin-3);font-weight:600;margin-top:2px}
.fav-kart .puanc{display:inline-flex;align-items:center;gap:4px;font-size:12.5px;font-weight:700;color:var(--metin-2);margin-top:4px}
.fav-kart .puanc svg{width:14px;height:14px;color:var(--sari);fill:var(--sari)}
.fav-kart .sil{margin-left:auto;width:40px;height:40px;border-radius:12px;background:#fdecec;display:grid;place-items:center;flex:0 0 auto}
.fav-kart .sil svg{width:20px;height:20px;color:var(--kirmizi)}
.fav-btn{width:34px;height:34px;border-radius:10px;border:1.5px solid var(--cizgi);background:#fff;display:grid;place-items:center;flex:0 0 auto}
.fav-btn svg{width:18px;height:18px;color:var(--metin-3)}
.fav-btn.aktif{border-color:var(--kirmizi);background:#fdecec}
.fav-btn.aktif svg{color:var(--kirmizi);fill:var(--kirmizi)}

.planli-kart{background:#fff;border-radius:18px;box-shadow:var(--golge-sm);padding:16px;margin-bottom:12px}
.planli-kart .tar{display:inline-flex;align-items:center;gap:8px;background:var(--yesil-acik);color:var(--yesil-koyu);padding:7px 13px;border-radius:12px;font-weight:800;font-size:13px}
.planli-kart .tar svg{width:16px;height:16px}
.planli-kart .durumc{margin-left:auto;font-size:12px;font-weight:700;padding:5px 11px;border-radius:20px}
.planli-kart .d-bekliyor{background:#fff6e6;color:#a86600}
.planli-kart .d-olusturuldu{background:var(--yesil-acik);color:var(--yesil-koyu)}
.planli-kart .alt-bar{display:flex;align-items:center;margin-top:14px;gap:12px}
.planli-kart .fiyat{font-size:18px;font-weight:800}
.planli-kart .iptal{margin-left:auto;background:#fff;border:1.5px solid var(--cizgi);color:var(--kirmizi);padding:9px 15px;border-radius:12px;font-weight:700;font-size:13px;font-family:inherit}

.sss-grup{margin-bottom:18px}
.sss-oge{border:1.5px solid var(--cizgi);border-radius:15px;margin-bottom:10px;overflow:hidden}
.sss-oge .s{display:flex;align-items:center;gap:12px;padding:15px 16px;font-weight:700;font-size:14.5px;cursor:pointer}
.sss-oge .s svg{width:20px;height:20px;color:var(--metin-3);margin-left:auto;flex:0 0 auto;transition:transform .2s}
.sss-oge.acik .s svg{transform:rotate(180deg)}
.sss-oge .c{max-height:0;overflow:hidden;transition:max-height .25s ease;color:var(--metin-2);font-size:13.5px;line-height:1.6;font-weight:500}
.sss-oge.acik .c{max-height:260px;padding:0 16px 16px}
.iletisim-bar{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:20px}
.iletisim-bar a{display:flex;flex-direction:column;align-items:center;gap:7px;background:#fff;border:1.5px solid var(--cizgi);border-radius:16px;padding:15px 8px;font-weight:700;font-size:12.5px;color:var(--metin)}
.iletisim-bar a svg{width:22px;height:22px;color:var(--yesil-koyu)}
.talep-kart{display:flex;align-items:center;gap:14px;background:#fff;border-radius:16px;box-shadow:var(--golge-sm);padding:15px;margin-bottom:11px;cursor:pointer}
.talep-kart .ik{width:42px;height:42px;border-radius:12px;background:var(--yesil-acik);display:grid;place-items:center;flex:0 0 auto}
.talep-kart .ik svg{width:21px;height:21px;color:var(--yesil-koyu)}
.talep-kart .ad{font-size:14.5px;font-weight:800}
.talep-kart .alt{font-size:12px;color:var(--metin-3);font-weight:600;margin-top:2px}
.talep-kart .rz{margin-left:auto;font-size:11px;font-weight:700;padding:5px 10px;border-radius:20px;flex:0 0 auto}
.rz-acik{background:#fff6e6;color:#a86600}
.rz-yanitlandi{background:var(--yesil-acik);color:var(--yesil-koyu)}
.rz-kapali{background:#f1f3f6;color:var(--metin-2)}
.mesaj-balon{max-width:82%;padding:12px 15px;border-radius:16px;font-size:14px;font-weight:500;line-height:1.5;margin-bottom:10px}
.mesaj-balon .z{font-size:11px;font-weight:600;margin-top:5px;opacity:.7}
.mesaj-musteri{background:var(--yesil);color:#063d22;margin-left:auto;border-bottom-right-radius:5px}
.mesaj-destek{background:#fff;color:var(--metin);box-shadow:var(--golge-sm);border-bottom-left-radius:5px}
.destek-giris{position:sticky;bottom:0;background:var(--zemin);padding:12px 0 4px;display:flex;gap:10px}
.destek-giris textarea{flex:1;background:#fff;border:1.5px solid var(--cizgi);border-radius:15px;padding:13px 15px;font-weight:600;resize:none;outline:none;max-height:90px}
.destek-giris textarea:focus{border-color:var(--yesil)}
.destek-giris button{width:50px;border:none;background:var(--lacivert);border-radius:15px;display:grid;place-items:center;flex:0 0 auto}
.destek-giris button svg{width:22px;height:22px;color:#fff}

#anaSheet{bottom:calc(60px + env(safe-area-inset-bottom))}
.tab-bar{position:absolute;left:0;right:0;bottom:0;z-index:560;display:flex;align-items:stretch;background:rgba(255,255,255,.94);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-top:1px solid var(--cizgi);padding:8px 8px max(8px,env(safe-area-inset-bottom))}
.tab-bar.gizli{display:none}
.tab-bar .oge{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;padding:6px 0;background:none;border:none;color:var(--metin-3);font-weight:600;font-size:11px;letter-spacing:-.2px;transition:color .15s}
.tab-bar .oge svg{width:25px;height:25px;transition:transform .15s}
.tab-bar .oge:active svg{transform:scale(.9)}
.tab-bar .oge.aktif{color:var(--yesil-koyu)}
.tab-bar .oge.aktif svg{stroke-width:2.3}

.marka-logo{width:100%;display:flex;justify-content:center}
.marka-logo img{width:250px;max-width:74%;height:auto;display:block;filter:drop-shadow(0 14px 26px rgba(16,24,40,.16))}
.giris-ust.kompakt .marka-logo img{width:190px}
.splash{position:fixed;inset:0;z-index:3000;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:30px;transition:opacity .5s ease,visibility .5s}
.splash.kapali{opacity:0;visibility:hidden;pointer-events:none}
.splash img{width:62%;max-width:300px;height:auto;animation:splashIn .7s cubic-bezier(.2,.8,.2,1)}
.splash .yuk{width:34px;height:34px;border:3px solid #f0f0f0;border-top-color:var(--yesil);border-radius:50%;animation:splashSpin .8s linear infinite}
@keyframes splashIn{from{opacity:0;transform:scale(.84)}to{opacity:1;transform:scale(1)}}
@keyframes splashSpin{to{transform:rotate(360deg)}}

.pin-kutu{display:flex;align-items:center;gap:12px;background:var(--lacivert);color:#fff;border-radius:16px;padding:14px 18px;margin-bottom:14px}
.pin-kutu .et{font-size:13px;font-weight:700}
.pin-kutu .alt{font-size:11.5px;opacity:.7;font-weight:600;margin-top:2px}
.pin-kutu .kod{margin-left:auto;font-size:25px;font-weight:800;letter-spacing:2px;color:var(--yesil)}
.pin-kutu .kod span{opacity:.35;margin:0 1px}
.takip-aksiyon{display:flex;gap:10px;margin-bottom:16px}
.takip-aksiyon button{flex:1;display:flex;flex-direction:column;align-items:center;gap:5px;background:var(--zemin);border:none;border-radius:14px;padding:12px 6px;font-weight:700;font-size:12px;color:var(--metin);position:relative;cursor:pointer}
.takip-aksiyon button svg{width:21px;height:21px;color:var(--yesil-koyu)}
.takip-aksiyon button.sos{background:#fdecec;color:var(--kirmizi)}
.takip-aksiyon button.sos svg{color:var(--kirmizi)}
.rozet-say{position:absolute;top:8px;right:50%;transform:translateX(20px);background:var(--kirmizi);color:#fff;font-size:10px;font-weight:800;min-width:17px;height:17px;border-radius:9px;display:grid;place-items:center;padding:0 4px}
.bahsis-secim{display:flex;gap:8px}
.bahsis-cip{flex:1;background:var(--zemin);border:1.5px solid transparent;border-radius:13px;padding:12px 6px;font-weight:800;font-size:14px;color:var(--metin);cursor:pointer}
.bahsis-cip.aktif{background:var(--yesil-acik);color:var(--yesil-koyu);border-color:var(--yesil)}
.mesaj-sheet{position:absolute;inset:0;z-index:770;background:#fff;display:flex;flex-direction:column;transform:translateY(100%);transition:transform .3s cubic-bezier(.4,0,.2,1);visibility:hidden}
.mesaj-sheet.acik{transform:translateY(0);visibility:visible}
.mesaj-bas{display:flex;align-items:center;gap:12px;padding:max(16px,env(safe-area-inset-top)) 18px 14px;border-bottom:1px solid var(--cizgi)}
.mesaj-geri{width:40px;height:40px;border-radius:50%;background:var(--zemin);display:grid;place-items:center;border:none;cursor:pointer}
.mesaj-geri svg{width:20px;height:20px;color:var(--metin)}
.mesaj-bas .ad{font-weight:800;font-size:15px}
.mesaj-bas .alt{font-size:12px;color:var(--metin-3);font-weight:600}
.mesaj-govde{flex:1;overflow-y:auto;padding:18px;display:flex;flex-direction:column;gap:8px;background:var(--zemin)}
.msj{max-width:78%;padding:11px 14px;border-radius:16px;font-size:14px;font-weight:500;line-height:1.4;word-wrap:break-word}
.msj.ben{align-self:flex-end;background:var(--yesil);color:#063d22;border-bottom-right-radius:5px}
.msj.kar{align-self:flex-start;background:#fff;color:var(--metin);border:1px solid var(--cizgi);border-bottom-left-radius:5px}
.msj-bos{margin:auto;color:var(--metin-3);font-weight:600;font-size:13.5px}
.mesaj-giris{display:flex;gap:10px;padding:12px 16px max(12px,env(safe-area-inset-bottom));border-top:1px solid var(--cizgi);background:#fff}
.mesaj-giris input{flex:1;background:var(--zemin);border:1.5px solid transparent;border-radius:22px;padding:12px 16px;outline:none;font-weight:500}
.mesaj-giris input:focus{border-color:var(--yesil);background:#fff}
.mesaj-giris button{width:46px;height:46px;border-radius:50%;background:var(--yesil);border:none;display:grid;place-items:center;flex:0 0 auto;cursor:pointer}
.mesaj-giris button svg{width:20px;height:20px;color:#fff}

.profil-kart{display:flex;flex-direction:column;align-items:center;text-align:center;padding:18px 0 6px}
.profil-av{position:relative;width:96px;height:96px;cursor:pointer}
.profil-av img{width:96px;height:96px;border-radius:50%;object-fit:cover;border:3px solid #fff;box-shadow:0 4px 18px rgba(16,24,40,.16);background:var(--zemin)}
.profil-av .kamera{position:absolute;right:-2px;bottom:-2px;width:32px;height:32px;border-radius:50%;background:var(--yesil);border:3px solid #fff;display:grid;place-items:center}
.profil-av .kamera svg{width:16px;height:16px;color:#063d22}
.profil-ad{font-size:22px;font-weight:800;margin-top:14px}
.profil-meta{color:var(--metin-2);font-weight:600;font-size:13.5px;margin-top:4px}
.profil-uye{color:var(--metin-3);font-weight:600;font-size:12.5px;margin-top:3px}
.profil-duzen{margin-top:14px;display:inline-flex;align-items:center;gap:7px;background:var(--zemin);border:none;border-radius:22px;padding:10px 18px;font-weight:700;font-size:13.5px;color:var(--metin);cursor:pointer}
.profil-duzen svg{width:16px;height:16px;color:var(--yesil-koyu)}

@media (display-mode:browser){
  .secici-alt{padding-bottom:max(28px,calc(env(safe-area-inset-bottom) + 22px))}
  .alt-katman{padding-bottom:max(22px,calc(env(safe-area-inset-bottom) + 18px))}
  .panel{padding-bottom:max(22px,calc(env(safe-area-inset-bottom) + 18px))}
}
/* Full Stack Developer Hakan Sevim */

/* ===== iOS 17 üst seviye tasarım katmanı — Full Stack Developer Hakan Sevim ===== */
:root{
  --golge:0 1px 2px rgba(16,24,40,.04),0 10px 30px rgba(16,24,40,.10);
  --golge-sm:0 1px 2px rgba(16,24,40,.05),0 4px 14px rgba(16,24,40,.07);
  --mat:saturate(180%) blur(30px);
  --r-kart:22px;
}
.alt-katman{border-radius:30px 30px 0 0;box-shadow:0 -2px 10px rgba(16,24,40,.05),0 -18px 50px rgba(16,24,40,.14);padding-top:8px}
.tutamac{width:38px;height:5px;border-radius:3px;background:#d6dbe3;margin:8px auto 18px}
.h-buyuk{font-size:30px;font-weight:800;letter-spacing:-.8px;line-height:1.12}
.guvenlik{border-radius:20px;box-shadow:var(--golge-sm);border:.5px solid rgba(16,24,40,.05)}
.guvenlik .kalkan{border-radius:14px}
.arama-kutu{background:#eef1f5;border-radius:16px;padding:17px 18px}
.arama-kutu input{font-size:16px}
.ikili{gap:11px}
.cip{background:#eef1f5;border-radius:15px;font-size:14.5px;transition:transform .12s,background .15s}
.cip:active{transform:scale(.97);background:#e5e9ef}
.ev-is .kis{border:none;box-shadow:var(--golge-sm);border-radius:18px;transition:transform .12s}
.ev-is .kis:active{transform:scale(.98)}
.ev-is .kis .ik{border-radius:13px}
.arac-kart{border:1.5px solid transparent;background:#f6f7fa;border-radius:20px;box-shadow:none;transition:transform .12s,box-shadow .2s,background .2s}
.arac-kart:active{transform:scale(.985)}
.arac-kart.secili{border-color:var(--yesil);background:#fff;box-shadow:var(--golge-sm)}
.btn{border-radius:16px;font-size:17px;letter-spacing:-.2px;transition:transform .12s,filter .15s,background .15s}
.btn:active{transform:scale(.975)}
.btn-koyu{background:linear-gradient(180deg,#1d2c41,#0e1824);box-shadow:0 8px 22px rgba(14,24,36,.26)}
.btn-koyu:active{background:linear-gradient(180deg,#16243a,#0b1320)}
.btn-yesil{background:linear-gradient(180deg,#27d877,#12b85c);color:#053d22;box-shadow:0 8px 22px rgba(18,184,92,.28)}
.btn-yesil:active{filter:brightness(.96)}
.btn-acik,.btn-cizgi{border-radius:16px}
.zaman-sec{display:grid;grid-template-columns:1fr 1fr;background:#eef1f5;border-radius:14px;padding:4px;gap:4px}
.zaman-cip{border:none;border-radius:10px;padding:11px;font-weight:700;font-size:14px;background:transparent;color:var(--metin-2);transition:.18s}
.zaman-cip.secili{border:none;background:#fff;color:var(--metin);box-shadow:0 1px 3px rgba(16,24,40,.12),0 3px 8px rgba(16,24,40,.07);outline:none}
.promo-satir,.ozet-satir{border-radius:16px}
.yuvar-btn{background:rgba(255,255,255,.7);backdrop-filter:var(--mat);-webkit-backdrop-filter:var(--mat);border:.5px solid rgba(255,255,255,.6);box-shadow:var(--golge-sm);width:46px;height:46px;border-radius:16px}
.tab-bar{background:rgba(255,255,255,.82);backdrop-filter:var(--mat);-webkit-backdrop-filter:var(--mat);border-top:.5px solid rgba(16,24,40,.07)}
.tab-bar .oge svg{width:26px;height:26px}
.tab-bar .oge.aktif svg{stroke-width:2.4}
/* ===== /iOS 17 ===== */

/* çoklu durak — Full Stack Developer Hakan Sevim */
#durakKutu{display:flex;flex-direction:column;gap:8px;margin:4px 0 14px}
.durak-cip{display:flex;align-items:center;gap:10px;background:#f6f8fa;border-radius:12px;padding:10px 12px}
.dk-no{width:20px;height:20px;border-radius:50%;background:#1d4ed8;color:#fff;font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center;flex:0 0 auto}
.dk-ad{flex:1;font-size:13.5px;font-weight:600;color:var(--metin);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dk-sil{background:none;border:none;color:var(--metin-2);padding:4px;flex:0 0 auto}
.dk-sil svg{width:16px;height:16px}
.durak-ekle{display:flex;align-items:center;justify-content:center;gap:6px;background:#eef6ff;color:#1d4ed8;border:1px dashed #b8d2f5;border-radius:12px;padding:10px;font-weight:700;font-size:13.5px;width:100%}
.durak-ekle svg{width:17px;height:17px}

/* ===== ana sayfa premium v2 (iOS) — Full Stack Developer Hakan Sevim ===== */
.ana-selam-row{display:flex;align-items:center;gap:13px;padding:2px 2px 18px}
.asr-av{width:46px;height:46px;border-radius:50%;background:linear-gradient(135deg,#27d877,#12b85c);color:#fff;display:grid;place-items:center;font-size:19px;font-weight:800;flex:0 0 auto;box-shadow:0 6px 16px rgba(18,184,92,.32)}
.asr-yazi{display:flex;flex-direction:column;line-height:1.15}
.asr-yazi span{font-size:13.5px;font-weight:700;color:var(--metin-2);letter-spacing:-.2px}
.asr-yazi b{font-size:22px;font-weight:800;letter-spacing:-.6px;color:var(--metin);margin-top:1px}
.ara-hero2{width:100%;display:flex;align-items:center;gap:13px;background:#fff;border:.5px solid rgba(16,24,40,.06);border-radius:21px;padding:13px 13px;box-shadow:var(--golge);transition:transform .14s;margin-bottom:14px;text-align:left;cursor:pointer}
.ara-hero2:active{transform:scale(.985)}
.ah2-ik{width:46px;height:46px;border-radius:15px;background:var(--yesil-acik);display:grid;place-items:center;flex:0 0 auto}
.ah2-ik svg{width:23px;height:23px;color:var(--yesil-koyu)}
.ah2-metin{flex:1;font-size:17px;font-weight:700;color:var(--metin-2);letter-spacing:-.3px}
.ah2-git{width:38px;height:38px;border-radius:50%;background:var(--yesil);display:grid;place-items:center;flex:0 0 auto;box-shadow:0 6px 16px rgba(30,207,108,.36)}
.ah2-git svg{width:18px;height:18px;color:#fff}
.promo-banner{width:100%;display:flex;align-items:center;gap:12px;background:linear-gradient(120deg,#e9faf1,#def7ea);border:.5px solid rgba(18,184,92,.14);border-radius:20px;padding:15px 17px;margin-bottom:22px;text-align:left;cursor:pointer;transition:transform .12s}
.promo-banner:active{transform:scale(.99)}
.pb-yazi{flex:1;display:flex;flex-direction:column;gap:2px}
.pb-rozet{align-self:flex-start;font-size:10px;font-weight:800;letter-spacing:.6px;color:var(--yesil-koyu);background:#fff;padding:3px 8px;border-radius:7px}
.pb-yazi b{font-size:15.5px;font-weight:800;letter-spacing:-.3px;color:#0c3d24;margin-top:3px}
.pb-alt{font-size:12.5px;font-weight:600;color:#3a7a55}
.pb-ik{width:44px;height:44px;border-radius:14px;background:#fff;display:grid;place-items:center;flex:0 0 auto;box-shadow:0 4px 12px rgba(18,184,92,.16)}
.pb-ik svg{width:23px;height:23px;color:var(--yesil-koyu)}
.bolum-bas{font-size:13px;font-weight:800;letter-spacing:.2px;color:var(--metin-3);text-transform:uppercase;padding:0 2px 11px}
.ev-is .kis{border:none;box-shadow:var(--golge-sm)}
.guvenlik-mini{display:flex;align-items:center;gap:11px;padding:14px 4px 2px;cursor:pointer}
.gm-ik{width:34px;height:34px;border-radius:11px;background:var(--yesil-acik);display:grid;place-items:center;flex:0 0 auto}
.gm-ik svg{width:18px;height:18px;color:var(--yesil-koyu)}
.gm-metin{flex:1;font-size:13.5px;font-weight:700;color:var(--metin-2);letter-spacing:-.2px}
.gm-ok{width:17px;height:17px;color:var(--metin-3);flex:0 0 auto}
/* ===== /ana sayfa premium v2 ===== */
/* ===== arama ilerleme + bulunamadı — Full Stack Developer Hakan Sevim ===== */
.ara-bar{width:170px;height:5px;border-radius:9px;background:#eef1f5;margin-top:22px;overflow:hidden}
.ara-bar span{display:block;height:100%;border-radius:9px;background:linear-gradient(90deg,#27d877,#12b85c);transition:width .9s ease}
.bulunamadi-kutu{display:flex;flex-direction:column;align-items:center;padding:24px 8px 8px}
.bk-ik{width:84px;height:84px;border-radius:50%;background:#fff4e8;display:grid;place-items:center}
.bk-ik svg{width:40px;height:40px;color:#e8902a}
/* ===== /arama ilerleme ===== */
/* ===== MapLibre 3D + trafik — Full Stack Developer Hakan Sevim ===== */
.yuvar-btn.aktif{background:var(--yesil);border-color:var(--yesil);color:#fff;box-shadow:0 6px 18px rgba(30,207,108,.4)}
.maplibregl-ctrl-attrib{font-size:10px;background:rgba(255,255,255,.6)}
.maplibregl-canvas:focus{outline:none}
/* ===== /MapLibre ===== */
