/* ══════════════════════════════════════════════════════════════════════════
   Nek.Nek Nekretnine — Anasayfa (Landing)
   Tokens: navy #0B1220 / gold #C9A227 / ivory #F5F2EA / ink #0F172A
══════════════════════════════════════════════════════════════════════════ */
@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,400;9..144,500;9..144,600&family=Inter:wght@400;500;600;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Marcellus&family=Manrope:wght@400;500;600;700;800&display=swap');

/* ── Header — Nek.Nek (entegre, "Aşama 1" header tasarımı) ────────────
   Kendi renk paleti: siyah/çelik zemin + gümüş/altın metalik logotype.
   Sayfanın geri kalanı navy/gold/ivory temasında kalmaya devam eder,
   yalnızca header kendi kimliğini (Nek.Nek) taşır.                      */
:root{
  --nn-black:#0A0A0B;
  --nn-charcoal:#17181B;
  --nn-charcoal-2:#1F2024;
  --nn-silver-1:#F4F5F7;
  --nn-silver-2:#B9BEC6;
  --nn-silver-3:#6E7480;
  --nn-gold-1:#F3DE9A;
  --nn-gold-2:#C9A227;
  --nn-gold-3:#8C6B14;
  --nn-line: rgba(244,245,247,.10);
}

.nn-header{
  position:sticky; top:0; z-index:1100;
  background:
    linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,0) 40%),
    linear-gradient(115deg, var(--nn-black) 0%, var(--nn-charcoal) 48%, var(--nn-charcoal-2) 100%);
  border-bottom:1px solid var(--nn-line);
  box-shadow: 0 1px 0 rgba(201,162,39,.22);
}
.nn-header-inner{
  max-width:1240px; margin:0 auto; padding:0 28px;
  height:82px;
  display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:24px;
}

/* ── Reklam Banner — header'ın hemen altında, header yüksekliğinin
   3 katı (82px × 3 = 246px, mobilde 70px × 3 = 210px) ────────────── */
.nn-ad-banner{
  width:100%;
  height:246px;
  display:flex; align-items:center; justify-content:center;
  text-align:center;
  padding:0 24px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,0) 50%),
    linear-gradient(115deg, var(--nn-charcoal) 0%, var(--nn-black) 55%, var(--nn-charcoal-2) 100%);
  border-bottom:1px solid var(--nn-line);
}
.nn-ad-banner-text{
  font-family:'Fraunces', serif;
  font-size:28px;
  line-height:1.35;
  max-width:820px;
  background:linear-gradient(180deg, var(--nn-gold-1) 0%, var(--nn-gold-2) 55%, var(--nn-gold-3) 100%);
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
@media (max-width:640px){
  .nn-ad-banner{ height:210px; padding:0 16px; }
  .nn-ad-banner-text{ font-size:19px; }
}

.nn-logo{
  display:flex; align-items:center; gap:14px;
  text-decoration:none; color:inherit;
  justify-self:start;
  min-width:0;
}
.nn-logo-mark{
  width:44px; height:44px; flex-shrink:0;
  filter: drop-shadow(0 2px 6px rgba(0,0,0,.5));
}
.nn-logo-mark svg{ width:100%; height:100%; display:block; }

.nn-logo-text{
  display:flex; flex-direction:column; justify-content:center;
  height:44px;
  line-height:1;
}
.nn-logo-name{
  font-family:'Marcellus', serif;
  font-size:26px;
  letter-spacing:.3px;
  line-height:1.15;
  background:linear-gradient(180deg, var(--nn-silver-1) 0%, var(--nn-silver-2) 55%, var(--nn-silver-3) 100%);
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.nn-logo-sub{
  margin-top:5px;
  font-family:'Manrope', sans-serif;
  font-weight:600;
  font-size:13px;
  line-height:1.1;
  letter-spacing:2px;
  text-transform:uppercase;
  color:var(--nn-gold-2);
}

/* ══════════════════════════════════════════════════════════════════════════
   Dil Seçici (Language Switcher) — header'ın ORTA sütununda, .nn-header-inner
   'in 3 sütunlu grid düzeninde (1fr auto 1fr) ortalanır (bkz. justify-self:
   center altta). Bayraklar SABİTTİR: animasyon, dalgalanma veya sallanma
   yoktur. Hover'da yalnızca hafif scale(1.08) ve yumuşak bir transition
   uygulanır.
══════════════════════════════════════════════════════════════════════════ */
.nn-lang-switcher{
  display:flex; align-items:center; gap:8px;
  justify-self:center;
}
.nn-lang-flag{
  display:inline-flex; align-items:center; gap:6px;
  background:transparent; padding:4px 5px; margin:0;
  border:1.5px solid transparent; border-radius:7px;
  cursor:pointer; line-height:0;
  transition:border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
.nn-lang-flag:hover{ background:rgba(244,245,247,.05); }
.nn-lang-flag:focus-visible{ outline:2px solid var(--nn-gold-2); outline-offset:2px; }

/* Bayrak: sabit, net, SVG tabanlı, TAM DAİRE (border-radius:50%). Animasyon
   yok — yalnızca hover'da hafif büyüme (scale) ve yumuşak geçiş (transition)
   uygulanır. overflow:hidden, kare SVG içeriğini kusursuz bir daireye kırpar. */
.nn-flag-svg{
  width:26px; height:26px; display:block; border-radius:50%; overflow:hidden;
  transition:transform .2s ease, box-shadow .2s ease;
  cursor:pointer;
}
/* .nn-flag-img: nn-flag-svg boyutundaki <img> tabanlı bayraklar için
   (ME bayrağı — static/img/flags/me.png — panel.html ile aynı görseli
   kullanır; .nn-flag-svg'nin border-radius:50%+overflow:hidden'ı sayesinde
   tam dairesel görünür). */
.nn-flag-img{ object-fit:cover; object-position:center; }

.nn-lang-label{
  font-family:'Manrope', sans-serif; font-size:10.5px; font-weight:700;
  letter-spacing:.4px; color:rgba(244,245,247,.55); transition:color .2s ease;
}

/* Hover: yalnızca hafif büyüme (scale 1.08) + yumuşak altın parlama (glow),
   imleç pointer. Başka hiçbir animasyon/hareket efekti yoktur. box-shadow
   kullanılır (filter:drop-shadow değil), çünkü box-shadow border-radius:50%
   dairesini dıştan sarar; drop-shadow ise overflow:hidden tarafından
   kırpılıp görünmez olurdu. */
.nn-lang-flag:hover .nn-flag-svg{
  transform:scale(1.08);
  box-shadow:0 0 0 1.5px rgba(201,162,39,.65), 0 0 6px rgba(201,162,39,.5);
}
.nn-lang-flag:hover .nn-lang-label{ color:var(--nn-silver-1); }

/* Aktif dil: dairesel bayrağın kendisini saran ince altın çerçeve + yumuşak
   glow ile belirginleşir. */
.nn-lang-flag.active{
  border-color:rgba(201,162,39,.65);
  background:rgba(201,162,39,.08);
  box-shadow:0 0 0 3px rgba(201,162,39,.14), 0 0 10px rgba(201,162,39,.3);
}
.nn-lang-flag.active .nn-flag-svg{
  box-shadow:0 0 0 1.5px rgba(201,162,39,.85), 0 0 8px rgba(201,162,39,.45);
}
.nn-lang-flag.active .nn-lang-label{ color:var(--nn-gold-1); }

@media(max-width:640px){
  .nn-lang-switcher{ gap:4px; }
  .nn-lang-flag{ padding:3px 4px; gap:4px; }
  .nn-flag-svg{ width:22px; height:22px; }
  .nn-lang-label{ display:none; } /* dar ekranda sadece bayrak; yer kazanılır */
}

.nn-actions{ display:flex; align-items:center; gap:10px; justify-self:end; min-width:0; }

.nn-btn{
  display:inline-flex; align-items:center; gap:8px;
  height:42px; padding:0 18px;
  border-radius:9px;
  font-size:13.5px; font-weight:700;
  letter-spacing:.2px;
  text-decoration:none;
  transition:opacity .15s, transform .15s, box-shadow .15s;
  white-space:nowrap;
}
.nn-btn svg{ width:16px; height:16px; display:block; }

/* İlan Ver — sade / hayalet buton (yakında aktif) */
.nn-btn-ghost{
  background:transparent;
  border:1px solid var(--nn-line);
  color:var(--nn-silver-2);
  opacity:.55;
  cursor:not-allowed;
}

/* Kayıt — ince metalik çerçeve (aktif) */
.nn-btn-outline{
  background:linear-gradient(180deg, rgba(244,245,247,.06), rgba(244,245,247,.02));
  border:1px solid rgba(185,190,198,.35);
  color:var(--nn-silver-1);
  cursor:pointer;
}
.nn-btn-outline:hover{
  border-color:rgba(185,190,198,.6);
  background:linear-gradient(180deg, rgba(244,245,247,.1), rgba(244,245,247,.03));
}

/* Giriş — altın dolgulu birincil aksiyon, panele bağlanır (aktif) */
.nn-btn-gold{
  background:linear-gradient(155deg, var(--nn-gold-1), var(--nn-gold-2) 60%, var(--nn-gold-3));
  border:1px solid rgba(0,0,0,.15);
  color:#1A1404;
  cursor:pointer;
}
.nn-btn-gold:hover{ transform:translateY(-1px); box-shadow:0 10px 24px rgba(201,162,39,.38); }
.nn-btn-gold:disabled{ opacity:.55; box-shadow:none; }

.nn-btn:disabled{ pointer-events:none; }

@media (max-width:640px){
  .nn-header-inner{ height:70px; padding:0 16px; }
  .nn-logo-mark{ width:36px; height:36px; }
  .nn-logo-text{ height:36px; }
  .nn-logo-name{ font-size:21px; }
  .nn-logo-sub{ font-size:10.5px; letter-spacing:1.4px; margin-top:4px; }
  .nn-btn{ font-size:12px; padding:0 12px; height:38px; }
  .nn-btn-ghost{ display:none; }
}

.hidden{ display:none!important; }

/* ══════════════════════════════════════════════════════════════════════════
   Hesap dropdown'ı (giriş yapılmış kullanıcı) — header sağ üst
══════════════════════════════════════════════════════════════════════════ */
.nn-actions-group{ display:flex; align-items:center; gap:10px; }

.nn-account{ position:relative; }
.nn-account-btn{ position:relative; height:auto; min-height:42px; padding:7px 16px; }
.nn-account-text{
  display:flex; flex-direction:column; align-items:flex-start;
  line-height:1.2; gap:1px;
}
.nn-account-kullanici{
  font-family:'Inter',sans-serif; font-size:13.5px; font-weight:700;
  color:var(--nn-silver-1); letter-spacing:.1px;
}
.nn-account-firma{
  font-family:'Manrope', sans-serif; font-size:11px; font-weight:600;
  color:var(--nn-gold-2); letter-spacing:.3px;
}
.nn-firma-logo-mini{
  width:22px; height:22px; border-radius:6px; object-fit:cover;
  flex-shrink:0; display:block;
}
.nn-caret{ width:14px; height:14px; transition:transform .15s; }
.nn-account-btn[aria-expanded="true"] .nn-caret{ transform:rotate(180deg); }

.nn-account-menu{
  position:absolute; top:calc(100% + 8px); right:0; z-index:60;
  min-width:220px;
  background:var(--white); border:1px solid #E7E2D6; border-radius:12px;
  box-shadow:0 18px 40px rgba(0,0,0,.18);
  padding:8px; display:flex; flex-direction:column; gap:2px;
}
.nn-account-menu button{
  display:flex; align-items:center; gap:8px;
  width:100%; text-align:left; background:transparent; border:none;
  padding:11px 12px; border-radius:8px;
  font-family:'Inter',sans-serif; font-size:13.5px; font-weight:600;
  color:var(--ink); cursor:pointer; transition:background .12s;
}
.nn-account-menu button:hover{ background:#F5F2EA; }
.nn-account-menu button.danger{ color:#B4282D; }
.nn-account-menu .nn-account-sep{ height:1px; background:#EFEBE1; margin:4px 2px; }

/* ══════════════════════════════════════════════════════════════════════════
   Sayfa-içi Giriş Bölümü (native tarayıcı pop-up'inin yerine geçer)
══════════════════════════════════════════════════════════════════════════ */
.nn-login-section{
  padding:64px 20px 80px;
  display:flex; justify-content:center;
  background:linear-gradient(180deg, var(--ivory) 0%, var(--white) 100%);
}
.nn-login-card{
  width:100%; max-width:440px;
  background:var(--white); border:1px solid #EFEBE1; border-radius:18px;
  box-shadow:0 20px 60px rgba(15,23,42,.08);
  padding:40px 36px 34px;
}
.nn-login-kayit{
  width:100%; margin-top:16px; text-align:center;
  font-size:13.5px; color:var(--slate);
}
.nn-login-kayit a{ color:var(--gold); font-weight:700; text-decoration:none; }
.nn-login-kayit a:hover{ text-decoration:underline; }
.nn-login-forgot{
  width:100%; margin-top:-6px; margin-bottom:6px; text-align:right;
  font-size:13px;
}
.nn-login-forgot a{ color:var(--slate); text-decoration:none; }
.nn-login-forgot a:hover{ color:var(--gold); text-decoration:underline; }

/* ══════════════════════════════════════════════════════════════════════════
   Firma Bilgileri Yönetimi (giriş sonrası anasayfa içinde gösterilir)
══════════════════════════════════════════════════════════════════════════ */
.nn-firma-cards{ display:flex; gap:24px; flex-wrap:wrap; align-items:flex-start; justify-content:center; }
.nn-firma-card{
  flex:1 1 380px; min-width:320px; max-width:560px;
  background:var(--white); border:1px solid #EFEBE1; border-radius:16px;
  padding:30px 30px 28px;
  box-shadow:0 12px 34px rgba(15,23,42,.06);
}
.nn-firma-card .nn-modal-head{ margin-bottom:20px; padding-right:0; }

.nn-firma-locked-hint{
  font-size:11.5px; color:var(--slate); margin-top:2px;
}

.nn-firma-logo-row{ display:flex; align-items:center; gap:16px; flex-wrap:wrap; }
.nn-firma-logo-preview{
  width:64px; height:64px; flex-shrink:0; border-radius:10px;
  background:#F3F1EA; border:1px solid #E2DED2;
  display:flex; align-items:center; justify-content:center; overflow:hidden;
}
.nn-firma-logo-preview img{ width:100%; height:100%; object-fit:cover; display:block; }
.nn-firma-logo-placeholder{ font-size:10.5px; font-weight:600; color:var(--slate-light); text-align:center; padding:0 4px; }
.nn-firma-logo-actions{ display:flex; align-items:center; gap:8px; flex-wrap:wrap; }

@media(max-width:640px){
  .nn-login-card{ padding:30px 24px 26px; }
  .nn-firma-card{ padding:24px 20px 22px; }
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --navy:#0B1220; --navy-2:#121B2E; --navy-3:#1B2740;
  --gold:#C9A227; --gold-light:#E8D488; --gold-dim:rgba(201,162,39,.18);
  --ivory:#F5F2EA; --ink:#0F172A; --slate:#64748B; --slate-light:#94A3B8;
  --white:#FFFFFF; --line:rgba(255,255,255,.12);
  --radius:14px;
}
html{scroll-behavior:smooth}
body{
  font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  background:var(--white); color:var(--ink); line-height:1.55; font-size:15px;
  -webkit-font-smoothing:antialiased;
}
.serif{font-family:'Fraunces','Georgia',serif}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.wrap{
  max-width:1240px; width:100%;
  padding:0 clamp(20px, 4vw, 64px);
  box-sizing:border-box; margin:0 auto;
}

@media (prefers-reduced-motion: reduce){
  *{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
}

/* ── CTA butonu (hero / panel banner içinde kullanılır) ───────────────── */
.btn-giris{
  display:inline-flex;align-items:center;gap:8px;
  background:linear-gradient(155deg,var(--gold-light),var(--gold));
  color:var(--navy); font-weight:700; font-size:13.5px;
  padding:11px 20px;border-radius:9px;border:none;cursor:pointer;
  box-shadow:0 6px 18px rgba(201,162,39,.28);transition:transform .15s,box-shadow .15s;
}
.btn-giris:hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(201,162,39,.38)}
.btn-giris svg{width:15px;height:15px}

/* ── Hero ───────────────────────────────────────────────────────────── */
.lp-hero{position:relative;background:radial-gradient(1200px 600px at 15% -10%,#182545 0%,var(--navy) 55%),var(--navy);
  color:var(--white);overflow:hidden;padding:96px 0 0}
.lp-hero-inner{
  max-width:none; width:100%;
  padding:0 clamp(20px, 4vw, 64px);
  box-sizing:border-box; margin:0 auto;
  position:relative; z-index:2;
}
.lp-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:11.5px;font-weight:700;
  letter-spacing:2px;text-transform:uppercase;color:var(--gold-light);
  border:1px solid var(--gold-dim);background:rgba(201,162,39,.08);
  padding:7px 14px;border-radius:20px;margin-bottom:26px}
.lp-eyebrow .dot{width:6px;height:6px;border-radius:50%;background:var(--gold);display:inline-block}
.lp-hero h1{font-family:'Fraunces',serif;font-weight:500;font-size:clamp(34px,5vw,58px);
  line-height:1.08;letter-spacing:-1px;max-width:820px}
.lp-hero h1 em{font-style:italic;color:var(--gold-light)}
.lp-hero p.lead{margin-top:22px;font-size:17px;color:rgba(255,255,255,.68);max-width:560px;line-height:1.65}
.lp-hero-actions{display:flex;align-items:center;gap:16px;margin-top:38px;flex-wrap:wrap}
.btn-ghost{display:inline-flex;align-items:center;gap:8px;color:var(--white);font-weight:600;
  font-size:14px;padding:13px 4px;border-bottom:1px solid rgba(255,255,255,.35);transition:border-color .15s}
.btn-ghost:hover{border-color:var(--gold-light)}
.btn-giris-lg{font-size:14.5px;padding:15px 26px;border-radius:10px}

/* Skyline signature graphic */
.lp-skyline{position:absolute;left:0;right:0;bottom:0;height:220px;z-index:1;opacity:.9;pointer-events:none}
.lp-skyline svg{width:100%;height:100%}

/* Live stat strip */
.lp-stats{position:relative;z-index:2;margin-top:64px;border-top:1px solid var(--line);
  display:grid;grid-template-columns:repeat(4,1fr);}
.lp-stat{padding:26px 4px 30px;border-right:1px solid var(--line)}
.lp-stat:last-child{border-right:none}
.lp-stat b{font-family:'Fraunces',serif;font-weight:500;font-size:32px;color:var(--white);display:block}
.lp-stat span{font-size:11.5px;letter-spacing:1.2px;text-transform:uppercase;color:var(--slate-light);font-weight:600}
@media(max-width:700px){.lp-stats{grid-template-columns:repeat(2,1fr)}}

/* ── Section shell ──────────────────────────────────────────────────── */
.lp-section{padding:88px 0}
/* İlan detay sayfası, genel .lp-section kuralının 88px üst boşluğunu
   MİRAS ALIYORDU — nav (.ln-meganav) ile "← İlanlara Dön" arasında
   gereksiz büyük bir boşluk oluşturuyordu. Bu bölüm nav'ın hemen altında
   açıldığı için üst boşluk belirgin şekilde küçültüldü (alt boşluk
   diğer bölümlerle tutarlı kalması için değiştirilmedi). */
#ilanDetaySection{ padding-top:26px; }
.lp-section.ivory{background:var(--ivory)}
.lp-head{max-width:640px;margin-bottom:52px}
.lp-head .k{font-size:11.5px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--gold);
  display:block;margin-bottom:14px}
.lp-head h2{font-family:'Fraunces',serif;font-weight:500;font-size:clamp(26px,3.2vw,36px);
  letter-spacing:-.5px;color:var(--ink)}
.lp-head p{margin-top:14px;color:var(--slate);font-size:15.5px}

/* ── Services (uses the system's own listing-code vernacular) ─────────── */
.lp-services{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
@media(max-width:860px){.lp-services{grid-template-columns:1fr}}
.lp-service{background:var(--white);border:1px solid #E7E2D6;border-radius:var(--radius);
  padding:30px 26px;transition:transform .18s,box-shadow .18s}
.lp-service:hover{transform:translateY(-3px);box-shadow:0 16px 40px rgba(15,23,42,.08)}
.lp-service .code{font-family:'Fraunces',serif;font-size:12px;font-weight:600;letter-spacing:1.5px;
  color:var(--gold);border:1px solid var(--gold-dim);background:#FBF7EA;
  display:inline-block;padding:4px 10px;border-radius:6px;margin-bottom:18px}
.lp-service h3{font-family:'Fraunces',serif;font-weight:500;font-size:20px;margin-bottom:10px;color:var(--ink)}
.lp-service p{color:var(--slate);font-size:14px;line-height:1.6}

/* ── Why us / trust row ─────────────────────────────────────────────── */
.lp-trust{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}
@media(max-width:860px){.lp-trust{grid-template-columns:1fr}}
.lp-trust-item{border-left:2px solid var(--gold);padding-left:20px}
.lp-trust-item h4{font-family:'Fraunces',serif;font-weight:500;font-size:17px;margin-bottom:8px;color:var(--ink)}
.lp-trust-item p{color:var(--slate);font-size:14px}

/* ── Panel banner ───────────────────────────────────────────────────── */
.lp-panel-banner{background:var(--navy);border-radius:20px;padding:56px 48px;
  display:flex;align-items:center;justify-content:space-between;gap:32px;flex-wrap:wrap;
  position:relative;overflow:hidden}
.lp-panel-banner::after{content:'';position:absolute;right:-60px;top:-60px;width:220px;height:220px;
  border-radius:50%;background:radial-gradient(circle,rgba(201,162,39,.25),transparent 70%)}
.lp-panel-banner-text{position:relative;z-index:2;max-width:520px}
.lp-panel-banner h3{font-family:'Fraunces',serif;font-weight:500;font-size:26px;color:var(--white);margin-bottom:10px}
.lp-panel-banner p{color:rgba(255,255,255,.65);font-size:14.5px}

/* ── Footer ─────────────────────────────────────────────────────────── */
.lp-footer{background:var(--navy);color:rgba(255,255,255,.55);padding:40px 0 30px;border-top:1px solid var(--line)}
.lp-footer-inner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;font-size:13px}
.lp-footer-center{justify-content:center;flex-direction:column;text-align:center}
.lp-footer b{color:var(--white)}

/* ── Reveal-on-load (single orchestrated entrance, not scattered) ─────── */
.lp-reveal{opacity:0;transform:translateY(14px);animation:lpFadeUp .7s ease forwards}
.lp-reveal.d1{animation-delay:.05s}
.lp-reveal.d2{animation-delay:.16s}
.lp-reveal.d3{animation-delay:.27s}
.lp-reveal.d4{animation-delay:.38s}
@keyframes lpFadeUp{to{opacity:1;transform:translateY(0)}}

/* ══════════════════════════════════════════════════════════════════════════
   NOT: Kayıt formu artık aşağıdaki .nn-modal-overlay/.nn-modal DEĞİL,
   sayfa-içi .nn-login-section benzeri bir bölüm (#kayitSection, bkz.
   index.html) olarak gösteriliyor. Aşağıdaki .nn-modal-overlay/.nn-modal
   kuralları şu an hiçbir öğe tarafından kullanılmıyor; ileride başka bir
   pop-up/onay penceresi gerekirse diye kaldırılmadı.
══════════════════════════════════════════════════════════════════════════ */
.nn-modal-overlay{
  position:fixed; inset:0; z-index:100;
  display:flex; align-items:flex-start; justify-content:center;
  padding:64px 20px;
  background:rgba(10,10,11,.6);
  backdrop-filter:blur(3px);
  opacity:0; visibility:hidden;
  transition:opacity .2s ease, visibility .2s ease;
  overflow-y:auto;
}
.nn-modal-overlay.open{ opacity:1; visibility:visible; }

.nn-modal{
  position:relative;
  width:100%; max-width:560px;
  background:var(--white);
  border-radius:18px;
  padding:40px 40px 34px;
  box-shadow:0 30px 80px rgba(0,0,0,.35);
  transform:translateY(-10px);
  transition:transform .2s ease;
}
.nn-modal-overlay.open .nn-modal{ transform:translateY(0); }

.nn-modal-close{
  position:absolute; top:18px; right:18px;
  width:34px; height:34px; border-radius:9px;
  display:flex; align-items:center; justify-content:center;
  background:transparent; border:1px solid #E7E2D6; color:var(--slate);
  cursor:pointer; transition:background .15s, color .15s;
}
.nn-modal-close:hover{ background:#F5F2EA; color:var(--ink); }
.nn-modal-close svg{ width:16px; height:16px; }

.nn-modal-head{ margin-bottom:26px; padding-right:30px; }
.nn-modal-head .k{
  font-size:11px; font-weight:700; letter-spacing:2px; text-transform:uppercase;
  color:var(--gold); display:block; margin-bottom:10px;
}
.nn-modal-head h3{
  font-family:'Fraunces',serif; font-weight:500; font-size:23px;
  letter-spacing:-.3px; color:var(--ink); margin-bottom:8px;
}
.nn-modal-head p{ color:var(--slate); font-size:14px; }

.nn-form{ display:flex; flex-direction:column; gap:16px; }
.nn-field{ display:flex; flex-direction:column; gap:6px; }
.nn-field label{
  font-size:12.5px; font-weight:600; color:var(--ink); letter-spacing:.2px;
}
.nn-field label .req{ color:#B4282D; }
.nn-field input,
.nn-field select{
  height:44px; padding:0 14px;
  border:1px solid #E2DED2; border-radius:9px;
  background:#FBFAF7; color:var(--ink);
  font-family:'Inter',sans-serif; font-size:14px;
  transition:border-color .15s, background .15s;
}
.nn-field input:focus,
.nn-field select:focus{
  outline:none; border-color:var(--gold); background:var(--white);
}
.nn-field input::placeholder{ color:var(--slate-light); }

.nn-phone-row{ display:grid; grid-template-columns:90px 1fr; gap:10px; }
.nn-phone-row select{ padding:0 8px; }
@media(max-width:480px){ .nn-phone-row{ grid-template-columns:66px 1fr; } }

.nn-pib-row{ display:flex; gap:10px; align-items:stretch; }
.nn-pib-row input{ flex:1; min-width:0; }
.nn-btn-sm{ padding:0 18px; white-space:nowrap; flex:0 0 auto; }

.nn-tel-tip-row{
  display:flex; flex-wrap:wrap; gap:6px 16px; margin-top:8px; font-size:70%;
}
.nn-tel-tip-opt{
  display:flex; align-items:center; gap:5px; cursor:pointer; color:var(--slate);
}
.nn-tel-tip-opt input[type="checkbox"]{
  width:13px; height:13px; accent-color:var(--gold); cursor:pointer;
}
.nn-tel-tip-diger{ margin-top:8px; }

.nn-form-actions{
  display:flex; gap:12px; margin-top:10px;
  padding-top:22px; border-top:1px solid #EFEBE1;
}
.nn-form-actions .nn-btn{ flex:1; justify-content:center; height:46px; font-size:14px; }

.nn-btn-ghost-modal{
  background:transparent; border:1px solid #E2DED2; color:var(--slate);
  cursor:pointer; transition:border-color .15s, color .15s, background .15s;
}
.nn-btn-ghost-modal:hover{ border-color:var(--ink); color:var(--ink); background:#F5F2EA; }

@media(max-width:640px){
  .nn-modal-overlay{ padding:32px 14px; }
  .nn-modal{ padding:30px 24px 26px; }
}

/* ══════════════════════════════════════════════════════════════════════════
   İlan Kategori Navigasyonu (header altında, body'nin ilk bölümü)
══════════════════════════════════════════════════════════════════════════ */
.ln-catnav{
  background:var(--white);
  border-bottom:1px solid #EFEBE1;
}
.ln-catnav-inner{
  display:flex; gap:8px; overflow-x:auto;
  max-width:1240px; margin:0 auto;
  padding:16px 28px;
}
.ln-catnav-item{
  flex:0 0 auto;
  padding:10px 18px; border-radius:9px;
  font-size:13.5px; font-weight:600; color:var(--slate);
  white-space:nowrap;
  transition:background .15s, color .15s;
}
.ln-catnav-item:hover{ background:#F5F2EA; color:var(--ink); }
.ln-catnav-item.active{ background:var(--navy); color:var(--white); }

/* ══════════════════════════════════════════════════════════════════════════
   MEGA MENÜ — Kiralık / Satılık / İşletme Devri / Firmalar
   Üst sekmeler .ln-catnav ile GÖRSEL OLARAK BİREBİR AYNI görünür (aynı
   pill/renk kuralları); tek fark, sekmenin kendisi <button> olup altında
   ORİJİNAL tam genişlikli, 4 sütunlu bir dropdown paneli taşımasıdır.
   Panel, nav'ın (.ln-meganav) içindeki .wrap ile TAM OLARAK AYNI genişlik/
   ortalama/kenar boşluğuna (max-width:1240px, aynı clamp() padding) sahip
   olacak şekilde ortalanır — böylece sütunlar tam olarak üstteki sekmeler
   ve "Haritada Göster"/"Bireysel İlan Ver" ile hizalanır; ÖNCEKİ sürümde
   olduğu gibi ekranın sol kenarına sabit/dar bir "aside" olarak KALMAZ.
   Panel varsayılan olarak GİZLİDİR; nav'a fare/parmak/klavye ile
   gelindiğinde VEYA sekmelerden birine TIKLANDIĞINDA
   (.ln-meganav-open sınıfı JS tarafından eklenir) görünür hale gelir
   (bkz. index.html script).
══════════════════════════════════════════════════════════════════════════ */
.ln-meganav{ position:relative; background:var(--white); border-bottom:1px solid #EFEBE1; }


.ln-meganav-tab{
  flex:0 0 auto;
  padding:10px 18px; border-radius:9px; border:none; background:none; cursor:default;
  font-family:inherit; font-size:13.5px; font-weight:600; color:var(--slate);
  white-space:nowrap; transition:background .15s, color .15s;
}
.ln-meganav-tab.active{ background:var(--navy); color:var(--white); }

.ln-meganav-panel{
  position:absolute; left:50%; top:100%; z-index:40;
  transform:translateX(-50%) translateY(-6px);
  width:100%; max-width:1240px;
  background:var(--white);
  border:1px solid #EFEBE1; border-top:none;
  border-radius:0 0 16px 16px;
  box-shadow:0 18px 32px -18px rgba(15,23,42,.22);
  opacity:0; visibility:hidden;
  transition:opacity .16s ease, transform .16s ease, visibility 0s linear .16s;
}
.ln-meganav.ln-meganav-open .ln-meganav-panel{
  opacity:1; visibility:visible; transform:translateX(-50%) translateY(0);
  transition:opacity .16s ease, transform .16s ease, visibility 0s;
}

.ln-meganav-panel-inner{
  display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:20px 28px;
  padding:22px clamp(20px, 4vw, 64px) 26px;
}
.ln-meganav-col h4{
  margin:0 0 14px; padding-bottom:10px; border-bottom:1px solid var(--gold-dim);
  font-size:12px; font-weight:800; letter-spacing:.06em; text-transform:uppercase;
  color:var(--gold);
}
.ln-meganav-col{ display:flex; flex-direction:column; }
.ln-meganav-col .ln-catnav-item{
  display:block; padding:9px 0; border-radius:0; background:none !important;
  font-size:14.5px; font-weight:500; color:var(--ink);
}
.ln-meganav-col .ln-catnav-item:hover{ color:var(--gold-3, var(--gold)); }
.ln-meganav-col .ln-catnav-item.active{ color:var(--gold); font-weight:700; }

.ln-meganav-soon{
  display:flex; align-items:center; gap:8px; padding:9px 0;
  font-size:14.5px; font-weight:500; color:var(--slate-light); cursor:default;
}
.ln-meganav-soon small{
  font-size:10.5px; font-weight:700; letter-spacing:.04em; text-transform:uppercase;
  color:var(--gold); background:var(--gold-dim); padding:2px 7px; border-radius:5px;
}

@media(max-width:900px){
  .ln-meganav-panel-inner{ grid-template-columns:repeat(2, minmax(0,1fr)); gap:18px 24px; }
}
@media(max-width:640px){
  .ln-meganav-panel{ width:100%; max-width:100%; }
  .ln-meganav-panel-inner{ grid-template-columns:1fr; gap:18px; padding:16px; }
}

/* ─── Sekme çubuğu düzeni: hover ile açılan grup sekmeleri solda,
       "Haritada Göster" (pasif) + "Bireysel İlan Ver" sağda birlikte
       hizalanır ─── */
.ln-catnav-inner{ justify-content:space-between; }
.ln-meganav-hoverzone{ display:flex; gap:8px; align-items:center; }
.ln-meganav-actions{ display:flex; gap:10px; align-items:center; flex:0 0 auto; }
.ln-meganav-tab-standalone{
  flex:0 0 auto; display:inline-flex; align-items:center;
  padding:10px 18px; border-radius:9px;
  font-size:13.5px; font-weight:700; color:var(--navy);
  background:var(--gold-dim); border:1px solid var(--gold-dim);
  white-space:nowrap; transition:background .15s, border-color .15s;
}
.ln-meganav-tab-standalone:hover{ background:var(--gold-light); border-color:var(--gold); }

/* "Haritada Göster" — pasif yer tutucu, ince çerçeveli (ghost) buton;
   "Bireysel İlan Ver"in hemen SOLUNDA yer alır. İkonu (harita/katman
   simgesi) currentColor ile boyanır. */
.ln-meganav-tab-ghost{
  flex:0 0 auto; display:inline-flex; align-items:center; gap:7px;
  padding:10px 16px; border-radius:9px;
  font-size:13.5px; font-weight:600; color:var(--slate);
  background:none; border:1px solid #E7E2D6;
  white-space:nowrap; transition:background .15s, color .15s, border-color .15s;
}
.ln-meganav-tab-ghost svg{ width:16px; height:16px; flex-shrink:0; }
.ln-meganav-tab-ghost:hover{ background:#F5F2EA; color:var(--ink); border-color:#D9D2C2; }

/* ══════════════════════════════════════════════════════════════════════════
   İlan Alanı — Sol: Filtre (SABİT genişlik) · Sağ: İlan kartları (esnek)
   Sayfa en büyük ekranlarda tam genişliği kaplar; filtre sütunu ise
   sayfa genişledikçe orantılı BÜYÜMEZ, sabit bir piksel genişliğinde
   kalır (bkz. PROMPT: "soldaki filtre bölümü sabit kalmalı").
══════════════════════════════════════════════════════════════════════════ */
.ln-ilanlar{ background:var(--ivory); padding:32px 0 88px; }
.ln-ilanlar-inner{
  max-width:1240px; width:100%;
  padding:0 clamp(20px, 4vw, 64px); box-sizing:border-box; margin:0 auto;
  display:grid; grid-template-columns:280px 1fr; gap:28px; align-items:start;
}
@media(max-width:980px){
  .ln-ilanlar-inner{ grid-template-columns:1fr; }
}

/* ══════════════════════════════════════════════════════════════════════════
   PROMPT 16A/ek: "Son Eklenen İlanlar" — anasayfa İLK AÇILDIĞINDA (nav'da
   henüz hiçbir kategori seçili değilken) #ilanlarSection içinde gösterilen
   varsayılan görünüm. Son 7 ilan, sağdan sola doğru sürekli kayan
   (marquee) bir şerit halinde gösterilir; bir kategoriye tıklanınca bu
   blok gizlenir ve yerini alışılagelmiş filtre + ızgara görünümü alır.
══════════════════════════════════════════════════════════════════════════ */
.ln-son-eklenen{
  max-width:1240px; width:100%;
  padding:0 clamp(20px, 4vw, 64px); box-sizing:border-box; margin:0 auto;
}
.ln-son-eklenen-head{ margin-bottom:22px; }
.ln-son-eklenen-head .k{
  font-size:11px; font-weight:700; letter-spacing:2px; text-transform:uppercase;
  color:var(--gold); display:block; margin-bottom:6px;
}
.ln-son-eklenen-head h3{ font-family:'Fraunces',serif; font-weight:500; font-size:24px; color:var(--ink); }

.ln-son-eklenen-viewport{
  overflow:hidden; width:100%;
  -webkit-mask-image:linear-gradient(90deg, transparent 0, #000 40px, #000 calc(100% - 40px), transparent 100%);
  mask-image:linear-gradient(90deg, transparent 0, #000 40px, #000 calc(100% - 40px), transparent 100%);
}
.ln-son-eklenen-track{ display:flex; gap:24px; width:max-content; }
/* Kart listesi iki kez art arda basılır (bkz. lnYukleSonEklenenler); bu
   sınıf yalnızca 2'den fazla ilan olduğunda eklenir ve şerit -50%'ye
   (yani tam bir tur) kayarak dikişsiz/sonsuz bir döngü oluşturur. */
.ln-son-eklenen-track.ln-son-eklenen-kayar{ animation:lnSonEklenenKay 34s linear infinite; }
.ln-son-eklenen-track.ln-son-eklenen-kayar:hover{ animation-play-state:paused; }
@keyframes lnSonEklenenKay{
  from{ transform:translateX(0); }
  to{ transform:translateX(-50%); }
}
.ln-son-eklenen-card{ width:280px; flex-shrink:0; }
@media(max-width:600px){
  .ln-son-eklenen-card{ width:230px; }
  .ln-son-eklenen-track.ln-son-eklenen-kayar{ animation-duration:26s; }
}

/* "Tüm İlanları Göster" — şeridin altında, ortalanmış; tıklanınca yayındaki
   TÜM ilanları paylaşılan liste bölümünde açar (bkz. lnTumIlanlariGoster). */
.ln-son-eklenen-tumu-sarici{ display:flex; justify-content:center; margin-top:24px; }
.ln-son-eklenen-tumu-btn{
  border:1px solid #E7E2D6; background:var(--ivory); color:var(--ink);
  font-family:'Inter',sans-serif; font-size:13px; font-weight:600;
  padding:11px 28px; border-radius:8px; cursor:pointer; transition:background .15s ease, border-color .15s ease;
}
.ln-son-eklenen-tumu-btn:hover{ background:var(--white); border-color:#D9D3C4; }

/* ══════════════════════════════════════════════════════════════════════════
   PROMPT 16A/ek: "Haritadan Bul" — anasayfanın varsayılan görünümünde,
   "Son Eklenen İlanlar" şeridinin HEMEN ALTINDA gösterilen, koordinatı
   (latitude/longitude) tanımlı TÜM ilanları tek bir Karadağ haritası
   üzerinde iğne olarak gösteren bölüm. Görünürlük yönetimi
   #lnSonEklenenBolum ile BİREBİR AYNI kurala bağlıdır (bir kategoriye
   tıklanınca gizlenir, anasayfayaDon()'da tekrar gösterilir).
══════════════════════════════════════════════════════════════════════════ */
.ln-harita-bolum{
  max-width:1240px; width:100%;
  padding:40px clamp(20px, 4vw, 64px) 0; box-sizing:border-box; margin:0 auto;
}
.ln-harita-head{ margin-bottom:22px; }
.ln-harita-head .k{
  font-size:11px; font-weight:700; letter-spacing:2px; text-transform:uppercase;
  color:var(--gold); display:block; margin-bottom:6px;
}
.ln-harita-head h3{ font-family:'Fraunces',serif; font-weight:500; font-size:24px; color:var(--ink); }
.ln-harita-head p{ margin-top:6px; color:var(--slate); font-size:13.5px; }

.ln-harita-govde{ display:flex; align-items:flex-start; gap:20px; }

.ln-harita-kutu{
  position:relative; width:100%; height:480px; flex:1 1 auto; min-width:0;
  border-radius:var(--radius); overflow:hidden;
  border:1px solid #E7E2D6; background:var(--ivory);
}
.ln-harita-kutu .leaflet-container{ width:100%; height:100%; font-family:'Inter',sans-serif; }
.ln-harita-durum{
  position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
  color:var(--slate); font-size:13.5px; background:var(--ivory); z-index:5;
}
.ln-harita-durum.hidden{ display:none; }

/* ── "Haritadan Bul" Filtre Paneli ────────────────────────────────────── */
.ln-harita-filtre{
  flex:0 0 250px; width:250px; box-sizing:border-box;
  display:flex; flex-direction:column; gap:16px;
  padding:18px; border-radius:var(--radius);
  border:1px solid #E7E2D6; background:var(--white);
  max-height:480px; overflow-y:auto;
}
.ln-filtre-grup{ display:flex; flex-direction:column; gap:8px; }
.ln-filtre-baslik{
  font-size:11.5px; font-weight:700; letter-spacing:.3px; color:var(--ink);
}
.ln-filtre-chipler{ display:flex; flex-wrap:wrap; gap:6px; }
.ln-filtre-chip{
  border:1px solid #E2DED2; background:#FBFAF7; color:var(--ink);
  font-family:'Inter',sans-serif; font-size:12.5px; font-weight:600;
  padding:7px 12px; border-radius:20px; cursor:pointer;
  transition:border-color .15s, background .15s, color .15s;
}
.ln-filtre-chip:hover{ border-color:var(--gold); }
.ln-filtre-chip.aktif{
  background:var(--gold); border-color:var(--gold); color:var(--white);
}
.ln-filtre-alt{
  display:flex; flex-direction:column; gap:16px;
  padding-top:16px; border-top:1px solid #EFEBE1;
}
.ln-filtre-alt.hidden{ display:none; }
.ln-filtre-fiyat-row{ display:flex; align-items:center; gap:8px; }
.ln-filtre-fiyat-row input{
  width:0; flex:1 1 auto; min-width:0; height:38px; padding:0 10px;
  border:1px solid #E2DED2; border-radius:8px; background:#FBFAF7;
  color:var(--ink); font-family:'Inter',sans-serif; font-size:13px;
}
.ln-filtre-fiyat-row input:focus{ outline:none; border-color:var(--gold); background:var(--white); }
.ln-filtre-fiyat-ayrac{ color:var(--slate-light); font-size:12px; flex:0 0 auto; }
.ln-filtre-grup.hidden{ display:none; }
.ln-filtre-devre-disi{ opacity:.45; pointer-events:none; }
.ln-filtre-not{
  font-size:11px; color:var(--slate); line-height:1.4; margin:0; display:none;
}
.ln-filtre-not.gorunur{ display:block; }
.ln-filtre-sonuc{ font-size:12px; color:var(--slate); min-height:16px; }
.ln-filtre-temizle{
  border:1px solid #E2DED2; background:transparent; color:var(--slate);
  font-family:'Inter',sans-serif; font-size:12.5px; font-weight:600;
  padding:9px 0; border-radius:8px; cursor:pointer;
  transition:border-color .15s, color .15s, background .15s;
}
.ln-filtre-temizle:hover{ border-color:var(--ink); color:var(--ink); background:#F5F2EA; }

@media(max-width:820px){
  .ln-harita-govde{ flex-direction:column; }
  .ln-harita-filtre{ width:100%; flex:0 0 auto; max-height:none; }
  .ln-harita-kutu{ width:100%; }
}

/* Leaflet popup içeriği — mini ilan kartı */
.ln-harita-popup{ width:200px; }
.ln-harita-popup-img{
  width:100%; height:110px; border-radius:8px 8px 0 0;
  background-size:cover; background-position:center; background-color:#EDE8DB;
}
.ln-harita-popup-body{ padding:10px 4px 2px; }
.ln-harita-popup-body h5{
  font-size:13px; font-weight:600; color:var(--ink); line-height:1.3;
  margin-bottom:4px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
.ln-harita-popup-body .loc{ font-size:11.5px; color:var(--slate); margin-bottom:6px; }
.ln-harita-yaklasik{ font-style:italic; }
.ln-harita-popup-body .oda{ font-size:11.5px; color:var(--slate); margin-bottom:6px; }
.ln-harita-popup-body .fiyat{ font-size:14px; font-weight:700; color:var(--navy); margin-bottom:8px; }
.ln-harita-popup-body a{
  display:block; text-align:center; background:var(--navy); color:var(--white);
  font-size:12px; font-weight:600; padding:7px 0; border-radius:7px;
}
/* Yalnızca LN_HARITA_SAPMA_DEBUG açıkken (bkz. index.html script bloğu)
   üretilen, geliştirici/kontrol amaçlı satır — normal ziyaretçiler
   tarafından tetiklenemez ve arayüzde hiçbir açma/kapama kontrolü yoktur. */
.ln-harita-sapma-debug{
  font-size:10.5px; color:#94a3b8; margin-top:6px; padding-top:6px;
  border-top:1px dashed #e2e8f0; text-align:center;
}
.leaflet-popup-content-wrapper{ border-radius:10px; padding:0; overflow:hidden; }
.leaflet-popup-content{ margin:0; }
.leaflet-popup-content p{ margin:0; }
/* Tekil ilan popup'ı (mini kart) — dar, sabit genişlik yeterli. */
.ln-harita-popup-wrap .leaflet-popup-content{ width:200px!important; }
/* Küme popup'ı (birden fazla ilan) — başlık/semt/oda/fiyat + "İlanı Gör"
   butonu tek satıra sığması için tekil popup'tan daha geniş olmalı;
   aksi halde içerik/buton sayfaya/kutuya sığmayıp kesiliyordu. */
.ln-harita-kume-popup-wrap .leaflet-popup-content{ width:300px!important; }
@media(max-width:420px){
  .ln-harita-kume-popup-wrap .leaflet-popup-content{ width:calc(100vw - 70px)!important; max-width:300px; }
}

/* "Yaklaşık alan" halkaları — mavi, İÇTEN KOYU → DIŞA DOĞRU AÇILAN radyal
   gradyan. Haritanın en yakın (referans) zoom'unda halka gerçek 150m
   yarıçapı yansıtır; haritadan uzaklaştıkça JS tarafında hesaplanan piksel
   boyutu büyür (bkz. lnHaritaEfektifYaricapPx) — bu sınıf boyutu inline
   style ile alır, burada yalnızca görünüm (renk/gölge/tipografi) tanımlanır.
   Çakışan ilanlar tek bir halkada birleşip ortasında TOPLAM ilan sayısı
   yazılır (span içeriği); tekil halkada sayı gösterilmez. */
.ln-harita-halka-sarici{ background:transparent; border:none; }
.ln-harita-halka{
  border-radius:50%;
  background:radial-gradient(circle at 50% 50%, rgba(46,116,217,.65) 0%, rgba(91,154,232,.5) 45%, rgba(154,196,242,.32) 78%, rgba(220,235,252,.12) 100%);
  border:2px solid rgba(91,154,232,.65);
  display:flex; align-items:center; justify-content:center;
  color:#fff; font-weight:800; font-family:'Inter',sans-serif;
  box-shadow:0 2px 8px rgba(46,116,217,.25);
  cursor:pointer;
  transition:width .18s ease, height .18s ease;
}
.ln-harita-halka span{ line-height:1; text-shadow:0 1px 2px rgba(0,0,0,.35); }
.ln-harita-halka-tekil{
  background:radial-gradient(circle at 50% 50%, rgba(46,116,217,.55) 0%, rgba(111,168,236,.4) 55%, rgba(169,205,243,.25) 85%, rgba(220,235,252,.08) 100%);
}

/* Küme popup'ı — o bölgedeki tüm ilanların kısa listesi */
.ln-harita-kume-popup{ width:100%; box-sizing:border-box; padding:12px 10px; }
.ln-harita-kume-popup h5{ font-size:13px; font-weight:700; color:var(--ink); margin-bottom:8px; }
.ln-harita-kume-liste{ max-height:260px; overflow-y:auto; display:flex; flex-direction:column; gap:10px; }
.ln-harita-kume-satir{
  display:flex; align-items:center; justify-content:space-between; gap:10px;
  border-top:1px solid #EDE8DB; padding-top:10px;
}
.ln-harita-kume-satir:first-child{ border-top:none; padding-top:0; }
.ln-harita-kume-satir-metin{ display:flex; flex-direction:column; min-width:0; flex:1 1 auto; gap:2px; }
.ln-harita-kume-satir-metin .t{
  font-size:12px; font-weight:600; color:var(--ink);
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:100%;
}
.ln-harita-kume-satir-metin .s{
  font-size:11px; color:var(--slate);
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:100%;
}
.ln-harita-kume-satir-metin .o{ font-size:11px; color:var(--slate); }
.ln-harita-kume-satir-metin .f{ font-size:12px; font-weight:700; color:var(--navy); margin-top:2px; }
.ln-harita-kume-satir a{
  flex-shrink:0; background:var(--navy); color:var(--white);
  font-size:11px; font-weight:600; padding:7px 12px; border-radius:6px;
  white-space:nowrap;
}
/* Küme popup'ının altındaki "Bu ilanları liste olarak göster" butonu —
   tıklanınca #lnHaritaSeciliListe bölümü açılır (bkz. index.html script). */
.ln-harita-kume-liste-btn{
  display:block; width:100%; margin-top:10px; border:none; cursor:pointer;
  background:var(--gold); color:var(--ink); font-size:12px; font-weight:700;
  padding:8px 0; border-radius:7px; text-align:center;
}
.ln-harita-kume-liste-btn:hover{ filter:brightness(0.96); }

/* Haritadaki bir kümeye tıklanınca "Bu ilanları liste olarak göster"
   butonuyla açılan, SADECE o kümedeki ilanları listeleyen bölüm. Diğer
   varsayılan anasayfa bölümleriyle (Son Eklenen İlanlar/Haritadan Bul/
   Firmalar) aynı üst-alt boşluk deseni kullanılır. */
.ln-harita-secili-liste{
  max-width:1240px; width:100%;
  padding:8px clamp(20px, 4vw, 64px) 0; box-sizing:border-box; margin:0 auto;
}

@media(max-width:600px){
  .ln-harita-kutu{ height:360px; }
}

/* ══════════════════════════════════════════════════════════════════════════
   PROMPT 16A/ek: "Firmalar" — anasayfanın varsayılan görünümünde, "Haritadan
   Bul" bölümünün HEMEN ALTINDA gösterilen, sisteme kayıt olmuş TÜM firmaları
   sağdan sola doğru sürekli kayan (marquee) bir şerit halinde gösteren bölüm.
   Görünürlük yönetimi #lnSonEklenenBolum / #lnHaritaBolum ile BİREBİR AYNI
   kurala bağlıdır (bir kategoriye tıklanınca gizlenir, anasayfayaDon()'da
   tekrar gösterilir) — bu yüzden düzen (max-width, padding, mask-image,
   kayma animasyonu) de bilinçli olarak ".ln-son-eklenen-*" ile AYNI desendedir.
══════════════════════════════════════════════════════════════════════════ */
.ln-firmalar-bolum{
  max-width:1240px; width:100%;
  padding:40px clamp(20px, 4vw, 64px) 0; box-sizing:border-box; margin:0 auto;
}
.ln-firmalar-head{ margin-bottom:22px; }
.ln-firmalar-head .k{
  font-size:11px; font-weight:700; letter-spacing:2px; text-transform:uppercase;
  color:var(--gold); display:block; margin-bottom:6px;
}
.ln-firmalar-head h3{ font-family:'Fraunces',serif; font-weight:500; font-size:24px; color:var(--ink); }
.ln-firmalar-head p{ margin-top:6px; color:var(--slate); font-size:13.5px; }

.ln-firmalar-viewport{
  overflow:hidden; width:100%;
  -webkit-mask-image:linear-gradient(90deg, transparent 0, #000 40px, #000 calc(100% - 40px), transparent 100%);
  mask-image:linear-gradient(90deg, transparent 0, #000 40px, #000 calc(100% - 40px), transparent 100%);
}
.ln-firmalar-track{ display:flex; gap:20px; width:max-content; }
/* Kart listesi iki kez art arda basılır (bkz. lnYukleFirmalar); bu sınıf
   yalnızca 2'den fazla firma olduğunda eklenir ve şerit -50%'ye (yani tam
   bir tur) kayarak dikişsiz/sonsuz bir döngü oluşturur. */
.ln-firmalar-track.ln-firmalar-kayar{ animation:lnFirmalarKay 30s linear infinite; }
.ln-firmalar-track.ln-firmalar-kayar:hover{ animation-play-state:paused; }
@keyframes lnFirmalarKay{
  from{ transform:translateX(0); }
  to{ transform:translateX(-50%); }
}

.ln-firma-card{
  width:220px; flex-shrink:0; display:flex; flex-direction:column; gap:10px;
  background:var(--white); border:1px solid #E7E2D6; border-radius:var(--radius);
  padding:14px 16px; box-sizing:border-box;
}
.ln-firma-card-top{ display:flex; align-items:center; gap:12px; }
.ln-firma-card-logo{
  width:48px; height:48px; border-radius:10px; object-fit:cover;
  flex-shrink:0; background:#F1EEE4; border:1px solid #E7E2D6;
}
.ln-firma-card-logo-yer{
  display:flex; align-items:center; justify-content:center;
  color:var(--white); font-family:'Fraunces',serif; font-size:20px; font-weight:600;
}
.ln-firma-card-body{ min-width:0; }
.ln-firma-card-body h4{
  font-size:14px; font-weight:700; color:var(--ink); line-height:1.25;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.ln-firma-card-ek{
  font-size:11.5px; color:var(--slate); margin-top:2px;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.ln-firma-card-sayi{
  font-size:11px; font-weight:600; color:var(--gold); margin-top:4px;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
/* Alt kullanıcı avatarları — logonun hizasından (kart sol kenarı) başlayıp
   sağa doğru devam eden, HER birinin altında adı-soyadı yazan küçük
   yuvarlak fotoğraflar. Firmanın alt kullanıcısı yoksa bu blok hiç render
   edilmez (bkz. lnFirmaKarti -> avatarlarHtml). Fotoğraf boyutu (bkz.
   .ln-firma-card-avatar) önceki sürüme göre 1.5 kat büyütüldü (24px->36px);
   isim etiketiyle birlikte gösterildiği için artık üst üste BİNDİRİLMİYOR
   (overlap yok) — çok sayıda alt kullanıcı varsa şerit kendi içinde yatay
   kaydırılabilir (overflow-x:auto).
*/
.ln-firma-card-avatarlar{
  display:flex; gap:10px; overflow-x:auto; padding-bottom:2px;
  scrollbar-width:none;
}
.ln-firma-card-avatarlar::-webkit-scrollbar{ display:none; }
.ln-firma-card-avatar-item{
  display:flex; flex-direction:column; align-items:center; gap:4px;
  flex-shrink:0; width:44px;
}
.ln-firma-card-avatar{
  width:36px; height:36px; border-radius:50%; object-fit:cover;
  background:#F1EEE4; border:2px solid var(--white); box-shadow:0 0 0 1px #E7E2D6;
}
.ln-firma-card-avatar-ad{
  font-size:9.5px; font-weight:600; color:var(--slate); text-align:center;
  line-height:1.2; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
  max-width:44px;
}
/* "Tüm İlanları Gör" — o firmanın tüm yayındaki ilanlarını, "Tüm İlanları
   Göster" ile AYNI paylaşılan liste bölümünde açar (bkz. index.html script
   -> lnFirmaninIlanlariniGoster). */
.ln-firma-card-btn{
  width:100%; border:1px solid #E7E2D6; background:var(--ivory); color:var(--ink);
  font-family:'Inter',sans-serif; font-size:12px; font-weight:600;
  padding:8px 0; border-radius:8px; cursor:pointer; transition:background .15s ease, border-color .15s ease;
}
.ln-firma-card-btn:hover{ background:var(--white); border-color:#D9D3C4; }
@media(max-width:600px){
  .ln-firma-card{ width:190px; }
  .ln-firmalar-track.ln-firmalar-kayar{ animation-duration:22s; }
}

/* ─── Sol — Filtre aside (sabit genişlik) ─── */
.ln-filtre{
  width:280px;
  background:var(--white); border:1px solid #E7E2D6; border-radius:var(--radius);
  padding:24px 20px 26px;
  display:flex; flex-direction:column; gap:20px;
  position:sticky; top:100px;
}
.ln-filtre-head .k{
  font-size:11px; font-weight:700; letter-spacing:2px; text-transform:uppercase;
  color:var(--gold); display:block; margin-bottom:6px;
}
.ln-filtre-head h3{ font-family:'Fraunces',serif; font-weight:500; font-size:17px; color:var(--ink); }

.ln-filtre-grup{
  display:flex; flex-direction:column; gap:9px;
  padding-top:18px; border-top:1px solid #EFEBE1;
}
.ln-filtre-grup:first-of-type{ border-top:none; padding-top:0; }
.ln-filtre-grup > label:first-child{
  font-size:12px; font-weight:700; color:var(--ink); margin-bottom:2px;
}
.ln-check{
  display:flex; align-items:center; gap:8px;
  font-size:13.5px; font-weight:500; color:var(--slate); cursor:pointer;
}
.ln-check input{ width:15px; height:15px; accent-color:var(--gold); cursor:pointer; }

.ln-select{
  height:40px; padding:0 10px;
  border:1px solid #E2DED2; border-radius:8px; background:#FBFAF7;
  font-family:'Inter',sans-serif; font-size:13.5px; color:var(--ink);
}
.ln-select:focus{ outline:none; border-color:var(--gold); background:var(--white); }

.ln-range-row{ display:flex; align-items:center; gap:8px; }
.ln-input-sm{
  flex:1; min-width:0; height:40px; padding:0 10px;
  border:1px solid #E2DED2; border-radius:8px; background:#FBFAF7;
  font-family:'Inter',sans-serif; font-size:13.5px; color:var(--ink);
}
.ln-input-sm:focus{ outline:none; border-color:var(--gold); background:var(--white); }
.ln-range-row span{ color:var(--slate-light); font-size:12.5px; }

.ln-filtre-btn{ width:100%; justify-content:center; margin-top:2px; }

/* Kategoriye göre değişen filtre panelleri */
.ln-filtre-panel{ display:flex; flex-direction:column; gap:20px; }

.ln-hint{ font-weight:400; color:var(--slate-light); font-size:11px; text-transform:none; letter-spacing:0; }

.ln-check-row{ display:flex; flex-wrap:wrap; gap:8px 14px; }
.ln-check-row.col{ flex-direction:column; gap:8px; }
.ln-check-row .ln-check{ margin:0; }

select.ln-select-multi{
  height:auto; padding:6px;
}
select.ln-select-multi option{ padding:6px 8px; border-radius:4px; }

.ln-filtre-ayrac{
  display:flex; align-items:center; gap:10px;
  margin-top:2px;
}
.ln-filtre-ayrac::before,
.ln-filtre-ayrac::after{ content:''; flex:1; height:1px; background:#EFEBE1; }
.ln-filtre-ayrac span{
  font-size:11px; font-weight:700; letter-spacing:1.4px; text-transform:uppercase; color:var(--gold);
  white-space:nowrap;
}

.ln-filtre-yakinda{ font-size:13px; color:var(--slate); line-height:1.6; }

@media(max-width:980px){
  .ln-filtre{ position:static; width:100%; }
}

/* ─── Sağ — İlan kartları ─── */
.ln-listeler{ min-width:0; }
.ln-liste-grid{
  display:grid; grid-template-columns:repeat(3,1fr); gap:24px;
}
@media(max-width:980px){ .ln-liste-grid{ grid-template-columns:repeat(2,1fr); } }
@media(max-width:600px){ .ln-liste-grid{ grid-template-columns:1fr; } }
.ln-liste-yukleniyor,.ln-liste-bos{
  grid-column:1/-1; text-align:center; padding:48px 16px; color:var(--muted,#6b6255);
  font-size:15px;
}

.ln-card{
  background:var(--white); border:1px solid #E7E2D6; border-radius:var(--radius);
  overflow:hidden; transition:transform .18s, box-shadow .18s;
}
.ln-card:hover{ transform:translateY(-4px); box-shadow:0 16px 40px rgba(15,23,42,.10); }

.ln-card-img{
  position:relative; height:180px;
  display:flex; align-items:flex-start; justify-content:space-between;
  padding:14px;
}
.ln-card-badge{
  background:var(--gold); color:var(--navy);
  font-size:11px; font-weight:700; letter-spacing:.4px;
  padding:5px 10px; border-radius:6px;
}
.ln-card-kod{
  background:rgba(255,255,255,.16); color:var(--white);
  font-size:11px; font-weight:600; padding:5px 10px; border-radius:6px;
}

.ln-card-body{ padding:18px 18px 20px; display:flex; flex-direction:column; gap:8px; }
.ln-card-body h4{
  font-family:'Fraunces',serif; font-weight:500; font-size:16.5px; color:var(--ink); line-height:1.3;
}
.ln-card-loc{ font-size:12.5px; color:var(--slate); }
.ln-card-meta{
  display:flex; gap:12px; font-size:12px; font-weight:600; color:var(--slate-light);
  padding:9px 0; border-top:1px solid #EFEBE1; border-bottom:1px solid #EFEBE1;
}
.ln-card-foot{ display:flex; align-items:center; justify-content:space-between; padding-top:2px; gap:10px; }
.ln-card-foot b{ font-family:'Fraunces',serif; font-size:19px; font-weight:500; color:var(--ink); white-space:nowrap; }
.ln-card-foot b small{ font-size:11px; font-weight:600; color:var(--slate); margin-left:2px; }

/* ── Fiyatın sağında: ilanı paylaşan firmanın logosu + panel adı + firma
   ek adı (panel.html header'ındaki logo/isim ikilisiyle aynı desen).
   Toplam yükseklik, .ln-card-foot b'nin (fiyat) satır yüksekliğini
   GEÇMEMELİDİR — bu yüzden sabit bir max-height ile sınırlanır ve
   içerik (logo + iki metin satırı) bu alana sığacak şekilde küçültülür. ── */
.ln-card-firma{
  display:flex; align-items:center; gap:6px;
  max-height:26px; overflow:hidden; flex-shrink:0; min-width:0;
}
.ln-card-firma-logo{
  width:22px; height:22px; border-radius:5px; object-fit:cover;
  flex-shrink:0; background:#F1EEE4; border:1px solid #E7E2D6;
}
.ln-card-firma-text{
  display:flex; flex-direction:column; justify-content:center;
  line-height:1.15; min-width:0; max-width:104px;
}
.ln-card-firma-panel{
  font-size:10.5px; font-weight:700; color:var(--ink);
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.ln-card-firma-ek{
  font-size:9px; font-weight:600; color:var(--slate);
  letter-spacing:.2px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}

/* Kart tıklanabilir → detay sayfasını açar */
.ln-card{ cursor:pointer; }
.ln-card:focus-visible{ outline:2px solid var(--gold); outline-offset:2px; }

/* ══════════════════════════════════════════════════════════════════════════
   İlan Detay Sayfası — bir karta tıklanınca/Enter'a basılınca, pencere/
   modal DEĞİL, sayfanın kendisinde (#ilanDetaySection) açılır.
   Düzen (sahibinden.com tarzı, 3 gerçek sütun):
     SOL   — fotoğraf galerisi
     ORTA  — panel.html'deki İLAN BİLGİLERİ formunun TÜM alanları
             (açıklama/detay dahil)
     SAĞ   — bilinçli olarak BOŞ bırakılan bir alan (iletişim/kişisel bilgi
             kartının yerini tutar, hiçbir zaman doldurulmaz) ve hemen
             altında Google Harita devam eder.
   Sayfa, en büyük ekranlarda ortalı kalarak tüm web sayfası genişliğini
   kaplar (bkz. .ln-detay-wrap — genel .wrap'ın 1180px sınırını kullanmaz).
══════════════════════════════════════════════════════════════════════════ */
/* .ln-detay-wrap artık genel .wrap kuralını kullanıyor (tüm sayfa en
   büyük ekranlarda ortalı kalarak tam genişliği kaplıyor) — ayrı bir
   max-width override'ına gerek yok. */

.ln-detay-geri{
  display:inline-flex; align-items:center; gap:6px;
  background:none; border:none; cursor:pointer;
  font-family:'Inter',sans-serif; font-size:13.5px; font-weight:700;
  color:var(--slate); padding:0 0 22px; transition:color .15s;
}
.ln-detay-geri:hover{ color:var(--gold); }

/* "İlanlara Dön" yazısının hemen altında, 3 sütunlu ızgaranın ÜZERİNDE
   tam genişlikte başlık bloğu: ilan başlığı (büyük) + Ülke, Şehir, Semt */
.ln-detay-header{ margin-bottom:22px; }
.ln-detay-header .ln-detay-baslik{ font-size:32px; }
.ln-detay-header .ln-detay-konum{ font-size:15px; margin-top:8px; }

/* SOL resim + altında firma/açıklama/harita kartı · SAĞ yalnızca
   fiyat + özellik listesi — 2 gerçek sütun */
.ln-detay-ust-izgara{
  display:grid;
  grid-template-columns: minmax(320px,1.85fr) minmax(340px,1fr);
  gap:28px; align-items:start;
}
@media(max-width:900px){
  .ln-detay-ust-izgara{ grid-template-columns:1fr; }
}

/* SOL sütun — resim kartı + altında firma/açıklama/harita kartı, dikey dizilir */
.ln-detay-sol-kol{ display:flex; flex-direction:column; gap:22px; min-width:0; }

/* SOL — resim bölümü */
.ln-detay-resim-blok{
  position:relative; border-radius:var(--radius); overflow:hidden;
  background:var(--navy); border:1px solid #E7E2D6;
}
.ln-detay-foto-ana{ width:100%; height:480px; background-size:cover; background-position:center; }
@media(max-width:900px){ .ln-detay-foto-ana{ height:340px; } }
@media(max-width:600px){ .ln-detay-foto-ana{ height:260px; } }
.ln-detay-badge{
  position:absolute; top:16px; left:16px; z-index:1;
  background:var(--gold); color:var(--navy); font-size:11.5px; font-weight:700;
  letter-spacing:.4px; padding:6px 12px; border-radius:6px;
}
.ln-detay-kod{
  position:absolute; top:16px; right:16px; z-index:1;
  background:rgba(255,255,255,.18); color:var(--white);
  font-size:12px; font-weight:600; padding:6px 12px; border-radius:6px;
}
.ln-detay-kucukler{ display:flex; gap:8px; padding:12px; overflow-x:auto; background:var(--navy-2); }
.ln-detay-kucuk{
  width:64px; height:48px; border-radius:6px; flex-shrink:0; cursor:pointer;
  background-size:cover; background-position:center; border:2px solid transparent; opacity:.6;
  transition:opacity .15s, border-color .15s;
}
.ln-detay-kucuk:hover{ opacity:.9; }
.ln-detay-kucuk.active{ opacity:1; border-color:var(--gold); }

/* Fotoğrafın ALTINDA — firma bilgileri + açıklama/detay + konum haritası,
   tek bir beyaz kart içinde (eskiden sağ sütundaydı) */
.ln-detay-alt-blok{
  background:var(--white,#fff); border:1px solid #E7E2D6; border-radius:var(--radius);
  padding:22px 24px; min-width:0;
}

/* SAĞ — yalnızca fiyat + özellik listesi */
.ln-detay-bilgi-blok{
  background:var(--white,#fff); border:1px solid #E7E2D6; border-radius:var(--radius);
  padding:22px 24px; min-width:0;
}

.ln-detay-baslik{ font-family:'Fraunces',serif; font-weight:500; font-size:23px; color:var(--ink); line-height:1.28; }
.ln-detay-konum{ font-size:13.5px; color:var(--slate); margin-top:5px; }
.ln-detay-fiyat{ font-family:'Fraunces',serif; font-weight:500; font-size:27px; color:var(--ink); white-space:nowrap; margin-top:14px; }
.ln-detay-fiyat small{ font-size:12.5px; font-weight:600; color:var(--slate); margin-left:2px; }

.ln-detay-ozellikler-liste{ margin-top:20px; padding-top:20px; border-top:1px solid #EFEBE1; }
.ln-detay-satir{
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  padding:11px 0; border-bottom:1px solid #F1EEE4;
}
.ln-detay-satir:last-child{ border-bottom:none; }
.ln-detay-satir-etiket{ font-size:11.5px; font-weight:700; letter-spacing:.4px; text-transform:uppercase; color:var(--gold); }
.ln-detay-satir-deger{ font-size:14.5px; color:var(--ink); font-weight:600; text-align:right; }

/* Firma bilgisi — alt kartın İLK öğesi, üstte fazladan çizgi/boşluk yok.
   Üst satır: logo + firma adı + (varsa) alt kullanıcı avatar-item'ı sağda.
   Alt satır: (varsa) alt kullanıcının telefon numarası, tam genişlikte. */
.ln-detay-firma{ display:flex; flex-direction:column; gap:10px; }
/* Çerçevesiz (border yok) 3 sütun × 1 satır ızgara: 1) firma logo/ad/telefon
   2) alt kullanıcı avatarı+adı 3) sohbet butonu. Her sütun kendi içinde
   dikey olarak ortalanmış (align-items:center + text-align:center). */
.ln-detay-firma-ust{
  display:grid; grid-template-columns:1fr 1fr 1fr; align-items:center; gap:12px;
}
.ln-detay-firma-sutun{
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  text-align:center; gap:6px; min-width:0;
}
@media(max-width:480px){
  .ln-detay-firma-ust{ grid-template-columns:1fr; gap:10px; }
}
/* SÜTUN 1 — logo ortada, hemen altında firma adı, onun da altında
   (varsa) firmanın kendi genel telefon numarası — hepsi ortalanmış. */
.ln-detay-firma-logo{
  width:44px; height:44px; border-radius:10px; object-fit:cover;
  background:#F1EEE4; border:1px solid #E7E2D6; margin:0 auto;
}
.ln-detay-firma-text{ display:flex; flex-direction:column; align-items:center; min-width:0; width:100%; }
.ln-detay-firma-text b{ display:block; font-size:14.5px; color:var(--ink); text-align:center; }
.ln-detay-firma-text span{ font-size:12px; color:var(--slate); text-align:center; }
/* SÜTUN 2 — İlanı ekleyen alt kullanıcının fotoğrafı + adı + telefonu +
   dilleri; temel avatar bileşeni .ln-firma-card-avatar-item ile AYNI, ama
   bu sütunda daha fazla yer kaplayabilmesi için genişlik serbest bırakıldı
   (yalnızca doluysa görünür). */
#lnDetayFirmaAltKullanici{ flex-shrink:0; width:100%; max-width:150px; }
#lnDetayFirmaAltKullanici .ln-firma-card-avatar-ad{ max-width:150px; white-space:normal; }
/* Alt kullanıcının telefon numarası — kullanıcı adının hemen altında,
   tel: linkiyle aranabilir; küçük ve sade, sütunun ortasında. */
.ln-detay-firma-alt-telefon{
  display:inline-flex; align-items:center; gap:4px;
  font-size:12px; font-weight:600; color:var(--ink);
  text-decoration:none; white-space:nowrap;
}
.ln-detay-firma-alt-telefon:hover{ color:var(--gold); }
/* Alt kullanıcının konuştuğu diller — sabit 3 bayrak rozeti (TR/EN/ME),
   telefon numarasının hemen altında, ortalanmış. */
.ln-detay-firma-diller{
  display:flex; align-items:center; justify-content:center; gap:6px; margin-top:1px;
}
.ln-detay-firma-dil-bayrak{ font-size:15px; line-height:1; cursor:default; }

/* Firma adının ("Lux Capital") hemen altında gösterilen firma telefon
   numarası — ekleyen alt kullanıcının telefonundan (.ln-detay-firma-alt-
   telefon) FARKLI: bu, ilanı yayınlayan firmanın KENDİ genel telefonu
   (f.telefon / firma_telefon), her zaman ilk sırada, doluysa gösterilir. */
.ln-detay-firma-telefon{
  display:flex; align-items:center; justify-content:center; gap:5px;
  font-size:12.5px; font-weight:600; color:var(--slate); margin-top:3px;
}

/* SÜTUN 3 — "💬 Sohbet Aç" / firmaya özel mesaj — ilanla ilgilenen
   ziyaretçinin firmayla (giriş/kayıt yapmadan, misafir olarak) hızlıca
   iletişime geçmesini sağlayan aksiyon butonu (bkz. #lnSohbetModal). */
.ln-detay-firma-sutun-sohbet{ width:100%; }
.ln-detay-sohbet-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:6px;
  flex-shrink:0; margin:0 auto;
  background:var(--navy); color:#fff; border:none; border-radius:8px;
  font-family:'Inter',sans-serif; font-size:12.5px; font-weight:700;
  padding:9px 14px; cursor:pointer; white-space:nowrap;
  transition:background .15s, color .15s;
}
.ln-detay-sohbet-btn:hover{ background:var(--gold); color:var(--ink); }

/* ── Misafir Sohbet modalı — sabit konumlu, sayfanın üzerinde açılan
   küçük bir overlay (mevcut tam-sayfa bölüm değiştirme sisteminden
   BİLEREK bağımsız — arkadaki ilan detay sayfası kaybolmaz). */
.ln-sohbet-overlay{
  position:fixed; inset:0; z-index:1200;
  background:rgba(24,22,14,.55);
  display:flex; align-items:center; justify-content:center; padding:20px;
}
.ln-sohbet-overlay.hidden{ display:none; }
.ln-sohbet-modal{
  position:relative; width:100%; max-width:420px;
  background:var(--white); border-radius:14px; padding:30px;
  box-shadow:0 24px 64px rgba(0,0,0,.28);
}
.ln-sohbet-kapat{
  position:absolute; top:14px; right:14px; width:28px; height:28px;
  border:none; background:none; font-size:20px; line-height:1;
  color:var(--slate); cursor:pointer; border-radius:6px;
}
.ln-sohbet-kapat:hover{ background:#F5F2EA; color:var(--ink); }
.ln-sohbet-modal h3{
  font-family:'Fraunces',serif; font-weight:500; font-size:19px;
  color:var(--ink); margin:0 0 6px; padding-right:24px;
}
.ln-sohbet-alt{ font-size:13px; color:var(--slate); margin:0 0 18px; line-height:1.5; }
.ln-sohbet-basari{
  font-size:13.5px; font-weight:600; color:#1B7A3D;
  background:#EAF7EE; border:1px solid #CFE9D7; border-radius:8px;
  padding:11px 13px; margin-top:4px;
}

/* Açıklama / Detay metni — alt kartın firma bilgisinden sonraki bölümü */
.ln-detay-aciklama-blok{
  margin-top:20px; padding-top:20px; border-top:1px solid #EFEBE1;
}
.ln-detay-aciklama-blok h3{
  font-family:'Fraunces',serif; font-weight:500; font-size:16.5px; color:var(--ink); margin-bottom:10px;
}
.ln-detay-aciklama-metin{
  font-size:14px; line-height:1.75; color:var(--slate); white-space:pre-line;
}
.ln-detay-aciklama-metin + .ln-detay-aciklama-blok{ margin-top:14px; padding-top:14px; }

/* EN ALT — Google Harita, alt kartın son bölümü */
.ln-detay-harita-blok{
  display:flex; flex-direction:column; gap:8px;
  margin-top:20px; padding-top:20px; border-top:1px solid #EFEBE1;
}
.ln-detay-harita-etiket{
  font-size:11px; font-weight:700; letter-spacing:.8px; text-transform:uppercase; color:var(--gold);
}
.ln-detay-harita{
  width:100%; height:220px; border:1px solid #E7E2D6; border-radius:var(--radius);
}
@media(max-width:900px){ .ln-detay-harita{ height:200px; } }

/* ── PIB → IRMS sorgu durumu ────────────────────────────────────────── */
.nn-auto-tag{
  float:right; font-size:10.5px; font-weight:600; letter-spacing:.3px;
  color:var(--gold); text-transform:none;
}
.nn-field-status{
  min-height:16px; font-size:12px; font-weight:600; margin-top:2px;
}
.nn-field-status.loading{ color:var(--slate); }
.nn-field-status.ok{ color:#1E7A3D; }
.nn-field-status.warn{ color:#8A6300; }
.nn-field-status.error{ color:#B4282D; }

.nn-field input[readonly]{
  background:#F3F1EA; color:var(--ink); cursor:default;
}

.nn-input-masked{
  letter-spacing:4px; font-weight:700; color:var(--slate);
  background:#F3F1EA; cursor:default; user-select:none;
}

.nn-btn-eye{
  width:44px; padding:0; justify-content:center; flex:0 0 auto;
  background:transparent; border:1px solid #E2DED2; color:var(--slate);
  cursor:pointer;
}
.nn-btn-eye svg{ width:18px; height:18px; }
.nn-btn-eye:hover{ background:#F5F2EA; color:var(--ink); }
.nn-btn-eye[aria-pressed="true"]{ color:var(--gold); border-color:var(--gold); background:#FBF7EA; }

/* ══════════════════════════════════════════════════════════════════════════
   BİREYSEL İLAN VER — bağımsız sayfa (bireysel-ilan-ver.html)
══════════════════════════════════════════════════════════════════════════ */
.bi-header-inner{ display:flex; align-items:center; justify-content:space-between; }
.bi-anasayfa-btn{ text-decoration:none; }

.bi-page{
  background:linear-gradient(180deg, var(--ivory) 0%, var(--white) 100%);
  min-height:calc(100vh - 84px);
  padding:48px 0 80px;
}
.bi-wrap{ max-width:840px; }

.bi-card{
  background:var(--white); border:1px solid #EFEBE1; border-radius:18px;
  box-shadow:0 20px 60px rgba(15,23,42,.08);
  padding:36px 36px 30px;
}
@media(max-width:640px){ .bi-card{ padding:26px 18px 22px; } }

.bi-steps{
  display:flex; gap:24px; margin-bottom:30px; padding-bottom:20px;
  border-bottom:1px solid #EFEBE1;
}
.bi-step{
  display:flex; align-items:center; gap:8px;
  font-size:13px; font-weight:600; color:var(--slate-light);
}
.bi-step span{
  width:24px; height:24px; border-radius:50%; flex:0 0 auto;
  display:flex; align-items:center; justify-content:center;
  background:#F0EDE4; color:var(--slate-light); font-size:12px; font-weight:700;
}
.bi-step.active{ color:var(--ink); }
.bi-step.active span{ background:var(--gold); color:var(--white); }

.bi-group-label{
  font-size:12.5px; font-weight:700; letter-spacing:.3px; color:var(--ink);
  margin:22px 0 12px;
}
.bi-group-label:first-child{ margin-top:0; }

.bi-type-cards{ display:flex; flex-wrap:wrap; gap:12px; margin-bottom:6px; }
.bi-type-card{
  flex:1 1 120px; min-width:110px;
  display:flex; flex-direction:column; align-items:center; gap:8px;
  padding:18px 10px; border:1.5px solid #E2DED2; border-radius:12px;
  background:#FBFAF7; cursor:pointer; text-align:center;
  transition:border-color .15s, background .15s, transform .1s;
}
.bi-type-card:hover{ border-color:var(--gold-light); transform:translateY(-1px); }
.bi-type-card.selected{
  border-color:var(--gold); background:#FBF7EA;
  box-shadow:0 0 0 3px var(--gold-dim);
}
.bi-tc-icon{ font-size:24px; line-height:1; }
.bi-tc-label{ font-size:13px; font-weight:600; color:var(--ink); }

.bi-step-footer{
  margin-top:26px; padding-top:22px; border-top:1px solid #EFEBE1;
  display:flex; justify-content:flex-end;
}

.bi-step-back-row{
  display:flex; align-items:center; justify-content:space-between;
  margin-bottom:22px;
}
.bi-back-btn{ padding:0 16px; height:38px; }
.bi-selection-info{
  font-size:13.5px; font-weight:700; color:var(--ink);
  background:#FBF7EA; border:1px solid var(--gold-dim); border-radius:20px;
  padding:6px 16px;
}

.bi-grid{ display:grid; grid-template-columns:1fr 1fr; gap:16px 18px; }
@media(max-width:560px){ .bi-grid{ grid-template-columns:1fr; } }
.bi-span-2{ grid-column:1 / -1; }

.nn-field textarea{
  padding:12px 14px; border:1px solid #E2DED2; border-radius:9px;
  background:#FBFAF7; color:var(--ink);
  font-family:'Inter',sans-serif; font-size:14px; resize:vertical;
  transition:border-color .15s, background .15s;
}
.nn-field textarea:focus{ outline:none; border-color:var(--gold); background:var(--white); }

.nn-field input[type="file"]{
  height:auto; padding:10px 12px; background:#FBFAF7;
  border:1px dashed #D8D2C2; border-radius:9px; font-size:13px;
}
.bi-field-hint{ font-size:11.5px; color:var(--slate-light); }

.bi-only-ev-daire.hidden,
.bi-only-isyeri.hidden,
.bi-only-arsa.hidden{ display:none; }

.bi-basari{
  text-align:center; padding:36px 10px 10px;
}
.bi-basari-icon{
  width:56px; height:56px; margin:0 auto 18px; border-radius:50%;
  background:#E8F5EC; color:#1E7A3D; font-size:26px; font-weight:700;
  display:flex; align-items:center; justify-content:center;
}
.bi-basari h3{
  font-family:'Fraunces',serif; font-weight:500; font-size:23px;
  color:var(--ink); margin-bottom:10px;
}
.bi-basari p{ color:var(--slate); font-size:14.5px; max-width:440px; margin:0 auto 24px; }
.bi-basari .nn-btn{ display:inline-flex; text-decoration:none; margin:0 auto; }

.bi-field-hint-inline{ font-size:11px; font-weight:400; color:var(--slate-light); }

.bi-radio-inline{ display:flex; flex-wrap:wrap; gap:6px 16px; }
.bi-radio-opt{
  display:flex; align-items:center; gap:6px; cursor:pointer;
  font-size:13px; color:var(--ink); font-weight:500;
}
.bi-radio-opt input[type="radio"]{ width:15px; height:15px; accent-color:var(--gold); cursor:pointer; }

.bi-checkbox-group{ display:flex; flex-wrap:wrap; gap:8px 10px; }
.bi-checkbox-opt{
  display:flex; align-items:center; gap:7px; cursor:pointer;
  font-size:13px; color:var(--ink); font-weight:500;
  padding:8px 14px; border:1px solid #E2DED2; border-radius:20px; background:#FBFAF7;
  transition:border-color .15s, background .15s;
}
.bi-checkbox-opt:has(input:checked){
  border-color:var(--gold); background:#FBF7EA;
}
.bi-checkbox-opt input[type="checkbox"]{ width:15px; height:15px; accent-color:var(--gold); cursor:pointer; }

.bi-feature-grid{
  display:grid; grid-template-columns:1fr 1fr; gap:18px 24px;
  padding:18px; background:#FBFAF7; border:1px solid #EFEBE1; border-radius:12px;
}
@media(max-width:560px){ .bi-feature-grid{ grid-template-columns:1fr; } }
.bi-feature-item label{
  display:block; font-size:12.5px; font-weight:600; color:var(--ink); margin-bottom:8px;
}
.bi-inline-extra{
  margin-top:10px; height:40px; padding:0 12px; width:100%;
  border:1px solid #E2DED2; border-radius:9px; background:var(--white);
  font-family:'Inter',sans-serif; font-size:13.5px; color:var(--ink);
}
.bi-inline-extra.hidden{ display:none; }
