/* ============================================
   KONYA'YI KEŞFET — Profesyonel mobil öncelikli tema
   Renkler tema.js ile özelleştirilebilir (CSS değişkenleri)
   ============================================ */
:root {
  --ana: #0e6b4f;
  --ana-koyu: #0a5540;
  --vurgu: #c9a227;
  --arka: #f7f5ef;
  --kart: #ffffff;
  --metin: #21302b;
  --metin-soluk: #68746e;
  --cizgi: #e7e2d4;
  --golge: 0 2px 10px rgba(22, 48, 38, .07), 0 12px 32px rgba(22, 48, 38, .06);
  --golge-buyuk: 0 8px 40px rgba(22, 48, 38, .14);
  --radius: 16px;
  /* eski adlarla uyumluluk */
  --yesil: var(--ana);
  --yesil-koyu: var(--ana-koyu);
  --altin: var(--vurgu);
  --krem: var(--arka);
  --koyu: var(--metin);
  --gri: var(--metin-soluk);
  --beyaz: var(--kart);
  --turkuaz: #17a2b8;
}
.karanlik {
  --arka: #131a17;
  --kart: #1c2622;
  --metin: #e8ede9;
  --metin-soluk: #9aa8a1;
  --cizgi: #2d3934;
  --golge: 0 2px 10px rgba(0, 0, 0, .35), 0 12px 32px rgba(0, 0, 0, .3);
  --golge-buyuk: 0 8px 40px rgba(0, 0, 0, .5);
}
* { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  font-family: 'Plus Jakarta Sans', 'Segoe UI', system-ui, -apple-system, sans-serif;
  background: var(--arka); color: var(--metin); line-height: 1.65;
  -webkit-font-smoothing: antialiased; overflow-x: clip;
  transition: background .25s, color .25s;
}
[dir="rtl"] body { font-family: 'Vazirmatn', Tahoma, sans-serif; }
a { color: var(--ana); text-decoration: none; }
img { max-width: 100%; display: block; }
.kapsayici { max-width: 1200px; margin: 0 auto; padding: 0 18px; }

h1, h2, h3, h4 { letter-spacing: -.01em; }

/* ---------- Üst menü ---------- */
.ust-bar {
  position: sticky; top: 0; z-index: 1000;
  background: color-mix(in srgb, var(--kart) 88%, transparent);
  backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--cizgi);
}
.ust-ic { display: flex; align-items: center; justify-content: space-between; height: 68px; gap: 14px; }
.logo { font-size: 1.24rem; font-weight: 800; color: var(--ana); display: flex; align-items: center; gap: 10px; white-space: nowrap; }
.logo-ikon {
  display: inline-flex; align-items: center; justify-content: center;
  width: 38px; height: 38px; border-radius: 12px; color: #fff;
  background: linear-gradient(140deg, var(--ana) 0%, var(--ana-koyu) 100%);
  box-shadow: 0 4px 12px color-mix(in srgb, var(--ana) 32%, transparent);
  transition: transform .2s ease;
}
.logo:hover .logo-ikon { transform: translateY(-2px) rotate(-4deg); }
.logo-yazi { letter-spacing: -.01em; }
.logo-yazi span { color: var(--vurgu); }
.menu { display: none; align-items: center; gap: 2px; }
.menu a {
  position: relative; white-space: nowrap; font-weight: 600; color: var(--metin-soluk); font-size: .9rem;
  padding: 9px 13px; border-radius: 11px; transition: color .18s, background .18s;
}
.menu a::after {
  content: ''; position: absolute; left: 13px; right: 13px; bottom: 4px; height: 2px;
  border-radius: 2px; background: var(--vurgu); transform: scaleX(0); transform-origin: center;
  transition: transform .2s ease;
}
.menu a:hover { color: var(--ana); background: color-mix(in srgb, var(--ana) 7%, transparent); }
.menu a:hover::after { transform: scaleX(1); }
.menu a.aktif { color: var(--ana); font-weight: 700; }
.menu a.aktif::after { transform: scaleX(1); background: var(--ana); }
.ust-sag { display: flex; align-items: center; gap: 10px; }
.uye-baglanti {
  display: inline-flex; align-items: center; gap: 6px;
  font-weight: 700; font-size: .86rem; padding: 9px 15px; border-radius: 22px; height: 38px;
  background: color-mix(in srgb, var(--vurgu) 15%, transparent); color: var(--metin);
  white-space: nowrap; transition: background .18s, transform .18s;
}
.uye-baglanti:hover { background: color-mix(in srgb, var(--vurgu) 26%, transparent); transform: translateY(-1px); }
.dil-secici { position: relative; }
.dil-buton {
  display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; height: 38px;
  background: var(--kart); border: 1px solid var(--cizgi); border-radius: 22px; color: var(--metin);
  padding: 0 14px; cursor: pointer; font-size: .85rem; font-weight: 700; font-family: inherit;
  transition: border-color .18s, background .18s, box-shadow .18s;
}
.dil-buton:hover { border-color: var(--ana); background: color-mix(in srgb, var(--ana) 6%, transparent); box-shadow: 0 2px 10px rgba(22,48,38,.06); }
.dil-buton .dil-ok { font-size: .7rem; opacity: .6; }
.dil-liste {
  display: none; position: absolute; top: 115%; inset-inline-end: 0;
  background: var(--kart); border-radius: 12px; box-shadow: var(--golge-buyuk);
  min-width: 140px; overflow: hidden; border: 1px solid var(--cizgi);
}
.dil-liste.acik { display: block; }
.dil-liste a { display: block; padding: 10px 15px; font-size: .9rem; color: var(--metin); }
.dil-liste a:hover { background: var(--arka); }

/* Küçük ekranlarda üst menüyü kompaktlaştır (yatay taşmayı önler) */
@media (max-width: 480px) {
  .ust-ic { gap: 8px; height: 58px; }
  .logo { font-size: 1rem; gap: 7px; }
  .logo-ikon { width: 32px; height: 32px; border-radius: 10px; }
  .ust-sag { gap: 6px; }
  .uye-baglanti { padding: 7px 11px; font-size: .78rem; height: 34px; }
  .dil-buton { padding: 0 9px; height: 34px; font-size: .8rem; }
  .dil-buton .dil-ok { display: none; }
}
@media (max-width: 360px) {
  .uye-baglanti .uye-yazi { display: none; }
}

/* ---------- Mobil alt menü ---------- */
.alt-menu {
  position: fixed; bottom: 0; left: 0; right: 0; z-index: 1000;
  background: color-mix(in srgb, var(--kart) 94%, transparent);
  backdrop-filter: blur(12px); border-top: 1px solid var(--cizgi);
  display: flex; justify-content: space-around; padding: 7px 0 max(7px, env(safe-area-inset-bottom));
}
.alt-menu a { display: flex; flex-direction: column; align-items: center; gap: 2px; font-size: .66rem; color: var(--metin-soluk); font-weight: 700; }
.alt-menu a .ikn { font-size: 1.28rem; }
.alt-menu a.aktif { color: var(--ana); }
main { padding-bottom: 84px; min-height: 60vh; }

/* ---------- Kahraman alanı ---------- */
.kahraman { position: relative; overflow: hidden; color: #fff; text-align: center; }

/* Fotoğraflı hero — animasyonlu arka plan kaydırıcısı */
.kahraman-foto {
  min-height: 660px; display: flex; align-items: center; justify-content: center;
  padding: 150px 0 120px; background: #0a2e26;
}
.kahraman-slaytlar { position: absolute; inset: 0; z-index: 0; overflow: hidden; }
.kahraman-slayt {
  position: absolute; inset: 0;
  background: center 32%/cover no-repeat;
  opacity: 0; transform: scale(1.08);
  transition: opacity 1.35s ease;
  will-change: opacity, transform;
}
.kahraman-slayt.aktif {
  opacity: 1; z-index: 1;
  animation: kahraman-kb 8s ease-out forwards;
}
@keyframes kahraman-kb {
  from { transform: scale(1.08); }
  to { transform: scale(1); }
}
@media (prefers-reduced-motion: reduce) {
  .kahraman-slayt, .kahraman-slayt.aktif { animation: none; transform: scale(1); transition: opacity .4s ease; }
}
.kahraman-katman {
  position: absolute; inset: 0; z-index: 2; pointer-events: none;
  background: linear-gradient(180deg, rgba(8,26,20,.62) 0%, rgba(8,26,20,.12) 28%, rgba(8,26,20,.22) 58%, rgba(8,26,20,.78) 100%);
}
.kahraman-ic { position: relative; z-index: 3; }
.kahraman-metinler { position: relative; min-height: 220px; }
.kahraman-metin {
  opacity: 0; visibility: hidden; position: absolute; inset: 0;
  transition: opacity .85s ease, visibility .85s;
  pointer-events: none;
}
.kahraman-metin.aktif {
  opacity: 1; visibility: visible; position: relative; pointer-events: auto;
}
@media (prefers-reduced-motion: reduce) {
  .kahraman-metin { transition: opacity .35s ease; }
}

/* Ödül rozeti (defne dalları + yıldız) */
.odul { display: inline-flex; flex-direction: column; align-items: center; margin-bottom: 14px; gap: 6px; }
.odul-defne { width: 42px; height: 48px; color: rgba(255,255,255,.92); filter: drop-shadow(0 2px 6px rgba(0,0,0,.35)); }
.odul-yazi {
  font-family: Georgia, 'Times New Roman', serif; font-style: italic; font-size: 1.12rem;
  letter-spacing: .3px; margin-top: 0; text-shadow: 0 1px 8px rgba(0,0,0,.4);
}
.odul-yildiz { color: var(--vurgu); font-size: .8rem; letter-spacing: 5px; margin-top: 2px; text-shadow: 0 1px 3px rgba(0,0,0,.4); }

.kahraman-foto h1 {
  font-size: clamp(2.1rem, 6.2vw, 4rem); font-weight: 800; line-height: 1.04;
  letter-spacing: -.025em; margin: 4px 0 14px; text-shadow: 0 2px 24px rgba(0,0,0,.4);
}
.kahraman-foto p { max-width: 560px; margin: 0 auto; font-size: 1.06rem; opacity: .96; text-shadow: 0 1px 12px rgba(0,0,0,.45); }
.hero-nokta { display: flex; gap: 9px; justify-content: center; margin-top: 28px; }
.hero-nokta-btn {
  width: 9px; height: 9px; padding: 0; border: 0; border-radius: 50%; cursor: pointer;
  background: rgba(255,255,255,.45); transition: width .25s, background .25s, border-radius .25s;
}
.hero-nokta-btn.aktif { width: 26px; border-radius: 6px; background: #fff; }
.hero-nokta-btn:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
@media (max-width: 640px) { .kahraman-foto { min-height: 540px; padding: 118px 0 96px; } }

/* ---------- GoFly kayan sekmeli arama kartı ---------- */
.ara-kart {
  position: relative; z-index: 5; margin: -50px auto 0; max-width: 980px;
  background: var(--kart); border: 1px solid var(--cizgi); border-radius: 22px;
  box-shadow: 0 26px 64px rgba(8,26,20,.28); padding: 12px;
}
.ara-sekmeler { display: flex; gap: 6px; flex-wrap: wrap; padding: 4px 4px 12px; }
.ara-sekme {
  display: inline-flex; align-items: center; gap: 7px; cursor: pointer; border: none;
  background: transparent; color: var(--metin-soluk); font-family: inherit; font-weight: 700; font-size: .9rem;
  padding: 10px 18px; border-radius: 30px; transition: background .16s, color .16s, box-shadow .16s;
}
.ara-sekme .s-ikon { font-size: 1rem; }
.ara-sekme:hover { color: var(--metin); background: var(--arka); }
.ara-sekme.aktif { background: var(--ana); color: #fff; box-shadow: 0 8px 20px color-mix(in srgb, var(--ana) 34%, transparent); }
.ara-govde { position: relative; }
.ara-panel { display: none; gap: 10px; align-items: stretch; }
.ara-panel.aktif { display: flex; flex-wrap: wrap; }
.ara-alan {
  flex: 1; min-width: 220px; display: flex; align-items: center; gap: 12px;
  background: var(--arka); border: 1px solid var(--cizgi); border-radius: 16px; padding: 10px 16px;
  transition: border-color .16s, box-shadow .16s;
}
.ara-alan:focus-within { border-color: var(--ana); box-shadow: 0 0 0 3px color-mix(in srgb, var(--ana) 14%, transparent); }
.ara-alan .ara-ikon { font-size: 1.3rem; flex: 0 0 auto; }
.ara-alan-ic { flex: 1; min-width: 0; text-align: start; }
.ara-etik { display: block; font-size: .7rem; font-weight: 800; color: var(--metin-soluk); text-transform: uppercase; letter-spacing: .5px; }
.ara-alan input, .ara-alan select {
  width: 100%; border: none; background: none; outline: none; font-family: inherit;
  font-size: .98rem; font-weight: 700; color: var(--metin); padding: 2px 0 0;
}
.ara-alan input { cursor: text; }
.ara-alan input::placeholder { color: var(--metin-soluk); font-weight: 600; opacity: .8; }
.ara-alan select { cursor: pointer; -webkit-appearance: none; appearance: none; }
.ara-btn {
  flex: 0 0 auto; border: none; cursor: pointer; font-family: inherit; font-weight: 800;
  background: var(--ana); color: #fff; border-radius: 16px; padding: 0 36px; font-size: .98rem;
  box-shadow: 0 8px 22px color-mix(in srgb, var(--ana) 36%, transparent);
  transition: filter .15s, transform .15s; min-height: 64px;
}
.ara-btn::before { content: '🔍 '; }
.ara-btn:hover { filter: brightness(1.07); transform: translateY(-1px); }
.ara-alt-metin { text-align: center; margin: 16px auto 0; font-size: .92rem; color: var(--metin-soluk); font-weight: 600; }
.ara-alt-metin a { font-weight: 800; }
@media (min-width: 768px) { .ara-kart { margin-top: -58px; padding: 14px; } }
@media (max-width: 560px) {
  .ara-btn { flex: 1; min-height: 52px; padding: 12px; }
  .ara-sekme { padding: 9px 13px; font-size: .84rem; }
  .ara-alan { min-width: 100%; }
}

/* Hafta sonu planlayıcı sekme paneli */
.ara-panel.plan-panel.aktif { display: block; padding: 6px 6px 4px; }
.plan-panel-ust { display: flex; align-items: flex-start; gap: 13px; margin-bottom: 14px; flex-wrap: wrap; }
.plan-panel-ust > div { flex: 1; min-width: 180px; }
.plan-onceki-satir { text-align: center; margin: 10px 0 4px; }
.plan-onceki-satir .plan-onceki-link { margin: 0; font-size: .82rem; }
.plan-onceki-link {
  background: none; border: none; padding: 0;
  font-size: .78rem; font-weight: 700; color: var(--ana); cursor: pointer; text-decoration: underline;
  text-underline-offset: 3px;
}
.plan-soru-kategori { margin-bottom: 12px; }
.plan-onceki-link.acik { color: var(--vurgu); }
.plan-haftalik-wrap { margin-bottom: 4px; }
.plan-hafta-etiket { font-size: .72rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; color: var(--ana); margin-bottom: 8px; }
.plan-sonuc-haftalik { margin-top: 0; }
.plan-sonuc-haftalik .plan-sonuc-bilgi h3 a { color: inherit; text-decoration: none; }
.plan-sonuc-haftalik .plan-sonuc-bilgi h3 a:hover { color: var(--ana); }
.plan-sonuc-gorsel { text-decoration: none; color: inherit; }
.plan-istatistik { display: flex; align-items: center; gap: 14px; margin-top: 8px; font-size: .78rem; color: var(--metin-soluk); }
.plan-istatistik b { color: var(--metin); }
.plan-favori { background: none; border: none; padding: 0; cursor: pointer; font: inherit; color: var(--metin-soluk); }
.plan-favori.aktif { color: var(--ana); }
.plan-onceki-panel { margin: 12px 0 4px; padding: 12px; background: color-mix(in srgb, var(--ana) 5%, var(--kart)); border-radius: 14px; border: 1px dashed var(--cizgi); }
.plan-onceki-baslik { font-size: .78rem; font-weight: 800; color: var(--metin-soluk); margin-bottom: 10px; text-transform: uppercase; letter-spacing: .04em; }
.plan-onceki-liste { display: flex; flex-direction: column; gap: 8px; max-height: 220px; overflow-y: auto; }
.plan-onceki-kart { display: grid; grid-template-columns: 1fr; gap: 2px; padding: 10px 12px; background: var(--kart); border: 1px solid var(--cizgi); border-radius: 10px; text-decoration: none; color: inherit; transition: border-color .15s; }
.plan-onceki-kart:hover { border-color: var(--ana); }
.plan-onceki-kart .t { font-size: .72rem; font-weight: 800; color: var(--ana); }
.plan-onceki-kart .a { font-size: .85rem; font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.plan-onceki-kart .s { display: flex; gap: 12px; font-size: .75rem; color: var(--metin-soluk); }
.plan-onceki-tumu { display: inline-block; margin-top: 10px; font-size: .82rem; font-weight: 700; color: var(--ana); }
.plan-ayirici { display: flex; align-items: center; gap: 12px; margin: 18px 0 14px; color: var(--metin-soluk); font-size: .78rem; }
.plan-ayirici::before, .plan-ayirici::after { content: ''; flex: 1; height: 1px; background: var(--cizgi); }
.plan-sonuc-alternatif { margin-top: 12px; background: transparent; padding: 0; }
.plan-sonuc-alternatif .plan-alt-etiket { font-size: .72rem; font-weight: 800; color: var(--metin-soluk); margin-bottom: 6px; text-transform: uppercase; letter-spacing: .04em; }
.plan-sonuc-alternatif .plan-sonuc-ic { border: 1px dashed var(--cizgi); background: color-mix(in srgb, var(--vurgu) 4%, var(--kart)); }
.plan-panel-ikon {
  flex: 0 0 auto; width: 48px; height: 48px; border-radius: 14px;
  display: flex; align-items: center; justify-content: center; font-size: 1.55rem;
  background: linear-gradient(140deg, color-mix(in srgb, var(--ana) 15%, var(--kart)), color-mix(in srgb, var(--vurgu) 17%, var(--kart)));
}
.plan-panel-ust h3 { font-size: 1.18rem; font-weight: 800; letter-spacing: -.01em; }
.plan-panel-ust p { color: var(--metin-soluk); font-size: .88rem; margin-top: 2px; }
.plan-sorular { display: grid; gap: 6px; }
.ara-kart .plan-sorular { grid-template-columns: 1fr; gap: 14px; }
.ara-kart #planSure { display: flex; flex-wrap: wrap; gap: 8px; }
.ara-kart #planIlgi {
  display: flex;
  flex-wrap: nowrap;
  gap: 6px;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  padding-bottom: 2px;
}
.ara-kart #planIlgi::-webkit-scrollbar { display: none; }
.ara-kart #planIlgi .secim-cip {
  flex: 1 1 0;
  min-width: 0;
  justify-content: center;
  text-align: center;
  padding: 7px 5px;
  font-size: .72rem;
  white-space: nowrap;
}
@media (min-width: 480px) {
  .ara-kart #planIlgi .secim-cip { font-size: .76rem; padding: 8px 6px; }
}
@media (min-width: 640px) {
  .ara-kart #planIlgi { gap: 8px; }
  .ara-kart #planIlgi .secim-cip { font-size: .78rem; padding: 8px 8px; }
}
.ara-kart .plan-soru { margin-bottom: 14px; }
.ara-kart .plan-soru:last-child { margin-bottom: 0; }
.ara-kart .plan-soru > label { font-size: .78rem; margin-bottom: 8px; }
.ara-kart .plan-sonuc { margin-top: 6px; }
.ara-kart .plan-eylemler { margin-top: 16px; gap: 10px; }
.ara-kart .plan-eylemler .buton { flex: 1; min-width: 150px; padding: 11px 18px; font-size: .9rem; border-radius: 22px; }
@media (min-width: 820px) {
  .plan-sorular { grid-template-columns: 1fr 1fr; gap: 8px 26px; align-items: start; }
  /* Ara kart planlayıcı: ilgi çipleri tek sırada (6 kategori) */
  .ara-kart .plan-sorular { grid-template-columns: 1fr; gap: 14px; }
}
@media (max-width: 560px) {
  .ara-kart .plan-eylemler .buton { min-width: 100%; }
}

/* ---------- Ana sayfa şeffaf hero header ---------- */
.ust-bar-hero {
  position: absolute; top: 0; left: 0; right: 0;
  background: transparent; border-bottom-color: transparent; box-shadow: none;
  backdrop-filter: none; -webkit-backdrop-filter: none;
}
.ust-bar-hero .logo, .ust-bar-hero .logo-yazi span { color: #fff; }
.ust-bar-hero .menu a { color: rgba(255,255,255,.9); }
.ust-bar-hero .menu a:hover, .ust-bar-hero .menu a.aktif { color: #fff; background: rgba(255,255,255,.15); }
.ust-bar-hero .menu a:hover::after, .ust-bar-hero .menu a.aktif::after { background: #fff; }
.ust-bar-hero .uye-baglanti { background: rgba(255,255,255,.16); color: #fff; }
.ust-bar-hero .uye-baglanti:hover { background: rgba(255,255,255,.28); }
.ust-bar-hero .dil-buton { background: rgba(255,255,255,.14); border-color: rgba(255,255,255,.32); color: #fff; }
.ust-bar-hero .dil-buton:hover { background: rgba(255,255,255,.24); border-color: rgba(255,255,255,.45); }
.ust-bar-hero.solid {
  position: fixed; background: color-mix(in srgb, var(--kart) 92%, transparent);
  backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
  border-bottom-color: var(--cizgi); box-shadow: 0 4px 20px rgba(8,26,20,.08);
  animation: barIn .3s ease;
}
@keyframes barIn { from { transform: translateY(-100%); opacity: .4; } to { transform: translateY(0); opacity: 1; } }
.ust-bar-hero.solid .logo { color: var(--ana); }
.ust-bar-hero.solid .logo-yazi span { color: var(--vurgu); }
.ust-bar-hero.solid .menu a { color: var(--metin-soluk); }
.ust-bar-hero.solid .menu a:hover, .ust-bar-hero.solid .menu a.aktif { color: var(--ana); background: color-mix(in srgb, var(--ana) 7%, transparent); }
.ust-bar-hero.solid .menu a:hover::after, .ust-bar-hero.solid .menu a.aktif::after { background: var(--vurgu); }
.ust-bar-hero.solid .uye-baglanti { background: color-mix(in srgb, var(--vurgu) 15%, transparent); color: var(--metin); }
.ust-bar-hero.solid .dil-buton { background: var(--kart); border-color: var(--cizgi); color: var(--metin); }

/* Bölüm başlığı (üst etiket + başlık + vurgu çizgisi) */
.bolum-ust-etiket {
  display: inline-block; font-size: .72rem; font-weight: 800; letter-spacing: 1.5px;
  text-transform: uppercase; color: var(--vurgu); margin-bottom: 4px;
}
.bolum-baslik h2 { position: relative; padding-bottom: 8px; }
.bolum-baslik h2::after {
  content: ''; position: absolute; bottom: 0; inset-inline-start: 0;
  width: 46px; height: 3px; border-radius: 2px;
  background: linear-gradient(90deg, var(--ana), var(--vurgu));
}

/* Etkinlik kartı: tarih rozeti */
.etkinlik-tarih {
  position: absolute; top: 12px; inset-inline-end: 12px; z-index: 2;
  background: var(--kart); border-radius: 12px; padding: 6px 12px; text-align: center;
  box-shadow: 0 3px 12px rgba(0,0,0,.18); line-height: 1.15;
}
.etkinlik-tarih .gun { font-size: 1.15rem; font-weight: 800; color: var(--ana); }
.etkinlik-tarih .ay { font-size: .66rem; font-weight: 800; text-transform: uppercase; color: var(--metin-soluk); letter-spacing: .5px; }

/* Tur kartı: fiyat etiketi */
.fiyat-etiket {
  position: absolute; bottom: 12px; inset-inline-end: 12px; z-index: 2;
  background: var(--vurgu); color: #fff; font-weight: 800; font-size: .88rem;
  padding: 6px 14px; border-radius: 16px; box-shadow: 0 3px 10px rgba(0,0,0,.25);
}
.tur-rozet-sure { position: absolute; top: 12px; inset-inline-start: 12px; z-index: 2; background: rgba(0,0,0,.55); color: #fff; font-size: .74rem; font-weight: 700; padding: 4px 11px; border-radius: 12px; backdrop-filter: blur(3px); }

/* Haber kartları (4'lü ızgara) */
.kart-izgara.dortlu { grid-template-columns: 1fr; }
.icerik-tur-rozet { display: inline-block; font-size: .68rem; font-weight: 800; padding: 3px 10px; border-radius: 10px; letter-spacing: .4px; text-transform: uppercase; }
.icerik-tur-rozet.haber { background: color-mix(in srgb, var(--ana) 14%, transparent); color: var(--ana); }
.icerik-tur-rozet.duyuru { background: color-mix(in srgb, var(--turkuaz) 16%, transparent); color: var(--turkuaz); }
.icerik-tur-rozet.etkinlik { background: color-mix(in srgb, var(--vurgu) 18%, transparent); color: color-mix(in srgb, var(--vurgu) 80%, var(--metin)); }

/* WhatsApp düğmesi */
.buton.whatsapp { background: #25d366; box-shadow: 0 4px 16px rgba(37, 211, 102, .35); }

/* Dahil olanlar listesi */
.dahil-liste { list-style: none; margin: 10px 0; }
.dahil-liste li { padding: 8px 0 8px 2px; border-bottom: 1px dashed var(--cizgi); font-size: .93rem; display: flex; gap: 8px; align-items: baseline; }
.dahil-liste li::before { content: '✓'; color: var(--ana); font-weight: 800; }
.dahil-liste li:last-child { border-bottom: none; }

/* Bülten bandı */
.bulten-band {
  background: linear-gradient(140deg, var(--ana-koyu), var(--ana) 75%);
  border-radius: 24px; color: #fff; padding: 34px 26px; margin: 44px 0 10px;
  position: relative; overflow: hidden;
}
.bulten-band::before {
  content: '✉️'; position: absolute; font-size: 7rem; opacity: .12;
  inset-inline-end: 20px; top: -10px; transform: rotate(12deg);
}
.bulten-band h3 { font-size: 1.3rem; font-weight: 800; margin-bottom: 6px; position: relative; }
.bulten-band p { opacity: .9; font-size: .92rem; margin-bottom: 16px; position: relative; }
.bulten-form { display: flex; gap: 8px; max-width: 460px; position: relative; flex-wrap: wrap; }
.bulten-form input {
  flex: 1; min-width: 200px; padding: 12px 16px; border: none; border-radius: 24px;
  font-family: inherit; font-size: .95rem; outline: none; color: #21302b;
}
.bulten-form button {
  background: var(--vurgu); color: #fff; border: none; border-radius: 24px;
  padding: 12px 24px; font-weight: 700; font-family: inherit; cursor: pointer; font-size: .95rem;
}
.buton {
  display: inline-block; background: var(--vurgu); color: #fff; font-weight: 700;
  padding: 13px 28px; border-radius: 28px; border: none; cursor: pointer; font-size: 1rem; font-family: inherit;
  transition: transform .15s, box-shadow .15s, filter .15s;
  box-shadow: 0 4px 16px color-mix(in srgb, var(--vurgu) 40%, transparent);
}
.buton:hover { transform: translateY(-2px); filter: brightness(1.06); }
.buton.dis { background: rgba(255,255,255,.12); border: 2px solid #fff; margin-inline-start: 10px; box-shadow: none; }
.buton.ikincil { background: var(--ana); box-shadow: 0 4px 16px color-mix(in srgb, var(--ana) 35%, transparent); }
.buton.kucuk { padding: 8px 16px; font-size: .85rem; }

/* ---------- Bölümler ---------- */
.bolum { padding: 40px 0 8px; }
.bolum.bolum-kompakt { padding: 14px 0 2px; }
.bolum-baslik { display: flex; align-items: baseline; justify-content: space-between; margin-bottom: 20px; gap: 10px; }
.bolum-kompakt .bolum-baslik { margin-bottom: 10px; }
.bolum-baslik h2 { font-size: 1.45rem; font-weight: 800; }
.bolum-baslik a { font-size: .9rem; font-weight: 700; white-space: nowrap; }
.bolum-alt-sayac {
  margin: 4px 0 0; font-size: .82rem; font-weight: 600; color: var(--metin-soluk);
}
.bolum-alt-sayac::before { content: '· '; opacity: .5; }
.bolum-baslik > div:first-child h2 { margin-bottom: 0; }
.bolum-baslik > div:first-child .bolum-alt-sayac::before { content: none; }
.bolum-baslik > div:first-child .bolum-alt-sayac { margin-top: 2px; }

/* ---------- Kategoriler (filtre çipleri — diğer sayfalar) ---------- */
.kategori-serit {
  display: flex; gap: 8px; overflow-x: auto; padding: 4px 0 12px;
  -webkit-overflow-scrolling: touch; scrollbar-width: none; flex-wrap: nowrap;
}
.kategori-serit::-webkit-scrollbar { display: none; }
.kategori-cip {
  flex: 0 0 auto; background: var(--kart); border: 1px solid var(--cizgi); border-radius: 30px;
  padding: 9px 18px; font-size: .875rem; font-weight: 700; color: var(--metin); white-space: nowrap;
  transition: all .2s cubic-bezier(.2,.7,.25,1); box-shadow: var(--golge);
}
.kategori-cip:hover { background: color-mix(in srgb, var(--ana) 10%, var(--kart)); border-color: color-mix(in srgb, var(--ana) 35%, var(--cizgi)); transform: translateY(-2px); }
.kategori-cip.aktif { background: var(--ana); color: #fff; border-color: var(--ana); box-shadow: 0 4px 14px color-mix(in srgb, var(--ana) 35%, transparent); }
.kategori-cip-say {
  display: inline-flex; align-items: center; justify-content: center; min-width: 1.5em;
  margin-inline-start: 6px; padding: 1px 7px; border-radius: 999px;
  font-size: .72rem; font-weight: 800; line-height: 1.35;
  background: color-mix(in srgb, var(--metin) 8%, transparent);
  color: var(--metin-soluk);
}
.kategori-cip.aktif .kategori-cip-say { background: rgba(255,255,255,.22); color: #fff; }

/* ---------- Mekanlar liste sayfası ---------- */
.mekan-liste-sayfa { padding-bottom: 48px; }
.sayfa-header-mekanlar {
  display: grid; gap: 20px; align-items: start;
}
@media (min-width: 768px) {
  .sayfa-header-mekanlar { grid-template-columns: 1fr 1.05fr; gap: 28px 36px; }
}
.sayfa-header-sol { position: relative; z-index: 1; }
.sayfa-header-sag {
  position: relative; z-index: 1;
  padding: 16px 18px; border-radius: 18px;
  background: color-mix(in srgb, var(--kart) 72%, transparent);
  border: 1px solid color-mix(in srgb, var(--ana) 14%, var(--cizgi));
  backdrop-filter: blur(6px);
}
.sayfa-header-tanitim {
  margin: 0; font-size: .94rem; line-height: 1.65; color: var(--metin);
  font-weight: 500;
}
.sayfa-header-ozet { margin-top: 8px !important; }

.mekan-kategori-panel {
  margin-bottom: 18px; padding: 14px 16px;
  background: var(--kart); border: 1px solid var(--cizgi);
  border-radius: 20px; box-shadow: var(--golge);
}
.kategori-serit-sarmali {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 148px), 1fr));
  gap: 8px; overflow: visible; padding: 0;
}
.kategori-serit-sarmali .kategori-cip {
  display: flex; align-items: center; justify-content: center; gap: 5px;
  padding: 10px 12px; min-height: 44px; white-space: normal; text-align: center;
  line-height: 1.25;
}
.kategori-cip-ikon { flex-shrink: 0; font-size: 1rem; }
.kategori-cip-metin { flex: 1; min-width: 0; font-size: .78rem; }

.mekan-arac-cubugu {
  display: flex; flex-wrap: wrap; gap: 12px; align-items: center;
  margin-bottom: 14px;
}
.mekan-ara-form {
  flex: 1; min-width: min(100%, 260px); position: relative;
  display: flex; align-items: center;
}
.mekan-ara-ikon {
  position: absolute; inset-inline-start: 14px; font-size: .95rem; opacity: .55; pointer-events: none;
}
.mekan-ara-form input {
  width: 100%; padding: 12px 40px 12px 42px; border-radius: 16px;
  border: 1px solid var(--cizgi); background: var(--kart);
  font-family: inherit; font-size: .92rem; font-weight: 600;
  box-shadow: var(--golge); outline: none;
  transition: border-color .2s, box-shadow .2s;
}
.mekan-ara-form input:focus {
  border-color: color-mix(in srgb, var(--ana) 45%, var(--cizgi));
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--ana) 12%, transparent);
}
.mekan-ara-temiz {
  position: absolute; inset-inline-end: 10px;
  width: 28px; height: 28px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  background: color-mix(in srgb, var(--metin) 8%, transparent);
  color: var(--metin-soluk); font-weight: 800; font-size: 1.1rem; line-height: 1;
}
.mekan-sirala-wrap { flex: 1; min-width: min(100%, 200px); }
.mekan-sirala-etiket { font-size: .78rem; font-weight: 800; color: var(--metin-soluk); white-space: nowrap; }

/* Özel sıralama seçici (native select yerine) */
.ozel-secici { position: relative; width: 100%; }
.ozel-secici-tetik {
  width: 100%; display: flex; align-items: center; gap: 8px;
  padding: 12px 14px; border-radius: 16px;
  border: 1px solid var(--cizgi); background: var(--kart);
  font-family: inherit; font-size: .88rem; font-weight: 700;
  color: var(--metin); cursor: pointer; box-shadow: var(--golge);
  transition: border-color .2s, box-shadow .2s;
}
.ozel-secici-tetik:hover { border-color: color-mix(in srgb, var(--ana) 35%, var(--cizgi)); }
.ozel-secici.acik .ozel-secici-tetik {
  border-color: color-mix(in srgb, var(--ana) 45%, var(--cizgi));
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--ana) 12%, transparent);
}
.ozel-secici-etiket {
  font-size: .72rem; font-weight: 800; letter-spacing: .3px;
  text-transform: uppercase; color: var(--metin-soluk); white-space: nowrap;
}
.ozel-secici-deger { flex: 1; min-width: 0; text-align: start; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ozel-secici-ok {
  flex-shrink: 0; font-size: .85rem; color: var(--metin-soluk);
  transition: transform .2s;
}
.ozel-secici.acik .ozel-secici-ok { transform: rotate(180deg); color: var(--ana); }

.ozel-secici-perde {
  position: fixed; inset: 0; z-index: 1200;
  background: rgba(8, 20, 16, .45);
  backdrop-filter: blur(2px);
  opacity: 0; transition: opacity .25s;
  pointer-events: none;
}
.ozel-secici.acik .ozel-secici-perde { opacity: 1; pointer-events: auto; }

.ozel-secici-kutu {
  position: fixed; z-index: 1201;
  left: 0; right: 0; bottom: 0;
  max-height: min(72vh, 420px);
  background: var(--kart);
  border-radius: 22px 22px 0 0;
  border: 1px solid var(--cizgi); border-bottom: none;
  box-shadow: 0 -8px 40px rgba(0,0,0,.18);
  transform: translateY(105%);
  transition: transform .32s cubic-bezier(.22,.7,.25,1);
  display: flex; flex-direction: column; overflow: hidden;
  padding-bottom: env(safe-area-inset-bottom, 0);
}
.ozel-secici.acik .ozel-secici-kutu { transform: translateY(0); }
.ozel-secici-baslik {
  display: flex; align-items: center; justify-content: space-between;
  position: relative; padding: 22px 18px 12px;
  border-bottom: 1px solid var(--cizgi);
  font-size: .95rem; font-weight: 800; color: var(--metin);
  flex-shrink: 0;
}
.ozel-secici-baslik::before {
  content: ''; position: absolute; top: 8px; left: 50%; transform: translateX(-50%);
  width: 36px; height: 4px; border-radius: 4px;
  background: color-mix(in srgb, var(--metin) 18%, transparent);
}
.ozel-secici-kapat {
  width: 32px; height: 32px; border-radius: 50%; border: none;
  background: color-mix(in srgb, var(--metin) 8%, transparent);
  color: var(--metin-soluk); font-size: 1.2rem; font-weight: 700;
  cursor: pointer; line-height: 1; display: flex; align-items: center; justify-content: center;
}
.ozel-secici-liste {
  overflow-y: auto; -webkit-overflow-scrolling: touch;
  padding: 8px 12px 16px;
}
.ozel-secici-oge {
  display: flex; align-items: center; justify-content: space-between; gap: 10px;
  padding: 14px 16px; margin-bottom: 6px; border-radius: 14px;
  font-size: .92rem; font-weight: 700; color: var(--metin);
  text-decoration: none; border: 1px solid transparent;
  transition: background .15s, border-color .15s, color .15s;
}
.ozel-secici-oge:hover { background: color-mix(in srgb, var(--ana) 8%, var(--kart)); }
.ozel-secici-oge.aktif {
  background: color-mix(in srgb, var(--ana) 12%, var(--kart));
  border-color: color-mix(in srgb, var(--ana) 28%, var(--cizgi));
  color: var(--ana);
}
.ozel-secici-tik {
  flex-shrink: 0; width: 22px; height: 22px; border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  background: var(--ana); color: #fff; font-size: .72rem; font-weight: 800;
}

@media (min-width: 640px) {
  .ozel-secici-perde { display: none !important; }
  .ozel-secici-kutu {
    position: absolute; left: auto; right: 0; bottom: auto; top: calc(100% + 8px);
    width: min(100%, 280px); max-height: 320px;
    border-radius: 18px; border: 1px solid var(--cizgi);
    box-shadow: var(--golge-buyuk);
    transform: translateY(8px); opacity: 0; pointer-events: none;
    transition: transform .2s, opacity .2s;
  }
  .ozel-secici.acik .ozel-secici-kutu {
    transform: translateY(0); opacity: 1; pointer-events: auto;
  }
  .ozel-secici-baslik::before { display: none; }
  .ozel-secici-baslik { padding: 12px 14px 8px; }
  .ozel-secici-kapat { display: none; }
  .ozel-secici-liste { padding: 4px 8px 10px; }
  .ozel-secici-oge { padding: 11px 12px; margin-bottom: 2px; font-size: .86rem; }
}

@media (max-width: 639px) {
  .mekan-arac-cubugu { flex-direction: column; align-items: stretch; }
  .mekan-ara-form { min-width: 100%; }
  .mekan-sirala-wrap { width: 100%; }
}
.mekan-sonuc-bilgi {
  font-size: .82rem; font-weight: 600; color: var(--metin-soluk);
  margin: 0 0 16px;
}

.mekan-kart-izgara .mekan-kart { display: flex; flex-direction: column; }
.mekan-kart-link { flex: 1; display: block; color: inherit; text-decoration: none; }
.mekan-kart-ust-aksiyon {
  position: absolute; top: 12px; inset-inline-end: 12px; z-index: 5;
  display: flex; gap: 6px;
}
.mekan-etk {
  width: 36px; height: 36px; border-radius: 50%; border: none; cursor: pointer;
  background: rgba(255,255,255,.92); color: var(--metin-soluk);
  font-size: .95rem; line-height: 1;
  box-shadow: 0 2px 10px rgba(0,0,0,.15);
  transition: transform .15s, background .15s, color .15s;
  backdrop-filter: blur(4px);
}
.mekan-etk:hover { transform: scale(1.08); }
.mekan-etk.favori.aktif { background: var(--ana); color: #fff; }
.mekan-etk.begeni.aktif { background: var(--vurgu); color: #fff; }
.mekan-etk:disabled { opacity: .6; cursor: wait; }
.mekan-kart-istatistik {
  display: flex; flex-wrap: wrap; gap: 6px 10px;
  padding: 0 16px 14px; margin-top: -4px;
  font-size: .74rem; font-weight: 700; color: var(--metin-soluk);
}
.mekan-kart-istatistik span {
  display: inline-flex; align-items: center; gap: 4px;
  padding: 4px 9px; border-radius: 10px;
  background: color-mix(in srgb, var(--metin) 5%, var(--kart));
  border: 1px solid var(--cizgi);
}
.mekan-kart-istatistik b { color: var(--metin); font-weight: 800; }

.sayfalama {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: center;
  gap: 6px; margin: 32px 0 8px;
}
.sayfa-dugme {
  min-width: 40px; height: 40px; padding: 0 12px;
  display: inline-flex; align-items: center; justify-content: center;
  border-radius: 14px; border: 1px solid var(--cizgi);
  background: var(--kart); color: var(--metin);
  font-weight: 800; font-size: .88rem; text-decoration: none;
  box-shadow: var(--golge); transition: all .18s;
}
.sayfa-dugme:hover:not(.pasif):not(.aktif) {
  border-color: color-mix(in srgb, var(--ana) 40%, var(--cizgi));
  transform: translateY(-1px);
}
.sayfa-dugme.aktif {
  background: var(--ana); color: #fff; border-color: var(--ana);
  box-shadow: 0 4px 14px color-mix(in srgb, var(--ana) 30%, transparent);
}
.sayfa-dugme.pasif { opacity: .35; pointer-events: none; }
.sayfa-nokta { padding: 0 4px; color: var(--metin-soluk); font-weight: 800; }

@media (min-width: 640px) {
  .kategori-serit-sarmali { grid-template-columns: repeat(auto-fill, minmax(168px, 1fr)); }
  .kategori-cip-metin { font-size: .82rem; }
}
@media (min-width: 1024px) {
  .kategori-serit-sarmali { grid-template-columns: repeat(4, 1fr); }
}
@media (min-width: 1280px) {
  .kategori-serit-sarmali { grid-template-columns: repeat(7, 1fr); }
}

/* ---------- Ana sayfa kategori kartları ---------- */
.kategori-izgara {
  display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px;
}
.kategori-kart {
  display: flex; align-items: center; gap: 10px;
  background: var(--kart); border: 1px solid var(--cizgi); border-radius: 14px;
  padding: 10px 12px; color: var(--metin); box-shadow: var(--golge);
  transition: transform .16s, box-shadow .16s, border-color .16s, background .16s;
}
.kategori-kart:hover {
  transform: translateY(-2px); box-shadow: var(--golge-buyuk);
  border-color: color-mix(in srgb, var(--ana) 35%, var(--cizgi));
  background: color-mix(in srgb, var(--ana) 4%, var(--kart));
}
.kategori-ikon {
  flex: 0 0 auto; width: 38px; height: 38px; border-radius: 11px;
  display: flex; align-items: center; justify-content: center; font-size: 1.2rem;
  background: color-mix(in srgb, var(--ana) 11%, transparent);
}
.kategori-kart:nth-child(2) .kategori-ikon { background: color-mix(in srgb, var(--vurgu) 14%, transparent); }
.kategori-kart:nth-child(3) .kategori-ikon { background: color-mix(in srgb, var(--turkuaz) 14%, transparent); }
.kategori-kart:nth-child(4) .kategori-ikon { background: color-mix(in srgb, #e67e22 14%, transparent); }
.kategori-kart:nth-child(5) .kategori-ikon { background: color-mix(in srgb, #8e44ad 12%, transparent); }
.kategori-kart:nth-child(6) .kategori-ikon { background: color-mix(in srgb, var(--ana) 11%, transparent); }
.kategori-ad {
  flex: 1; min-width: 0; font-size: .88rem; font-weight: 800; line-height: 1.25;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.kategori-metin {
  flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 3px;
}
.kategori-metin .kategori-ad { flex: none; }
.kategori-kart-say {
  font-size: .72rem; font-weight: 800; color: var(--ana);
  letter-spacing: .2px;
}
.kategori-kart:hover .kategori-kart-say { color: color-mix(in srgb, var(--ana) 85%, var(--metin)); }
.kategori-ok {
  flex: 0 0 auto; color: var(--metin-soluk); font-weight: 800; font-size: .95rem;
  opacity: .55; transition: transform .16s, color .16s, opacity .16s;
}
.kategori-kart:hover .kategori-ok { color: var(--ana); opacity: 1; transform: translateX(2px); }
[dir="rtl"] .kategori-kart:hover .kategori-ok { transform: translateX(-2px); }
@media (min-width: 640px) {
  .kategori-izgara { grid-template-columns: repeat(3, 1fr); gap: 12px; }
}
@media (min-width: 1024px) {
  .kategori-izgara { grid-template-columns: repeat(6, 1fr); gap: 10px; }
  .kategori-kart { flex-direction: column; text-align: center; padding: 14px 8px 12px; gap: 7px; }
  .kategori-metin { align-items: center; gap: 4px; }
  .kategori-ikon { width: 46px; height: 46px; border-radius: 13px; font-size: 1.35rem; }
  .kategori-ad { font-size: .82rem; -webkit-line-clamp: 2; }
  .kategori-kart-say { font-size: .68rem; }
  .kategori-ok { display: none; }
}

/* ---------- Kartlar ---------- */
.kart-izgara { display: grid; grid-template-columns: 1fr; gap: 20px; }
.kart {
  background: var(--kart); border-radius: 20px; overflow: hidden;
  box-shadow: var(--golge); transition: transform .25s cubic-bezier(.2,.7,.25,1), box-shadow .25s;
  position: relative; display: block; color: var(--metin); border: 1px solid var(--cizgi);
  text-decoration: none;
}
.kart:hover { transform: translateY(-6px); box-shadow: var(--golge-buyuk); border-color: color-mix(in srgb, var(--ana) 28%, var(--cizgi)); }
.kart-gorsel {
  height: 200px; position: relative; overflow: hidden;
  display: flex; align-items: center; justify-content: center; font-size: 3.2rem;
  background:
    radial-gradient(circle at 75% 20%, color-mix(in srgb, var(--vurgu) 30%, transparent), transparent 50%),
    linear-gradient(145deg, color-mix(in srgb, var(--ana) 16%, var(--kart)), color-mix(in srgb, var(--ana) 6%, var(--kart)));
}
/* Görselsiz kartlarda ince geometrik doku */
.kart-gorsel::before {
  content: ''; position: absolute; inset: 0; opacity: .45; pointer-events: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 40 40'%3E%3Cpath d='M20 0l20 20-20 20L0 20z' fill='none' stroke='%230e6b4f' stroke-opacity='.1' stroke-width='1'/%3E%3C/svg%3E");
  background-size: 40px 40px;
}
/* Resimli kartlarda alt gradient overlay */
.kart-gorsel::after {
  content: ''; position: absolute; inset: 0; z-index: 3; pointer-events: none;
  background: linear-gradient(to top, rgba(8,26,20,.52) 0%, transparent 55%);
  opacity: 0; transition: opacity .3s;
}
.kart:hover .kart-gorsel::after { opacity: 1; }
.kart-gorsel > * { position: relative; z-index: 1; }
.kart-gorsel img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .5s cubic-bezier(.2,.7,.25,1); z-index: 2; }
.kart:hover .kart-gorsel img { transform: scale(1.07); }
.kart-rozet { position: absolute; top: 12px; inset-inline-start: 12px; background: var(--vurgu); color: #fff; font-size: .7rem; font-weight: 800; padding: 5px 12px; border-radius: 14px; letter-spacing: .4px; z-index: 4; box-shadow: 0 2px 8px rgba(0,0,0,.22); }
.kart-rozet.sponsor { background: var(--turkuaz); }
/* Haber kartı görsel/ikon alanı */
.kart-gorsel-haber { height: 148px; font-size: 2.6rem; }
.kart-gorsel-haber .icerik-tur-rozet {
  position: absolute; top: 10px; inset-inline-start: 10px; z-index: 4;
  box-shadow: 0 2px 8px rgba(0,0,0,.12);
}
.kart-icerik { padding: 18px 20px 20px; }
.kart-izgara.dortlu .kart-icerik h3 { margin-top: 0; }

/* Haber slider (5. haberden itibaren) */
.haber-slider { margin-top: 22px; }
.haber-slider-ust {
  display: flex; align-items: center; justify-content: space-between;
  gap: 12px; margin-bottom: 12px;
}
.haber-slider-etiket {
  font-size: .78rem; font-weight: 800; letter-spacing: .6px; text-transform: uppercase;
  color: var(--metin-soluk);
}
.haber-slider-nav { display: flex; gap: 8px; }
.haber-nav {
  width: 36px; height: 36px; border-radius: 50%; border: 1px solid var(--cizgi);
  background: var(--kart); color: var(--metin); font-size: 1.2rem; font-weight: 700;
  cursor: pointer; display: inline-flex; align-items: center; justify-content: center;
  box-shadow: var(--golge); transition: background .15s, color .15s, border-color .15s, transform .15s;
}
.haber-nav:hover:not(:disabled) {
  background: var(--ana); color: #fff; border-color: var(--ana); transform: translateY(-1px);
}
.haber-nav:disabled { opacity: .35; cursor: default; }
.haber-slider-pencere { overflow: hidden; }
.haber-slider-serit {
  display: flex; gap: 16px; transition: transform .4s cubic-bezier(.22,.7,.25,1);
  will-change: transform;
}
.haber-slayt { flex: 0 0 100%; min-width: 0; }
.haber-slider-noktalar {
  display: flex; justify-content: center; gap: 7px; margin-top: 14px;
}
.haber-slider-noktalar button {
  width: 8px; height: 8px; border-radius: 50%; border: none; padding: 0;
  background: color-mix(in srgb, var(--ana) 25%, var(--cizgi)); cursor: pointer;
  transition: width .2s, background .2s, border-radius .2s;
}
.haber-slider-noktalar button.aktif {
  width: 22px; border-radius: 6px; background: var(--ana);
}
@media (min-width: 640px) {
  .haber-slayt { flex-basis: calc((100% - 16px) / 2); }
}
@media (min-width: 1024px) {
  .haber-slayt { flex-basis: calc((100% - 32px) / 3); }
}
@media (max-width: 639px) {
  .haber-slider-pencere {
    margin-inline: -18px; padding-inline: 18px;
    overflow-x: auto; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  .haber-slider-pencere::-webkit-scrollbar { display: none; }
  .haber-slider-serit { transition: none; gap: 12px; }
  .haber-slayt { flex-basis: 82%; scroll-snap-align: start; }
  .haber-slider-nav { display: none; }
}

.kart-icerik h3 { font-size: 1.08rem; font-weight: 800; margin-bottom: 6px; line-height: 1.3; }
.kart-icerik p { font-size: .875rem; color: var(--metin-soluk); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; line-height: 1.55; }
.kart-alt { display: flex; align-items: center; gap: 10px; margin-top: 14px; font-size: .8rem; color: var(--metin-soluk); flex-wrap: wrap; }
.kart-alt .puan { display: inline-flex; align-items: center; gap: 3px; background: color-mix(in srgb, var(--vurgu) 12%, transparent); color: var(--vurgu); font-weight: 800; padding: 3px 9px; border-radius: 10px; }
.puan { color: var(--vurgu); font-weight: 800; }
.rota-ozet { display: flex; gap: 10px; margin-top: 14px; font-size: .82rem; color: var(--metin-soluk); flex-wrap: wrap; }
.rota-ozet span { display: inline-flex; align-items: center; gap: 4px; background: color-mix(in srgb, var(--ana) 8%, var(--kart)); border: 1px solid var(--cizgi); padding: 4px 10px; border-radius: 10px; }
.rota-ozet b { color: var(--metin); font-weight: 700; }
/* Kart içi küçük kategori etiketi */
.kart-kategori {
  display: inline-flex; align-items: center; gap: 5px;
  font-size: .72rem; font-weight: 700; letter-spacing: .3px;
  color: var(--metin-soluk); margin-bottom: 6px;
}
/* Görselsiz kart ikon */
.kart-gorsel-ikon { font-size: 3rem; line-height: 1; }
/* Tur fiyat etiketi sağ üst */
.kart-gorsel-fiyat {
  position: absolute; top: 12px; inset-inline-end: 12px; z-index: 4;
  background: var(--ana); color: #fff; font-size: .78rem; font-weight: 800;
  padding: 5px 12px; border-radius: 14px; box-shadow: 0 2px 8px rgba(0,0,0,.2);
}

/* ---------- Detay sayfası ---------- */
.detay-ust { background: var(--kart); border-radius: var(--radius); box-shadow: var(--golge); overflow: hidden; margin-top: 20px; border: 1px solid var(--cizgi); }
.detay-gorsel { height: 240px; background: linear-gradient(135deg, color-mix(in srgb, var(--ana) 18%, var(--kart)), color-mix(in srgb, var(--vurgu) 20%, var(--kart))); display: flex; align-items: center; justify-content: center; font-size: 4.2rem; }
.detay-gorsel img { width: 100%; height: 100%; object-fit: cover; }
.detay-icerik { padding: 22px; }
.detay-icerik h1 { font-size: 1.6rem; font-weight: 800; margin-bottom: 8px; }
.detay-ust-kompakt { margin-top: 20px; }
.detay-ust-kompakt .detay-icerik { padding: 22px 24px; }
.kirinti { font-size: .8rem; color: var(--metin-soluk); margin: 16px 0 4px; }
.kirinti a { color: var(--metin-soluk); }
.hikaye-kutu {
  background: var(--kart); border-inline-start: 4px solid var(--vurgu); border-radius: var(--radius);
  box-shadow: var(--golge); padding: 22px; margin: 20px 0; font-size: 1rem; border: 1px solid var(--cizgi);
}
.hikaye-kutu h2 { font-size: 1.18rem; margin-bottom: 10px; color: var(--ana); display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.okunuyor { background: color-mix(in srgb, var(--vurgu) 8%, transparent); border-radius: 8px; transition: background .3s; }
.bilgi-izgara { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 14px; margin: 18px 0; }
.bilgi-kutu { background: var(--kart); border-radius: 14px; box-shadow: var(--golge); padding: 16px; text-align: center; border: 1px solid var(--cizgi); }
.bilgi-kutu .etiket { font-size: .7rem; color: var(--metin-soluk); text-transform: uppercase; letter-spacing: .6px; font-weight: 700; }
.bilgi-kutu .deger { font-weight: 800; font-size: .96rem; margin-top: 4px; }

/* ---------- Mekan detay: başlık bloğu ---------- */
.detay-baslik {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px 20px;
  margin: 10px 0 18px;
  flex-wrap: wrap;
}
.detay-baslik-sol { flex: 1 1 260px; min-width: 0; }
.detay-baslik-sag {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
  margin-top: 2px;
}
.detay-baslik-sag.mekan-kart-ust-aksiyon {
  position: static !important;
  top: auto; right: auto;
}
.detay-baslik-sag .mekan-etk {
  width: 42px; height: 42px;
  border-radius: 14px;
  border: 1px solid var(--cizgi);
  background: var(--kart);
  box-shadow: 0 1px 2px color-mix(in srgb, #000 6%, transparent);
  font-size: 1.05rem;
  transition: transform .15s ease, border-color .15s ease, background .15s ease, color .15s ease;
}
.detay-baslik-sag .mekan-etk:hover {
  transform: translateY(-1px);
  border-color: color-mix(in srgb, var(--ana) 35%, var(--cizgi));
}
.detay-baslik-sag .mekan-etk.favori.aktif {
  background: color-mix(in srgb, #e11d48 12%, var(--kart));
  border-color: color-mix(in srgb, #e11d48 35%, var(--cizgi));
  color: #be123c;
}
.detay-baslik-sag .mekan-etk.begeni.aktif {
  background: color-mix(in srgb, var(--ana) 12%, var(--kart));
  border-color: color-mix(in srgb, var(--ana) 35%, var(--cizgi));
  color: var(--ana);
}
.detay-kategori-rozet {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: .78rem; font-weight: 800; letter-spacing: .3px;
  color: var(--ana); background: color-mix(in srgb, var(--ana) 11%, transparent);
  padding: 5px 13px; border-radius: 20px; margin-bottom: 10px;
}
.detay-baslik h1 {
  font-size: clamp(1.5rem, 3.4vw, 2.2rem);
  font-weight: 800; line-height: 1.15; letter-spacing: -.4px;
  margin: 0;
}
.detay-meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 14px;
}
.detay-meta-nokta { display: none; }
.detay-chip,
.detay-meta > span:not(.detay-meta-nokta):not(.detay-chip-adres):not(.detay-chip-onay):not(.kart-rozet) {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 7px 12px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--ana) 7%, var(--kart));
  border: 1px solid color-mix(in srgb, var(--ana) 12%, var(--cizgi));
  color: var(--metin);
  font-size: .84rem;
  font-weight: 700;
  line-height: 1.2;
  white-space: nowrap;
}
.detay-chip .chip-ikon,
.detay-puan .chip-ikon { font-size: .92em; opacity: .92; }
.detay-chip-puan,
.detay-puan {
  background: color-mix(in srgb, var(--vurgu) 16%, var(--kart)) !important;
  border-color: color-mix(in srgb, var(--vurgu) 28%, var(--cizgi)) !important;
  color: color-mix(in srgb, var(--vurgu) 55%, #5c4508) !important;
  font-weight: 800 !important;
}
.karanlik .detay-chip-puan,
.karanlik .detay-puan {
  color: color-mix(in srgb, var(--vurgu) 70%, #fff) !important;
}
.detay-chip-istat {
  background: color-mix(in srgb, var(--metin) 4%, var(--kart));
  border-color: var(--cizgi);
  color: var(--metin-soluk);
  font-variant-numeric: tabular-nums;
}
.detay-chip-istat b {
  color: var(--metin);
  font-weight: 800;
}
.detay-chip-adres,
.detay-meta-adres {
  display: inline-flex !important;
  align-items: flex-start;
  gap: 7px;
  max-width: 100%;
  padding: 8px 13px !important;
  border-radius: 14px !important;
  background: color-mix(in srgb, var(--ana) 6%, var(--kart)) !important;
  border: 1px solid color-mix(in srgb, var(--ana) 14%, var(--cizgi)) !important;
  color: var(--metin) !important;
  font-size: .86rem !important;
  font-weight: 600 !important;
  white-space: normal !important;
  line-height: 1.35;
}
.detay-chip-adres .chip-ikon,
.detay-meta-adres .chip-ikon { flex-shrink: 0; margin-top: 1px; }
.detay-chip-onay {
  display: inline-flex !important;
  align-items: center;
  gap: 6px;
  padding: 7px 12px !important;
  border-radius: 999px !important;
  background: color-mix(in srgb, var(--ana) 14%, var(--kart)) !important;
  border: 1px solid color-mix(in srgb, var(--ana) 22%, var(--cizgi)) !important;
  color: var(--ana) !important;
  font-size: .8rem !important;
  font-weight: 800 !important;
  letter-spacing: .2px;
  white-space: nowrap;
}
.detay-chip-sponsor,
.detay-meta .kart-rozet.sponsor {
  position: static !important;
  display: inline-flex !important;
  align-items: center;
  padding: 7px 12px !important;
  border-radius: 999px !important;
  font-size: .8rem !important;
}
@media (max-width: 640px) {
  .detay-baslik { gap: 12px; }
  .detay-baslik-sag { width: 100%; justify-content: flex-start; }
  .detay-chip,
  .detay-meta > span:not(.detay-meta-nokta):not(.detay-chip-adres):not(.detay-chip-onay):not(.kart-rozet) {
    padding: 6px 10px;
    font-size: .8rem;
  }
}

/* ---------- Liste sayfa başlığı (hero header) ---------- */
.sayfa-header {
  position: relative; overflow: hidden;
  margin: 10px 0 20px; padding: 26px 28px;
  border-radius: 24px;
  background: linear-gradient(135deg, color-mix(in srgb, var(--ana) 13%, var(--kart)), color-mix(in srgb, var(--vurgu) 8%, var(--kart)));
  border: 1px solid var(--cizgi); box-shadow: var(--golge);
}
.sayfa-header::before {
  content: ''; position: absolute; right: -50px; top: -50px; width: 200px; height: 200px;
  border-radius: 50%; pointer-events: none;
  background: radial-gradient(circle, color-mix(in srgb, var(--ana) 22%, transparent), transparent 70%);
}
.sayfa-header-rozet {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: .73rem; font-weight: 800; letter-spacing: .5px; text-transform: uppercase;
  color: var(--ana); background: color-mix(in srgb, var(--ana) 14%, var(--kart));
  padding: 5px 13px; border-radius: 20px; margin-bottom: 10px; position: relative;
}
.sayfa-header h1 { font-size: clamp(1.45rem, 3.4vw, 2.05rem); font-weight: 800; letter-spacing: -.4px; line-height: 1.15; position: relative; }
.sayfa-header p { margin-top: 8px; color: var(--metin-soluk); font-weight: 500; max-width: 660px; position: relative; line-height: 1.55; }
.sayfa-header .sayfa-header-sayac { font-weight: 800; color: var(--metin); }
@media (max-width: 640px) { .sayfa-header { padding: 20px 20px; border-radius: 20px; } }

/* ---------- Mekan detay: foto mozaik vitrin ---------- */
.detay-vitrin {
  position: relative; display: grid; gap: 8px;
  border-radius: 22px; overflow: hidden;
  box-shadow: var(--golge-buyuk); border: 1px solid var(--cizgi);
  background: color-mix(in srgb, var(--ana) 8%, var(--arka));
}
.detay-vitrin.vitrin-1 { grid-template-columns: 1fr; }
.detay-vitrin.vitrin-1 .vitrin-hucre { aspect-ratio: 16/9; }
.detay-vitrin.vitrin-2 { grid-template-columns: 1fr 1fr; }
.detay-vitrin.vitrin-2 .vitrin-hucre { aspect-ratio: 4/3; }
.detay-vitrin.vitrin-3 {
  grid-template-columns: 2fr 1fr; grid-template-rows: 1fr 1fr;
  height: clamp(300px, 44vw, 460px);
}
.detay-vitrin.vitrin-3 .vitrin-ana { grid-row: span 2; }
.detay-vitrin.vitrin-4 {
  grid-template-columns: 1fr 1fr; grid-template-rows: 1fr 1fr;
  height: clamp(300px, 44vw, 460px);
}
.detay-vitrin.vitrin-5 {
  grid-template-columns: repeat(4, 1fr); grid-template-rows: repeat(2, 1fr);
  height: clamp(320px, 46vw, 480px);
}
.detay-vitrin.vitrin-5 .vitrin-ana { grid-column: span 2; grid-row: span 2; }
.vitrin-hucre {
  display: block; width: 100%; height: 100%; margin: 0; padding: 0; border: 0;
  cursor: zoom-in; background: none; overflow: hidden; position: relative;
}
.vitrin-hucre img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .5s cubic-bezier(.2,.7,.25,1), filter .3s; }
.vitrin-hucre:hover img { transform: scale(1.05); }
.vitrin-hucre::after { content: ''; position: absolute; inset: 0; background: rgba(8,26,20,0); transition: background .25s; }
.vitrin-hucre:hover::after { background: rgba(8,26,20,.12); }
.vitrin-bos {
  cursor: default; display: flex; align-items: center; justify-content: center;
  min-height: clamp(300px, 42vw, 440px);
  background:
    radial-gradient(circle at 78% 22%, color-mix(in srgb, var(--vurgu) 26%, transparent), transparent 48%),
    linear-gradient(145deg, color-mix(in srgb, var(--ana) 22%, var(--kart)), color-mix(in srgb, var(--ana) 8%, var(--kart)));
}
.vitrin-bos::after { display: none; }
.vitrin-bos::before {
  content: ''; position: absolute; inset: 0; opacity: .5; pointer-events: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='44' height='44' viewBox='0 0 44 44'%3E%3Cpath d='M22 0l22 22-22 22L0 22z' fill='none' stroke='%230e6b4f' stroke-opacity='.1' stroke-width='1'/%3E%3C/svg%3E");
  background-size: 44px 44px;
}
.vitrin-kapak {
  position: relative; z-index: 1; display: flex; flex-direction: column; align-items: center; gap: 10px;
  text-align: center; padding: 20px;
}
.vitrin-kapak-ikon {
  font-size: clamp(3.4rem, 8vw, 5rem); line-height: 1;
  filter: drop-shadow(0 6px 16px rgba(8,26,20,.25));
}
.vitrin-kapak-ad { font-size: clamp(1.1rem, 2.6vw, 1.5rem); font-weight: 800; color: var(--metin); letter-spacing: -.3px; max-width: 22ch; }
.vitrin-kapak-etiket {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: .78rem; font-weight: 700; color: var(--ana);
  background: color-mix(in srgb, var(--ana) 14%, var(--kart)); padding: 5px 14px; border-radius: 20px;
}
.galeri-placeholder {
  display: flex; flex-direction: column; align-items: center; gap: 10px;
  color: var(--metin-soluk); font-weight: 600; font-size: .95rem;
}
.galeri-placeholder-ikon { font-size: 3.6rem; opacity: .5; }
.vitrin-aksiyon {
  position: absolute; right: 14px; bottom: 14px; z-index: 3;
  display: flex; gap: 8px; flex-wrap: wrap; justify-content: flex-end;
}
.vitrin-btn {
  display: inline-flex; align-items: center; gap: 7px;
  font-family: inherit; font-size: .84rem; font-weight: 700; cursor: pointer;
  padding: 9px 15px; border-radius: 30px; border: 1px solid rgba(255,255,255,.35);
  background: rgba(12,28,22,.72); color: #fff; backdrop-filter: blur(6px);
  box-shadow: 0 6px 18px rgba(0,0,0,.28); transition: transform .15s, background .2s;
}
.vitrin-btn:hover { transform: translateY(-2px); background: rgba(12,28,22,.9); }
.vitrin-btn b { font-weight: 800; }
.vitrin-btn-360 { background: linear-gradient(135deg, var(--vurgu), color-mix(in srgb, var(--vurgu) 65%, var(--ana))); border-color: transparent; }
/* Temsilî / blur görseller */
.vitrin-blur img { filter: blur(7px) brightness(.88); transform: scale(1.12); }
.vitrin-temsil img { filter: saturate(.92); }
.vitrin-gorsel-etiket {
  position: absolute; left: 12px; bottom: 12px; z-index: 4;
  font-size: .72rem; font-weight: 700; color: #fff;
  background: rgba(8,26,20,.72); padding: 5px 11px; border-radius: 12px;
  backdrop-filter: blur(4px); pointer-events: none;
}
/* ---------- Talep panelleri (işletme + sanaltur boş) ---------- */
.talep-panel {
  position: relative; overflow: hidden;
  margin: 18px 0 22px; padding: 22px 20px; border-radius: 24px;
  background: linear-gradient(145deg, color-mix(in srgb, var(--vurgu) 8%, var(--kart)), var(--kart));
  border: 1px solid color-mix(in srgb, var(--vurgu) 22%, var(--cizgi));
  box-shadow: 0 14px 40px color-mix(in srgb, var(--ana) 8%, transparent);
}
.talep-panel-dekor {
  position: absolute; inset: 0; pointer-events: none; opacity: .45;
  background:
    radial-gradient(circle at 92% 8%, color-mix(in srgb, var(--vurgu) 18%, transparent) 0%, transparent 42%),
    radial-gradient(circle at 4% 96%, color-mix(in srgb, var(--ana) 12%, transparent) 0%, transparent 38%);
}
.talep-panel-ic { position: relative; z-index: 1; }
.talep-panel-ust { margin-bottom: 18px; }
.talep-panel-rozet {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: .72rem; font-weight: 800; letter-spacing: .4px; text-transform: uppercase;
  color: color-mix(in srgb, var(--vurgu) 85%, var(--metin));
  background: color-mix(in srgb, var(--vurgu) 14%, transparent);
  border: 1px solid color-mix(in srgb, var(--vurgu) 28%, transparent);
  padding: 5px 12px; border-radius: 999px; margin-bottom: 10px;
}
.talep-panel-ust h3 { font-size: 1.22rem; font-weight: 800; margin: 0 0 8px; letter-spacing: -.02em; }
.talep-panel-ust p { margin: 0; font-size: .93rem; line-height: 1.65; color: var(--metin-soluk); max-width: 680px; }
.talep-bildirim {
  margin: 0 0 14px; padding: 12px 14px; border-radius: 14px;
  font-size: .88rem; font-weight: 600; line-height: 1.5;
  background: color-mix(in srgb, #e74c3c 10%, var(--kart));
  border: 1px solid color-mix(in srgb, #e74c3c 24%, var(--cizgi));
  color: var(--metin);
}
.talep-bildirim-ok {
  background: color-mix(in srgb, #27ae60 10%, var(--kart));
  border-color: color-mix(in srgb, #27ae60 24%, var(--cizgi));
}
.talep-aksiyon-izgara { display: grid; gap: 12px; }
@media (min-width: 640px) { .talep-aksiyon-izgara { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 900px) { .talep-aksiyon-izgara:has(.talep-aksiyon-sahiplik) { grid-template-columns: repeat(3, 1fr); } }
.talep-aksiyon-kart {
  display: flex; align-items: center; gap: 14px; width: 100%;
  padding: 16px 18px; border-radius: 18px; cursor: pointer; text-decoration: none;
  background: var(--kart); border: 1px solid var(--cizgi);
  box-shadow: var(--golge); color: var(--metin);
  transition: transform .2s, border-color .2s, box-shadow .2s;
}
.talep-aksiyon-kart:hover, .talep-aksiyon-kart.aktif {
  transform: translateY(-2px);
  border-color: color-mix(in srgb, var(--vurgu) 40%, var(--cizgi));
  box-shadow: 0 10px 28px color-mix(in srgb, var(--vurgu) 12%, transparent);
}
.talep-aksiyon-kart.aktif { background: color-mix(in srgb, var(--vurgu) 6%, var(--kart)); }
.talep-aksiyon-tur { background: linear-gradient(135deg, color-mix(in srgb, var(--ana) 8%, var(--kart)), var(--kart)); }
.talep-aksiyon-sahiplik { background: linear-gradient(135deg, color-mix(in srgb, var(--vurgu) 10%, var(--kart)), var(--kart)); }
.talep-aksiyon-sahiplik .talep-aksiyon-ikon { background: color-mix(in srgb, var(--vurgu) 16%, transparent); }
.talep-aksiyon-ikon {
  flex-shrink: 0; width: 46px; height: 46px; border-radius: 14px;
  display: flex; align-items: center; justify-content: center; font-size: 1.35rem;
  background: color-mix(in srgb, var(--vurgu) 12%, transparent);
}
.talep-aksiyon-tur .talep-aksiyon-ikon { background: color-mix(in srgb, var(--ana) 12%, transparent); }
.talep-aksiyon-metin { flex: 1; min-width: 0; text-align: start; display: flex; flex-direction: column; gap: 3px; }
.talep-aksiyon-metin strong { font-size: .92rem; font-weight: 800; line-height: 1.35; }
.talep-aksiyon-metin small { font-size: .78rem; color: var(--metin-soluk); line-height: 1.4; }
.talep-aksiyon-ok { flex-shrink: 0; font-size: 1.2rem; font-weight: 700; color: var(--metin-soluk); opacity: .7; }
.talep-form-sarmal { margin-top: 14px; }
.talep-form-sarmal[hidden] { display: none !important; }
.talep-form-kutu {
  position: relative; padding: 20px 18px 18px; border-radius: 18px;
  background: var(--kart); border: 1px solid var(--cizgi);
  box-shadow: inset 0 1px 0 color-mix(in srgb, #fff 40%, transparent);
}
.talep-form-kutu h4 { font-size: 1rem; font-weight: 800; margin: 0 0 6px; }
.talep-form-aciklama, .talep-form-kutu > p { font-size: .86rem; color: var(--metin-soluk); margin: 0 0 14px; line-height: 1.55; }
.talep-form-kapat {
  position: absolute; top: 10px; right: 10px; z-index: 2;
  width: 34px; height: 34px; border-radius: 50%; border: none; cursor: pointer;
  background: color-mix(in srgb, var(--metin) 8%, transparent);
  color: var(--metin-soluk); font-size: 1.25rem; line-height: 1;
  display: flex; align-items: center; justify-content: center;
  transition: background .2s, color .2s;
}
.talep-form-kapat:hover { background: var(--ana); color: #fff; }
.talep-form-alan { display: grid; grid-template-columns: 1fr; gap: 10px; margin-bottom: 10px; }
@media (min-width: 560px) { .talep-form-alan { grid-template-columns: 1fr 1fr; } }
@media (min-width: 760px) { .talep-form-alan-3 { grid-template-columns: repeat(3, 1fr); } }
.talep-form-onay {
  display: flex; align-items: flex-start; gap: 12px; margin: 0 0 12px;
  width: 100%; min-width: 0; box-sizing: border-box;
  padding: 12px 14px; border-radius: 12px; cursor: pointer;
  background: color-mix(in srgb, var(--vurgu) 6%, var(--arka));
  border: 1px solid color-mix(in srgb, var(--vurgu) 22%, var(--cizgi));
  font-size: .86rem; line-height: 1.5; color: var(--metin); text-align: start;
}
.talep-form-onay input[type="checkbox"] {
  flex: 0 0 18px; width: 18px !important; min-width: 18px; height: 18px;
  margin: 2px 0 0; padding: 0; accent-color: var(--vurgu);
}
.talep-form-onay span {
  flex: 1 1 auto; min-width: 0; display: block;
}
.talep-form-kutu input:not([type="checkbox"]):not([type="radio"]), .talep-form-kutu textarea {
  width: 100%; padding: 11px 14px; border: 1px solid var(--cizgi); border-radius: 12px;
  font-family: inherit; font-size: .92rem; background: var(--arka); color: var(--metin);
  box-sizing: border-box;
}
.talep-form-kutu textarea { resize: vertical; min-height: 72px; margin-bottom: 12px; }
.talep-form-gonder { width: 100%; text-align: center; }
.talep-form-inline { margin-top: 4px; }
.isletme-talep-panel { margin-top: 16px; }

/* Sanaltur boş durum (panorama yok) */
.deneyim-kart-bos .deneyim-govde { flex: 1; }
.sanaltur-rozet-bos {
  background: color-mix(in srgb, var(--metin-soluk) 18%, transparent) !important;
  color: var(--metin-soluk) !important;
}
.sanaltur-bos-panel {
  margin: 0; padding: 0; border: 0; box-shadow: none; background: none;
  display: flex; flex-direction: column; align-items: center; text-align: center; flex: 1;
}
.sanaltur-bos-panel .talep-panel-dekor { display: none; }
.sanaltur-bos-gorsel {
  position: relative; width: 100%; max-width: 280px; aspect-ratio: 16/10;
  margin: 0 auto 16px; border-radius: 18px; overflow: hidden;
  background: linear-gradient(160deg, #0d1f18 0%, #1a3d30 55%, #0a1612 100%);
  border: 1px solid color-mix(in srgb, var(--vurgu) 25%, transparent);
  display: flex; align-items: center; justify-content: center;
}
.sanaltur-bos-halka {
  position: absolute; inset: 18%; border-radius: 50%;
  border: 2px dashed color-mix(in srgb, var(--vurgu) 55%, transparent);
  animation: sanalturDon 18s linear infinite;
}
.sanaltur-bos-halka::before {
  content: ''; position: absolute; inset: 14%; border-radius: 50%;
  border: 1px solid rgba(255,255,255,.08);
}
.sanaltur-bos-ikon {
  position: relative; z-index: 1; font-size: 1.5rem; font-weight: 900; letter-spacing: 2px;
  color: color-mix(in srgb, var(--vurgu) 90%, #fff);
  text-shadow: 0 0 24px color-mix(in srgb, var(--vurgu) 40%, transparent);
}
@keyframes sanalturDon { to { transform: rotate(360deg); } }
.sanaltur-bos-metin { margin-bottom: 14px; max-width: 360px; }
.sanaltur-bos-metin h3 { font-size: 1.05rem; font-weight: 800; margin: 0 0 8px; }
.sanaltur-bos-metin p { margin: 0; font-size: .88rem; line-height: 1.6; color: var(--metin-soluk); }
.sanaltur-bos-panel .talep-form-kutu { width: 100%; text-align: start; margin-top: 4px; }
.sanaltur-bos-panel .talep-bildirim { width: 100%; text-align: start; }

/* Eski sınıflar (geriye uyum) */
.sanaltur-talep-form { max-width: 440px; margin: 0 auto; text-align: start; }
.sanaltur-talep-alan { display: grid; grid-template-columns: 1fr; gap: 10px; margin-bottom: 10px; }
.sanaltur-talep-form input, .sanaltur-talep-form textarea {
  width: 100%; padding: 11px 14px; border: 1px solid var(--cizgi); border-radius: 12px;
  font-family: inherit; font-size: .92rem; background: var(--arka); color: var(--metin);
}
@media (min-width: 560px) { .sanaltur-talep-alan { grid-template-columns: 1fr 1fr; } }

/* ---------- Mekan detay: özet + hızlı bilgi ---------- */
.detay-ozet { margin: 20px 0; }
.detay-aciklama { font-size: 1.05rem; line-height: 1.7; color: var(--metin); margin-bottom: 16px; }
.hizli-bilgi { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 12px; }
.hb-kutu {
  display: flex; align-items: center; gap: 12px;
  background: var(--kart); border: 1px solid var(--cizgi); border-radius: 16px;
  padding: 14px 16px; box-shadow: var(--golge);
}
.hb-ikon {
  font-size: 1.3rem; width: 42px; height: 42px; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center; border-radius: 12px;
  background: color-mix(in srgb, var(--ana) 10%, transparent);
}
.hb-yazi { display: flex; flex-direction: column; min-width: 0; }
.hb-etiket { font-size: .7rem; text-transform: uppercase; letter-spacing: .6px; font-weight: 700; color: var(--metin-soluk); }
.hb-deger { font-weight: 800; font-size: .96rem; margin-top: 2px; }

/* ---------- Mekan detay: deneyim (panorama + harita) ---------- */
.deneyim-grid { display: grid; gap: 16px; }
.deneyim-grid.deneyim-ikili { grid-template-columns: 1fr 1fr; }
.deneyim-grid.deneyim-tekli { grid-template-columns: 1fr; }
.deneyim-kart {
  display: flex; flex-direction: column;
  background: var(--kart); border: 1px solid var(--cizgi); border-radius: 22px;
  padding: 16px; box-shadow: var(--golge);
}
.deneyim-kart-ust { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 12px; }
.deneyim-kart-ust h2 { font-size: 1.12rem; font-weight: 800; display: flex; align-items: center; gap: 8px; }
.deneyim-govde { display: flex; flex-direction: column; flex: 1; }
.deneyim-alt-btn { width: 100%; margin-top: 12px; text-align: center; }
.harita-sarmal-kompakt { flex: 1; padding: 0; margin: 0; border-radius: 16px; background: none; border: 0; box-shadow: none; }
.harita-sarmal-kompakt::before { display: none; }
.harita-sarmal-kompakt .harita { height: 100%; min-height: 300px; border-radius: 16px; box-shadow: none; }
.harita-sarmal-kompakt.harita-genis .harita { min-height: 420px; }
.sanaltur-rozet {
  font-size: .72rem; font-weight: 800; letter-spacing: 1px;
  background: linear-gradient(135deg, var(--vurgu), color-mix(in srgb, var(--vurgu) 70%, #fff));
  color: #fff; padding: 4px 10px; border-radius: 8px;
}
.sanaltur-onizleme { flex: 1; min-height: 300px; border-radius: 16px; overflow: hidden; border: 1px solid var(--cizgi); background: #111; position: relative; }
.sanaltur-onizleme > div, .sanaltur-tam > div { width: 100% !important; height: 100% !important; }

/* ---------- Mekan modals ---------- */
body.modal-acik { overflow: hidden; }
.mekan-modal { position: fixed; inset: 0; z-index: 9000; display: flex; align-items: center; justify-content: center; padding: 16px; }
.mekan-modal[hidden] { display: none !important; }
.mekan-modal-katman { position: absolute; inset: 0; background: rgba(8,26,20,.82); backdrop-filter: blur(6px); }
.mekan-modal-ic {
  position: relative; z-index: 1; width: 100%; max-width: 1100px;
  background: var(--kart); border-radius: 20px; overflow: hidden;
  box-shadow: 0 28px 70px rgba(0,0,0,.45); border: 1px solid var(--cizgi);
}
.mekan-modal-kapat {
  position: absolute; top: 12px; right: 12px; z-index: 5;
  width: 40px; height: 40px; border-radius: 50%; border: none; cursor: pointer;
  background: rgba(8,26,20,.65); color: #fff; font-size: 1.5rem; line-height: 1;
  display: flex; align-items: center; justify-content: center;
}
.mekan-modal-kapat:hover { background: var(--ana); transform: scale(1.05); }
.galeri-modal-ic { padding: 0; background: #0a0a0a; max-width: 960px; }
.galeri-modal-gorsel { margin: 0; display: flex; align-items: center; justify-content: center; min-height: 50vh; max-height: 85vh; }
.galeri-modal-gorsel img { max-width: 100%; max-height: 85vh; object-fit: contain; display: block; }
.modal-nav {
  position: absolute; top: 50%; transform: translateY(-50%); z-index: 4;
  width: 44px; height: 44px; border-radius: 50%; border: none; cursor: pointer;
  background: rgba(255,255,255,.18); color: #fff; font-size: 1.5rem; font-weight: 700;
}
.modal-nav:hover { background: var(--ana); }
.modal-onceki { left: 12px; }
.modal-sonraki { right: 12px; }
.galeri-modal-sayac {
  position: absolute; bottom: 14px; left: 50%; transform: translateX(-50%);
  background: rgba(8,26,20,.7); color: #fff; font-size: .82rem; font-weight: 700;
  padding: 6px 14px; border-radius: 20px;
}
.sanaltur-modal-ic { padding: 14px; max-width: 1200px; background: #111; border-color: rgba(255,255,255,.12); }
.sanaltur-modal-ipucu { color: rgba(255,255,255,.75); text-align: center; font-size: .82rem; margin: 0 0 10px; }
.sanaltur-tam { height: min(78vh, 720px); border-radius: 14px; overflow: hidden; position: relative; background: #111; }
.sanaltur-modal-ic .mekan-modal-kapat { background: rgba(255,255,255,.15); }
/* ---------- Mekan detay: tablet/mobil uyum ---------- */
@media (max-width: 900px) {
  .deneyim-grid.deneyim-ikili { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .detay-vitrin.vitrin-3,
  .detay-vitrin.vitrin-4,
  .detay-vitrin.vitrin-5 {
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: auto auto;
    height: auto;
  }
  .detay-vitrin.vitrin-3 .vitrin-hucre,
  .detay-vitrin.vitrin-4 .vitrin-hucre,
  .detay-vitrin.vitrin-5 .vitrin-hucre { aspect-ratio: 1/1; }
  .detay-vitrin.vitrin-3 .vitrin-ana,
  .detay-vitrin.vitrin-4 .vitrin-ana,
  .detay-vitrin.vitrin-5 .vitrin-ana { grid-column: span 2; grid-row: auto; aspect-ratio: 16/10; }
  .detay-vitrin.vitrin-3 .vitrin-hucre:nth-of-type(n+4),
  .detay-vitrin.vitrin-4 .vitrin-hucre:nth-of-type(n+4),
  .detay-vitrin.vitrin-5 .vitrin-hucre:nth-of-type(n+4) { display: none; }
  .vitrin-bos { min-height: 280px; }
  .vitrin-aksiyon { right: 10px; bottom: 10px; }
  .vitrin-btn { font-size: .78rem; padding: 8px 13px; }
  .detay-aciklama { font-size: 1rem; }
  .sanaltur-onizleme, .harita-sarmal-kompakt .harita { min-height: 260px; }
  .sanaltur-tam { height: 65vh; }
}

/* ---------- Sesli okuma oynatıcısı ---------- */
.okuyucu { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-top: 14px; padding-top: 14px; border-top: 1px dashed var(--cizgi); }
.okuyucu button { font-family: inherit; cursor: pointer; }
.okuyucu-oynat {
  background: var(--ana); color: #fff; border: none; border-radius: 22px;
  padding: 9px 18px; font-weight: 700; font-size: .88rem;
  display: inline-flex; align-items: center; gap: 6px; transition: filter .15s;
}
.okuyucu-oynat:hover { filter: brightness(1.1); }
.okuyucu-dur { background: var(--arka); border: 1px solid var(--cizgi); color: var(--metin); border-radius: 50%; width: 36px; height: 36px; }
.okuyucu-cinsiyet { display: inline-flex; background: var(--arka); border: 1px solid var(--cizgi); border-radius: 20px; overflow: hidden; }
.okuyucu-cinsiyet button { background: none; border: none; padding: 7px 13px; font-size: .8rem; font-weight: 700; color: var(--metin-soluk); }
.okuyucu-cinsiyet button.aktif { background: var(--vurgu); color: #fff; }
.okuyucu-hiz { font-size: .78rem; color: var(--metin-soluk); display: inline-flex; align-items: center; gap: 6px; font-weight: 700; }
.okuyucu-hiz input { width: 80px; accent-color: var(--ana); }

/* ---------- Tema özelleştirici ---------- */
.tema-buton {
  position: fixed; bottom: 84px; inset-inline-end: 16px; z-index: 1100;
  width: 48px; height: 48px; border-radius: 50%; border: none; cursor: pointer;
  background: var(--kart); box-shadow: var(--golge-buyuk); font-size: 1.3rem;
  border: 1px solid var(--cizgi); transition: transform .15s;
}
.tema-buton:hover { transform: scale(1.08); }
.tema-panel {
  display: none; position: fixed; bottom: 140px; inset-inline-end: 16px; z-index: 1100;
  background: var(--kart); border-radius: 16px; box-shadow: var(--golge-buyuk);
  padding: 18px; width: 250px; border: 1px solid var(--cizgi);
}
.tema-panel.acik { display: block; }
.tema-panel h4 { font-size: .92rem; margin-bottom: 12px; }
.tema-satir { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 12px; font-size: .82rem; font-weight: 700; color: var(--metin-soluk); }
.tema-noktalar { display: flex; gap: 6px; }
.tema-nokta { width: 26px; height: 26px; border-radius: 50%; border: 2px solid var(--cizgi); cursor: pointer; transition: transform .12s; }
.tema-nokta:hover { transform: scale(1.15); }
.tema-panel input[type=color] { width: 40px; height: 30px; border: none; border-radius: 8px; cursor: pointer; background: none; }
.anahtar { position: relative; display: inline-block; width: 42px; height: 24px; }
.anahtar input { opacity: 0; width: 0; height: 0; }
.anahtar i { position: absolute; inset: 0; background: var(--cizgi); border-radius: 24px; transition: .2s; }
.anahtar i::before { content: ''; position: absolute; width: 18px; height: 18px; border-radius: 50%; background: #fff; top: 3px; left: 3px; transition: .2s; }
.anahtar input:checked + i { background: var(--ana); }
.anahtar input:checked + i::before { transform: translateX(18px); }
.tema-sifirla { width: 100%; background: var(--arka); border: 1px solid var(--cizgi); color: var(--metin); border-radius: 10px; padding: 8px; font-weight: 700; cursor: pointer; font-family: inherit; font-size: .82rem; }

/* ---------- Harita ---------- */
.harita { height: 330px; border-radius: var(--radius); box-shadow: var(--golge); z-index: 1; border: 1px solid var(--cizgi); }

/* ---------- Yakınımda: gelişmiş harita ---------- */
.harita-ipucu {
  display: flex; align-items: center; gap: 12px; flex-wrap: wrap;
  background: color-mix(in srgb, var(--ana) 7%, var(--kart));
  border: 1px solid color-mix(in srgb, var(--ana) 20%, var(--cizgi));
  border-radius: 14px; padding: 12px 16px; margin-bottom: 16px;
}
.harita-ipucu .hi-ikon { font-size: 1.25rem; }
.harita-ipucu .hi-metin { font-size: .9rem; color: var(--metin); font-weight: 600; flex: 1; min-width: 220px; }
.buton-kucuk { padding: 8px 15px; font-size: .85rem; }

/* Çerçeveli / ringli harita */
.harita-sarmal {
  position: relative; margin-bottom: 22px; padding: 9px;
  border-radius: 28px; background: color-mix(in srgb, var(--ana) 6%, var(--kart));
  border: 1px solid color-mix(in srgb, var(--ana) 16%, var(--cizgi));
  box-shadow: var(--golge);
}
.harita-sarmal::before {
  content: ''; position: absolute; inset: -6px; border-radius: 34px; pointer-events: none;
  border: 2px dashed color-mix(in srgb, var(--ana) 32%, transparent);
}
.harita-buyuk { height: 480px; border-radius: 20px; }
@media (max-width: 640px) { .harita-buyuk { height: 400px; } .harita-sarmal { padding: 6px; border-radius: 22px; } }

/* Harita üstü kategori filtresi */
.harita-filtre {
  position: absolute; z-index: 500; top: 18px; left: 18px; right: 66px;
  display: flex; gap: 7px; overflow-x: auto; padding: 5px;
  scrollbar-width: none; -webkit-overflow-scrolling: touch;
}
.harita-filtre::-webkit-scrollbar { display: none; }
.harita-cip {
  flex: 0 0 auto; display: inline-flex; align-items: center; gap: 6px;
  padding: 7px 13px; border-radius: 22px; cursor: pointer; white-space: nowrap;
  background: color-mix(in srgb, var(--kart) 88%, transparent);
  backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px);
  border: 1.5px solid var(--cizgi); color: var(--metin);
  font-size: .82rem; font-weight: 700; box-shadow: 0 3px 10px rgba(8,26,20,.14);
  transition: background .15s, border-color .15s, color .15s, transform .12s;
}
.harita-cip:hover { transform: translateY(-1px); }
.harita-cip .hc-ikon { font-size: .95rem; line-height: 1; }
.harita-cip.aktif {
  background: var(--cip-renk, var(--ana)); color: #fff;
  border-color: var(--cip-renk, var(--ana));
}
@media (max-width: 640px) {
  .harita-filtre { top: 12px; left: 10px; right: 54px; }
  .harita-cip .hc-ad { display: none; }
  .harita-cip { padding: 9px 11px; }
}

/* Leaflet katman kontrolü — tema uyumlu */
.leaflet-control-layers {
  border-radius: 12px !important; border: 1px solid var(--cizgi) !important;
  box-shadow: var(--golge-buyuk) !important; overflow: hidden;
}
.leaflet-control-layers-expanded { padding: 12px 14px !important; background: var(--kart) !important; color: var(--metin); }
.leaflet-control-layers-toggle { width: 40px !important; height: 40px !important; }
.leaflet-control-layers label { font-size: .88rem; font-weight: 600; margin: 3px 0; }
.leaflet-control-layers-separator { border-top-color: var(--cizgi) !important; }

/* Özel pin işaretçisi (yuvarlak baş + uç, ikon tam ortada) */
.pin-sarmal { background: none !important; border: 0 !important; }
.pin {
  position: relative; display: block; width: 38px; height: 48px;
  filter: drop-shadow(0 4px 5px rgba(0,0,0,.3));
}
.pin-govde {
  position: absolute; left: 0; top: 0; width: 38px; height: 38px;
  background: var(--pin, #2f7d5b); border: 3px solid #fff; border-radius: 50%;
  display: flex; align-items: center; justify-content: center; box-sizing: border-box;
}
.pin-govde::after {
  content: ''; position: absolute; left: 50%; bottom: -8px; transform: translateX(-50%);
  width: 0; height: 0; border-left: 8px solid transparent; border-right: 8px solid transparent;
  border-top: 11px solid var(--pin, #2f7d5b);
}
.pin-ic { font-size: 18px; line-height: 1; }

/* Mekan detay: adres + navigasyon butonları */
.detay-adres { margin: 14px 0 10px; font-size: .92rem; color: var(--metin); font-weight: 600; }
.nav-butonlar { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 4px; }
.nav-btn {
  display: inline-flex; align-items: center; gap: 12px; padding: 11px 18px 11px 14px;
  border-radius: 14px; text-decoration: none; color: #fff; border: none; cursor: pointer;
  font-family: inherit; font-size: inherit;
  box-shadow: 0 6px 18px rgba(8,26,20,.18); transition: transform .14s, box-shadow .14s, filter .14s;
}
.nav-btn:hover { transform: translateY(-2px); box-shadow: 0 10px 24px rgba(8,26,20,.26); filter: brightness(1.03); }
.nav-btn .nav-ikon {
  width: 38px; height: 38px; border-radius: 11px; display: flex; align-items: center; justify-content: center;
  font-size: 1.2rem; background: rgba(255,255,255,.2); flex: 0 0 auto;
}
.nav-btn .nav-yazi { display: flex; flex-direction: column; line-height: 1.2; text-align: start; }
.nav-btn .nav-ust { font-size: .95rem; font-weight: 800; }
.nav-btn .nav-alt { font-size: .74rem; opacity: .9; font-weight: 600; }
.nav-google { background: linear-gradient(135deg, #2f7d5b, #1f6b4a); }
.nav-apple { background: linear-gradient(135deg, #3a3f47, #1c1f24); }
.nav-sanaltur { background: linear-gradient(135deg, #c9a227, #a8841a); flex: 1; min-width: 0; }
.nav-paylas { background: linear-gradient(135deg, #4a6fa5, #3d5a80); flex: 1; min-width: 0; }
.deneyim-govde .nav-butonlar { margin-top: 12px; }
.deneyim-govde .nav-butonlar.sanaltur-nav { width: 100%; }
@media (max-width: 520px) {
  .deneyim-govde .nav-butonlar.sanaltur-nav { flex-direction: column; }
  .deneyim-govde .nav-butonlar.sanaltur-nav .nav-btn { width: 100%; }
}

/* Harita popup balonu */
.harita-balon { display: grid; gap: 3px; min-width: 150px; }
.harita-balon b { font-size: .95rem; }
.harita-balon .hb-kat { font-size: .72rem; color: var(--metin-soluk); text-transform: uppercase; letter-spacing: .4px; }
.harita-balon .hb-puan { color: var(--vurgu); font-weight: 700; font-size: .82rem; }
.harita-balon .hb-link {
  margin-top: 5px; display: inline-block; background: var(--ana); color: #fff !important;
  padding: 6px 12px; border-radius: 9px; font-weight: 700; font-size: .8rem; text-align: center;
}

/* Görünen yerler başlığı */
.gorunen-baslik { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 6px 0 12px; }
.gorunen-baslik h3 { font-size: 1.15rem; font-weight: 800; display: flex; align-items: center; gap: 8px; }
.gorunen-sag { display: flex; align-items: center; gap: 10px; }
.gorunen-sayac {
  font-size: .78rem; font-weight: 700; color: var(--ana);
  background: color-mix(in srgb, var(--ana) 12%, transparent);
  padding: 5px 12px; border-radius: 20px; white-space: nowrap;
}
.kaydir-oklar { display: flex; gap: 6px; }
.kaydir-ok {
  width: 34px; height: 34px; border-radius: 50%; cursor: pointer;
  background: var(--kart); border: 1.5px solid var(--cizgi); color: var(--metin);
  font-size: 1.25rem; line-height: 1; font-weight: 700;
  display: flex; align-items: center; justify-content: center;
  transition: background .15s, border-color .15s, transform .12s;
}
.kaydir-ok:hover { background: var(--ana); color: #fff; border-color: var(--ana); transform: translateY(-1px); }
@media (max-width: 559px) { .kaydir-oklar { display: none; } }

/* Görünen yer kartları — yatay kaydırmalı küçük kutular */
.yer-serit {
  display: flex; gap: 12px; overflow-x: auto; scroll-snap-type: x proximity;
  padding: 4px 2px 14px; margin-bottom: 8px; scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
}
.yer-serit::-webkit-scrollbar { height: 8px; }
.yer-serit::-webkit-scrollbar-track { background: transparent; }
.yer-serit::-webkit-scrollbar-thumb { background: var(--cizgi); border-radius: 20px; }
.yer-serit::-webkit-scrollbar-thumb:hover { background: var(--ana); }
.yer-kart {
  flex: 0 0 236px; scroll-snap-align: start;
  display: flex; flex-direction: column; gap: 6px; background: var(--kart);
  border: 1px solid var(--cizgi); border-radius: 15px; padding: 12px 14px 13px;
  box-shadow: var(--golge); transition: transform .15s, box-shadow .15s, border-color .15s;
  color: var(--metin); border-top: 3px solid var(--kat-renk, var(--ana));
}
.yer-kart:hover { transform: translateY(-3px); box-shadow: var(--golge-buyuk); border-color: var(--kat-renk, var(--ana)); }
.yer-ust-serit { display: flex; align-items: center; gap: 7px; }
.yer-ikon {
  flex: 0 0 34px; width: 34px; height: 34px; border-radius: 10px;
  display: flex; align-items: center; justify-content: center; font-size: 1.15rem;
  background: color-mix(in srgb, var(--kat-renk, var(--ana)) 16%, var(--kart));
}
.yer-kat {
  font-size: .64rem; font-weight: 800; text-transform: uppercase; letter-spacing: .5px;
  color: var(--kat-renk, var(--metin-soluk));
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.yer-sponsor { font-size: .58rem; font-weight: 800; color: #fff; background: var(--turkuaz); padding: 2px 6px; border-radius: 7px; letter-spacing: .4px; }
.yer-ad {
  font-size: .95rem; font-weight: 800; line-height: 1.25;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
  min-height: 2.4em;
}
.yer-alt { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: auto; font-size: .78rem; color: var(--metin-soluk); }
.yer-puan { color: var(--vurgu); font-weight: 800; }
.yer-bos {
  text-align: center; color: var(--metin-soluk); font-size: .9rem;
  padding: 22px 16px; background: var(--arka); border: 1px dashed var(--cizgi);
  border-radius: 14px; margin-bottom: 18px;
}

/* ---------- Rota durakları ---------- */
.durak-listesi { position: relative; margin: 18px 0; }
.durak {
  display: flex; gap: 15px; background: var(--kart); border-radius: var(--radius);
  box-shadow: var(--golge); padding: 18px; margin-bottom: 14px; position: relative; color: var(--metin);
  border: 1px solid var(--cizgi); transition: transform .15s;
}
.durak:hover { transform: translateX(4px); }
[dir="rtl"] .durak:hover { transform: translateX(-4px); }
.durak-no {
  flex: 0 0 40px; height: 40px; border-radius: 50%; background: var(--ana); color: #fff;
  display: flex; align-items: center; justify-content: center; font-weight: 800; font-size: 1.05rem;
  box-shadow: 0 3px 10px color-mix(in srgb, var(--ana) 40%, transparent);
}
.durak h3 { font-size: 1.04rem; font-weight: 800; }
.durak p { font-size: .85rem; color: var(--metin-soluk); }
.yurume-bilgi { text-align: center; font-size: .8rem; color: var(--metin-soluk); margin: -6px 0 10px; font-weight: 700; }

/* ---------- Yorumlar & formlar ---------- */
.yorum { background: var(--kart); border-radius: 14px; box-shadow: var(--golge); padding: 15px 18px; margin-bottom: 12px; border: 1px solid var(--cizgi); }
.yorum-ust { display: flex; justify-content: space-between; font-size: .85rem; margin-bottom: 4px; }
.yorum-ust b { color: var(--metin); }
.yorum p { font-size: .9rem; }
.form-kutu { background: var(--kart); border-radius: var(--radius); box-shadow: var(--golge); padding: 22px; margin: 16px 0; border: 1px solid var(--cizgi); }
.form-kutu label { display: block; font-size: .84rem; font-weight: 700; margin: 12px 0 5px; }
.form-kutu input, .form-kutu textarea, .form-kutu select {
  width: 100%; padding: 11px 13px; border: 1px solid var(--cizgi); border-radius: 11px;
  font-size: .95rem; font-family: inherit; background: var(--arka); color: var(--metin);
  transition: border-color .15s;
}
.form-kutu input:focus, .form-kutu textarea:focus, .form-kutu select:focus { outline: none; border-color: var(--ana); }
.form-kutu textarea { min-height: 90px; resize: vertical; }

/* Seçim kutuları: tüm cihazlarda tutarlı ve mobil uyumlu */
.form-kutu select {
  -webkit-appearance: none; -moz-appearance: none; appearance: none;
  width: 100%; max-width: 100%; display: block;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%2368746e' stroke-width='2' fill='none'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 13px center;
  padding-inline-end: 38px;
  text-overflow: ellipsis; white-space: nowrap; overflow: hidden;
  line-height: 1.4;
}
[dir="rtl"] .form-kutu select { background-position: left 13px center; }
.form-kutu select option { color: #21302b; background: #fff; }
@media (max-width: 767px) {
  /* iOS'ta odaklanınca yakınlaştırmayı önler ve taşmayı engeller */
  .form-kutu input, .form-kutu select, .form-kutu textarea { font-size: 16px; }
}

/* Plan formu durak kutusu */
.durak-kutu { border: 1px dashed var(--cizgi); border-radius: 14px; padding: 14px; margin: 12px 0; background: color-mix(in srgb, var(--arka) 60%, var(--kart)); }
.durak-kutu-ust { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.durak-kutu-ust b { font-size: .9rem; }
.durak-cikar { background: #c0392b; color: #fff; border: none; border-radius: 50%; width: 28px; height: 28px; cursor: pointer; font-size: .85rem; line-height: 1; flex: 0 0 auto; }

/* Navigasyon düğmeleri */
.nav-kutu { background: var(--kart); border: 1px solid var(--cizgi); border-radius: var(--radius); box-shadow: var(--golge); padding: 18px; margin: 16px 0; }
.nav-kutu h3 { font-size: 1rem; margin-bottom: 10px; }
.nav-satir { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 9px 0; border-bottom: 1px dashed var(--cizgi); flex-wrap: wrap; }
.nav-satir:last-child { border-bottom: none; }
.nav-satir .ad { font-size: .9rem; font-weight: 700; flex: 1; min-width: 140px; }
.nav-dugmeler { display: flex; gap: 6px; }
.nav-dugme { display: inline-flex; align-items: center; gap: 5px; font-size: .78rem; font-weight: 700; padding: 7px 12px; border-radius: 18px; border: 1px solid var(--cizgi); background: var(--arka); color: var(--metin); white-space: nowrap; }
.nav-dugme:hover { border-color: var(--ana); color: var(--ana); }
.uyari { background: color-mix(in srgb, var(--ana) 10%, var(--kart)); border: 1px solid color-mix(in srgb, var(--ana) 25%, transparent); color: var(--ana); padding: 13px 17px; border-radius: 12px; margin: 14px 0; font-size: .9rem; font-weight: 600; }
.uyari.hata { background: #fdecea; border-color: #f5c6cb; color: #a02622; }

/* ---------- Üye alanı ---------- */
.uye-kapsayici,
.kapsayici.uye-panel-sayfa { max-width: 1200px; margin: 0 auto; padding: 0 18px 56px; }
.uye-panel-sayfa { width: 100%; }
.giris-kutu { max-width: 420px; margin: 40px auto; }
.rozet { display: inline-block; font-size: .68rem; font-weight: 800; padding: 3px 10px; border-radius: 10px; background: color-mix(in srgb, var(--vurgu) 18%, transparent); color: var(--metin); }
.avatarlar { display: flex; }
.avatar { width: 32px; height: 32px; border-radius: 50%; background: var(--ana); color: #fff; display: inline-flex; align-items: center; justify-content: center; font-weight: 800; font-size: .8rem; border: 2px solid var(--kart); margin-inline-start: -8px; }
.avatar:first-child { margin-inline-start: 0; }

/* Karşılama şeridi */
.uye-ust {
  background: linear-gradient(135deg, var(--ana-koyu) 0%, var(--ana) 55%, color-mix(in srgb, var(--vurgu) 35%, var(--ana)) 100%);
  border-radius: 24px; color: #fff; padding: 28px 32px; margin-top: 24px;
  display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap;
  box-shadow: 0 18px 48px color-mix(in srgb, var(--ana) 28%, transparent);
  position: relative; overflow: hidden; border: 1px solid rgba(255,255,255,.08);
}
.uye-ust::before {
  content: ''; position: absolute; inset: 0; opacity: .14;
  background-image: radial-gradient(circle at 85% 15%, #fff 1.5px, transparent 1.5px);
  background-size: 42px 42px;
}
.uye-ust::after {
  content: ''; position: absolute; width: 280px; height: 280px; border-radius: 50%;
  right: -80px; top: -120px; background: radial-gradient(circle, rgba(255,255,255,.12), transparent 70%);
  pointer-events: none;
}
.uye-ust > * { position: relative; z-index: 1; }
.uye-ust-sol { display: flex; align-items: center; gap: 18px; flex: 1; min-width: min(100%, 280px); }
.uye-ust-metin { min-width: 0; }
.uye-ust-rozet {
  display: inline-flex; font-size: .68rem; font-weight: 800; letter-spacing: .45px;
  text-transform: uppercase; opacity: .85; margin-bottom: 4px;
}
.uye-ust-aksiyon { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-inline-start: auto; }
.uye-ust-btn.buton.ikincil {
  background: #fff; color: var(--ana); border: none; box-shadow: 0 4px 16px rgba(0,0,0,.12);
  margin-inline-start: 0;
}
.uye-ust-btn.buton.ikincil:hover { filter: brightness(1.03); color: var(--ana-koyu); }
.uye-avatar {
  width: 64px; height: 64px; border-radius: 50%; flex: 0 0 auto;
  background: rgba(255,255,255,.16); border: 2px solid rgba(255,255,255,.45);
  display: flex; align-items: center; justify-content: center;
  font-size: 1.55rem; font-weight: 800;
  box-shadow: 0 4px 18px rgba(0,0,0,.12);
}
.uye-ust h1 { font-size: clamp(1.15rem, 2.4vw, 1.55rem); font-weight: 800; line-height: 1.2; }
.uye-ust .cikis {
  font-size: .82rem; font-weight: 700; color: #fff; text-decoration: none;
  background: rgba(255,255,255,.14); padding: 10px 18px; border-radius: 999px;
  border: 1px solid rgba(255,255,255,.18); white-space: nowrap;
}
.uye-ust .cikis:hover { background: rgba(255,255,255,.24); }
.stat-cipler { display: flex; gap: 8px; margin-top: 10px; flex-wrap: wrap; }
.stat-cip {
  background: rgba(255,255,255,.14); border: 1px solid rgba(255,255,255,.16);
  border-radius: 999px; padding: 5px 13px; font-size: .76rem; font-weight: 700;
}

.uye-panel-bolum {
  margin-top: 24px; background: var(--kart); border: 1px solid var(--cizgi);
  border-radius: 24px; padding: 22px 24px 24px; box-shadow: var(--golge);
}
.uye-panel-baslik { margin-bottom: 18px; }
.uye-panel-baslik h2 { font-size: 1.2rem; margin: 0; }

/* Plan kartları */
.plan-izgara { display: grid; grid-template-columns: 1fr; gap: 16px; }
@media (min-width: 640px) { .plan-izgara { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .plan-izgara { grid-template-columns: repeat(3, 1fr); gap: 18px; } }
.plan-karti {
  background: var(--kart); border: 1px solid var(--cizgi); border-radius: 18px;
  box-shadow: var(--golge); overflow: hidden; color: var(--metin);
  transition: transform .18s, box-shadow .18s; position: relative;
}
.plan-karti:hover { transform: translateY(-3px); box-shadow: var(--golge-buyuk); }
.plan-karti::before { content: ''; position: absolute; top: 0; bottom: 0; inset-inline-start: 0; width: 5px; background: linear-gradient(180deg, var(--ana), var(--vurgu)); }
.plan-karti-katilim::before { background: linear-gradient(180deg, var(--turkuaz), var(--ana)); }
.plan-karti-ic { padding: 16px 18px 14px 22px; display: block; color: inherit; }
[dir="rtl"] .plan-karti-ic { padding: 16px 22px 14px 18px; }
.plan-karti h3 { font-size: 1.05rem; font-weight: 800; display: flex; align-items: center; gap: 8px; }
.plan-cipler { display: flex; gap: 7px; margin-top: 10px; flex-wrap: wrap; align-items: center; }
.plan-cip { display: inline-flex; align-items: center; gap: 5px; background: var(--arka); border: 1px solid var(--cizgi); border-radius: 14px; padding: 3px 11px; font-size: .74rem; font-weight: 700; color: var(--metin-soluk); }
.plan-karti-alt { display: flex; gap: 8px; padding: 12px 18px 14px 22px; border-top: 1px dashed var(--cizgi); flex-wrap: wrap; }
[dir="rtl"] .plan-karti-alt { padding: 12px 22px 14px 18px; }
.plan-eylem { display: inline-flex; align-items: center; gap: 5px; font-size: .8rem; font-weight: 700; padding: 8px 15px; border-radius: 18px; border: 1px solid var(--cizgi); background: var(--arka); color: var(--metin); cursor: pointer; font-family: inherit; }
.plan-eylem:hover { border-color: var(--ana); color: var(--ana); }
.plan-eylem.birincil { background: var(--ana); border-color: var(--ana); color: #fff; }
.plan-eylem.birincil:hover { filter: brightness(1.1); color: #fff; }
.plan-eylem.tehlike:hover { border-color: #c0392b; color: #c0392b; }
@media (max-width: 640px) {
  .uye-ust { padding: 22px 20px; border-radius: 20px; margin-top: 16px; }
  .uye-ust-aksiyon { width: 100%; margin-inline-start: 0; }
  .uye-ust-btn { flex: 1; text-align: center; }
  .uye-panel-bolum { padding: 18px 16px 20px; border-radius: 20px; }
}
.bos-durum { text-align: center; padding: 44px 20px; background: var(--kart); border: 2px dashed var(--cizgi); border-radius: 20px; }
.uye-bos-durum {
  padding: 52px 28px; border: 1px dashed color-mix(in srgb, var(--ana) 28%, var(--cizgi));
  background: linear-gradient(180deg, color-mix(in srgb, var(--ana) 4%, var(--kart)), var(--kart));
  border-radius: 20px;
}
.uye-bos-durum .simge { font-size: 3.4rem; line-height: 1; }
.uye-bos-durum p { max-width: 420px; margin: 12px auto 20px; line-height: 1.6; }
.bos-durum .simge { font-size: 3.2rem; }
.bos-durum p { color: var(--metin-soluk); margin: 10px 0 18px; }

/* ---------- Arama sonuçları ---------- */
.arama-sayfa { padding-bottom: 48px; }
.arama-hero {
  position: relative; overflow: hidden;
  margin: 8px 0 22px; padding: 28px 26px 26px;
  border-radius: 28px;
  background:
    radial-gradient(ellipse 80% 70% at 100% 0%, color-mix(in srgb, var(--ana) 22%, transparent), transparent 55%),
    radial-gradient(ellipse 60% 50% at 0% 100%, color-mix(in srgb, var(--vurgu) 16%, transparent), transparent 50%),
    linear-gradient(160deg, color-mix(in srgb, var(--ana) 8%, var(--kart)), var(--kart));
  border: 1px solid color-mix(in srgb, var(--ana) 14%, var(--cizgi));
  box-shadow: 0 16px 40px color-mix(in srgb, var(--ana) 8%, transparent);
}
.arama-hero-ic { position: relative; z-index: 1; max-width: 720px; }
.arama-rozet {
  display: inline-flex; align-items: center; gap: 6px; margin: 0 0 10px;
  padding: 5px 12px; border-radius: 999px;
  font-size: .74rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase;
  color: var(--ana); background: color-mix(in srgb, var(--ana) 12%, #fff);
}
.arama-hero h1 {
  margin: 0; font-size: clamp(1.6rem, 4vw, 2.35rem); font-weight: 800;
  letter-spacing: -.03em; line-height: 1.15; color: var(--metin);
}
.arama-ozet {
  margin: 10px 0 0; color: var(--metin-soluk); font-size: 1rem; line-height: 1.55;
  display: flex; flex-wrap: wrap; align-items: center; gap: 10px;
}
.arama-sorgu { font-weight: 800; color: var(--metin); }
.arama-sayac {
  display: inline-flex; padding: 4px 10px; border-radius: 999px;
  font-size: .78rem; font-weight: 800;
  background: color-mix(in srgb, var(--ana) 12%, transparent); color: var(--ana);
}

.arama-form {
  display: flex; gap: 10px; align-items: stretch; margin-top: 22px;
  padding: 8px; border-radius: 18px;
  background: #fff; border: 1.5px solid color-mix(in srgb, var(--ana) 16%, var(--cizgi));
  box-shadow: 0 10px 28px color-mix(in srgb, var(--ana) 10%, transparent);
}
.arama-form-alan {
  flex: 1; display: flex; align-items: center; gap: 8px; min-width: 0; margin: 0;
}
.arama-form-ikon { opacity: .7; font-size: 1.1rem; padding-inline-start: 8px; }
.arama-form input[type=search] {
  flex: 1; width: 100%; min-width: 0; border: 0; outline: none; background: transparent;
  font: inherit; font-size: 1.02rem; font-weight: 600; color: var(--metin);
  padding: 12px 8px; min-height: 48px;
}
.arama-form input[type=search]::placeholder { color: var(--metin-soluk); font-weight: 500; }
.arama-form-btn {
  flex-shrink: 0; border: 0; cursor: pointer; font: inherit; font-weight: 800;
  padding: 0 22px; border-radius: 14px; min-height: 48px;
  background: linear-gradient(135deg, var(--ana-koyu, #0a5540), var(--ana));
  color: #fff; box-shadow: 0 8px 20px color-mix(in srgb, var(--ana) 28%, transparent);
  transition: transform .15s, box-shadow .15s;
}
.arama-form-btn:hover { transform: translateY(-1px); box-shadow: 0 12px 26px color-mix(in srgb, var(--ana) 34%, transparent); }
@media (max-width: 560px) {
  .arama-form { flex-direction: column; }
  .arama-form-btn { width: 100%; }
  .arama-hero { padding: 22px 18px; border-radius: 22px; }
}

.arama-filtre {
  display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 22px;
}
.arama-filtre a {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 9px 14px; border-radius: 999px; text-decoration: none;
  font-size: .84rem; font-weight: 750; color: var(--metin);
  background: var(--kart); border: 1px solid var(--cizgi);
  transition: border-color .15s, transform .15s, background .15s;
}
.arama-filtre a:hover { border-color: var(--ana); transform: translateY(-1px); }
.arama-filtre em {
  font-style: normal; font-size: .72rem; font-weight: 800;
  padding: 2px 8px; border-radius: 999px;
  background: color-mix(in srgb, var(--ana) 12%, transparent); color: var(--ana);
}

.arama-grup { margin-bottom: 28px; }
.arama-grup-ust {
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  margin-bottom: 14px;
}
.arama-grup-ust h2 {
  margin: 0; font-size: 1.2rem; font-weight: 800; display: flex; align-items: center; gap: 8px;
}
.arama-grup-adet {
  min-width: 28px; height: 28px; padding: 0 10px; border-radius: 999px;
  display: inline-flex; align-items: center; justify-content: center;
  font-size: .8rem; font-weight: 800; color: var(--ana);
  background: color-mix(in srgb, var(--ana) 12%, transparent);
}

.arama-liste { display: grid; gap: 12px; }
.arama-kart {
  display: grid; grid-template-columns: 108px 1fr; gap: 0;
  text-decoration: none; color: inherit; overflow: hidden;
  border-radius: 20px; background: var(--kart);
  border: 1.5px solid color-mix(in srgb, var(--ana) 10%, var(--cizgi));
  box-shadow: 0 8px 22px color-mix(in srgb, var(--ana) 6%, transparent);
  transition: transform .18s, box-shadow .18s, border-color .18s;
}
.arama-kart:hover {
  transform: translateY(-3px);
  border-color: color-mix(in srgb, var(--ana) 28%, var(--cizgi));
  box-shadow: 0 16px 34px color-mix(in srgb, var(--ana) 14%, transparent);
}
.arama-kart-gorsel {
  min-height: 108px; background: linear-gradient(160deg, color-mix(in srgb, var(--ana) 12%, #fff), var(--arka));
  display: flex; align-items: center; justify-content: center; font-size: 1.8rem;
}
.arama-kart-gorsel img { width: 100%; height: 100%; min-height: 108px; object-fit: cover; display: block; }
.arama-kart-gorsel.bos span {
  width: 48px; height: 48px; border-radius: 14px;
  display: inline-flex; align-items: center; justify-content: center;
  background: color-mix(in srgb, var(--ana) 10%, #fff);
}
.arama-kart-govde {
  position: relative; padding: 14px 18px 16px; display: grid; gap: 4px; align-content: center;
}
.arama-kart-tip {
  font-size: .72rem; font-weight: 800; letter-spacing: .03em; text-transform: uppercase;
  color: var(--ana); opacity: .9;
}
.arama-kart-govde h3 { margin: 0; font-size: 1.05rem; font-weight: 800; line-height: 1.3; }
.arama-kart-govde p {
  margin: 2px 0 0; font-size: .88rem; line-height: 1.5; color: var(--metin-soluk);
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.arama-kart-ok {
  position: absolute; right: 16px; bottom: 14px;
  color: var(--ana); font-weight: 800; opacity: 0; transform: translateX(-4px);
  transition: opacity .15s, transform .15s;
}
.arama-kart:hover .arama-kart-ok { opacity: 1; transform: translateX(0); }
[dir="rtl"] .arama-kart-ok { right: auto; left: 16px; }
[dir="rtl"] .arama-kart:hover .arama-kart-ok { transform: translateX(0); }
@media (max-width: 560px) {
  .arama-kart { grid-template-columns: 84px 1fr; }
  .arama-kart-gorsel, .arama-kart-gorsel img { min-height: 96px; }
  .arama-kart-govde { padding: 12px 14px; }
  .arama-kart-ok { display: none; }
}

.arama-bos {
  text-align: center; padding: 48px 24px;
  border-radius: 24px; background: var(--kart);
  border: 1.5px dashed color-mix(in srgb, var(--ana) 25%, var(--cizgi));
}
.arama-bos-ikon {
  width: 72px; height: 72px; margin: 0 auto 14px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center; font-size: 2rem;
  background: color-mix(in srgb, var(--ana) 10%, transparent);
}
.arama-bos h2 { margin: 0 0 8px; font-size: 1.25rem; }
.arama-bos p { margin: 0 auto 20px; max-width: 420px; color: var(--metin-soluk); line-height: 1.55; }
.arama-bos-eylem { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; }

.arama-oneri {
  margin-top: 8px; padding: 22px; border-radius: 22px; background: var(--kart);
  border: 1px solid var(--cizgi);
}
.arama-oneri h2 { margin: 0 0 14px; font-size: 1.1rem; }
.arama-oneri-liste { display: flex; flex-wrap: wrap; gap: 10px; }
.arama-oneri-liste a {
  padding: 12px 16px; border-radius: 14px; text-decoration: none; font-weight: 750;
  color: var(--metin); background: color-mix(in srgb, var(--ana) 6%, #fff);
  border: 1px solid color-mix(in srgb, var(--ana) 12%, var(--cizgi));
  transition: transform .15s, border-color .15s;
}
.arama-oneri-liste a:hover { transform: translateY(-2px); border-color: var(--ana); color: var(--ana); }

/* Adımlı form */
.adim-baslik { display: flex; align-items: center; gap: 12px; margin: 0 0 14px; }
.adim-no {
  width: 34px; height: 34px; border-radius: 50%; flex: 0 0 auto;
  background: linear-gradient(140deg, var(--ana), var(--ana-koyu)); color: #fff;
  display: flex; align-items: center; justify-content: center; font-weight: 800; font-size: .95rem;
  box-shadow: 0 3px 10px color-mix(in srgb, var(--ana) 35%, transparent);
}
.adim-baslik h2 { font-size: 1.08rem; font-weight: 800; }
.adim-baslik small { display: block; font-size: .78rem; color: var(--metin-soluk); font-weight: 600; }

/* Durak kartı (form) */
.durak-kutu { border: 1px solid var(--cizgi); border-radius: 16px; padding: 16px; margin: 12px 0; background: var(--kart); box-shadow: var(--golge); position: relative; }
.durak-kutu-ust { display: flex; align-items: center; gap: 8px; margin-bottom: 4px; }
.durak-kutu-ust .durak-no-kucuk { width: 28px; height: 28px; border-radius: 50%; background: var(--vurgu); color: #fff; display: flex; align-items: center; justify-content: center; font-weight: 800; font-size: .82rem; flex: 0 0 auto; }
.durak-kutu-ust b { font-size: .9rem; flex: 1; }
.durak-arac { display: flex; gap: 5px; }
.durak-arac button { width: 30px; height: 30px; border-radius: 9px; border: 1px solid var(--cizgi); background: var(--arka); color: var(--metin); cursor: pointer; font-size: .8rem; line-height: 1; transition: all .12s; }
.durak-arac button:hover { border-color: var(--ana); color: var(--ana); }
.durak-arac button.durak-cikar:hover { border-color: #c0392b; color: #c0392b; background: #fdecea; }
.durak-secimler { display: grid; grid-template-columns: 1fr; gap: 0; }
@media (min-width: 640px) { .durak-secimler { grid-template-columns: 1fr 1fr; gap: 0 14px; } }

/* Özel açılır seçim kutusu (native select yerine; her cihazda aynı görünür) */
.osec { position: relative; }
.osec-buton {
  display: flex; align-items: center; justify-content: space-between; gap: 8px;
  width: 100%; padding: 12px 14px; border: 1px solid var(--cizgi); border-radius: 12px;
  background: var(--arka); color: var(--metin); font-family: inherit; font-size: .95rem;
  cursor: pointer; text-align: start; transition: border-color .15s;
}
.osec-buton .osec-etiket { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.osec-buton .osec-etiket.bos { color: var(--metin-soluk); }
.osec-buton .ok { color: var(--metin-soluk); font-size: .72rem; flex: 0 0 auto; transition: transform .18s; }
.osec.acik .osec-buton { border-color: var(--ana); }
.osec.acik .osec-buton .ok { transform: rotate(180deg); }
.osec-panel {
  display: none; position: absolute; top: calc(100% + 6px); inset-inline: 0; z-index: 400;
  background: var(--kart); border: 1px solid var(--cizgi); border-radius: 14px;
  box-shadow: var(--golge-buyuk); max-height: 300px; overflow: hidden; padding: 6px;
  flex-direction: column;
}
.osec.acik .osec-panel { display: flex; animation: yukari .18s ease; }
.osec-liste { overflow-y: auto; overscroll-behavior: contain; flex: 1; min-height: 0; }
.osec-tutamac { display: none; }
.osec-panel-baslik { display: none; }
.osec-ara { flex: 0 0 auto; margin: 0 0 6px; padding: 0 0 8px; border-bottom: 1px solid var(--cizgi); }
.osec-ara input {
  width: 100%; padding: 9px 12px; border: 1px solid var(--cizgi); border-radius: 10px;
  background: var(--arka); color: var(--metin); font-family: inherit; font-size: 16px;
}
body.osec-kilit { overflow: hidden; }
.osec-secenek {
  display: block; width: 100%; text-align: start; padding: 11px 12px;
  border: none; background: none; color: var(--metin);
  font-family: inherit; font-size: .92rem; border-radius: 9px; cursor: pointer;
}
.osec-secenek:hover { background: var(--arka); }
.osec-secenek.secili { background: color-mix(in srgb, var(--ana) 12%, transparent); color: var(--ana); font-weight: 700; }
.osec-baslik-cizgi { padding: 6px 12px 2px; font-size: .7rem; font-weight: 800; letter-spacing: .5px; text-transform: uppercase; color: var(--metin-soluk); }
.osec-ortu { display: none; }
select.osec-kaynak {
  position: absolute !important; width: 1px !important; height: 1px !important;
  padding: 0 !important; margin: -1px !important; overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; border: 0 !important;
}

/* Ara kartı ve formlarda özel seçici uyumu */
.ara-alan-ic .osec { width: 100%; }
.ara-alan .osec-buton {
  border: none; background: none; padding: 2px 0 0; border-radius: 0;
  font-size: .98rem; font-weight: 700; min-height: auto; box-shadow: none;
}
.ara-alan .osec.acik .osec-buton { border: none; box-shadow: none; }
.ara-alan .osec-buton .ok { font-size: .65rem; opacity: .65; }
.ara-kart { overflow: visible; }

.mekan-sirala-wrap .osec,
.form-kutu .osec,
.auth-form .osec,
.isletme-form-kutu .osec { width: 100%; }
.osec-sirala .osec-buton {
  padding: 12px 14px; border-radius: 16px;
  border: 1px solid var(--cizgi); background: var(--kart);
  font-size: .88rem; box-shadow: var(--golge);
}
.osec-sirala.acik .osec-buton {
  border-color: color-mix(in srgb, var(--ana) 45%, var(--cizgi));
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--ana) 12%, transparent);
}

@media (max-width: 767px) {
  /* Mobilde alttan açılan panel (bottom sheet) */
  .osec-ortu { position: fixed; inset: 0; background: rgba(15, 25, 20, .45); z-index: 1490; }
  .osec.acik .osec-ortu { display: block; animation: ortuGoster .2s ease; }
  .osec-panel {
    position: fixed; top: auto; bottom: 0; left: 0; right: 0; inset-inline: 0;
    border-radius: 22px 22px 0 0; height: 68vh; max-height: 68vh; z-index: 1500;
    padding: 8px 14px max(14px, env(safe-area-inset-bottom));
    border-bottom: none;
  }
  .osec.acik .osec-panel { animation: osecYukari .24s ease; }
  /* Tutamaç çubuğu */
  .osec-tutamac { display: block; width: 44px; height: 5px; border-radius: 3px; background: var(--cizgi); margin: 4px auto 10px; flex: 0 0 auto; }
  /* Başlık + kapat düğmesi */
  .osec-panel-baslik {
    display: flex; align-items: center; justify-content: space-between; gap: 10px;
    padding: 0 2px 10px; flex: 0 0 auto;
  }
  .osec-panel-baslik b { font-size: 1.02rem; font-weight: 800; }
  .osec-kapat {
    width: 34px; height: 34px; border-radius: 50%; border: 1px solid var(--cizgi);
    background: var(--arka); color: var(--metin); font-size: .95rem; cursor: pointer;
    display: flex; align-items: center; justify-content: center; flex: 0 0 auto;
  }
  .osec-secenek { padding: 14px; font-size: 1rem; border-bottom: 1px solid color-mix(in srgb, var(--cizgi) 55%, transparent); border-radius: 0; }
  .osec-liste .osec-secenek:last-child { border-bottom: none; }
  .osec-secenek.secili { border-radius: 12px; }
}
@keyframes ortuGoster { from { opacity: 0; } to { opacity: 1; } }
@keyframes osecYukari { from { transform: translateY(30%); opacity: .4; } to { transform: none; opacity: 1; } }

/* Yapışkan kaydet çubuğu (mobil) */
.kaydet-cubugu { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 20px; }
@media (max-width: 767px) {
  .kaydet-cubugu {
    position: sticky; bottom: 66px; z-index: 50;
    background: color-mix(in srgb, var(--kart) 92%, transparent);
    backdrop-filter: blur(10px);
    padding: 12px; border-radius: 16px; border: 1px solid var(--cizgi);
    box-shadow: var(--golge-buyuk);
  }
  .kaydet-cubugu .buton { flex: 1; text-align: center; }
}

/* Sohbet */
.sohbet { background: var(--kart); border: 1px solid var(--cizgi); border-radius: var(--radius); box-shadow: var(--golge); display: flex; flex-direction: column; height: 420px; overflow: hidden; }
.sohbet-mesajlar { flex: 1; overflow-y: auto; padding: 16px; display: flex; flex-direction: column; gap: 10px; }
.mesaj { max-width: 78%; padding: 9px 14px; border-radius: 16px; font-size: .9rem; background: var(--arka); border: 1px solid var(--cizgi); align-self: flex-start; }
.mesaj.benim { background: var(--ana); color: #fff; align-self: flex-end; border: none; }
.mesaj .kimden { font-size: .68rem; font-weight: 800; opacity: .75; display: block; margin-bottom: 2px; }
.sohbet-form { display: flex; gap: 8px; padding: 12px; border-top: 1px solid var(--cizgi); }
.sohbet-form input { flex: 1; padding: 11px 14px; border: 1px solid var(--cizgi); border-radius: 22px; background: var(--arka); color: var(--metin); font-family: inherit; font-size: .92rem; }
.sohbet-form button { background: var(--ana); color: #fff; border: none; border-radius: 50%; width: 44px; height: 44px; cursor: pointer; font-size: 1.1rem; }

/* Resim galerisi */
.galeri { display: grid; grid-template-columns: repeat(auto-fill, minmax(110px, 1fr)); gap: 10px; margin: 14px 0; }
.galeri figure { position: relative; border-radius: 12px; overflow: hidden; aspect-ratio: 1; border: 1px solid var(--cizgi); }
.galeri img { width: 100%; height: 100%; object-fit: cover; }
.galeri .sil { position: absolute; top: 6px; right: 6px; background: rgba(0,0,0,.55); color: #fff; border: none; border-radius: 50%; width: 26px; height: 26px; cursor: pointer; font-size: .8rem; }

/* ---------- Reklam ---------- */
.reklam-alani { margin: 24px 0; text-align: center; position: relative; }
.reklam-alani img { margin: 0 auto; border-radius: 14px; }
.reklam-etiket { display: block; font-size: .62rem; color: var(--metin-soluk); text-transform: uppercase; letter-spacing: 1.2px; margin-bottom: 5px; font-weight: 700; }

/* ---------- Alt bilgi ---------- */
.alt-bilgi {
  background: color-mix(in srgb, var(--ana-koyu) 62%, #050807);
  color: color-mix(in srgb, var(--ana) 12%, #d0d8d3);
  margin-top: 48px; padding: 38px 0 96px; font-size: .88rem;
  transition: background .25s, color .25s;
}
.karanlik .alt-bilgi {
  background: color-mix(in srgb, var(--ana-koyu) 38%, #020403);
}
.alt-bilgi a { color: #fff; }
.alt-bilgi .logo { color: #fff; margin-bottom: 10px; }
.alt-izgara { display: grid; gap: 24px; grid-template-columns: 1fr; }
.alt-izgara h4 { color: #fff; margin-bottom: 10px; font-size: .95rem; }
.alt-izgara ul { list-style: none; }
.alt-izgara li { margin-bottom: 7px; }
.alt-altlik {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between;
  gap: 10px 18px; margin-top: 22px; font-size: .78rem; opacity: .85;
}
.canli-sayac {
  display: inline-flex; align-items: center; gap: 7px;
  padding: 5px 11px; border-radius: 999px;
  background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.12);
  color: #fff; font-weight: 600; letter-spacing: .01em; opacity: 1;
}
.canli-sayac strong { font-variant-numeric: tabular-nums; font-weight: 800; }
.canli-nokta {
  width: 8px; height: 8px; border-radius: 50%;
  background: #3dd68c; box-shadow: 0 0 0 0 rgba(61,214,140,.55);
  animation: canli-nabiz 1.8s ease-out infinite;
}
@keyframes canli-nabiz {
  0% { box-shadow: 0 0 0 0 rgba(61,214,140,.55); }
  70% { box-shadow: 0 0 0 8px rgba(61,214,140,0); }
  100% { box-shadow: 0 0 0 0 rgba(61,214,140,0); }
}

/* ---------- Animasyon ---------- */
@keyframes yukari { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
.kart, .durak, .bilgi-kutu, .hikaye-kutu { animation: yukari .4s ease both; }

/* Yatay üst menü: yalnızca yeterli genişlikte göster */
@media (min-width: 1180px) {
  .menu { display: flex; }
  .alt-menu { display: none; }
  main { padding-bottom: 0; }
}
@media (min-width: 1180px) and (max-width: 1500px) {
  .ust-ic { gap: 8px; }
  .menu a { padding: 8px 9px; font-size: .84rem; }
  .menu a::after { left: 9px; right: 9px; }
}

/* ---------- Masaüstü ---------- */
@media (min-width: 540px) and (max-width: 767px) {
  .kart-izgara { grid-template-columns: repeat(2, 1fr); gap: 16px; }
}
@media (min-width: 768px) {
  .tema-buton { bottom: 24px; }
  .tema-panel { bottom: 84px; }
  .kart-izgara { grid-template-columns: repeat(3, 1fr); gap: 22px; }
  .kart-izgara.ikili { grid-template-columns: repeat(2, 1fr); }
  .kart-izgara.dortlu { grid-template-columns: repeat(4, 1fr); }
  .bolum { padding: 52px 0 10px; }
  .bolum.bolum-kompakt { padding: 16px 0 4px; }
  .bolum-baslik h2 { font-size: 1.65rem; }
  .harita { height: 430px; }
  .alt-izgara { grid-template-columns: 2fr 1fr 1fr 1fr; }
  .alt-bilgi { padding-bottom: 38px; }
  .bulten-band { padding: 44px 48px; }
  .detay-gorsel { height: 320px; }
  .detay-icerik h1 { font-size: 2rem; }
  .detay-icerik { padding: 30px; }
  /* Masaüstünde detay sayfaları iki sütun */
  .detay-izgara { display: grid; grid-template-columns: 1fr 340px; gap: 24px; align-items: start; }
  .yan-kutu { position: sticky; top: 84px; }
}

/* ============================================================
   ANA SAYFA YENİLEME (v5) — planlayıcı, özellikler,
   işletme, fiyatlandırma, form, SSS
   ============================================================ */

/* ---- Bölüm üst-etiket rozeti (pill) ---- */
.rozet-pill {
  display: inline-flex; align-items: center; gap: 7px;
  font-size: .72rem; font-weight: 800; letter-spacing: 1px; text-transform: uppercase;
  color: var(--ana); background: color-mix(in srgb, var(--ana) 10%, transparent);
  padding: 6px 14px; border-radius: 30px; margin-bottom: 12px;
  border: 1px solid color-mix(in srgb, var(--ana) 18%, transparent);
}
.rozet-pill.altin { color: color-mix(in srgb, var(--vurgu) 82%, var(--metin)); background: color-mix(in srgb, var(--vurgu) 14%, transparent); border-color: color-mix(in srgb, var(--vurgu) 26%, transparent); }
.bolum-orta { text-align: center; max-width: 640px; margin: 0 auto 30px; }
.bolum-orta h2 { font-size: 1.7rem; font-weight: 800; letter-spacing: -.02em; }
.bolum-orta p { color: var(--metin-soluk); margin-top: 10px; font-size: 1rem; }
@media (min-width: 768px) { .bolum-orta h2 { font-size: 2.2rem; } }

/* ---- Kahraman rozeti ---- */
.kahraman-rozet {
  display: inline-flex; align-items: center; gap: 8px; margin-bottom: 16px;
  background: rgba(255,255,255,.14); border: 1px solid rgba(255,255,255,.28);
  padding: 7px 16px; border-radius: 30px; font-size: .8rem; font-weight: 700;
  backdrop-filter: blur(4px);
}
.kahraman-rozet .nokta { width: 8px; height: 8px; border-radius: 50%; background: #7CFFB2; box-shadow: 0 0 0 3px rgba(124,255,178,.25); }

/* ============ HAFTA SONU PLANLAYICI ============ */
.planlayici {
  position: relative; z-index: 2; margin: 0 auto; max-width: 920px;
  background: var(--kart); border: 1px solid var(--cizgi); border-radius: 22px;
  box-shadow: var(--golge); padding: 24px; overflow: hidden;
}
.planlayici::before {
  content: ''; position: absolute; inset-inline-end: -60px; top: -60px; width: 200px; height: 200px;
  background: radial-gradient(circle, color-mix(in srgb, var(--vurgu) 22%, transparent), transparent 70%);
  pointer-events: none;
}
.planlayici-ust { display: flex; align-items: flex-start; gap: 12px; margin-bottom: 18px; }
.planlayici-ust .simge { font-size: 2rem; line-height: 1; }
.planlayici-ust h2 { font-size: 1.3rem; font-weight: 800; }
.planlayici-ust p { color: var(--metin-soluk); font-size: .9rem; margin-top: 3px; }
.plan-soru { margin-bottom: 16px; }
.plan-soru > label { display: block; font-size: .82rem; font-weight: 800; color: var(--metin-soluk); margin-bottom: 9px; letter-spacing: .3px; }
.secim-serit { display: flex; flex-wrap: wrap; gap: 8px; }
.secim-cip {
  cursor: pointer; user-select: none;
  display: inline-flex; align-items: center; gap: 6px;
  padding: 7px 13px; border-radius: 20px; font-size: .82rem; font-weight: 700;
  background: var(--arka); border: 1.5px solid var(--cizgi); color: var(--metin);
  transition: border-color .16s, background .16s, transform .12s, color .16s;
}
.secim-cip:hover { border-color: var(--ana); transform: translateY(-1px); }
.secim-cip.secili { background: var(--ana); border-color: var(--ana); color: #fff; box-shadow: 0 4px 11px color-mix(in srgb, var(--ana) 28%, transparent); }
.secim-cip.altin.secili { background: var(--vurgu); border-color: var(--vurgu); box-shadow: 0 4px 11px color-mix(in srgb, var(--vurgu) 30%, transparent); }

/* Sonuç kartı */
.plan-sonuc {
  margin-top: 20px; border-radius: 20px; padding: 4px;
  background: linear-gradient(135deg, color-mix(in srgb, var(--ana) 16%, var(--kart)), color-mix(in srgb, var(--vurgu) 18%, var(--kart)));
}
.plan-sonuc-ic {
  background: var(--kart); border-radius: 17px; padding: 18px; display: flex; gap: 16px;
  align-items: center; flex-wrap: wrap;
}
.plan-sonuc-gorsel {
  width: 84px; height: 84px; border-radius: 15px; flex: 0 0 auto; overflow: hidden;
  background: linear-gradient(135deg, var(--ana), var(--ana-koyu)); color: #fff;
  display: flex; align-items: center; justify-content: center; font-size: 2.2rem;
}
.plan-sonuc-gorsel img { width: 100%; height: 100%; object-fit: cover; }
.plan-sonuc-bilgi { flex: 1; min-width: 190px; }
.plan-sonuc-bilgi .etiket { font-size: .72rem; font-weight: 800; letter-spacing: .6px; text-transform: uppercase; color: var(--vurgu); }
.plan-sonuc-bilgi h3 { font-size: 1.16rem; font-weight: 800; margin: 3px 0 6px; }
.plan-sonuc-bilgi .ozet { display: flex; gap: 12px; flex-wrap: wrap; font-size: .8rem; color: var(--metin-soluk); }
.plan-sonuc-bilgi .ozet b { color: var(--metin); }
.plan-bos { text-align: center; color: var(--metin-soluk); font-size: .9rem; padding: 22px 10px; }
.plan-eylemler { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 18px; }
.plan-eylemler .buton { flex: 1; text-align: center; min-width: 160px; }
@media (min-width: 768px) {
  .planlayici { padding: 30px 40px; }
  .planlayici-ust h2 { font-size: 1.5rem; }
}

/* ============ NASIL ÇALIŞIR (3 adım) ============ */
.adim-izgara { display: grid; grid-template-columns: 1fr; gap: 18px; counter-reset: adim; }
.adim-kart {
  position: relative; background: var(--kart); border: 1px solid var(--cizgi); border-radius: 20px;
  padding: 26px 22px; text-align: center; box-shadow: var(--golge); overflow: hidden;
}
.adim-kart .adim-rakam {
  position: absolute; top: 10px; inset-inline-end: 16px; font-size: 3.4rem; font-weight: 800;
  color: color-mix(in srgb, var(--ana) 10%, transparent); line-height: 1;
}
.adim-kart .adim-ikon {
  width: 62px; height: 62px; border-radius: 18px; margin: 0 auto 14px;
  display: flex; align-items: center; justify-content: center; font-size: 1.8rem;
  background: linear-gradient(140deg, color-mix(in srgb, var(--ana) 14%, var(--kart)), color-mix(in srgb, var(--vurgu) 16%, var(--kart)));
}
.adim-kart h3 { font-size: 1.12rem; font-weight: 800; margin-bottom: 6px; }
.adim-kart p { font-size: .9rem; color: var(--metin-soluk); }
@media (min-width: 768px) { .adim-izgara { grid-template-columns: repeat(3, 1fr); gap: 22px; } }

/* ============ ÖZELLİKLER (neden biz) ============ */
.ozellik-izgara { display: grid; grid-template-columns: 1fr; gap: 16px; }
.ozellik-kart {
  background: var(--kart); border: 1px solid var(--cizgi); border-radius: 18px; padding: 22px;
  box-shadow: var(--golge); transition: transform .18s, box-shadow .18s;
}
.ozellik-kart:hover { transform: translateY(-3px); box-shadow: var(--golge-buyuk); }
.ozellik-kart .ikon {
  width: 52px; height: 52px; border-radius: 14px; display: flex; align-items: center; justify-content: center;
  font-size: 1.5rem; margin-bottom: 14px;
  background: color-mix(in srgb, var(--ana) 12%, transparent);
}
.ozellik-kart:nth-child(2) .ikon { background: color-mix(in srgb, var(--vurgu) 15%, transparent); }
.ozellik-kart:nth-child(3) .ikon { background: color-mix(in srgb, var(--turkuaz) 15%, transparent); }
.ozellik-kart:nth-child(4) .ikon { background: color-mix(in srgb, var(--ana) 12%, transparent); }
.ozellik-kart h3 { font-size: 1.06rem; font-weight: 800; margin-bottom: 5px; }
.ozellik-kart p { font-size: .88rem; color: var(--metin-soluk); }
@media (min-width: 640px) { .ozellik-izgara { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .ozellik-izgara { grid-template-columns: repeat(4, 1fr); } }

/* ============ İŞLETME / İŞ ORTAKLIĞI ============ */
.isletme-serit {
  display: grid; grid-template-columns: 1fr; gap: 26px; align-items: center;
  background: linear-gradient(150deg, var(--ana-koyu), var(--ana) 72%);
  color: #fff; border-radius: 28px; padding: 34px 26px; margin-top: 20px;
  position: relative; overflow: hidden;
}
.isletme-serit::before {
  content: ''; position: absolute; inset: 0; opacity: .1;
  background-image: radial-gradient(circle at 90% 15%, #fff 1.5px, transparent 1.5px);
  background-size: 40px 40px;
}
.isletme-metin { position: relative; z-index: 1; }
.isletme-metin .rozet-pill { color: #fff; background: rgba(255,255,255,.16); border-color: rgba(255,255,255,.25); }
.isletme-metin h2 { font-size: 1.6rem; font-weight: 800; letter-spacing: -.01em; }
.isletme-metin > p { opacity: .92; margin: 12px 0 18px; font-size: .98rem; }
.isletme-avantaj { list-style: none; display: grid; gap: 12px; }
.isletme-avantaj li { display: flex; align-items: flex-start; gap: 11px; font-size: .95rem; font-weight: 600; }
.isletme-avantaj li .tik {
  flex: 0 0 auto; width: 24px; height: 24px; border-radius: 50%; background: rgba(255,255,255,.2);
  display: flex; align-items: center; justify-content: center; font-size: .8rem; margin-top: 1px;
}
.isletme-gorsel {
  position: relative; z-index: 1;
  background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.2);
  border-radius: 20px; padding: 26px; text-align: center; backdrop-filter: blur(4px);
}
.isletme-gorsel .buyuk-sayi { font-size: 2.6rem; font-weight: 800; line-height: 1; }
.isletme-gorsel .alt { font-size: .82rem; opacity: .85; font-weight: 700; margin-top: 4px; }
.isletme-mini { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-top: 18px; }
.isletme-mini div { background: rgba(255,255,255,.1); border-radius: 14px; padding: 12px 6px; }
.isletme-mini .s { font-size: 1.3rem; font-weight: 800; }
.isletme-mini .e { font-size: .68rem; opacity: .82; font-weight: 700; }
@media (min-width: 900px) {
  .isletme-serit { grid-template-columns: 1.3fr 1fr; padding: 46px 48px; }
  .isletme-metin h2 { font-size: 2rem; }
}

/* ============ FİYATLANDIRMA ============ */
.fiyat-izgara { display: grid; grid-template-columns: 1fr; gap: 18px; align-items: stretch; }
.fiyat-kart {
  position: relative; background: var(--kart); border: 1.5px solid var(--cizgi); border-radius: 22px;
  padding: 28px 24px; box-shadow: var(--golge); display: flex; flex-direction: column;
  transition: transform .2s, box-shadow .2s, border-color .2s;
}
.fiyat-kart:hover { transform: translateY(-4px); box-shadow: var(--golge-buyuk); }
.fiyat-kart.one-cikan { border-color: var(--ana); box-shadow: 0 12px 40px color-mix(in srgb, var(--ana) 18%, transparent); }
.fiyat-pop {
  position: absolute; top: -13px; inset-inline-start: 50%; transform: translateX(-50%);
  background: linear-gradient(135deg, var(--ana), var(--ana-koyu)); color: #fff;
  font-size: .72rem; font-weight: 800; letter-spacing: .5px; text-transform: uppercase;
  padding: 6px 16px; border-radius: 20px; white-space: nowrap; box-shadow: 0 4px 12px color-mix(in srgb, var(--ana) 40%, transparent);
}
[dir="rtl"] .fiyat-pop { transform: translateX(50%); }
.fiyat-kart .paket-ad { font-size: 1.05rem; font-weight: 800; }
.fiyat-fiyat { display: flex; align-items: baseline; gap: 4px; margin: 14px 0 4px; }
.fiyat-fiyat .tutar { font-size: 2.3rem; font-weight: 800; letter-spacing: -.02em; }
.fiyat-fiyat .periyot { font-size: .9rem; color: var(--metin-soluk); font-weight: 700; }
.fiyat-liste { list-style: none; margin: 18px 0; display: grid; gap: 11px; flex: 1; }
.fiyat-liste li { display: flex; align-items: flex-start; gap: 10px; font-size: .9rem; }
.fiyat-liste li .tik { color: var(--ana); font-weight: 800; flex: 0 0 auto; }
.fiyat-liste li.baslik { font-weight: 800; color: var(--metin-soluk); font-size: .82rem; text-transform: uppercase; letter-spacing: .4px; padding-top: 4px; }
.fiyat-liste li.baslik .tik { display: none; }
.fiyat-kart .buton { width: 100%; text-align: center; }
.fiyat-kart:not(.one-cikan) .buton { background: color-mix(in srgb, var(--ana) 12%, transparent); color: var(--ana); box-shadow: none; }
.fiyat-kart:not(.one-cikan) .buton:hover { background: color-mix(in srgb, var(--ana) 20%, transparent); }
@media (min-width: 900px) { .fiyat-izgara { grid-template-columns: repeat(3, 1fr); gap: 22px; } .fiyat-kart.one-cikan { transform: scale(1.04); } .fiyat-kart.one-cikan:hover { transform: scale(1.04) translateY(-4px); } }

/* ============ İŞLETME BAŞVURU FORMU ============ */
.isletme-form-serit {
  display: grid; grid-template-columns: 1fr; gap: 24px; margin-top: 20px;
  background: var(--kart); border: 1px solid var(--cizgi); border-radius: 26px;
  box-shadow: var(--golge); padding: 28px; overflow: hidden;
}
.isletme-form-yan .rozet-pill { margin-bottom: 14px; }
.isletme-form-yan h2 { font-size: 1.5rem; font-weight: 800; }
.isletme-form-yan > p { color: var(--metin-soluk); margin: 10px 0 18px; }
.iletisim-liste { list-style: none; display: grid; gap: 12px; }
.iletisim-liste li { display: flex; align-items: center; gap: 12px; font-size: .92rem; font-weight: 600; }
.iletisim-liste a { color: var(--metin); }
.iletisim-liste .ikon {
  flex: 0 0 auto; width: 42px; height: 42px; border-radius: 12px;
  display: flex; align-items: center; justify-content: center; font-size: 1.2rem;
  background: color-mix(in srgb, var(--ana) 10%, transparent);
}
.form-alan-ikili { display: grid; grid-template-columns: 1fr; gap: 0 14px; }
.isletme-form-kutu .form-alan { margin-bottom: 4px; }
.isletme-form-kutu label { display: block; font-size: .82rem; font-weight: 700; margin: 12px 0 5px; }
.isletme-form-kutu input, .isletme-form-kutu select, .isletme-form-kutu textarea {
  width: 100%; padding: 12px 14px; border: 1px solid var(--cizgi); border-radius: 12px;
  font-size: .95rem; font-family: inherit; background: var(--arka); color: var(--metin);
  transition: border-color .15s, box-shadow .15s;
}
.isletme-form-kutu input:focus, .isletme-form-kutu select:focus, .isletme-form-kutu textarea:focus {
  outline: none; border-color: var(--ana); box-shadow: 0 0 0 3px color-mix(in srgb, var(--ana) 14%, transparent);
}
.isletme-form-kutu select {
  -webkit-appearance: none; appearance: none;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%2368746e' stroke-width='2' fill='none'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 14px center; padding-inline-end: 38px;
}
[dir="rtl"] .isletme-form-kutu select { background-position: left 14px center; }
.isletme-form-kutu textarea { min-height: 90px; resize: vertical; }
.isletme-form-kutu .buton { width: 100%; text-align: center; margin-top: 16px; }
@media (max-width: 767px) { .isletme-form-kutu input, .isletme-form-kutu select, .isletme-form-kutu textarea { font-size: 16px; } }
@media (min-width: 560px) { .form-alan-ikili { grid-template-columns: 1fr 1fr; } }
@media (min-width: 900px) { .isletme-form-serit { grid-template-columns: 1fr 1.2fr; padding: 40px; } .isletme-form-yan h2 { font-size: 1.8rem; } }

/* ============ SSS (akordeon) ============ */
.sss-serit { display: grid; grid-template-columns: 1fr; gap: 20px; align-items: start; }
.sss-yan .rozet-pill { margin-bottom: 12px; }
.sss-yan h2 { font-size: 1.6rem; font-weight: 800; letter-spacing: -.02em; }
.sss-yan > p { color: var(--metin-soluk); margin: 10px 0 18px; font-size: .96rem; line-height: 1.7; }
.sss-iletisim {
  display: flex; align-items: center; gap: 13px;
  background: linear-gradient(135deg, color-mix(in srgb, var(--ana) 8%, var(--kart)), var(--kart));
  border: 1px solid color-mix(in srgb, var(--ana) 20%, var(--cizgi));
  border-radius: 16px; padding: 14px 16px;
}
.sss-iletisim-ikon {
  flex: 0 0 auto; width: 46px; height: 46px; border-radius: 13px;
  display: flex; align-items: center; justify-content: center; font-size: 1.4rem;
  background: color-mix(in srgb, var(--ana) 14%, transparent);
}
.sss-iletisim strong { display: block; font-size: .95rem; }
.sss-iletisim a { font-weight: 800; font-size: .9rem; }
@media (min-width: 900px) {
  .sss-serit { grid-template-columns: 340px 1fr; gap: 34px; }
  .sss-yan { position: sticky; top: 88px; }
  .sss-yan h2 { font-size: 1.9rem; }
}
.sss-liste {
  margin: 0;
  background: var(--kart); border: 1px solid var(--cizgi); border-radius: 20px;
  box-shadow: var(--golge); overflow: hidden;
}
.sss-oge { border-bottom: 1px solid var(--cizgi); }
.sss-oge:last-child { border-bottom: none; }
.sss-oge summary {
  cursor: pointer; list-style: none; padding: 16px 18px;
  font-weight: 800; font-size: .98rem;
  display: flex; align-items: center; gap: 14px;
  transition: background .18s;
}
.sss-oge summary:hover { background: color-mix(in srgb, var(--ana) 4%, transparent); }
.sss-oge summary::-webkit-details-marker { display: none; }
.sss-ikon {
  flex: 0 0 auto; width: 42px; height: 42px; border-radius: 12px;
  display: flex; align-items: center; justify-content: center; font-size: 1.25rem;
  background: color-mix(in srgb, var(--ana) 11%, transparent);
  transition: background .18s, transform .18s;
}
.sss-oge:nth-child(2) .sss-ikon { background: color-mix(in srgb, var(--vurgu) 14%, transparent); }
.sss-oge:nth-child(3) .sss-ikon { background: color-mix(in srgb, var(--turkuaz) 14%, transparent); }
.sss-oge:nth-child(4) .sss-ikon { background: color-mix(in srgb, #8e44ad 12%, transparent); }
.sss-soru { flex: 1; min-width: 0; text-align: start; line-height: 1.35; }
.sss-oge summary .arti {
  flex: 0 0 auto; width: 28px; height: 28px; border-radius: 50%;
  background: color-mix(in srgb, var(--ana) 10%, transparent); color: var(--ana);
  display: flex; align-items: center; justify-content: center;
  transition: transform .22s, background .18s, color .18s; position: relative;
}
.sss-oge summary .arti::before,
.sss-oge summary .arti::after {
  content: ''; position: absolute; background: currentColor; border-radius: 2px;
}
.sss-oge summary .arti::before { width: 12px; height: 2px; }
.sss-oge summary .arti::after { width: 2px; height: 12px; transition: transform .22s, opacity .22s; }
.sss-oge[open] summary {
  background: color-mix(in srgb, var(--ana) 6%, transparent);
  color: var(--ana);
}
.sss-oge[open] .sss-ikon { transform: scale(1.05); background: color-mix(in srgb, var(--ana) 16%, transparent); }
.sss-oge[open] summary .arti {
  background: var(--ana); color: #fff; transform: rotate(0deg);
}
.sss-oge[open] summary .arti::after { transform: scaleY(0); opacity: 0; }
.sss-oge .sss-cevap {
  padding: 0 18px 18px 74px; color: var(--metin-soluk);
  font-size: .92rem; line-height: 1.7;
}
@media (max-width: 560px) {
  .sss-oge summary { padding: 14px 14px; gap: 11px; font-size: .92rem; }
  .sss-ikon { width: 38px; height: 38px; border-radius: 11px; font-size: 1.1rem; }
  .sss-oge .sss-cevap { padding: 0 14px 14px 14px; }
}

/* ============ ROTA SAYFASI: SPONSOR ŞERİDİ ============ */
.sponsor-serit-kutu {
  background: linear-gradient(135deg, color-mix(in srgb, var(--vurgu) 10%, var(--kart)), var(--kart));
  border: 1px solid color-mix(in srgb, var(--vurgu) 30%, var(--cizgi));
  border-radius: var(--radius); padding: 20px; margin: 16px 0;
}
.sponsor-serit-ust { display: flex; align-items: center; gap: 10px; margin-bottom: 14px; flex-wrap: wrap; }
.sponsor-serit-ust .rozet-pill { margin-bottom: 0; }
.sponsor-serit-ust h3 { font-size: 1.05rem; font-weight: 800; }
.sponsor-serit-ust small { color: var(--metin-soluk); font-size: .82rem; width: 100%; }
.sponsor-kartlar { display: grid; grid-template-columns: 1fr; gap: 12px; }
.sponsor-mini {
  display: flex; gap: 12px; align-items: center; background: var(--kart);
  border: 1px solid var(--cizgi); border-radius: 14px; padding: 12px; color: var(--metin);
  transition: transform .15s, box-shadow .15s;
}
.sponsor-mini:hover { transform: translateY(-2px); box-shadow: var(--golge); }
.sponsor-mini .g {
  width: 56px; height: 56px; border-radius: 11px; flex: 0 0 auto; overflow: hidden;
  background: linear-gradient(135deg, color-mix(in srgb, var(--ana) 18%, var(--kart)), color-mix(in srgb, var(--vurgu) 20%, var(--kart)));
  display: flex; align-items: center; justify-content: center; font-size: 1.6rem;
}
.sponsor-mini .g img { width: 100%; height: 100%; object-fit: cover; }
.sponsor-mini h4 { font-size: .96rem; font-weight: 800; }
.sponsor-mini p { font-size: .8rem; color: var(--metin-soluk); display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden; }
.sponsor-mini .puan { font-size: .78rem; }
.sponsor-cta { display: inline-flex; align-items: center; gap: 6px; margin-top: 12px; font-size: .84rem; font-weight: 700; color: var(--vurgu); }
@media (min-width: 640px) { .sponsor-kartlar { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .sponsor-kartlar { grid-template-columns: repeat(3, 1fr); } }

/* Üst menü ikincil buton (Reklam Ver) */
.ust-reklam {
  display: none; align-items: center; gap: 6px; font-weight: 700; font-size: .84rem;
  padding: 9px 15px; border-radius: 22px; height: 38px; white-space: nowrap;
  background: var(--ana); color: #fff; box-shadow: 0 4px 14px color-mix(in srgb, var(--ana) 30%, transparent);
  transition: transform .15s, filter .15s;
}
.ust-reklam:hover { transform: translateY(-1px); filter: brightness(1.06); color: #fff; }
@media (min-width: 1500px) { .ust-reklam { display: inline-flex; } }

/* ============================================================
   AUTH SAYFALARI — giriş / kayıt / şifre sıfırlama
   ============================================================ */
.auth-mod-sekme { display: none; }
.auth-secim { margin: 0 0 18px; }
.auth-secim-baslik {
  font-size: .84rem; font-weight: 800; color: var(--metin-soluk);
  margin: 0 0 10px; letter-spacing: .01em;
}
.auth-secim-izgara { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.auth-secim-kart {
  display: flex; align-items: center; gap: 10px; text-align: start;
  padding: 12px 12px 12px 11px; border-radius: 16px;
  border: 1.5px solid var(--cizgi); background: var(--arka); color: var(--metin);
  transition: border-color .15s, background .15s, box-shadow .15s, transform .15s;
  text-decoration: none; min-height: 74px; position: relative;
}
.auth-secim-kart:hover {
  border-color: color-mix(in srgb, var(--ana) 35%, var(--cizgi));
  transform: translateY(-1px);
  box-shadow: 0 8px 18px rgba(22,48,38,.08);
  color: var(--metin);
}
.auth-secim-kart.aktif {
  border-color: var(--ana);
  background: color-mix(in srgb, var(--ana) 8%, var(--kart));
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--ana) 14%, transparent);
}
.auth-kart-isletme .auth-secim-kart.aktif {
  border-color: #8c2f39;
  background: color-mix(in srgb, #8c2f39 8%, var(--kart));
  box-shadow: 0 0 0 3px color-mix(in srgb, #8c2f39 14%, transparent);
}
.auth-secim-ikon {
  flex: 0 0 auto; width: 40px; height: 40px; border-radius: 12px;
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 1.2rem; background: #fff; border: 1px solid var(--cizgi);
}
.auth-secim-kart.aktif .auth-secim-ikon {
  background: color-mix(in srgb, var(--ana) 14%, #fff);
  border-color: color-mix(in srgb, var(--ana) 30%, var(--cizgi));
}
.auth-kart-isletme .auth-secim-kart.aktif .auth-secim-ikon {
  background: color-mix(in srgb, #8c2f39 14%, #fff);
  border-color: color-mix(in srgb, #8c2f39 30%, var(--cizgi));
}
.auth-secim-metin { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.auth-secim-metin strong { font-size: .88rem; font-weight: 800; line-height: 1.25; }
.auth-secim-metin small { font-size: .72rem; color: var(--metin-soluk); line-height: 1.35; }
.auth-secim-isaret {
  flex: 0 0 auto; width: 18px; height: 18px; border-radius: 50%;
  border: 2px solid var(--cizgi); background: #fff;
}
.auth-secim-kart.aktif .auth-secim-isaret {
  border-color: var(--ana);
  background: radial-gradient(circle at center, var(--ana) 0 45%, #fff 48%);
}
.auth-kart-isletme .auth-secim-kart.aktif .auth-secim-isaret {
  border-color: #8c2f39;
  background: radial-gradient(circle at center, #8c2f39 0 45%, #fff 48%);
}
@media (max-width: 420px) {
  .auth-secim-izgara { grid-template-columns: 1fr; }
}
.auth-yan-isletme { background: linear-gradient(155deg, #6e1f28, #8c2f39 55%, #0a5540); }
.auth-form-rozet {
  display: none;
}
.auth-giris-cift { max-width: 980px; }
.sanaltur-bos-panel-not {
  margin-top: 10px; font-size: .88rem; color: var(--metin-soluk); text-align: center;
}

.hizmet-fiyat-bolum { margin: 8px 0 28px; }
.hizmet-aciklama { color: var(--metin-soluk); max-width: 720px; margin: 0 0 18px; line-height: 1.6; }
.hizmet-fiyat-izgara {
  display: grid; grid-template-columns: 1fr; gap: 14px; margin-bottom: 18px;
}
@media (min-width: 780px) {
  .hizmet-fiyat-izgara { grid-template-columns: repeat(3, 1fr); }
}
.hizmet-kart {
  position: relative; background: var(--kart); border: 1px solid var(--cizgi); border-radius: 20px;
  padding: 22px 18px 18px; box-shadow: var(--golge); display: flex; flex-direction: column; gap: 8px;
}
.hizmet-kart-one {
  border-color: color-mix(in srgb, var(--vurgu) 45%, var(--cizgi));
  background: linear-gradient(165deg, color-mix(in srgb, var(--vurgu) 10%, var(--kart)), var(--kart));
}
.hizmet-rozet {
  position: absolute; top: 12px; inset-inline-end: 12px; font-size: .68rem; font-weight: 800;
  background: var(--vurgu); color: #fff; border-radius: 999px; padding: 4px 9px;
}
.hizmet-ikon { font-size: 1.6rem; }
.hizmet-kart h3 { font-size: 1.05rem; font-weight: 800; }
.hizmet-kart p { font-size: .86rem; color: var(--metin-soluk); line-height: 1.5; flex: 1; }
.hizmet-fiyat { font-size: 1.55rem; font-weight: 800; color: var(--ana); letter-spacing: -.02em; margin: 4px 0 8px; }
.hizmet-talep-form {
  max-width: 720px; margin: 0 auto 18px; background: var(--kart); border: 1px solid var(--cizgi);
  border-radius: 20px; box-shadow: var(--golge);
}
.hizmet-gecmis { max-width: 720px; margin: 0 auto; }
.hizmet-gecmis h3 { font-size: 1rem; margin-bottom: 10px; }
.hizmet-gecmis ul { list-style: none; display: grid; gap: 8px; }
.hizmet-gecmis li {
  display: flex; flex-wrap: wrap; gap: 8px 14px; justify-content: space-between;
  padding: 10px 12px; border-radius: 12px; background: var(--arka); border: 1px solid var(--cizgi);
  font-size: .86rem;
}
.isletme-panel {
  --ip-cizgi: color-mix(in srgb, var(--ana) 14%, var(--cizgi));
  --ip-odak: color-mix(in srgb, var(--ana) 55%, var(--vurgu));
}
.isletme-panel .uye-ust {
  width: 100%;
  margin-bottom: 22px;
}
.isletme-panel .uye-ust-alt {
  margin: 8px 0 0;
  color: rgba(255,255,255,.82);
  font-size: .95rem;
  max-width: 42rem;
  line-height: 1.55;
}
.isletme-panel > .uyari { margin-top: 0; }

.isletme-profil-form {
  width: 100%;
  max-width: none;
  margin: 0 0 28px;
  padding: 0;
  background: transparent;
  border: none;
  box-shadow: none;
  display: grid;
  gap: 18px;
}

.ip-bolum,
.isletme-panel .ip-hizmet {
  width: 100%;
  background:
    linear-gradient(180deg, color-mix(in srgb, var(--kart) 92%, var(--ana)) 0%, var(--kart) 48px),
    var(--kart);
  border: 1px solid var(--ip-cizgi);
  border-radius: 24px;
  box-shadow: 0 14px 40px color-mix(in srgb, var(--ana) 8%, transparent);
  padding: 26px 28px 28px;
  position: relative;
  overflow: hidden;
}
.ip-bolum::before,
.isletme-panel .ip-hizmet::before {
  content: '';
  position: absolute; inset: 0 auto 0 0; width: 4px;
  background: linear-gradient(180deg, var(--ana), var(--vurgu));
  border-radius: 24px 0 0 24px;
}

.ip-bolum-ust {
  display: flex; align-items: flex-start; gap: 16px;
  margin-bottom: 22px; padding-bottom: 16px;
  border-bottom: 1px solid color-mix(in srgb, var(--cizgi) 80%, transparent);
}
.ip-bolum-no {
  flex: 0 0 auto;
  width: 42px; height: 42px; border-radius: 14px;
  display: inline-flex; align-items: center; justify-content: center;
  font-size: .78rem; font-weight: 800; letter-spacing: .04em;
  color: var(--ana);
  background: color-mix(in srgb, var(--ana) 12%, transparent);
  border: 1px solid color-mix(in srgb, var(--ana) 22%, transparent);
}
.ip-bolum-ust h2 {
  margin: 0 0 4px; font-size: 1.22rem; font-weight: 800; letter-spacing: -.02em;
  color: var(--metin);
}
.ip-bolum-ust p,
.isletme-panel .ip-hizmet .hizmet-aciklama {
  margin: 0; max-width: none; color: var(--metin-soluk); font-size: .92rem; line-height: 1.55;
}

.ip-izgara {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px 18px;
}
.ip-alan { min-width: 0; display: flex; flex-direction: column; gap: 7px; }
.ip-alan-genis { grid-column: 1 / -1; }
.ip-alan label {
  margin: 0;
  font-size: .78rem;
  font-weight: 750;
  letter-spacing: .02em;
  color: color-mix(in srgb, var(--metin) 78%, var(--ana));
}

.ip-girdi {
  position: relative;
  display: flex;
  align-items: center;
  background: #fff;
  border: 1.5px solid color-mix(in srgb, var(--cizgi) 70%, var(--ana));
  border-radius: 14px;
  transition: border-color .18s, box-shadow .18s, background .18s;
  min-height: 52px;
}
.ip-girdi:hover {
  border-color: color-mix(in srgb, var(--ana) 35%, var(--cizgi));
}
.ip-girdi:focus-within {
  border-color: var(--ana);
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--ana) 16%, transparent);
  background: #fff;
}
.ip-ikon {
  flex: 0 0 44px;
  width: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: .95rem;
  color: var(--ana);
  opacity: .85;
  pointer-events: none;
}
.ip-girdi input,
.ip-girdi select,
.ip-girdi textarea {
  width: 100%;
  border: 0 !important;
  outline: none !important;
  box-shadow: none !important;
  background: transparent !important;
  border-radius: 0 !important;
  min-height: 50px;
  padding: 12px 16px 12px 0 !important;
  margin: 0 !important;
  font: inherit;
  font-size: .95rem !important;
  font-weight: 600;
  color: var(--metin);
}
.ip-girdi select {
  appearance: none;
  -webkit-appearance: none;
  padding-inline-end: 38px !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%230e6b4f' d='M1.1 1.2 6 6.1l4.9-4.9 1.1 1.1L6 8.3.0 2.3z'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 14px center !important;
  background-size: 12px 8px !important;
  cursor: pointer;
  color: var(--metin) !important;
}
[dir="rtl"] .ip-girdi select { background-position: left 14px center !important; }

/* ip-girdi içindeki özel select (osec) — seçilen değer net görünsün */
.ip-girdi-osec {
  overflow: visible;
}
.ip-girdi-osec .osec {
  flex: 1 1 auto;
  min-width: 0;
  width: auto;
}
.ip-girdi-osec .osec-buton {
  border: 0;
  background: transparent;
  border-radius: 0;
  box-shadow: none;
  min-height: 50px;
  padding: 12px 16px 12px 0;
  font-size: .95rem;
  font-weight: 700;
  color: var(--metin);
}
.ip-girdi-osec .osec.acik .osec-buton {
  border: 0;
  box-shadow: none;
}
.ip-girdi-osec .osec-buton .osec-etiket {
  font-weight: 700;
  color: var(--metin);
}
.ip-girdi-osec .osec-buton .osec-etiket.bos {
  color: color-mix(in srgb, var(--metin-soluk) 80%, transparent);
  font-weight: 500;
}
.ip-girdi-osec .osec-panel {
  z-index: 80;
  min-width: min(100%, 280px);
}
.ip-girdi input::placeholder,
.ip-girdi textarea::placeholder {
  color: color-mix(in srgb, var(--metin-soluk) 80%, transparent);
  font-weight: 500;
}
.ip-girdi-alan {
  align-items: stretch;
  min-height: 140px;
  padding: 4px 0;
}
.ip-girdi-alan textarea {
  min-height: 132px !important;
  padding: 14px 16px !important;
  resize: vertical;
  line-height: 1.55;
  font-weight: 550;
}

.isletme-foto-izgara {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}
.isletme-foto-kutu {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  gap: 0;
  min-height: 168px;
  padding: 0;
  border-radius: 18px;
  border: 1.5px dashed color-mix(in srgb, var(--ana) 28%, var(--cizgi));
  background:
    linear-gradient(160deg, color-mix(in srgb, var(--ana) 6%, #fff), #fff 55%);
  cursor: pointer;
  overflow: hidden;
  transition: border-color .18s, transform .18s, box-shadow .18s;
}
.isletme-foto-kutu:hover {
  border-color: var(--ana);
  transform: translateY(-2px);
  box-shadow: 0 10px 24px color-mix(in srgb, var(--ana) 12%, transparent);
}
.isletme-foto-kutu.dolu {
  border-style: solid;
}
.isletme-foto-kutu.yukleniyor {
  border-color: var(--vurgu);
  pointer-events: none;
}
.isletme-foto-kutu.yukleniyor::after {
  content: '';
  position: absolute; inset: 0;
  background: rgba(255,255,255,.35);
  backdrop-filter: blur(1px);
}
.isletme-foto-kutu.hata {
  border-color: #c0392b;
}
.isletme-foto-onizleme {
  position: absolute; inset: 0;
  display: flex; align-items: center; justify-content: center;
}
.isletme-foto-onizleme img {
  width: 100%; height: 100%; object-fit: cover; border-radius: 16px;
}
.isletme-foto-bos {
  width: 46px; height: 46px; border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 1.35rem; font-weight: 300; color: var(--ana);
  background: color-mix(in srgb, var(--ana) 10%, transparent);
  border: 1px solid color-mix(in srgb, var(--ana) 18%, transparent);
}
.isletme-foto-etiket {
  position: relative; z-index: 2;
  width: calc(100% - 16px);
  margin: 0 8px 10px;
  padding: 7px 10px; border-radius: 10px;
  font-size: .78rem; font-weight: 750; color: var(--metin);
  text-align: center;
  background: rgba(255,255,255,.88);
  border: 1px solid color-mix(in srgb, var(--cizgi) 80%, transparent);
}
.isletme-foto-kutu.dolu .isletme-foto-etiket {
  background: rgba(12, 28, 22, .72); color: #fff; border-color: transparent;
  backdrop-filter: blur(6px);
}
.isletme-foto-durum {
  position: absolute; top: 10px; right: 10px; z-index: 3;
}
.foto-ok {
  display: inline-flex; align-items: center; justify-content: center;
  width: 30px; height: 30px; border-radius: 50%;
  background: #1f8f5f; color: #fff; font-size: 1rem; font-weight: 800;
  box-shadow: 0 6px 16px rgba(31, 143, 95, .35);
  animation: fotoOkGel .35s ease;
}
@keyframes fotoOkGel {
  from { transform: scale(.4); opacity: 0; }
  to { transform: scale(1); opacity: 1; }
}
.isletme-foto-kutu.yukleniyor .isletme-foto-durum::before {
  content: '';
  display: block; width: 28px; height: 28px; border-radius: 50%;
  border: 3px solid rgba(255,255,255,.45);
  border-top-color: var(--ana);
  animation: fotoSpin .7s linear infinite;
  background: rgba(255,255,255,.75);
}
@keyframes fotoSpin { to { transform: rotate(360deg); } }
.isletme-foto-kutu input[type="file"] {
  position: absolute; inset: 0; opacity: 0; cursor: pointer; z-index: 4;
}

.ip-saat-kutu {
  display: grid; gap: 14px;
  padding: 16px;
  border-radius: 18px;
  background: linear-gradient(160deg, color-mix(in srgb, var(--ana) 5%, #fff), #fff);
  border: 1.5px solid color-mix(in srgb, var(--ana) 16%, var(--cizgi));
}
.ip-saat-satir {
  display: grid; gap: 12px;
  padding: 14px;
  border-radius: 14px;
  background: #fff;
  border: 1px solid color-mix(in srgb, var(--cizgi) 85%, var(--ana));
}
.ip-saat-baslik {
  display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px 12px;
}
.ip-saat-baslik strong {
  font-size: .95rem; font-weight: 800; color: var(--metin);
}
.ip-saat-baslik span {
  font-size: .8rem; color: var(--metin-soluk); font-weight: 600;
}
.ip-saat-secimler {
  display: flex; flex-wrap: wrap; align-items: end; gap: 10px;
}
.ip-saat-secimler label {
  display: grid; gap: 5px; min-width: 110px; flex: 1;
  margin: 0 !important;
}
.ip-saat-secimler small {
  font-size: .72rem; font-weight: 750; letter-spacing: .02em;
  color: color-mix(in srgb, var(--metin) 70%, var(--ana));
}
.ip-saat-secimler select {
  width: 100%;
  min-height: 46px;
  padding: 10px 36px 10px 12px;
  border-radius: 12px;
  border: 1.5px solid color-mix(in srgb, var(--cizgi) 70%, var(--ana));
  background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%230e6b4f' d='M1.1 1.2 6 6.1l4.9-4.9 1.1 1.1L6 8.3.0 2.3z'/%3E%3C/svg%3E") no-repeat right 12px center;
  background-size: 12px 8px;
  appearance: none;
  font: inherit;
  font-weight: 700;
  color: var(--metin);
}
.ip-saat-secimler select:focus {
  outline: none;
  border-color: var(--ana);
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--ana) 14%, transparent);
}
.ip-saat-ayrac {
  padding-bottom: 12px;
  color: var(--ana);
  font-weight: 800;
}
.ip-saat-durum {
  display: flex; flex-wrap: wrap; gap: 8px;
}
.ip-saat-chip {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 10px 16px;
  border-radius: 999px;
  border: 1.5px solid color-mix(in srgb, var(--cizgi) 70%, var(--ana));
  background: #fff;
  cursor: pointer;
  font-size: .88rem; font-weight: 750;
  transition: border-color .15s, background .15s, color .15s;
}
.ip-saat-chip input { position: absolute; opacity: 0; pointer-events: none; }
.ip-saat-chip.aktif {
  border-color: var(--ana);
  background: color-mix(in srgb, var(--ana) 12%, #fff);
  color: var(--ana);
}
.ip-saat-chip:has(input[value="kapali"]).aktif {
  border-color: #b23b2f;
  background: color-mix(in srgb, #b23b2f 10%, #fff);
  color: #a02622;
}
.ip-saat-ozet {
  margin: 0;
  padding: 10px 14px;
  border-radius: 12px;
  font-size: .88rem;
  font-weight: 700;
  color: var(--ana);
  background: color-mix(in srgb, var(--ana) 8%, transparent);
  border: 1px dashed color-mix(in srgb, var(--ana) 22%, transparent);
}

.isletme-harita-arac {
  display: flex; flex-wrap: wrap; align-items: center; gap: 10px;
  margin: 0 0 14px;
}
.isletme-harita {
  width: 100%;
  height: min(460px, 58vh);
  border-radius: 18px;
  border: 1.5px solid var(--ip-cizgi);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.4);
  z-index: 1;
}
.isletme-koordinat {
  margin: 0;
  font-size: .84rem;
  font-weight: 650;
  color: var(--metin-soluk);
  padding: 8px 12px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--ana) 7%, var(--arka));
  border: 1px solid color-mix(in srgb, var(--ana) 12%, transparent);
}

.ip-kaydet-serit {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
  padding: 18px 22px;
  border-radius: 18px;
  background: linear-gradient(120deg, color-mix(in srgb, var(--ana) 10%, #fff), color-mix(in srgb, var(--vurgu) 12%, #fff));
  border: 1px solid color-mix(in srgb, var(--ana) 18%, transparent);
}
.ip-kaydet-serit p {
  margin: 0;
  flex: 1;
  min-width: min(100%, 240px);
  font-size: .9rem;
  color: var(--metin-soluk);
  line-height: 1.5;
}
.ip-kaydet-btn {
  min-width: 180px;
  padding: 14px 28px !important;
  font-size: 1rem !important;
  box-shadow: 0 10px 24px color-mix(in srgb, var(--ana) 22%, transparent);
}

.isletme-panel .ip-hizmet {
  margin-top: 0;
}
.isletme-panel .ip-hizmet .hizmet-fiyat-izgara {
  max-width: none;
}
.isletme-panel .ip-hizmet .hizmet-kart {
  background: linear-gradient(180deg, #fff, color-mix(in srgb, var(--ana) 4%, #fff));
  border: 1.5px solid color-mix(in srgb, var(--ana) 14%, var(--cizgi));
  transition: transform .18s, box-shadow .18s, border-color .18s;
}
.isletme-panel .ip-hizmet .hizmet-kart:hover {
  transform: translateY(-3px);
  border-color: color-mix(in srgb, var(--ana) 35%, var(--cizgi));
  box-shadow: 0 16px 34px color-mix(in srgb, var(--ana) 12%, transparent);
}
.isletme-panel .hizmet-talep-form {
  max-width: none;
  width: 100%;
  margin-top: 18px;
  border-radius: 18px;
  border: 1px solid var(--ip-cizgi);
  background: color-mix(in srgb, var(--ana) 4%, var(--kart));
}
.isletme-panel .hizmet-gecmis { max-width: none; margin-top: 18px; }

@media (max-width: 900px) {
  .isletme-foto-izgara { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
  .ip-izgara { grid-template-columns: 1fr; }
  .ip-bolum,
  .isletme-panel .ip-hizmet { padding: 20px 16px 22px; border-radius: 20px; }
  .isletme-foto-izgara { grid-template-columns: 1fr 1fr; }
  .ip-kaydet-serit { padding: 16px; }
  .ip-kaydet-btn { width: 100%; }
}
@media (max-width: 480px) {
  .isletme-foto-izgara { grid-template-columns: 1fr; }
}
.auth-sahne {
  position: relative; padding: 36px 0 56px; min-height: calc(100vh - 180px);
  display: flex; align-items: center;
}
.auth-arka {
  position: absolute; inset: 0; z-index: 0; pointer-events: none;
  background:
    linear-gradient(160deg, color-mix(in srgb, var(--ana) 88%, #000) 0%, color-mix(in srgb, var(--ana) 55%, var(--vurgu)) 100%),
    url('gorsel/konya-hero.png') center 35%/cover no-repeat;
  background-blend-mode: multiply;
  opacity: 1;
}
.auth-arka::after {
  content: ''; position: absolute; inset: 0;
  background: radial-gradient(ellipse at 20% 20%, rgba(255,255,255,.12), transparent 50%),
              radial-gradient(ellipse at 90% 80%, rgba(201,162,39,.18), transparent 45%);
}
.auth-sahne > .kapsayici { position: relative; z-index: 1; width: 100%; }
.auth-kart {
  display: grid; grid-template-columns: 1fr; gap: 0;
  background: var(--kart); border-radius: 24px; overflow: hidden;
  box-shadow: 0 28px 70px rgba(8,26,20,.32); border: 1px solid var(--cizgi);
  max-width: 920px; margin: 0 auto;
}
.auth-kart-orta { max-width: 520px; }
.auth-basari-kart { max-width: 860px; margin: 0 auto; }
.auth-yan-basari .auth-roz {
  background: rgba(255,255,255,.22); font-size: 1.4rem; font-weight: 800;
}
.auth-basari { text-align: center; padding: 32px 28px 28px; }
.auth-basari-ikon { margin-bottom: 12px; }
.auth-basari-cember {
  display: inline-flex; width: 68px; height: 68px; border-radius: 50%;
  align-items: center; justify-content: center; font-size: 1.75rem;
  background: color-mix(in srgb, var(--ana) 12%, var(--kart));
  border: 2px solid color-mix(in srgb, var(--ana) 22%, transparent);
  box-shadow: 0 8px 24px color-mix(in srgb, var(--ana) 18%, transparent);
}
.auth-basari h1 { font-size: 1.45rem; font-weight: 800; margin: 0 0 10px; color: var(--ana); letter-spacing: -.02em; }
.auth-basari-metin { color: var(--metin-soluk); margin: 0 auto 18px; max-width: 420px; line-height: 1.7; font-size: .95rem; }
.auth-adimlar {
  list-style: none; text-align: start; max-width: 420px; margin: 0 auto 14px;
  display: grid; gap: 8px;
}
.auth-adimlar li {
  display: flex; align-items: flex-start; gap: 12px;
  font-size: .9rem; font-weight: 600; color: var(--metin);
  background: var(--arka); border: 1px solid var(--cizgi); border-radius: 12px; padding: 11px 13px;
}
.auth-adimlar .n {
  flex: 0 0 auto; width: 26px; height: 26px; border-radius: 50%;
  background: var(--ana); color: #fff; font-size: .8rem; font-weight: 800;
  display: flex; align-items: center; justify-content: center;
}
.auth-basari-ipucu {
  font-size: .84rem; color: var(--metin-soluk); line-height: 1.55;
  background: color-mix(in srgb, var(--vurgu) 12%, transparent);
  border: 1px solid color-mix(in srgb, var(--vurgu) 28%, transparent);
  border-radius: 12px; padding: 10px 14px; max-width: 420px;
  margin: 0 auto 18px;
}
.auth-basari-eylem {
  display: flex; flex-wrap: wrap; gap: 10px; justify-content: center;
}
.auth-basari-eylem .buton { min-width: 140px; margin: 0; }
.auth-basari-eylem .buton.dis {
  background: transparent; color: var(--ana); border: 1.5px solid var(--ana);
  box-shadow: none;
}
.auth-basari-eylem .buton.dis:hover { background: color-mix(in srgb, var(--ana) 8%, transparent); }
.auth-yan {
  background: linear-gradient(155deg, var(--ana-koyu), var(--ana) 70%);
  color: #fff; padding: 32px 28px; position: relative; overflow: hidden;
}
.auth-yan::before {
  content: ''; position: absolute; inset: 0; opacity: .12;
  background-image: radial-gradient(circle at 80% 20%, #fff 1.5px, transparent 1.5px);
  background-size: 28px 28px;
}
.auth-yan > * { position: relative; z-index: 1; }
.auth-roz {
  display: inline-flex; width: 48px; height: 48px; border-radius: 14px;
  align-items: center; justify-content: center; font-size: 1.5rem;
  background: rgba(255,255,255,.16); margin-bottom: 14px;
}
.auth-yan h2 { font-size: 1.55rem; font-weight: 800; letter-spacing: -.02em; }
.auth-yan > p { opacity: .92; margin: 10px 0 18px; font-size: .95rem; line-height: 1.6; }
.auth-avantaj { list-style: none; display: grid; gap: 10px; }
.auth-avantaj li { display: flex; align-items: center; gap: 10px; font-size: .9rem; font-weight: 600; }
.auth-avantaj li span {
  width: 22px; height: 22px; border-radius: 50%; background: rgba(255,255,255,.2);
  display: flex; align-items: center; justify-content: center; font-size: .75rem; flex: 0 0 auto;
}
.auth-not {
  margin-top: 8px; padding: 12px 14px; border-radius: 14px; font-size: .85rem; line-height: 1.55;
  background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.2);
}
.auth-form { padding: 28px 26px 30px; }
.auth-form h1 { font-size: 1.35rem; font-weight: 800; margin-bottom: 6px; }
.auth-form-aciklama {
  margin: 0 0 14px; color: var(--metin-soluk); font-size: .9rem; line-height: 1.55;
}
.auth-form label { display: block; font-size: .8rem; font-weight: 700; margin: 12px 0 5px; color: var(--metin); }
.auth-form label small { font-weight: 600; color: var(--metin-soluk); text-transform: lowercase; }
.auth-form input, .auth-form select {
  width: 100%; padding: 12px 14px; border: 1px solid var(--cizgi); border-radius: 12px;
  font-size: .95rem; font-family: inherit; background: var(--arka); color: var(--metin);
  transition: border-color .15s, box-shadow .15s;
}
.auth-form input:focus, .auth-form select:focus {
  outline: none; border-color: var(--ana);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--ana) 14%, transparent);
}
.auth-form select {
  -webkit-appearance: none; appearance: none;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%2368746e' stroke-width='2' fill='none'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 14px center; padding-inline-end: 38px;
}
[dir="rtl"] .auth-form select { background-position: left 14px center; }
.auth-ikili { display: grid; grid-template-columns: 1fr; gap: 0 14px; }
.auth-btn { width: 100%; text-align: center; margin-top: 18px; padding: 13px 20px; }
.auth-alt {
  display: flex; flex-direction: column; align-items: center; gap: 8px;
  margin-top: 16px; font-size: .88rem; color: var(--metin-soluk); text-align: center;
}
.auth-alt a { font-weight: 700; }
.auth-captcha {
  margin-top: 14px; padding: 14px; border-radius: 14px;
  background: color-mix(in srgb, var(--ana) 6%, var(--arka));
  border: 1px dashed color-mix(in srgb, var(--ana) 28%, var(--cizgi));
}
.auth-captcha label { margin-top: 0; }
.auth-captcha-satir { display: flex; align-items: center; gap: 12px; }
.auth-captcha-soru {
  flex: 0 0 auto; min-width: 110px; padding: 11px 16px; border-radius: 12px;
  background: var(--ana); color: #fff; font-weight: 800; font-size: 1.05rem;
  text-align: center; letter-spacing: .5px;
  box-shadow: 0 6px 16px color-mix(in srgb, var(--ana) 30%, transparent);
}
.auth-captcha-satir input { flex: 1; max-width: 120px; text-align: center; font-weight: 800; font-size: 1.05rem; }
.auth-kart-orta .auth-basari { padding: 36px 28px 32px; }
.auth-kart-orta .auth-basari-ikon {
  display: inline-flex; width: 68px; height: 68px; border-radius: 50%;
  align-items: center; justify-content: center; font-size: 1.75rem;
  background: color-mix(in srgb, var(--ana) 12%, var(--kart));
  border: 2px solid color-mix(in srgb, var(--ana) 22%, transparent);
  margin-bottom: 12px;
}
.auth-kart-orta .auth-basari h1 { color: var(--ana); }
.auth-kart-orta .auth-basari p { color: var(--metin-soluk); margin: 0 auto 16px; max-width: 360px; line-height: 1.7; }
.auth-kart-orta .auth-basari-eylem {
  flex-direction: column; align-items: stretch; max-width: 260px; margin: 0 auto;
}
.auth-kart-orta .auth-basari-eylem .buton { width: 100%; min-width: 0; }
@media (max-width: 559px) {
  .auth-form input, .auth-form select { font-size: 16px; }
  .auth-sahne { padding: 22px 0 40px; }
  .auth-form { padding: 22px 18px 24px; }
  .auth-yan { padding: 24px 20px; }
  .auth-basari { padding: 24px 18px 26px; }
  .auth-yan-basari { display: none; }
  .auth-basari-eylem { flex-direction: column; align-items: stretch; }
  .auth-basari-eylem .buton { width: 100%; min-width: 0; }
}
@media (min-width: 560px) {
  .auth-ikili { grid-template-columns: 1fr 1fr; }
}
@media (min-width: 860px) {
  .auth-kart { grid-template-columns: .95fr 1.15fr; }
  .auth-sahne-genis .auth-kart { max-width: 980px; grid-template-columns: .85fr 1.25fr; }
  .auth-sahne-genis .auth-basari-kart { max-width: 860px; grid-template-columns: .85fr 1.15fr; }
  .auth-yan { display: flex; flex-direction: column; justify-content: center; padding: 40px 34px; }
  .auth-yan h2 { font-size: 1.8rem; }
  .auth-form { padding: 34px 36px; }
  .auth-basari { padding: 36px 34px 32px; display: flex; flex-direction: column; justify-content: center; }
}

/* =====================================================
   HARİTA İLE ROTA/PLAN OLUŞTURUCU
   ===================================================== */
.plan-olustur-sayfa { max-width: 1200px; margin: 0 auto; padding: 0 18px 56px; overflow-x: clip; }
.plan-olustur-sayfa form { max-width: 100%; min-width: 0; }
.buton.buton-tehlike { background: #c0392b; box-shadow: 0 4px 16px rgba(192,57,43,.32); }

/* Üst kart: başlık + tarih + not */
.plan-ust-kart {
  background: var(--kart); border: 1px solid var(--cizgi); border-radius: 20px;
  box-shadow: var(--golge); padding: 18px 20px; margin-top: 16px;
}
.plan-ust-baslik { display: flex; align-items: flex-end; gap: 14px; flex-wrap: wrap; }
.plan-ust-ikon {
  flex: 0 0 auto; width: 48px; height: 48px; border-radius: 14px; font-size: 1.5rem;
  display: flex; align-items: center; justify-content: center;
  background: linear-gradient(140deg, color-mix(in srgb, var(--ana) 16%, var(--kart)), color-mix(in srgb, var(--vurgu) 18%, var(--kart)));
}
.plan-ust-alan { flex: 1; min-width: min(100%, 220px); }
.plan-ust-alan label, .plan-ust-tarih label {
  display: block; font-size: .74rem; font-weight: 800; color: var(--metin-soluk);
  margin-bottom: 5px; letter-spacing: .3px;
}
.plan-ust-alan input, .plan-ust-tarih input {
  width: 100%; padding: 11px 14px; border: 1px solid var(--cizgi); border-radius: 12px;
  background: var(--arka); color: var(--metin); font-family: inherit; font-size: .95rem; font-weight: 600;
  outline: none; transition: border-color .15s, box-shadow .15s;
}
.plan-ust-alan input:focus, .plan-ust-tarih input:focus {
  border-color: var(--ana); box-shadow: 0 0 0 3px color-mix(in srgb, var(--ana) 12%, transparent);
}
.plan-ust-tarih { flex: 0 0 auto; min-width: 170px; }
.plan-ust-not { margin-top: 12px; }
.plan-ust-not summary {
  cursor: pointer; font-size: .84rem; font-weight: 700; color: var(--ana);
  padding: 6px 0; list-style: none; user-select: none;
}
.plan-ust-not summary::-webkit-details-marker { display: none; }
.plan-ust-not summary::before { content: '＋ '; font-weight: 800; }
.plan-ust-not[open] summary::before { content: '－ '; }
.plan-ust-not textarea {
  width: 100%; margin-top: 8px; min-height: 74px; padding: 12px 14px;
  border: 1px solid var(--cizgi); border-radius: 12px; background: var(--arka);
  color: var(--metin); font-family: inherit; font-size: .92rem; resize: vertical; outline: none;
}

/* Araç şeridi: ipucu + görünüm seçici */
.plan-arac-serit {
  display: flex; align-items: center; justify-content: space-between; gap: 14px;
  margin: 18px 0 12px; flex-wrap: wrap;
}
.plan-ipucu {
  flex: 1; min-width: min(100%, 260px); margin: 0;
  font-size: .86rem; color: var(--metin-soluk); font-weight: 600; line-height: 1.5;
}
.plan-gorunum-sec {
  display: none; background: var(--kart); border: 1px solid var(--cizgi);
  border-radius: 999px; padding: 4px; gap: 2px; box-shadow: var(--golge);
}
.plan-gorunum-sec button {
  border: none; background: none; cursor: pointer; font-family: inherit;
  font-size: .82rem; font-weight: 800; color: var(--metin-soluk);
  padding: 8px 16px; border-radius: 999px; transition: background .15s, color .15s;
}
.plan-gorunum-sec button.aktif { background: var(--ana); color: #fff; }

/* Yapım alanı: harita + rota paneli */
.plan-yapim { display: grid; grid-template-columns: 1fr; gap: 16px; min-width: 0; max-width: 100%; }
.plan-yapim > * { min-width: 0; max-width: 100%; }
@media (min-width: 900px) {
  .plan-yapim {
    --plan-kolon-y: clamp(640px, 78vh, 860px);
    grid-template-columns: 1.55fr 1fr;
    align-items: stretch;
  }
}

.plan-harita-sarmal {
  background: var(--kart); border: 1px solid var(--cizgi); border-radius: 20px;
  padding: 10px; box-shadow: var(--golge); position: relative;
  overflow: hidden; min-width: 0; max-width: 100%; box-sizing: border-box;
}
.plan-harita-ust { margin-bottom: 8px; display: flex; gap: 8px; align-items: stretch; min-width: 0; flex-wrap: wrap; }
.plan-ara-kutu { position: relative; flex: 1 1 180px; min-width: 0; }
.plan-ara-ikon { position: absolute; inset-inline-start: 14px; top: 50%; transform: translateY(-50%); opacity: .55; font-size: .95rem; pointer-events: none; }
.plan-ara-kutu input {
  width: 100%; padding: 11px 14px 11px 40px; border: 1px solid var(--cizgi); border-radius: 14px;
  background: var(--arka); color: var(--metin); font-family: inherit; font-size: .92rem; font-weight: 600;
  outline: none; transition: border-color .15s, box-shadow .15s;
}
.plan-ara-kutu input:focus { border-color: var(--ana); box-shadow: 0 0 0 3px color-mix(in srgb, var(--ana) 12%, transparent); }
.plan-ara-sonuc {
  position: absolute; top: calc(100% + 6px); inset-inline: 0; z-index: 500;
  background: var(--kart); border: 1px solid var(--cizgi); border-radius: 14px;
  box-shadow: var(--golge-buyuk); overflow: hidden; max-height: 320px; overflow-y: auto;
}
.plan-ara-oge {
  display: flex; align-items: center; gap: 10px; width: 100%; text-align: start;
  padding: 11px 14px; border: none; background: none; cursor: pointer;
  font-family: inherit; color: var(--metin); border-bottom: 1px solid var(--cizgi);
}
.plan-ara-oge:last-child { border-bottom: none; }
.plan-ara-oge:hover { background: color-mix(in srgb, var(--ana) 7%, var(--kart)); }
.pao-ikon { flex: 0 0 auto; font-size: 1.1rem; }
.pao-ad { flex: 1; min-width: 0; font-size: .9rem; font-weight: 700; display: flex; flex-direction: column; }
.pao-ad small { font-size: .72rem; font-weight: 600; color: var(--metin-soluk); }
.pao-durum { flex: 0 0 auto; font-size: .72rem; font-weight: 800; color: var(--ana); }
.plan-ara-oge.ekli .pao-durum { color: var(--vurgu); }

.plan-filtre {
  display: flex; flex-wrap: wrap; gap: 6px;
  width: 100%; max-width: 100%; min-width: 0; box-sizing: border-box;
  padding: 2px 0 6px;
}
.plan-cip-filtre {
  flex: 0 0 auto; border: 1px solid var(--cizgi); background: var(--arka);
  color: var(--metin); font-family: inherit; font-size: .78rem; font-weight: 700;
  padding: 7px 13px; border-radius: 999px; cursor: pointer; white-space: nowrap;
  transition: all .15s;
}
.plan-cip-filtre:hover { border-color: var(--cip-renk, var(--ana)); }
.plan-cip-filtre.aktif {
  background: var(--cip-renk, var(--ana)); border-color: var(--cip-renk, var(--ana));
  color: #fff; box-shadow: 0 3px 10px color-mix(in srgb, var(--cip-renk, var(--ana)) 30%, transparent);
}
.plan-harita {
  width: 100%; max-width: 100%; min-width: 0; box-sizing: border-box;
  height: clamp(380px, 58vh, 620px); border-radius: 14px; overflow: hidden;
  z-index: 0; background: var(--arka); position: relative;
}
@media (min-width: 900px) {
  .plan-harita-sarmal {
    display: flex; flex-direction: column;
    height: var(--plan-kolon-y);
  }
  .plan-harita {
    flex: 1; min-height: 0; height: auto;
  }
}
/* Leaflet mobil taşma düzeltmesi */
.plan-harita.leaflet-container { width: 100% !important; max-width: 100% !important; }
.plan-harita .leaflet-pane,
.plan-harita .leaflet-map-pane,
.plan-harita .leaflet-tile-pane,
.plan-harita .leaflet-overlay-pane { max-width: 100%; }
.plan-harita .leaflet-popup-pane { max-width: none; overflow: visible; }

/* Rota paneli */
.plan-rota-panel {
  background: var(--kart); border: 1px solid var(--cizgi); border-radius: 20px;
  box-shadow: var(--golge); padding: 18px; position: sticky; top: 84px;
  display: flex; flex-direction: column; min-height: 0;
}
.plan-rota-sabit-ust { flex-shrink: 0; }
.plan-rota-kaydir {
  flex: 1; min-height: 0;
  display: flex; flex-direction: column; gap: 0;
}
.plan-rota-alt-icerik { flex-shrink: 0; margin-top: 12px; }
.plan-rota-baslik { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 12px; }
.plan-rota-baslik h2 { font-size: 1.12rem; font-weight: 800; margin: 0; }
.plan-rota-temizle {
  border: 1px solid var(--cizgi); background: var(--arka); color: var(--metin-soluk);
  font-family: inherit; font-size: .76rem; font-weight: 700; padding: 6px 12px;
  border-radius: 999px; cursor: pointer;
}
.plan-rota-temizle:hover { border-color: #c0392b; color: #c0392b; }
.plan-rota-ozet { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 14px; }
.pro-cip {
  display: inline-flex; align-items: center; gap: 5px; font-size: .8rem; font-weight: 700;
  color: var(--metin); background: color-mix(in srgb, var(--ana) 8%, var(--arka));
  border: 1px solid color-mix(in srgb, var(--ana) 18%, var(--cizgi));
  padding: 6px 12px; border-radius: 12px;
}
.pro-cip b { color: var(--ana); }

/* Yürüyüş / araç mesafe kartları */
.plan-rota-mesafe {
  display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-bottom: 12px;
}
.prm-kart {
  display: flex; align-items: center; gap: 10px;
  padding: 11px 12px; border-radius: 14px; border: 1px solid var(--cizgi);
  min-width: 0;
}
.prm-yuru {
  background: linear-gradient(145deg, #e8f6ed 0%, #f4fbf7 100%);
  border-color: #b5dcc4;
  box-shadow: 0 2px 8px rgba(45, 122, 82, .08);
}
.prm-arac {
  background: linear-gradient(145deg, #e8eefb 0%, #f4f7fe 100%);
  border-color: #c0cff0;
  box-shadow: 0 2px 8px rgba(59, 95, 196, .08);
}
.prm-ikon { flex: 0 0 auto; font-size: 1.4rem; line-height: 1; }
.prm-detay { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.prm-etiket {
  font-size: .67rem; font-weight: 800; letter-spacing: .35px;
  text-transform: uppercase; line-height: 1.1;
}
.prm-yuru .prm-etiket { color: #2d7a52; }
.prm-arac .prm-etiket { color: #3b5fc4; }
.prm-detay strong {
  font-size: .95rem; font-weight: 800; color: var(--metin); line-height: 1.25;
  word-break: break-word;
}

/* Başlangıç bilgisi + uyarı — rota listesinden ayrılmış */
.plan-rota-baslangic-alan { margin-bottom: 12px; display: flex; flex-direction: column; gap: 8px; flex-shrink: 0; min-width: 0; }
.plan-baslangic-bilgi[hidden],
.plan-baslangic-uyari[hidden] { display: none !important; }

.plan-baslangic-bilgi {
  display: flex; align-items: center; gap: 10px; margin: 0; min-width: 0;
  padding: 10px 12px; border-radius: 14px;
  background: linear-gradient(135deg, #eef5ff 0%, #f6faff 100%);
  border: 1px solid #c5daf5;
  box-shadow: 0 2px 8px rgba(36, 90, 158, .07);
  color: #245a9e;
}
.plan-baslangic-bilgi .pbb-ikon {
  flex: 0 0 auto; width: 32px; height: 32px; border-radius: 10px;
  display: flex; align-items: center; justify-content: center;
  background: #fff; border: 1px solid #cfe0f7; font-size: 1rem;
}
.plan-baslangic-bilgi .pbb-metin { flex: 1; min-width: 0; font-size: .82rem; line-height: 1.35; overflow-wrap: anywhere; }
.plan-baslangic-bilgi .pbb-metin b { color: #1c4c8a; font-weight: 800; }
.pbb-kaldir {
  flex: 0 0 auto; width: 26px; height: 26px; border-radius: 8px; cursor: pointer;
  border: 1px solid #cfe0f7; background: #fff; color: #245a9e; font-size: .72rem; line-height: 1;
  display: flex; align-items: center; justify-content: center;
}
.pbb-kaldir:hover { border-color: #c0392b; color: #c0392b; background: #fff5f5; }

.plan-baslangic-uyari {
  display: flex; align-items: center; gap: 10px; width: 100%; margin: 0; min-width: 0;
  padding: 10px 12px; border-radius: 14px; cursor: pointer; font-family: inherit;
  background: linear-gradient(135deg, #fff8e6 0%, #fffdf5 100%);
  border: 1px solid #edd99a;
  box-shadow: 0 2px 8px rgba(138, 109, 28, .08);
  color: #7a6118; text-align: start;
  transition: background .14s, border-color .14s, transform .12s;
}
.plan-baslangic-uyari:hover {
  background: linear-gradient(135deg, #fdf1cf 0%, #fff9e8 100%);
  border-color: #dfc06e;
  transform: translateY(-1px);
}
.plan-baslangic-uyari .pbu-ikon {
  flex: 0 0 auto; width: 32px; height: 32px; border-radius: 10px;
  display: flex; align-items: center; justify-content: center;
  background: #fff; border: 1px solid #f2dca0; font-size: 1rem;
}
.plan-baslangic-uyari .pbu-metin {
  flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px;
}
.plan-baslangic-uyari .pbu-metin strong {
  font-size: .82rem; font-weight: 800; color: #8a6d1c; line-height: 1.25;
}
.plan-baslangic-uyari .pbu-metin small {
  font-size: .74rem; font-weight: 600; color: #a08028; line-height: 1.35;
  overflow-wrap: anywhere;
}
.plan-baslangic-uyari .pbu-ok {
  flex: 0 0 auto; width: 26px; height: 26px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  background: #fff; border: 1px solid #f2dca0; color: #a08028;
  font-size: .85rem; font-weight: 800;
}

.plan-rota-bos { text-align: center; padding: 30px 16px; color: var(--metin-soluk); }
.plan-rota-bos .prb-ikon {
  font-size: 2.6rem; width: 68px; height: 68px; margin: 0 auto 12px;
  display: flex; align-items: center; justify-content: center; border-radius: 50%;
  background: color-mix(in srgb, var(--ana) 8%, var(--arka));
  border: 2px dashed color-mix(in srgb, var(--ana) 28%, var(--cizgi));
}
.plan-rota-bos h3 { font-size: 1rem; font-weight: 800; color: var(--metin); margin-bottom: 5px; }
.plan-rota-bos p { font-size: .86rem; line-height: 1.55; max-width: 260px; margin: 0 auto; }

.plan-rota-liste { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; flex-shrink: 0; }
.rota-durak {
  display: flex; align-items: flex-start; gap: 9px; padding: 11px 12px 11px 14px;
  background: var(--arka); border: 1px solid var(--cizgi); border-radius: 14px;
  position: relative; transition: box-shadow .15s, border-color .15s, transform .12s;
}
.rota-durak::before {
  content: ''; position: absolute; inset-inline-start: 0; top: 8px; bottom: 8px;
  width: 4px; border-radius: 0 4px 4px 0; background: var(--durak-renk, var(--ana));
}
.rota-durak:hover { border-color: color-mix(in srgb, var(--ana) 30%, var(--cizgi)); box-shadow: var(--golge); }
.rota-durak.suruklu { opacity: .5; }
.rota-durak.uzeri { border-color: var(--ana); border-style: dashed; }
.rota-durak-tut {
  flex: 0 0 auto; align-self: stretch; display: flex; align-items: center;
  color: var(--metin-soluk); opacity: .5; font-size: .8rem; cursor: grab;
  letter-spacing: -1px; user-select: none;
}
.rota-durak-tut:active { cursor: grabbing; }
.rota-durak-no {
  flex: 0 0 auto; width: 26px; height: 26px; border-radius: 50%; margin-top: 1px;
  background: var(--durak-renk, var(--ana)); color: #fff;
  display: flex; align-items: center; justify-content: center; font-weight: 800; font-size: .82rem;
  box-shadow: 0 2px 6px color-mix(in srgb, var(--durak-renk, var(--ana)) 40%, transparent);
}
.rota-durak-ic { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 5px; }
.rota-durak-ad { display: flex; align-items: flex-start; gap: 6px; font-size: .9rem; font-weight: 800; line-height: 1.28; }
.rota-durak-ad .rda-ikon { flex: 0 0 auto; }
.rota-durak-ad .rda-metin { min-width: 0; overflow-wrap: anywhere; }
.rota-durak-alt { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.rota-durak-meta { display: flex; align-items: center; gap: 6px; min-width: 0; flex-wrap: wrap; }
.rota-durak-kat {
  font-size: .71rem; font-weight: 700; color: var(--metin-soluk);
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 130px;
}
.rota-durak-arac { display: flex; gap: 4px; flex: 0 0 auto; }
.rd-btn {
  width: 26px; height: 26px; border-radius: 8px; border: 1px solid var(--cizgi);
  background: var(--kart); color: var(--metin-soluk); cursor: pointer; font-size: .68rem; line-height: 1;
  display: flex; align-items: center; justify-content: center; transition: all .12s;
}
.rd-btn:hover { border-color: var(--ana); color: var(--ana); }
.rd-sil:hover { border-color: #c0392b; color: #c0392b; }
.rota-not-girdi {
  width: 100%; padding: 8px 11px; border: 1px solid var(--cizgi); border-radius: 10px;
  background: var(--kart); color: var(--metin); font-family: inherit; font-size: .82rem; outline: none;
}
.rota-not-girdi:focus { border-color: var(--ana); }

/* Harita pinleri */
.plan-pin-sarmal { background: none !important; border: 0 !important; }
.plan-pin {
  position: relative; display: block; width: 36px; height: 46px;
  filter: drop-shadow(0 4px 5px rgba(0,0,0,.3));
}
.plan-pin-govde {
  position: absolute; left: 0; top: 0; width: 36px; height: 36px; box-sizing: border-box;
  background: var(--pin, var(--ana)); border: 3px solid #fff; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  transition: transform .12s ease;
}
.plan-pin-govde::after {
  content: ''; position: absolute; left: 50%; bottom: -8px; transform: translateX(-50%);
  width: 0; height: 0; border-left: 8px solid transparent; border-right: 8px solid transparent;
  border-top: 11px solid var(--pin, var(--ana));
}
.plan-pin-ic { font-size: 17px; line-height: 1; }
.plan-pin-no { color: #fff; font-weight: 800; font-size: .9rem; }
.plan-pin.ekli { z-index: 500; }
.plan-pin.ekli .plan-pin-govde {
  border-color: #fff; box-shadow: 0 0 0 3px color-mix(in srgb, var(--pin) 45%, transparent);
  transform: scale(1.08);
}

/* Mevcut konum işaretçisi */
.plan-konum-sarmal { background: none !important; border: 0 !important; }
.plan-konum-nokta {
  display: block; width: 16px; height: 16px; margin: 3px; border-radius: 50%;
  background: #2b6cb0; border: 3px solid #fff; box-shadow: 0 0 0 2px rgba(43,108,176,.6);
  animation: konumNabiz 1.8s ease-out infinite;
}
@keyframes konumNabiz {
  0% { box-shadow: 0 0 0 0 rgba(43,108,176,.55); }
  70% { box-shadow: 0 0 0 14px rgba(43,108,176,0); }
  100% { box-shadow: 0 0 0 0 rgba(43,108,176,0); }
}

/* Harita popup: kısa bilgi + geçmiş + aksiyon */
.plan-popup .leaflet-popup-content-wrapper {
  border-radius: 16px; box-shadow: 0 12px 30px rgba(0,0,0,.18);
  max-width: min(300px, calc(100vw - 40px));
  overflow: hidden;
}
.plan-popup .leaflet-popup-content { margin: 12px 14px; width: auto !important; max-width: 100%; box-sizing: border-box; overflow: hidden; }
.plan-popup .harita-balon { max-width: 100%; overflow: hidden; }
.plan-balon { display: flex; flex-direction: column; gap: 6px; min-width: 0; max-width: 100%; }
.plan-balon b { font-size: .98rem; color: var(--metin); line-height: 1.3; overflow-wrap: anywhere; }
.plan-balon .hb-kat { font-size: .78rem; color: var(--metin-soluk); font-weight: 600; }
.plan-balon .pb-ozet {
  margin: 2px 0 0; font-size: .8rem; line-height: 1.45; color: var(--metin-soluk);
  display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
}
.plan-balon-gecmis {
  margin-top: 4px; padding: 9px 11px; border-radius: 12px;
  background: color-mix(in srgb, var(--ana) 8%, #fff); border: 1px solid color-mix(in srgb, var(--ana) 22%, transparent);
  display: flex; flex-direction: column; gap: 3px;
}
.plan-balon-gecmis .pbg-baslik { font-size: .8rem; font-weight: 700; color: var(--ana-koyu, var(--ana)); }
.plan-balon-gecmis small { font-size: .72rem; color: var(--metin-soluk); }
.plan-balon-gecmis em { font-size: .74rem; font-style: normal; color: var(--metin-soluk); }
.plan-balon-aksiyon {
  display: flex; flex-direction: column; align-items: stretch; gap: 8px;
  margin-top: 8px; min-width: 0; max-width: 100%;
}
.pb-ekle {
  display: flex; align-items: center; justify-content: center;
  width: 100%; box-sizing: border-box;
  padding: 10px 12px; border: 0; border-radius: 10px; cursor: pointer;
  background: var(--ana); color: #fff; font-weight: 700; font-size: .82rem; font-family: inherit;
  transition: filter .12s; white-space: nowrap;
}
.pb-ekle:hover { filter: brightness(1.06); }
.pb-ekle.cikar { background: #fff; color: #c0392b; border: 1px solid #e2c3bd; }
.pb-detay {
  display: flex; align-items: center; justify-content: center;
  width: 100%; box-sizing: border-box;
  padding: 10px 12px; border-radius: 10px; font-size: .78rem; font-weight: 600;
  color: var(--ana); background: color-mix(in srgb, var(--ana) 10%, #fff); text-decoration: none;
  white-space: normal; text-align: center; line-height: 1.25;
  overflow-wrap: anywhere; min-width: 0;
}
.pb-detay:hover { background: color-mix(in srgb, var(--ana) 18%, #fff); }

/* Popup: butonlar alt alta — taşma olmasın */
.plan-popup .plan-balon-aksiyon {
  flex-direction: column; align-items: stretch;
}
.plan-popup .pb-ekle,
.plan-popup .pb-detay { width: 100%; flex: none; }

/* Mobil: harita alt kart (Leaflet popup yerine) */
.plan-mekan-perde {
  position: absolute; inset: 0; z-index: 650;
  background: rgba(15, 25, 20, .32);
  opacity: 0; pointer-events: none; transition: opacity .22s ease;
  border-radius: inherit;
}
.plan-mekan-perde.acik { opacity: 1; pointer-events: auto; }
.plan-mekan-perde[hidden] { display: none !important; }

.plan-mekan-kart {
  position: absolute; left: 0; right: 0; bottom: 0; z-index: 660;
  background: var(--kart); border-radius: 20px 20px 0 0;
  box-shadow: 0 -10px 40px rgba(0,0,0,.2);
  padding: 0 16px calc(12px + env(safe-area-inset-bottom, 0px));
  max-height: min(58vh, 420px); overflow-y: auto; -webkit-overflow-scrolling: touch;
  transform: translateY(105%); transition: transform .28s cubic-bezier(.32,.72,0,1);
}
.plan-mekan-kart.acik { transform: translateY(0); }
.plan-mekan-kart[hidden] { display: none !important; }

.pmk-tut {
  width: 40px; height: 4px; border-radius: 999px; margin: 10px auto 6px;
  background: color-mix(in srgb, var(--metin-soluk) 35%, var(--cizgi));
}
.pmk-kapat {
  position: absolute; top: 10px; right: 12px; z-index: 2;
  width: 32px; height: 32px; border-radius: 50%; cursor: pointer;
  border: 1px solid var(--cizgi); background: var(--arka); color: var(--metin-soluk);
  font-size: .72rem; line-height: 1; display: flex; align-items: center; justify-content: center;
}
.pmk-icerik { padding: 4px 0 6px; min-width: 0; }

.pmk-ust {
  display: flex; align-items: flex-start; gap: 12px;
  padding-right: 36px; margin-bottom: 8px;
}
.pmk-ikon {
  flex: 0 0 auto; width: 46px; height: 46px; border-radius: 14px;
  display: flex; align-items: center; justify-content: center; font-size: 1.35rem;
  background: color-mix(in srgb, var(--ana) 10%, var(--arka));
  border: 1px solid color-mix(in srgb, var(--ana) 18%, var(--cizgi));
}
.pmk-baslik { flex: 1; min-width: 0; }
.pmk-baslik h3 {
  margin: 0 0 4px; font-size: 1rem; font-weight: 800; line-height: 1.25;
  color: var(--metin); overflow-wrap: anywhere;
}
.pmk-meta { font-size: .76rem; font-weight: 700; color: var(--metin-soluk); text-transform: uppercase; letter-spacing: .3px; }

.pmk-icerik .pb-ozet { margin: 0 0 10px; -webkit-line-clamp: 2; font-size: .82rem; }
.pmk-icerik .plan-balon-gecmis { margin-bottom: 10px; }
.pmk-aksiyon { margin-top: 4px; gap: 8px; }
.pmk-aksiyon .pb-ekle,
.pmk-aksiyon .pb-detay {
  width: 100%; padding: 12px 14px; border-radius: 12px; font-size: .88rem;
}
.pmk-aksiyon .pb-ekle { font-size: .9rem; }

/* Masaüstü popup içinde kompakt başlık */
.plan-popup .pmk-ust { padding-right: 28px; margin-bottom: 6px; }
.plan-popup .pmk-ikon { width: 40px; height: 40px; font-size: 1.15rem; border-radius: 12px; }
.plan-popup .pmk-baslik h3 { font-size: .94rem; }
.plan-popup .pmk-meta { font-size: .72rem; }

@media (max-width: 899px) {
  .plan-harita .leaflet-popup { display: none !important; }
  .plan-harita-sarmal { overflow: hidden; }
}

/* Konumum butonu (harita üstü) */
.plan-konum-btn {
  display: inline-flex; align-items: center; gap: 6px; flex: 0 0 auto;
  padding: 0 14px; height: 44px; border-radius: 12px; cursor: pointer;
  border: 1px solid var(--cizgi); background: var(--kart); color: var(--metin);
  font-weight: 600; font-size: .85rem; font-family: inherit; transition: all .14s;
}
.plan-konum-btn:hover { border-color: #2b6cb0; color: #2b6cb0; }
.plan-konum-btn.yukleniyor { opacity: .6; pointer-events: none; }
.plan-konum-btn.vurgu,
.plan-haritadan-btn.vurgu {
  border-color: #2b6cb0; color: #2b6cb0;
  animation: konumVurgu 1.1s ease-in-out 2;
}
.plan-haritadan-btn.aktif {
  border-color: var(--ana); color: var(--ana);
  background: color-mix(in srgb, var(--ana) 10%, var(--kart));
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--ana) 15%, transparent);
}
.plan-harita-sarmal.baslangic-secim-modu { cursor: crosshair; }
.plan-harita-sarmal.baslangic-secim-modu .plan-harita { cursor: crosshair; }

@keyframes konumVurgu {
  0%, 100% { box-shadow: 0 0 0 0 rgba(43,108,176,0); }
  50% { box-shadow: 0 0 0 6px rgba(43,108,176,.25); }
}

/* Başlangıç popup (GPS işaretçisi) */
.plan-baslangic-popup .leaflet-popup-content-wrapper {
  border-radius: 14px; box-shadow: 0 8px 24px rgba(0,0,0,.16);
  min-width: 220px; max-width: 260px;
}
.plan-baslangic-popup .leaflet-popup-content {
  margin: 12px 14px; width: 192px !important; box-sizing: border-box;
}
.plan-baslangic-popup .leaflet-popup-tip-container { display: none; }
.plan-baslangic-balon { display: flex; flex-direction: column; gap: 8px; }
.plan-baslangic-balon .pbb-satir,
.plan-baslangic-balon .pbb-ust { display: flex; align-items: flex-start; gap: 10px; }
.plan-baslangic-balon .pbb-emoji { font-size: 1.15rem; line-height: 1; flex: 0 0 auto; }
.plan-baslangic-balon .pbb-yazi { flex: 1; min-width: 0; }
.plan-baslangic-balon .pbb-yazi strong {
  display: block; font-size: .92rem; font-weight: 800; color: var(--metin); line-height: 1.3;
}
.plan-baslangic-balon .pbb-yazi span {
  display: block; margin-top: 2px; font-size: .78rem; font-weight: 600;
  color: #2b6cb0; line-height: 1.35;
}
.plan-baslangic-balon .pbb-ipucu {
  margin: 0; padding: 8px 10px; border-radius: 10px;
  background: #f4f8fc; border: 1px solid #dce8f5;
  font-size: .74rem; font-weight: 600; color: #4a6888; line-height: 1.45;
}

.plan-form-hata {
  margin: 12px 0 0; padding: 12px 14px; border-radius: 12px;
  background: #fff3f0; border: 1px solid #f0c4bc; color: #9b3b2e;
  font-size: .88rem; font-weight: 600; line-height: 1.45;
}

@media (max-width: 899px) {
  .plan-baslangic-popup { display: none !important; }
  .plan-harita-ust { flex-wrap: nowrap; }
  .plan-ara-kutu { flex: 1 1 auto; min-width: 0; }
  .plan-konum-btn, .plan-haritadan-btn { flex: 0 0 auto; padding: 0 11px; }
  .plan-konum-btn span, .plan-haritadan-btn span { display: none; }
}

/* Rotayı dışa aktar + kaydet */
.plan-rota-aktar { margin-top: 16px; padding-top: 15px; border-top: 1px dashed var(--cizgi); }
.pra-baslik { font-size: .8rem; font-weight: 800; color: var(--metin-soluk); margin: 0 0 10px; }
.pra-butonlar { display: flex; flex-direction: column; gap: 8px; }
.pra-btn {
  display: flex; align-items: center; gap: 10px; width: 100%;
  padding: 11px 14px; border-radius: 12px; cursor: pointer;
  font-family: inherit; font-size: .86rem; font-weight: 700; text-decoration: none;
  border: 1px solid transparent; transition: transform .12s, box-shadow .15s, background .15s;
}
.pra-btn:hover { transform: translateY(-1px); box-shadow: var(--golge); }
.pra-btn .pra-ikon { flex: 0 0 auto; font-size: 1.05rem; line-height: 1; }
.pra-google { background: #fff; border-color: #dadce0; color: #1a73e8; }
.pra-google:hover { background: #f6f9ff; }
.pra-apple { background: #111; border-color: #111; color: #fff; }
.pra-apple:hover { background: #000; }
.pra-apple .pra-ikon { font-size: 1.15rem; }
.pra-kml { background: var(--arka); border-color: var(--cizgi); color: var(--metin); }
.pra-kml:hover { border-color: var(--ana); color: var(--ana); }

.plan-rota-kaydet {
  display: flex; flex-direction: column; gap: 10px;
  margin-top: 16px; padding-top: 15px; border-top: 1px solid var(--cizgi);
}
.plan-rota-kaydet .plan-kaydet-btn,
.plan-rota-kaydet .plan-sil-btn,
.plan-mobil-kaydet .plan-kaydet-btn {
  display: flex; align-items: center; justify-content: center;
}
.plan-rota-kaydet .plan-kaydet-btn {
  width: 100%; padding: 13px 18px; font-size: .95rem;
}
.plan-rota-kaydet .plan-sil-btn { width: 100%; padding: 11px 18px; font-size: .88rem; }

/* Mobil: harita görünümünde altta kaydet çubuğu */
.plan-mobil-kaydet {
  display: none; position: fixed; left: 0; right: 0; bottom: 0; z-index: 120;
  padding: 10px 14px calc(10px + env(safe-area-inset-bottom, 0px));
  background: color-mix(in srgb, var(--kart) 94%, transparent);
  backdrop-filter: blur(12px); border-top: 1px solid var(--cizgi);
  box-shadow: 0 -8px 24px rgba(0,0,0,.12);
}
.plan-mobil-kaydet .plan-kaydet-btn { width: 100%; padding: 14px 18px; font-size: .95rem; }

/* Rota durak etiketleri (başlangıç / varış) */
.rota-etiket {
  display: inline-block; padding: 2px 8px; border-radius: 999px; white-space: nowrap;
  font-size: .64rem; font-weight: 800; letter-spacing: .3px; vertical-align: middle;
}
.rota-etiket-bas { background: #e6f4ec; color: #1c7a52; }
.rota-etiket-son { background: #fdeede; color: #b5601a; }

/* Geçmiş bildirim baloncuğu */
.plan-toast {
  position: fixed; left: 50%; bottom: 26px; transform: translate(-50%, 20px);
  z-index: 4000; width: min(360px, calc(100vw - 32px));
  background: #fff; color: var(--metin); border: 1px solid var(--cizgi);
  border-left: 4px solid var(--ana);
  border-radius: 14px; padding: 13px 16px; box-shadow: 0 14px 40px rgba(0,0,0,.2);
  display: flex; flex-direction: column; gap: 4px; box-sizing: border-box;
  opacity: 0; pointer-events: none; transition: opacity .25s, transform .25s;
}
.plan-toast.gorunur { opacity: 1; transform: translate(-50%, 0); }
.plan-toast b,
.plan-toast span,
.plan-toast em,
.plan-toast small {
  display: block; line-height: 1.4; overflow-wrap: break-word; word-break: normal;
}
.plan-toast b { font-size: .9rem; font-weight: 800; }
.plan-toast span { font-size: .8rem; font-weight: 700; color: var(--ana-koyu, var(--ana)); }
.plan-toast small { font-size: .74rem; color: var(--metin-soluk); }
.plan-toast em { font-size: .76rem; font-style: normal; color: var(--metin-soluk); }

@media (max-width: 899px) {
  .plan-olustur-sayfa { padding: 0 12px calc(88px + env(safe-area-inset-bottom, 0px)) 12px; }
  .plan-ust-kart { padding: 14px 16px; border-radius: 16px; margin-top: 10px; }
  .plan-ust-baslik { flex-direction: column; align-items: stretch; gap: 12px; }
  .plan-ust-ikon { width: 42px; height: 42px; font-size: 1.3rem; }
  .plan-ust-tarih { min-width: 0; width: 100%; }
  .plan-arac-serit {
    flex-direction: column; align-items: stretch; gap: 10px;
    margin: 14px 0 10px;
  }
  .plan-ipucu { font-size: .82rem; line-height: 1.45; }
  .plan-gorunum-sec { display: flex; width: 100%; justify-content: center; }
  .plan-gorunum-sec button { flex: 1; text-align: center; padding: 10px 12px; }
  .plan-yapim { gap: 12px; width: 100%; }
  .plan-harita-sarmal { padding: 8px; border-radius: 16px; width: 100%; }
  .plan-harita-ust { flex-wrap: nowrap; min-width: 0; }
  .plan-harita {
    height: clamp(340px, 52vh, 480px); border-radius: 12px;
    width: 100% !important; max-width: 100% !important;
  }
  .plan-filtre { padding-bottom: 6px; margin-bottom: 4px; }
  .plan-filtre {
    flex-wrap: nowrap; overflow-x: auto; overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
    scrollbar-color: color-mix(in srgb, var(--metin-soluk) 45%, transparent) transparent;
    padding-bottom: 8px;
    margin-bottom: 2px;
  }
  .plan-filtre::-webkit-scrollbar { display: block; height: 5px; }
  .plan-filtre::-webkit-scrollbar-thumb {
    background: color-mix(in srgb, var(--metin-soluk) 40%, transparent);
    border-radius: 999px;
  }
  .plan-cip-filtre { font-size: .74rem; padding: 6px 11px; }
  .plan-yapim[data-gorunum="harita"] .plan-rota-panel { display: none; }
  .plan-yapim[data-gorunum="liste"] .plan-harita-sarmal { display: none; }
  .plan-rota-panel {
    position: static; padding: 14px; border-radius: 16px;
    max-height: none; overflow: visible;
  }
  .plan-rota-mesafe { grid-template-columns: 1fr; }
  .plan-rota-liste { max-height: none; }
  .plan-rota-baslangic-alan { margin-bottom: 22px; gap: 12px; }
  .plan-rota-bos { padding: 24px 12px; }
  .plan-mobil-kaydet:not([hidden]) { display: block; }
  .plan-yapim[data-gorunum="liste"] ~ .plan-mobil-kaydet { display: none !important; }
  .plan-toast { bottom: calc(78px + env(safe-area-inset-bottom, 0px)); }
  .plan-popup .leaflet-popup-content-wrapper { max-width: min(260px, calc(100vw - 36px)); }
  .plan-popup .leaflet-popup-content { margin: 10px 12px; }
}

@media (min-width: 900px) {
  .plan-mobil-kaydet { display: none !important; }
  .plan-rota-panel {
    position: static;
    height: var(--plan-kolon-y);
    max-height: none;
    overflow: hidden;
    padding: 16px;
  }
  .plan-rota-kaydir {
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-width: thin;
    margin: 0 -2px;
    padding: 0 2px 4px;
    min-height: 200px;
  }
  .plan-rota-alt-icerik {
    padding-top: 4px;
    border-top: 1px dashed var(--cizgi);
    margin-top: 14px;
  }
  .plan-rota-alt-icerik .plan-rota-aktar { margin-top: 12px; padding-top: 0; border-top: none; }
  .plan-rota-alt-icerik .plan-rota-kaydet { margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--cizgi); }
  .plan-rota-kaydir::-webkit-scrollbar { width: 6px; }
  .plan-rota-kaydir::-webkit-scrollbar-thumb {
    background: color-mix(in srgb, var(--metin-soluk) 35%, transparent);
    border-radius: 999px;
  }
  .plan-rota-liste { max-height: none; }
}

/* Plan form: dışa aktar uyarısı (kaydetmeden kapalı) */
.plan-rota-aktar-uyari {
  display: flex; align-items: flex-start; gap: 10px;
  padding: 12px 14px; border-radius: 14px; margin-top: 12px;
  background: #f4f8fc; border: 1px solid #dce8f5; color: #4a6888;
}
.plan-rota-aktar-uyari .prau-ikon { flex: 0 0 auto; font-size: 1.1rem; line-height: 1; }
.plan-rota-aktar-uyari p {
  margin: 0; font-size: .82rem; font-weight: 600; line-height: 1.45;
}

/* ============================================
   PLAN DETAY SAYFASI — zengin tasarım
   ============================================ */
.plan-detay-sayfa { padding-bottom: 40px; }

/* --- Hero başlık --- */
.plan-hero {
  position: relative; overflow: hidden; margin-top: 14px;
  border-radius: 24px; border: 1px solid var(--cizgi);
  box-shadow: var(--golge-buyuk);
  color: #fff;
  background: linear-gradient(135deg,
    var(--ana) 0%,
    var(--ana-koyu) 55%,
    color-mix(in srgb, var(--ana-koyu) 78%, #000) 100%);
}
.plan-hero-arka {
  position: absolute; inset: 0; z-index: 0; opacity: .5;
  background:
    radial-gradient(circle at 82% 18%, color-mix(in srgb, var(--vurgu) 55%, transparent) 0%, transparent 42%),
    radial-gradient(circle at 12% 88%, rgba(255,255,255,.28) 0%, transparent 46%);
}
.plan-hero-arka::after {
  content: ''; position: absolute; inset: 0;
  background-image: radial-gradient(rgba(255,255,255,.12) 1px, transparent 1px);
  background-size: 22px 22px; opacity: .35;
}
.plan-hero-ic { position: relative; z-index: 1; padding: 26px 26px 24px; }
.plan-hero-ust { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
.plan-hero-rozet {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 6px 14px; border-radius: 999px;
  background: rgba(255,255,255,.16); backdrop-filter: blur(6px);
  border: 1px solid rgba(255,255,255,.28);
  font-size: .78rem; font-weight: 800; letter-spacing: .3px;
}
.plan-hero-duzenle {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 8px 16px; border-radius: 999px; text-decoration: none;
  background: rgba(255,255,255,.95); color: var(--ana-koyu);
  font-size: .82rem; font-weight: 800;
  transition: transform .12s, box-shadow .15s;
}
.plan-hero-duzenle:hover { transform: translateY(-1px); box-shadow: 0 6px 18px rgba(0,0,0,.22); }
.plan-hero-ic h1 {
  font-size: clamp(1.6rem, 4.5vw, 2.4rem); font-weight: 800; line-height: 1.15;
  letter-spacing: -.02em; margin: 0; text-shadow: 0 2px 12px rgba(0,0,0,.22);
}
.plan-hero-aciklama {
  margin: 10px 0 0; max-width: 640px; font-size: .95rem; line-height: 1.6;
  color: rgba(255,255,255,.92);
}
.plan-hero-istatistik {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 10px; margin-top: 20px;
}
.phi-kart {
  display: flex; align-items: center; gap: 11px;
  padding: 12px 14px; border-radius: 14px;
  background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.2);
  backdrop-filter: blur(8px); min-width: 0;
}
.phi-ikon {
  flex: 0 0 auto; width: 38px; height: 38px; border-radius: 11px;
  display: flex; align-items: center; justify-content: center; font-size: 1.15rem;
  background: rgba(255,255,255,.16);
}
.phi-yazi { min-width: 0; display: flex; flex-direction: column; gap: 1px; }
.phi-yazi small { font-size: .68rem; font-weight: 700; text-transform: uppercase; letter-spacing: .4px; color: rgba(255,255,255,.72); }
.phi-yazi b { font-size: .92rem; font-weight: 800; line-height: 1.25; overflow-wrap: anywhere; }
.plan-hero-katilimci { display: flex; align-items: center; gap: 10px; margin-top: 18px; }
.plan-hero-katilimci .avatar { border-color: rgba(255,255,255,.5); }
.phk-metin { font-size: .82rem; font-weight: 700; color: rgba(255,255,255,.9); }

/* --- Davet kutusu --- */
.plan-davet-kutu {
  background: var(--kart); border: 1px solid var(--cizgi); border-radius: 18px;
  box-shadow: var(--golge); padding: 18px 20px; margin: 16px 0;
}
.plan-davet-ust { display: flex; align-items: flex-start; gap: 13px; margin-bottom: 14px; }
.plan-davet-ikon {
  flex: 0 0 auto; width: 42px; height: 42px; border-radius: 12px;
  display: flex; align-items: center; justify-content: center; font-size: 1.25rem;
  background: color-mix(in srgb, var(--ana) 12%, var(--arka));
  border: 1px solid color-mix(in srgb, var(--ana) 20%, var(--cizgi));
}
.plan-davet-ust h3 { margin: 0 0 3px; font-size: 1rem; font-weight: 800; }
.plan-davet-ust p { margin: 0; font-size: .84rem; color: var(--metin-soluk); line-height: 1.45; }
.plan-davet-alan { display: flex; gap: 8px; }
.plan-davet-alan input {
  flex: 1; min-width: 0; padding: 11px 14px; border: 1px solid var(--cizgi);
  border-radius: 12px; background: var(--arka); color: var(--metin);
  font-family: inherit; font-size: .88rem;
}
.plan-davet-alan .buton { flex: 0 0 auto; }

/* --- Govde: harita + aktar --- */
.plan-detay-govde {
  display: grid; grid-template-columns: 1fr; gap: 16px; margin: 18px 0;
}
@media (min-width: 900px) {
  .plan-detay-govde { grid-template-columns: 1.35fr 1fr; align-items: stretch; }
  .plan-detay-harita-kap {
    display: flex; flex-direction: column;
  }
  .plan-detay-harita { flex: 1; height: auto; min-height: 460px; }
}
.plan-detay-harita-kap {
  background: var(--kart); border: 1px solid var(--cizgi); border-radius: 20px;
  padding: 10px; box-shadow: var(--golge); overflow: hidden; min-width: 0;
}
.plan-detay-harita {
  width: 100%; height: clamp(400px, 60vh, 600px); border-radius: 14px;
  overflow: hidden; background: var(--arka);
}
.plan-detay-yan { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.plan-detay-aktar {
  background: var(--kart); border: 1px solid var(--cizgi); border-radius: 20px;
  box-shadow: var(--golge); padding: 20px;
}
.plan-detay-aktar h3 { font-size: 1.02rem; font-weight: 800; margin: 0 0 4px; }
.pda-aciklama { margin: 0 0 14px; font-size: .82rem; color: var(--metin-soluk); line-height: 1.45; }

/* --- Detay harita pinleri --- */
.plan-detay-pin { background: none !important; border: none !important; }
.plan-detay-pin .pdp-govde {
  display: flex; align-items: center; justify-content: center;
  width: 30px; height: 30px; border-radius: 50%;
  background: var(--ana); color: #fff; font-weight: 800; font-size: .82rem;
  border: 2.5px solid #fff; box-shadow: 0 3px 10px rgba(0,0,0,.3);
}
.plan-detay-pin-bas .pdp-govde { background: #2b6cb0; font-size: .95rem; }
.plan-detay-pin .pdp-uc {
  display: block; width: 0; height: 0; margin: -3px auto 0;
  border-left: 6px solid transparent; border-right: 6px solid transparent;
  border-top: 9px solid var(--ana);
  filter: drop-shadow(0 2px 2px rgba(0,0,0,.25));
}
.plan-detay-pin-bas .pdp-uc { border-top-color: #2b6cb0; }

/* --- Navigasyon zaman çizelgesi --- */
.plan-detay-nav {
  background: var(--kart); border: 1px solid var(--cizgi); border-radius: 20px;
  box-shadow: var(--golge); padding: 22px; margin-bottom: 18px;
}
.pdn-baslik {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between;
  gap: 10px; margin-bottom: 6px; padding-bottom: 16px; border-bottom: 1px solid var(--cizgi);
}
.pdn-baslik h3 { font-size: 1.1rem; font-weight: 800; margin: 0; }
.pdn-alt { font-size: .82rem; font-weight: 700; color: var(--metin-soluk); }
.pra-kucuk { padding: 9px 15px !important; font-size: .82rem !important; }

.pdn-akis {
  position: relative; padding-left: 22px; margin-top: 8px;
}
.pdn-akis::before {
  content: ''; position: absolute; left: 16px; top: 24px; bottom: 24px; width: 2px;
  background: linear-gradient(180deg, var(--ana) 0%, color-mix(in srgb, var(--ana) 25%, var(--cizgi)) 100%);
}

.pdn-bacak { position: relative; padding: 4px 0 4px 42px; margin-left: -22px; }
.pdn-bacak-mesafe { display: flex; flex-wrap: wrap; gap: 8px; }
.pbm-yuru, .pbm-arac {
  display: inline-flex; align-items: center; gap: 5px;
  font-size: .78rem; font-weight: 700; padding: 6px 12px; border-radius: 999px;
}
.pbm-yuru { background: #e8f6ed; color: #2d7a52; border: 1px solid #b5dcc4; }
.pbm-arac { background: #e8eefb; color: #3b5fc4; border: 1px solid #c0cff0; }

.pdn-durak {
  position: relative; display: flex; align-items: flex-start; gap: 14px;
  padding: 14px 0;
}
.pdn-durak-no {
  flex: 0 0 auto; width: 36px; height: 36px; border-radius: 50%; margin-left: -40px;
  display: flex; align-items: center; justify-content: center;
  background: var(--ana); color: #fff; font-weight: 800; font-size: .9rem;
  border: 3px solid var(--kart);
  box-shadow: 0 2px 8px color-mix(in srgb, var(--ana) 40%, transparent);
  z-index: 1;
}
.pdn-durak-bas .pdn-durak-no { background: #2b6cb0; box-shadow: 0 2px 8px rgba(43,108,176,.4); }
.pdn-durak-ic {
  flex: 1; min-width: 0; padding: 14px 16px; border-radius: 14px;
  background: var(--arka); border: 1px solid var(--cizgi);
  transition: border-color .15s, box-shadow .15s, transform .12s;
}
.pdn-durak:hover .pdn-durak-ic { border-color: color-mix(in srgb, var(--ana) 30%, var(--cizgi)); box-shadow: var(--golge); }
.pdn-durak-bas .pdn-durak-ic { background: color-mix(in srgb, #2b6cb0 7%, var(--kart)); border-color: #c0cff0; }
.pdn-durak-ust {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between;
  gap: 6px 12px; margin-bottom: 4px;
}
.pdn-durak-ust h4 { margin: 0; font-size: .98rem; font-weight: 800; line-height: 1.3; }
.pdn-durak-ust h4 a { color: var(--metin); text-decoration: none; }
.pdn-durak-ust h4 a:hover { color: var(--ana); }
.pdn-sure { font-size: .76rem; font-weight: 700; color: var(--metin-soluk); white-space: nowrap; }
.pdn-rozet-bas {
  font-size: .68rem; font-weight: 800; text-transform: uppercase; letter-spacing: .3px;
  padding: 3px 9px; border-radius: 999px; background: #e6effb; color: #2b6cb0; border: 1px solid #c0cff0;
}
.pdn-not { margin: 6px 0 10px; font-size: .84rem; color: var(--metin-soluk); line-height: 1.45; }
.pdn-nav-butonlar { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }

/* --- Alt: foto + sohbet --- */
.plan-detay-alt {
  display: grid; grid-template-columns: 1fr; gap: 16px; margin-top: 4px;
}
@media (min-width: 900px) { .plan-detay-alt { grid-template-columns: 1fr 1fr; align-items: start; } }
.plan-kart-bolum {
  background: var(--kart); border: 1px solid var(--cizgi); border-radius: 20px;
  box-shadow: var(--golge); padding: 20px;
}
.plan-bolum-baslik {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between;
  gap: 10px; margin-bottom: 14px;
}
.plan-bolum-baslik h2 { font-size: 1.1rem; font-weight: 800; margin: 0; display: flex; align-items: center; gap: 8px; }
.pbb-sayac {
  font-size: .78rem; font-weight: 800; padding: 2px 10px; border-radius: 999px;
  background: color-mix(in srgb, var(--ana) 12%, var(--arka)); color: var(--ana);
}
.plan-kart-bolum .galeri { margin: 0; }
.plan-kart-bolum .sohbet { height: 360px; box-shadow: none; }
.plan-bos-metin { text-align: center; padding: 22px; color: var(--metin-soluk); font-size: .88rem; }

@media (max-width: 899px) {
  .plan-hero-ic { padding: 20px 18px; }
  .plan-hero-ust { flex-wrap: wrap; }
  .plan-detay-harita { height: clamp(320px, 52vh, 460px); }
}

/* --- Haftalık otomatik rota (ana sayfa) --- */
.haftalik-rota-bolum { background: linear-gradient(180deg, color-mix(in srgb, var(--ana) 6%, var(--arka)) 0%, var(--arka) 100%); border-radius: 24px; padding: 28px 24px 32px; margin-bottom: 8px; }
.haftalik-rota-bolum .bolum-baslik { align-items: flex-start; margin-bottom: 18px; }
.haftalik-rota-bolum .bolum-alt-metin { font-size: .9rem; color: var(--metin-soluk); margin-top: 6px; max-width: 560px; }
.haftalik-secim { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 18px; align-items: center; }
.haftalik-cip { display: inline-flex; align-items: center; padding: 8px 14px; border-radius: 999px; border: 1px solid var(--cizgi); background: var(--kart); font-size: .82rem; font-weight: 700; text-decoration: none; color: var(--metin); transition: .15s; }
.haftalik-cip:hover, .haftalik-cip.aktif { background: var(--ana); color: #fff; border-color: var(--ana); }
.haftalik-select { padding: 8px 12px; border-radius: 999px; border: 1px solid var(--cizgi); font-size: .82rem; background: var(--kart); max-width: 220px; }
.haftalik-rota-kart { display: grid; grid-template-columns: 1fr; gap: 0; background: var(--kart); border: 1px solid var(--cizgi); border-radius: 20px; overflow: hidden; text-decoration: none; color: inherit; box-shadow: var(--golge); transition: transform .15s, box-shadow .15s; }
.haftalik-rota-kart:hover { transform: translateY(-2px); box-shadow: 0 12px 32px rgba(0,0,0,.1); }
@media (min-width: 768px) { .haftalik-rota-kart { grid-template-columns: 340px 1fr; } }
.haftalik-rota-gorsel { position: relative; min-height: 200px; background: color-mix(in srgb, var(--ana) 8%, var(--arka)); }
.haftalik-rota-gorsel img { width: 100%; height: 100%; object-fit: cover; min-height: 200px; }
.haftalik-rota-ikon { display: flex; align-items: center; justify-content: center; min-height: 200px; font-size: 3rem; }
.haftalik-rota-tarih { position: absolute; left: 12px; top: 12px; background: rgba(0,0,0,.65); color: #fff; font-size: .75rem; font-weight: 800; padding: 5px 10px; border-radius: 999px; }
.haftalik-rota-icerik { padding: 22px 24px; display: flex; flex-direction: column; gap: 8px; }
.haftalik-rota-icerik h3 { font-size: 1.25rem; font-weight: 800; margin: 0; line-height: 1.3; }
.haftalik-rota-icerik p { font-size: .9rem; color: var(--metin-soluk); margin: 0; line-height: 1.55; }
.haftalik-rota-cta { margin-top: auto; font-weight: 800; color: var(--ana); font-size: .88rem; padding-top: 8px; }
.haftalik-kucuk-liste { display: grid; grid-template-columns: 1fr; gap: 8px; margin-top: 16px; }
@media (min-width: 600px) { .haftalik-kucuk-liste { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 900px) { .haftalik-kucuk-liste { grid-template-columns: repeat(3, 1fr); } }
.haftalik-mini { display: flex; flex-direction: column; gap: 2px; padding: 12px 14px; background: var(--kart); border: 1px solid var(--cizgi); border-radius: 12px; text-decoration: none; color: inherit; font-size: .82rem; transition: border-color .15s; }
.haftalik-mini:hover { border-color: var(--ana); }
.haftalik-mini .t { font-weight: 800; color: var(--ana); font-size: .72rem; text-transform: uppercase; letter-spacing: .03em; }
.haftalik-mini .a { font-weight: 700; color: var(--metin); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); border: 0; }

/* ---- İşletme dashboard / mağaza / mesaj ---- */
.ip-dash-izgara {
  display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 16px; margin: 8px 0 22px;
}
@media (min-width: 900px) { .ip-dash-izgara { grid-template-columns: repeat(4, minmax(0,1fr)); } }
.ip-dash-kart {
  position: relative; display: flex; flex-direction: column; gap: 8px;
  padding: 22px 20px; border-radius: 22px; text-decoration: none; color: var(--metin);
  background: var(--kart); border: 1.5px solid color-mix(in srgb, var(--ana) 14%, var(--cizgi));
  box-shadow: 0 12px 30px color-mix(in srgb, var(--ana) 8%, transparent);
  transition: transform .18s, border-color .18s, box-shadow .18s; min-height: 210px;
}
.ip-dash-kart:hover { transform: translateY(-3px); border-color: color-mix(in srgb, var(--ana) 40%, var(--cizgi)); box-shadow: 0 18px 40px color-mix(in srgb, var(--ana) 14%, transparent); }
.ip-dash-kart-one { background: linear-gradient(165deg, color-mix(in srgb, var(--vurgu) 12%, #fff), #fff); border-color: color-mix(in srgb, var(--vurgu) 35%, var(--cizgi)); }
.ip-dash-ikon { font-size: 1.6rem; }
.ip-dash-kart h2 { margin: 0; font-size: 1.08rem; font-weight: 800; }
.ip-dash-kart p { margin: 0; flex: 1; font-size: .88rem; color: var(--metin-soluk); line-height: 1.5; }
.ip-dash-meta { display: flex; flex-wrap: wrap; gap: 6px; }
.ip-dash-meta span { font-size: .72rem; font-weight: 750; padding: 4px 10px; border-radius: 999px; background: color-mix(in srgb, var(--ana) 8%, transparent); color: var(--ana); }
.ip-dash-cta { font-size: .86rem; font-weight: 800; color: var(--ana); }
.ip-dash-rozet { position: absolute; top: 14px; right: 14px; background: #c0392b; color: #fff; font-size: .7rem; font-weight: 800; padding: 4px 9px; border-radius: 999px; }
.ip-dash-bilgi { padding: 18px 20px; border-radius: 18px; background: color-mix(in srgb, var(--vurgu) 10%, #fff); border: 1px solid color-mix(in srgb, var(--vurgu) 28%, var(--cizgi)); }
.ip-dash-bilgi h3 { margin: 0 0 6px; font-size: 1rem; }
.ip-dash-bilgi p { margin: 0; color: var(--metin-soluk); line-height: 1.55; font-size: .9rem; }

.ip-sekme { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 16px; }
.ip-sekme a { padding: 10px 16px; border-radius: 999px; text-decoration: none; font-weight: 750; font-size: .88rem; color: var(--metin); background: var(--kart); border: 1px solid var(--cizgi); }
.ip-sekme a.aktif { background: var(--ana); color: #fff; border-color: var(--ana); }

/* Mağaza yönetim — zengin UI */
.isletme-panel .magaza-bolum,
.isletme-panel .ip-bolum.magaza-bolum {
  width: 100%;
  max-width: none;
  box-sizing: border-box;
}
.magaza-sekme {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin: 4px 0 18px;
  padding: 8px;
  background: color-mix(in srgb, var(--ana) 5%, #fff);
  border: 1px solid color-mix(in srgb, var(--ana) 12%, var(--cizgi));
  border-radius: 18px;
}
.magaza-sekme a {
  display: flex; align-items: center; justify-content: center; gap: 8px;
  padding: 14px 12px; border-radius: 14px; text-align: center;
  font-weight: 800; font-size: .9rem; text-decoration: none;
  color: var(--metin); background: #fff; border: 1.5px solid transparent;
  transition: transform .15s, border-color .15s, background .15s, color .15s;
}
.magaza-sekme a span { font-size: 1.05rem; }
.magaza-sekme a:hover { border-color: color-mix(in srgb, var(--ana) 25%, var(--cizgi)); transform: translateY(-1px); }
.magaza-sekme a.aktif {
  background: linear-gradient(135deg, var(--ana-koyu), var(--ana));
  color: #fff; border-color: transparent;
  box-shadow: 0 10px 24px color-mix(in srgb, var(--ana) 28%, transparent);
}
@media (max-width: 760px) {
  .magaza-sekme { grid-template-columns: 1fr 1fr; }
}

.magaza-urun-form {
  margin-bottom: 22px;
}
.magaza-btn {
  min-height: 48px;
  padding: 12px 22px !important;
  border-radius: 14px !important;
  font-weight: 800 !important;
}
.magaza-btn-grup { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.ip-alan-ipucu { display: block; margin-top: 6px; font-size: .8rem; color: var(--metin-soluk); }
.magaza-limit-rozet {
  display: inline-flex; margin-inline-start: 8px; padding: 3px 10px; border-radius: 999px;
  font-size: .75rem; font-weight: 800; vertical-align: middle;
  background: color-mix(in srgb, var(--ana) 12%, transparent); color: var(--ana);
}
.magaza-limit-uyari { margin-bottom: 18px; }
.magaza-limit-form {
  display: grid; grid-template-columns: 1fr auto; gap: 10px; margin-top: 12px; align-items: center;
}
@media (max-width: 640px) { .magaza-limit-form { grid-template-columns: 1fr; } }

.magaza-foto-kutu {
  position: relative; display: flex; align-items: center; justify-content: center;
  min-height: 160px; border-radius: 18px; cursor: pointer; overflow: hidden;
  border: 1.5px dashed color-mix(in srgb, var(--ana) 30%, var(--cizgi));
  background: linear-gradient(160deg, color-mix(in srgb, var(--ana) 7%, #fff), #fff);
  transition: border-color .18s, box-shadow .18s, transform .18s;
}
.magaza-foto-izgara {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 8px;
}
@media (max-width: 700px) {
  .magaza-foto-izgara { grid-template-columns: 1fr; }
}
.magaza-foto-baslik {
  display: flex; align-items: flex-end; justify-content: space-between; gap: 12px;
}
.magaza-foto-baslik label { margin-bottom: 0; }
.magaza-foto-no {
  position: absolute; top: 10px; left: 10px; z-index: 2;
  width: 26px; height: 26px; border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  font-size: .75rem; font-weight: 800; color: var(--ana);
  background: #fff; border: 1px solid color-mix(in srgb, var(--ana) 20%, var(--cizgi));
  box-shadow: 0 4px 10px rgba(0,0,0,.06);
}
.magaza-foto-kutu:hover { border-color: var(--ana); transform: translateY(-2px); box-shadow: 0 10px 24px color-mix(in srgb, var(--ana) 12%, transparent); }
.magaza-foto-kutu.dolu { border-style: solid; }
.magaza-foto-onizleme {
  width: 100%; height: 160px; display: flex; flex-direction: column;
  align-items: center; justify-content: center; gap: 6px; color: var(--ana); font-weight: 700;
}
.magaza-foto-onizleme img { width: 100%; height: 160px; object-fit: cover; }
.magaza-foto-bos { width: 46px; height: 46px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 1.4rem; background: color-mix(in srgb, var(--ana) 10%, transparent); }
.magaza-foto-kutu input[type=file] { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
.magaza-foto-ok { position: absolute; top: 10px; right: 10px; z-index: 2; }
.magaza-aktif-alan { display: grid; gap: 8px; align-content: end; }
.magaza-onay-rozet {
  position: absolute; left: 10px; bottom: 10px; z-index: 2;
  padding: 5px 10px; border-radius: 999px; font-size: .72rem; font-weight: 800;
  background: #fff; color: var(--metin); box-shadow: 0 6px 16px rgba(0,0,0,.12);
}
.magaza-onay-beklemede { color: #856404; background: #fff3cd; }
.magaza-onay-onaylandi { color: #0e6b4f; background: color-mix(in srgb, var(--ana) 12%, #fff); }
.magaza-onay-red { color: #a02622; background: color-mix(in srgb, #c0392b 12%, #fff); }

.magaza-duzenle-banner {
  display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 10px;
  margin: 0 0 14px; padding: 12px 14px; border-radius: 14px;
  background: color-mix(in srgb, var(--ana) 8%, #fff);
  border: 1px solid color-mix(in srgb, var(--ana) 18%, var(--cizgi));
  font-size: .9rem;
}
.magaza-duzenle-banner strong { color: var(--ana); }
.magaza-duzenle-banner em { font-style: normal; color: var(--metin-soluk); font-size: .82rem; width: 100%; }
.magaza-urun-form-duzenle {
  border-color: color-mix(in srgb, var(--ana) 28%, var(--cizgi));
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--ana) 10%, transparent);
}

.magaza-urun-izgara {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 240px));
  gap: 16px;
  margin-top: 16px;
  justify-content: start;
}
.magaza-urun-kart {
  width: 100%;
  max-width: 240px;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border-radius: 18px;
  background: #fff;
  border: 1.5px solid color-mix(in srgb, var(--ana) 12%, var(--cizgi));
  box-shadow: 0 10px 24px color-mix(in srgb, var(--ana) 8%, transparent);
  transition: transform .18s, box-shadow .18s, border-color .18s;
}
.magaza-urun-kart:hover {
  transform: translateY(-2px);
  box-shadow: 0 16px 32px color-mix(in srgb, var(--ana) 12%, transparent);
}
.magaza-urun-kart.secili {
  border-color: var(--ana);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--ana) 16%, transparent);
}
.magaza-urun-gorsel {
  position: relative;
  width: 100%;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  background: linear-gradient(160deg, color-mix(in srgb, var(--ana) 8%, #fff), var(--arka));
  flex: 0 0 auto;
}
.magaza-urun-gorsel img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.magaza-urun-gorsel-bos {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2.2rem;
  opacity: .45;
}
.magaza-urun-govde {
  padding: 12px 14px 14px;
  display: flex;
  flex-direction: column;
  gap: 5px;
  flex: 1;
}
.magaza-urun-govde h3 {
  margin: 0;
  font-size: .98rem;
  font-weight: 800;
  line-height: 1.25;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.magaza-urun-fiyat { margin: 0; font-size: 1.08rem; font-weight: 800; color: var(--ana); }
.magaza-urun-meta { margin: 0; font-size: .76rem; color: var(--metin-soluk); font-weight: 650; }
.magaza-urun-eylem {
  display: flex;
  gap: 8px;
  margin-top: 8px;
  align-items: center;
}
.magaza-urun-eylem form { margin: 0; }
.magaza-urun-duzenle {
  background: var(--ana) !important;
  color: #fff !important;
  border: none !important;
  box-shadow: none !important;
  margin: 0 !important;
}
.magaza-urun-duzenle:hover { filter: brightness(1.05); }
.magaza-urun-sil {
  background: color-mix(in srgb, #c0392b 10%, #fff) !important;
  color: #a02622 !important;
  border: 1.5px solid color-mix(in srgb, #c0392b 30%, transparent) !important;
  box-shadow: none !important;
  margin: 0 !important;
}
.magaza-urun-sil:hover { background: color-mix(in srgb, #c0392b 16%, #fff) !important; }
@media (max-width: 560px) {
  .magaza-urun-izgara {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .magaza-urun-kart { max-width: none; }
}
.magaza-vitrin-gorsel { position: relative; }
.magaza-vitrin-thumbs {
  position: absolute; left: 10px; right: 10px; bottom: 10px;
  display: flex; gap: 6px; justify-content: center;
}
.magaza-vitrin-thumb {
  width: 42px; height: 42px; padding: 0; border-radius: 10px; overflow: hidden; cursor: pointer;
  border: 2px solid rgba(255,255,255,.7); background: #fff; opacity: .85;
}
.magaza-vitrin-thumb.aktif { opacity: 1; border-color: #fff; box-shadow: 0 4px 12px rgba(0,0,0,.25); }
.magaza-vitrin-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }

.magaza-switch {
  display: inline-flex; align-items: center; gap: 12px; cursor: pointer; font-weight: 750;
  margin-top: 28px; user-select: none;
}
.magaza-switch input { position: absolute; opacity: 0; pointer-events: none; }
.magaza-switch-gorsel {
  width: 48px; height: 28px; border-radius: 999px; position: relative;
  background: color-mix(in srgb, var(--cizgi) 80%, #999);
  transition: background .2s;
}
.magaza-switch-gorsel::after {
  content: ''; position: absolute; top: 3px; left: 3px; width: 22px; height: 22px;
  border-radius: 50%; background: #fff; box-shadow: 0 2px 6px rgba(0,0,0,.18);
  transition: transform .2s;
}
.magaza-switch input:checked + .magaza-switch-gorsel { background: var(--ana); }
.magaza-switch input:checked + .magaza-switch-gorsel::after { transform: translateX(20px); }

.magaza-paket-izgara { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 16px; }
@media (max-width: 700px) { .magaza-paket-izgara { grid-template-columns: 1fr; } }
.magaza-paket-kart {
  position: relative; padding: 26px 24px; border-radius: 22px;
  border: 1.5px solid color-mix(in srgb, var(--ana) 14%, var(--cizgi));
  background: linear-gradient(180deg, #fff, color-mix(in srgb, var(--ana) 4%, #fff));
  box-shadow: 0 12px 30px color-mix(in srgb, var(--ana) 8%, transparent);
}
.magaza-paket-kart.one-cikan {
  border-color: color-mix(in srgb, var(--vurgu) 40%, var(--cizgi));
  background: linear-gradient(165deg, color-mix(in srgb, var(--vurgu) 14%, #fff), #fff);
}
.magaza-paket-etiket { margin: 0 0 6px; font-size: .8rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; color: var(--metin-soluk); }
.magaza-paket-kart h3 { margin: 0 0 12px; font-size: 2.1rem; font-weight: 800; color: var(--ana); letter-spacing: -.03em; }
.magaza-paket-kart h3 small { font-size: .95rem; color: var(--metin-soluk); font-weight: 650; }
.magaza-odeme-kutu {
  margin: 0 0 22px;
  padding: 20px;
  border-radius: 20px;
  border: 1.5px solid color-mix(in srgb, var(--vurgu) 35%, var(--cizgi));
  background: linear-gradient(145deg, color-mix(in srgb, var(--vurgu) 10%, #fff), #fff);
  box-shadow: 0 12px 28px color-mix(in srgb, var(--vurgu) 10%, transparent);
}
.magaza-odeme-ust h3 { margin: 0 0 6px; font-size: 1.15rem; }
.magaza-odeme-ust p { margin: 0 0 14px; color: var(--metin-soluk); font-size: .9rem; }
.magaza-odeme-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
@media (max-width: 700px) { .magaza-odeme-grid { grid-template-columns: 1fr; } }
.magaza-odeme-grid > div {
  display: grid; gap: 4px;
  padding: 12px 14px; border-radius: 14px;
  background: #fff; border: 1px solid var(--cizgi);
}
.magaza-odeme-grid span { font-size: .75rem; font-weight: 750; color: var(--metin-soluk); text-transform: uppercase; letter-spacing: .04em; }
.magaza-odeme-grid strong { font-size: 1rem; word-break: break-word; }
.magaza-odeme-iban { grid-column: 1 / -1; }
.magaza-odeme-iban strong { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing: .06em; font-size: 1.05rem; }
.magaza-odeme-not { margin: 12px 0 0; font-size: .88rem; color: var(--metin-soluk); }
.magaza-odeme-form { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 16px; }

.magaza-paket-ozellik { list-style: none; display: grid; gap: 8px; margin: 0 0 16px; padding: 0; font-size: .9rem; color: var(--metin); font-weight: 650; }
.magaza-paket-form { display: grid; gap: 12px; }
.magaza-paket-kazanc { font-size: .9rem; color: var(--metin-soluk); margin: 0 0 12px; font-weight: 650; }

.magaza-kat-form {
  margin-bottom: 22px;
  padding: 18px;
  border-radius: 20px;
  background: linear-gradient(160deg, color-mix(in srgb, var(--ana) 6%, #fff), #fff);
  border: 1.5px solid color-mix(in srgb, var(--ana) 12%, var(--cizgi));
}
.magaza-kat-form-govde {
  display: grid;
  grid-template-columns: 1.2fr 1fr auto;
  gap: 14px;
  align-items: end;
}
.magaza-kat-form-eylem { display: flex; align-items: end; }
.magaza-kat-form-eylem .magaza-btn { min-width: 120px; width: 100%; }
@media (max-width: 860px) {
  .magaza-kat-form-govde { grid-template-columns: 1fr; }
}

.magaza-kat-liste {
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
  margin-top: 4px;
}
.magaza-kat-kart {
  width: 100%;
  border-radius: 20px;
  padding: 0;
  overflow: hidden;
  background: #fff;
  border: 1.5px solid color-mix(in srgb, var(--ana) 14%, var(--cizgi));
  box-shadow: 0 10px 28px color-mix(in srgb, var(--ana) 7%, transparent);
  transition: transform .18s, box-shadow .18s, border-color .18s;
}
.magaza-kat-kart:hover {
  transform: translateY(-2px);
  border-color: color-mix(in srgb, var(--ana) 28%, var(--cizgi));
  box-shadow: 0 16px 34px color-mix(in srgb, var(--ana) 12%, transparent);
}
.magaza-kat-ust {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 16px 18px;
  background: linear-gradient(135deg, color-mix(in srgb, var(--ana) 10%, #fff), color-mix(in srgb, var(--ana) 3%, #fff));
  border-bottom: 1px solid color-mix(in srgb, var(--ana) 10%, var(--cizgi));
}
.magaza-kat-kimlik { display: flex; align-items: center; gap: 12px; min-width: 0; }
.magaza-kat-kimlik > div { display: grid; gap: 4px; min-width: 0; }
.magaza-kat-ikon {
  flex-shrink: 0;
  width: 44px; height: 44px; border-radius: 14px;
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 1.25rem;
  background: color-mix(in srgb, var(--ana) 14%, #fff);
  border: 1px solid color-mix(in srgb, var(--ana) 18%, transparent);
}
.magaza-kat-ust strong {
  font-size: 1.08rem;
  font-weight: 800;
  letter-spacing: -.01em;
  color: var(--metin);
}
.magaza-kat-rozet {
  display: inline-flex; width: fit-content;
  padding: 3px 10px; border-radius: 999px;
  font-size: .72rem; font-weight: 800;
  color: var(--ana);
  background: color-mix(in srgb, var(--ana) 12%, #fff);
}
.magaza-kat-altlar {
  display: grid;
  gap: 8px;
  padding: 14px 16px 16px;
}
.magaza-kat-alt {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 14px;
  border-radius: 14px;
  background: color-mix(in srgb, var(--ana) 4%, var(--arka));
  border: 1px solid color-mix(in srgb, var(--ana) 8%, var(--cizgi));
  font-size: .92rem;
  font-weight: 700;
  transition: background .15s, border-color .15s;
}
.magaza-kat-alt:hover {
  background: color-mix(in srgb, var(--ana) 8%, #fff);
  border-color: color-mix(in srgb, var(--ana) 18%, var(--cizgi));
}
.magaza-kat-alt-ad {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}
.magaza-kat-dal {
  width: 10px; height: 10px; border-radius: 50%;
  background: var(--ana);
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--ana) 16%, transparent);
  flex-shrink: 0;
}
.magaza-kat-bos {
  margin: 0;
  padding: 14px 16px;
  border-radius: 14px;
  font-size: .86rem;
  font-weight: 650;
  font-style: normal;
  color: var(--metin-soluk);
  background: color-mix(in srgb, var(--cizgi) 35%, #fff);
  border: 1px dashed var(--cizgi);
}
.magaza-sil-btn {
  display: inline-flex; align-items: center; gap: 6px;
  border: 1px solid color-mix(in srgb, #c0392b 22%, transparent);
  background: color-mix(in srgb, #c0392b 8%, #fff);
  color: #a02622;
  font: inherit; font-size: .8rem; font-weight: 800;
  padding: 8px 12px; border-radius: 12px; cursor: pointer;
  white-space: nowrap;
  transition: background .15s, transform .15s, border-color .15s;
}
.magaza-sil-btn:hover {
  background: color-mix(in srgb, #c0392b 16%, #fff);
  border-color: color-mix(in srgb, #c0392b 40%, transparent);
  transform: translateY(-1px);
}
.magaza-sil-btn-kucuk { padding: 7px 10px; font-size: .76rem; border-radius: 10px; }

.magaza-bos {
  padding: 28px 18px; text-align: center; color: var(--metin-soluk); font-weight: 650;
  border-radius: 16px; border: 1px dashed var(--cizgi); background: color-mix(in srgb, var(--ana) 4%, #fff);
}
.magaza-bos-genis { grid-column: 1 / -1; max-width: none; }

.ip-mesaj-duzen { display: grid; grid-template-columns: minmax(220px, 320px) 1fr; gap: 14px; }
@media (max-width: 800px) { .ip-mesaj-duzen { grid-template-columns: 1fr; } }
.ip-mesaj-liste { background: var(--kart); border: 1px solid var(--cizgi); border-radius: 18px; overflow: hidden; max-height: 70vh; overflow-y: auto; }
.ip-mesaj-satir { display: grid; gap: 4px; padding: 14px 16px; text-decoration: none; color: var(--metin); border-bottom: 1px solid var(--cizgi); }
.ip-mesaj-satir.aktif { background: color-mix(in srgb, var(--ana) 8%, #fff); }
.ip-mesaj-satir.yeni strong::after { content: ' •'; color: #c0392b; }
.ip-mesaj-satir span { font-size: .84rem; color: var(--metin-soluk); }
.ip-mesaj-satir em { font-size: .72rem; color: var(--metin-soluk); font-style: normal; }
.ip-mesaj-detay { background: var(--kart); border: 1px solid var(--cizgi); border-radius: 18px; padding: 20px; }
.ip-mesaj-detay header { margin-bottom: 14px; }
.ip-mesaj-detay h2 { margin: 0 0 4px; font-size: 1.15rem; }
.ip-mesaj-balon { padding: 14px 16px; border-radius: 16px; margin-bottom: 12px; line-height: 1.55; }
.ip-mesaj-balon.gelen { background: color-mix(in srgb, var(--ana) 8%, #fff); }
.ip-mesaj-balon.giden { background: color-mix(in srgb, var(--vurgu) 12%, #fff); margin-inline-start: 12%; }
.ip-mesaj-balon small { display: block; margin-top: 8px; opacity: .7; font-size: .75rem; }
.ip-mesaj-form textarea { width: 100%; padding: 12px; border-radius: 12px; border: 1px solid var(--cizgi); font: inherit; margin: 8px 0 12px; }

.magaza-detay { padding-bottom: 40px; }
.magaza-detay .detay-vitrin.vitrin-1 { min-height: clamp(280px, 42vw, 440px); }
.magaza-detay .detay-vitrin.vitrin-1 .vitrin-hucre { aspect-ratio: 16/9; min-height: clamp(280px, 42vw, 440px); }
.magaza-detay-aksiyon { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; }
.magaza-detay-aksiyon .buton { margin: 0; }
.magaza-btn-cizgi {
  background: #fff !important;
  color: var(--ana) !important;
  border: 2px solid color-mix(in srgb, var(--ana) 35%, var(--cizgi)) !important;
  box-shadow: 0 4px 14px color-mix(in srgb, var(--ana) 10%, transparent) !important;
}
.magaza-btn-cizgi:hover {
  background: color-mix(in srgb, var(--ana) 8%, #fff) !important;
  border-color: var(--ana) !important;
  color: var(--ana-koyu, #0a5540) !important;
  filter: none;
}
.magaza-uyari-kutu {
  margin: 8px 0 22px; padding: 14px 16px; border-radius: 16px;
  background: color-mix(in srgb, var(--vurgu) 10%, #fff);
  border: 1px solid color-mix(in srgb, var(--vurgu) 28%, var(--cizgi));
}
.magaza-uyari-kutu strong { display: block; margin-bottom: 4px; }
.magaza-uyari-kutu p { margin: 0; font-size: .9rem; color: var(--metin-soluk); line-height: 1.5; }
.magaza-mesaj-alt { margin: -6px 0 14px; color: var(--metin-soluk); }
.magaza-yt {
  position: relative; width: 100%; aspect-ratio: 16/9; border-radius: 14px; overflow: hidden; background: #111;
}
.magaza-yt iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.magaza-kat-filtre { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 16px; }
.magaza-kat-filtre a {
  padding: 8px 14px; border-radius: 999px; text-decoration: none; font-size: .84rem; font-weight: 700;
  border: 1px solid var(--cizgi); color: var(--metin); background: #fff;
}
.magaza-kat-filtre a.aktif { background: var(--ana); color: #fff; border-color: var(--ana); }
.magaza-urun-bolum .bolum-baslik h2 small { font-size: .85rem; font-weight: 700; color: var(--metin-soluk); }
.magaza-urun-izgara-public {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(230px, 260px));
  gap: 18px;
  justify-content: start;
}
.magaza-urun-public {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  width: 100%;
  max-width: 260px;
  background: var(--kart);
  border-radius: 18px;
  border: 1.5px solid color-mix(in srgb, var(--ana) 12%, var(--cizgi));
  box-shadow: 0 10px 28px color-mix(in srgb, var(--ana) 8%, transparent);
  transition: transform .18s, box-shadow .18s, border-color .18s;
}
.magaza-urun-public:hover {
  transform: translateY(-3px);
  border-color: color-mix(in srgb, var(--ana) 30%, var(--cizgi));
  box-shadow: 0 16px 34px color-mix(in srgb, var(--ana) 14%, transparent);
}
.magaza-urun-public-ac {
  display: block;
  width: 100%;
  cursor: pointer;
}
.magaza-urun-public-gorsel {
  position: relative;
  width: 100%;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  background: linear-gradient(160deg, color-mix(in srgb, var(--ana) 10%, #fff), var(--arka));
  flex: 0 0 auto;
}
.magaza-urun-public-gorsel > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.magaza-urun-public-bos {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2.2rem;
  opacity: .45;
}
.magaza-urun-public-thumbs {
  position: absolute;
  left: 8px;
  right: 8px;
  bottom: 8px;
  display: flex;
  gap: 6px;
  justify-content: center;
  z-index: 2;
}
.magaza-urun-public-thumbs button {
  width: 36px;
  height: 36px;
  padding: 0;
  border-radius: 9px;
  overflow: hidden;
  cursor: pointer;
  border: 2px solid rgba(255,255,255,.8);
  background: #fff;
  opacity: .9;
  flex: 0 0 auto;
}
.magaza-urun-public-thumbs button.aktif {
  opacity: 1;
  border-color: #fff;
  box-shadow: 0 4px 12px rgba(0,0,0,.25);
}
.magaza-urun-public-thumbs img { width: 100%; height: 100%; object-fit: cover; display: block; }
.magaza-urun-public-govde {
  padding: 12px 14px 4px;
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.magaza-urun-public-kat {
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .03em;
  text-transform: uppercase;
  color: var(--ana);
}
.magaza-urun-public-govde h3 {
  margin: 0;
  font-size: 1rem;
  font-weight: 800;
  line-height: 1.3;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.magaza-urun-public-ozet,
.magaza-urun-public-govde p {
  margin: 0;
  font-size: .84rem;
  color: var(--metin-soluk);
  line-height: 1.4;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.magaza-urun-public-fiyat {
  font-size: 1.18rem;
  font-weight: 800;
  color: var(--ana);
  margin-top: 2px;
}
.magaza-urun-public-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  font-size: .72rem;
  font-weight: 700;
  color: var(--metin-soluk);
}
.magaza-urun-public-meta span {
  padding: 4px 9px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--ana) 7%, var(--arka));
}
.magaza-urun-public-cta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 10px 14px 14px;
  margin-top: auto;
}
.magaza-urun-public-cta .buton { margin: 0; }

/* Ürün detay modal */
.magaza-urun-modal-ic {
  width: min(920px, calc(100vw - 24px));
  max-height: min(90vh, 860px);
  overflow: auto;
  padding: 18px;
  border-radius: 22px;
}
.magaza-urun-modal-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
  gap: 18px;
  align-items: start;
}
.magaza-urun-modal-gorsel {
  position: relative;
  border-radius: 16px;
  overflow: hidden;
  background: var(--arka);
  aspect-ratio: 1 / 1;
}
.magaza-urun-modal-gorsel > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.magaza-urun-modal-thumbs {
  position: absolute;
  left: 10px;
  right: 10px;
  bottom: 10px;
  display: flex;
  gap: 8px;
  justify-content: center;
  z-index: 2;
}
.magaza-urun-modal-thumbs button {
  width: 48px;
  height: 48px;
  padding: 0;
  border-radius: 10px;
  overflow: hidden;
  border: 2px solid rgba(255,255,255,.85);
  background: #fff;
  cursor: pointer;
}
.magaza-urun-modal-thumbs button.aktif { box-shadow: 0 4px 14px rgba(0,0,0,.28); }
.magaza-urun-modal-thumbs img { width: 100%; height: 100%; object-fit: cover; display: block; }
.magaza-urun-modal-govde { display: grid; gap: 10px; align-content: start; }
.magaza-urun-modal-govde h2 { margin: 0; font-size: clamp(1.25rem, 2.4vw, 1.7rem); font-weight: 800; line-height: 1.2; }
.magaza-urun-modal-aciklama {
  padding: 14px;
  border-radius: 14px;
  background: color-mix(in srgb, var(--ana) 6%, var(--kart));
  border: 1px solid color-mix(in srgb, var(--ana) 12%, var(--cizgi));
}
.magaza-urun-modal-aciklama h3 {
  margin: 0 0 8px;
  font-size: .82rem;
  font-weight: 800;
  letter-spacing: .03em;
  text-transform: uppercase;
  color: var(--ana);
}
.magaza-urun-modal-aciklama p {
  margin: 0;
  font-size: .95rem;
  line-height: 1.55;
  color: var(--metin);
  white-space: pre-wrap;
}
.magaza-urun-modal-kargo {
  margin-top: 10px !important;
  padding-top: 10px;
  border-top: 1px dashed var(--cizgi);
  color: var(--metin-soluk) !important;
  font-size: .88rem !important;
}
@media (max-width: 760px) {
  .magaza-urun-izgara-public {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .magaza-urun-public { max-width: none; }
  .magaza-urun-modal-grid { grid-template-columns: 1fr; }
  .magaza-urun-modal-gorsel { aspect-ratio: 4 / 3; }
}
@media (max-width: 420px) {
  .magaza-urun-izgara-public { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .magaza-detay .form-kutu .satir-2 { grid-template-columns: 1fr !important; }
}

/* eski magaza vitrin stilleri (geriye uyum) */
.magaza-vitrin-gorsel { position: relative; }
.magaza-vitrin-thumbs {
  position: absolute; left: 10px; right: 10px; bottom: 10px;
  display: flex; gap: 6px; justify-content: center;
}
.magaza-vitrin-thumb {
  width: 42px; height: 42px; padding: 0; border-radius: 10px; overflow: hidden; cursor: pointer;
  border: 2px solid rgba(255,255,255,.7); background: #fff; opacity: .85;
}
.magaza-vitrin-thumb.aktif { opacity: 1; border-color: #fff; box-shadow: 0 4px 12px rgba(0,0,0,.25); }
.magaza-vitrin-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
