/* ilan-detay.css */
.prose { line-height: 1.75; }
.prose p { margin-bottom: 1em; }

/* --- YENİ SWIPER GALERİ STİLLERİ --- */
.main-swiper {
  height: 400px; /* Ana resmin yüksekliği */
  width: 100%;
  border-radius: 8px;
  margin-bottom: 10px;
}

.main-swiper .swiper-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.thumbs-swiper {
  height: 80px; /* Küçük resimlerin yüksekliği */
  box-sizing: border-box;
  padding: 10px 0;
}

.thumbs-swiper .swiper-slide {
  width: 25%;
  height: 100%;
  opacity: 0.6;
  cursor: pointer;
  border-radius: 4px;
  overflow: hidden;
}

.thumbs-swiper .swiper-slide-thumb-active {
  opacity: 1;
  border: 2px solid #3b82f6; /* Aktif küçük resmi vurgula */
}

.thumbs-swiper .swiper-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* --- YENİ SEKME (TAB) STİLLERİ --- */
/* --- YENİ SEKME (TAB) STİLLERİ (TAM RESPONSIVE - NİHAİ SÜRÜM) --- */

/* --- YENİ SEKME (TAB) STİLLERİ (TAMAMEN ESNEK - NİHAİ SÜRÜM) --- */

/* ======================================= */
/* RESPONSIVE SEKME (TAB) STİLLERİ         */
/* ======================================= */

/* ======================================= */
/* ESNEK VE YAN YANA DURAN SEKME (TAB) STİLLERİ */
/* ======================================= */

.tab-buttons {
  display: grid;
  /* Sütunları içeriğe göre otomatik ayarla, hepsi sığmazsa küçült */
  grid-template-columns: repeat(3, minmax(0, 1fr)); 
  border-bottom: 1px solid #e5e7eb;
}

.tab-button {
  padding: 1rem 0.5rem; /* Yan boşlukları dar tutarak yer kazanalım */
  font-weight: 600;
  color: #6b7280;
  border-bottom: 3px solid transparent;
  transition: all 0.3s ease;
  white-space: nowrap;  /* Metinlerin alt satıra kaymasını engelle */
  text-align: center;
  
  /* Taşma durumunda metnin sonuna "..." ekle (güvenlik önlemi) */
  overflow: hidden;
  text-overflow: ellipsis;

  /* Font boyutunu dar ekranlarda biraz küçültelim */
  font-size: 0.9rem; /* Yaklaşık 14.4px */
}

/* Aktif olan butonun stili */
.tab-button.active {
  color: #3b82f6;
  border-bottom-color: #3b82f6;
}

.tab-button:not(.active):hover {
  background-color: #f9fafb;
}

/* ============================================================== */
/* MASAÜSTÜ GÖRÜNÜMÜ (Ekran 640px'den geniş olduğunda)           */
/* ============================================================== */
@media (min-width: 640px) {
  .tab-button {
    /* Daha geniş ekranlarda font boyutunu normale döndür */
    font-size: 1rem; /* 16px */
  }
}
/* --- Medya Sorguları Bu Çözümde Gerekli Değildir --- */

/* --- Bu kısımlar aynı kalıyor --- */
.tab-content {
  padding: 1.5rem;
}

.tab-pane {
  display: none;
}

.tab-pane.active {
  display: block;
}
/* Harita iframe'i için stil */
#tab-konum {
    padding: 0; /* Haritanın tam oturması için */
}



.price-box {
  background-color: #ffffff;
  border-radius: 8px;
  box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  overflow: hidden; /* Kenarlıkların düzgün görünmesi için */
  border: 1px solid #e5e7eb; /* İnce bir çerçeve */
}

.price-header {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 16px;
  background-color: #f9fafb; /* Çok açık gri bir arka plan */
  border-bottom: 1px solid #e5e7eb;
  font-weight: 600;
  color: #4b5563; /* Başlık için yumuşak bir gri */
  font-size: 1rem;
}

.price-icon {
  color: #6b7280; /* İkon rengi */
}

.price-amount {
  padding: 24px 16px;
  font-size: 2.5rem; /* 40px */
  font-weight: 700; /* bold */
  text-align: center;
  color: #111828; /* SİZİN İSTEDİĞİNİZ MARKA RENGİ */
  line-height: 1.2;
}

.price-footer {
  background-color: #f9fafb;
  padding: 10px 16px;
  font-size: 0.8rem; /* 12px */
  text-align: center;
  color: #6b7280;
  border-top: 1px solid #e5e7eb;
}


/* ======================================= */
/* TEMEL SAYFA STİLLERİ                    */
/* ======================================= */

.prose { 
  line-height: 1.75; 
}
.prose p { 
  margin-bottom: 1em; 
}

/* ======================================= */
/* RESİM GALERİSİ (SWIPER) STİLLERİ         */
/* ======================================= */

.main-swiper { height: 400px; width: 100%; border-radius: 8px; margin-bottom: 10px; }
.main-swiper .swiper-slide img { width: 100%; height: 100%; object-fit: cover; }
.thumbs-swiper { height: 80px; box-sizing: border-box; padding: 10px 0; }
.thumbs-swiper .swiper-slide { width: 25%; height: 100%; opacity: 0.6; cursor: pointer; border-radius: 4px; overflow: hidden; }
.thumbs-swiper .swiper-slide-thumb-active { opacity: 1; border: 2px solid #3b82f6; }
.thumbs-swiper .swiper-slide img { width: 100%; height: 100%; object-fit: cover; }

/* ======================================= */
/* SEKME (TAB) STİLLERİ                    */
/* ======================================= */

.tab-buttons { display: flex; border-bottom: 1px solid #e5e7eb; }
.tab-button { padding: 1rem 1.5rem; font-weight: 600; color: #6b7280; border-bottom: 3px solid transparent; transition: all 0.3s ease; }
.tab-button:hover { background-color: #f9fafb; }
.tab-button.active { color: #3b82f6; border-bottom-color: #3b82f6; }
.tab-content { padding: 1.5rem; }
.tab-pane { display: none; }
.tab-pane.active { display: block; }
#tab-konum { padding: 0; }

/* ======================================= */
/* PROFESYONEL FİYAT KUTUSU STİLLERİ       */
/* ======================================= */

.price-box { background-color: #ffffff; border-radius: 8px; box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1); overflow: hidden; border: 1px solid #e5e7eb; }
.price-header { display: flex; align-items: center; gap: 10px; padding: 12px 16px; background-color: #f9fafb; border-bottom: 1px solid #e5e7eb; font-weight: 600; color: #4b5563; font-size: 1rem; }
.price-icon { color: #6b7280; }
.price-amount { padding: 24px 16px; font-size: 2.5rem; font-weight: 700; text-align: center; color: #111828; line-height: 1.2; }
.price-footer { background-color: #f9fafb; padding: 10px 16px; font-size: 0.8rem; text-align: center; color: #6b7280; border-top: 1px solid #e5e7eb; }

/* ======================================================== */
/* DİĞER İLANLAR & ANALİZ BÖLÜMÜ STİLLERİ (BİRLEŞTİRİLMİŞ)  */
/* ======================================================== */

/* Turuncu Sıralama Bilgi Kutusu */
/* Turuncu Sıralama Bilgi Kutusu - Düzeltilmiş */
.siralama-bilgi-kutusu {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.5rem;
  background-color: #f97316;
  color: white;
  padding: 0.75rem 1rem; /* Başlangıç boşluğu */
  border-radius: 8px;
  font-weight: 600;
  margin-top: -0.5rem;
  margin-bottom: 2rem;
  text-align: right;

  /* MASAÜSTÜ için varsayılan font boyutu (örneğin 14px) */
  font-size: 0.275rem; 
  transition: all 0.2s ease-in-out;
}

/* Ortalama m² Fiyatı Bilgi Kutusu */
.ortalama-fiyat-bilgisi {
  background-color: #f3f4f6;
  color: #374151;
  padding: 0.75rem 1rem;
  border-radius: 8px;
  margin-bottom: 1rem;
  font-size: 0.9rem;
  text-align: center;
}
.ortalama-fiyat-bilgisi strong {
  font-weight: 700;
}

/* Diğer İlanlar Listesi Ana Elemanı */
.diger-ilan-item {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1rem;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  margin-bottom: 0.75rem;
  transition: all 0.3s ease;
  text-decoration: none;
  color: inherit;
}
.diger-ilan-item:hover {
  border-color: #3b82f6;
  box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  transform: translateY(-2px);
}
.diger-ilan-item.ana-ilan-vurgu {
  background-color: #eff6ff;
  border-color: #3b82f6;
}

/* Liste İçindeki Elementler */
.ilan-sira-no { font-size: 1.25rem; font-weight: 700; color: #9ca3af; flex-shrink: 0; }
.diger-ilan-bilgi { flex-grow: 1; min-width: 0; }
.diger-ilan-baslik { font-weight: 600; color: #1f2937; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.diger-ilan-detaylar { display: flex; align-items: center; justify-content: space-between; margin-top: 0.5rem; }
.diger-ilan-fiyat { font-size: 1.125rem; font-weight: 700; color: #3b82f6; white-space: nowrap; }

/* Fiyat Fark Göstergesi (Yukarı/Aşağı Oklar) */
.fiyat-fark-gostergesi { display: flex; align-items: center; gap: 0.25rem; font-weight: 600; font-size: 0.875rem; }
.fiyat-fark-gostergesi.yukari { color: #ef4444; }
.fiyat-fark-gostergesi.asagi { color: #10b981; }

/* "En Uygun" Etiketleri */
.en-uygun-etiket {
  color: white;
  font-size: 0.75rem;
  font-weight: bold;
  padding: 4px 10px;
  border-radius: 12px;
  text-transform: uppercase;
  flex-shrink: 0;
}
.en-uygun-etiket.yesil { background-color: #10b981; }
.en-uygun-etiket.turuncu { background-color: #f97316; }


/* Genişliği 420px ve daha dar olan ekranlar için özel stiller */
@media (max-width: 420px) {

  /* Liste elemanlarının iç boşluklarını azaltalım */
  .diger-ilan-item {
    padding: 0.75rem;
    gap: 0.75rem;
  }

  /* Sıra numarasını biraz küçültelim */
  .ilan-sira-no {
    font-size: 1.1rem;
  }

  /* Başlığı biraz küçültelim */
  .diger-ilan-baslik {
    font-size: 0.9rem; /* 14px */
    margin-bottom: 0.5rem; /* Fiyatla arasını açalım */
  }
  
  /* Fiyatı biraz küçültelim */
  .diger-ilan-fiyat {
    font-size: 1rem; /* 16px */
  }

  /* Yüzde farkı göstergesini biraz küçültelim */
  .fiyat-fark-gostergesi {
    font-size: 0.8rem; /* ~13px */
  }

  /* Etiketleri (En Uygun vb.) biraz küçültelim */
  .en-uygun-etiket {
    padding: 3px 8px;
    font-size: 0.7rem; /* ~11px */
  }
}

/* MOBİL için özel (daha küçük) font boyutu */
@media (max-width: 768px) {
  .siralama-bilgi-kutusu {
    font-size: 0.75rem; /* ~12px */
    padding: 0.5rem 0.8rem;
    gap: 0.4rem;
  }
}


/* ======================================= */
/* DEĞER ANALİZİ KARTI STİLLERİ (YENİ)     */
/* ======================================= */

.deger-karti-container {
  background-color: #ffffff;
  border-radius: 8px;
  box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  border: 1px solid #e5e7eb;
  overflow: hidden;
}

/* Kart Başlığı */
.deger-karti-baslik {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.75rem 1rem;
  background-color: #f9fafb;
  border-bottom: 1px solid #e5e7eb;
  font-weight: 700;
  color: #374151;
}

/* Ana Sonuç Göstergesi */
.firsat-gostergesi {
  padding: 1rem;
  text-align: center;
  font-size: 1.125rem; /* 18px */
  line-height: 1.6;
}
.firsat-gostergesi strong {
  font-size: 1.5rem; /* 24px */
  font-weight: 700;
}
.firsat-gostergesi strong.ustunde { color: #ef4444; } /* Kırmızı */
.firsat-gostergesi strong.altinda { color: #10b981; } /* Yeşil */
.firsat-gostergesi strong.uygun { color: #3b82f6; } /* Mavi */

/* Değer Faktörleri */
.deger-analizi-detay {
  padding: 1rem;
  border-top: 1px solid #e5e7eb;
  border-bottom: 1px solid #e5e7eb;
}
.faktor-baslik {
  font-weight: 700;
  margin-bottom: 0.75rem;
  font-size: 0.9rem;
  color: #1f2937;
}
#faktorler-listesi {
  list-style: none;
  padding: 0;
  margin: 0;
  font-size: 0.875rem;
  color: #4b5563;
}
#faktorler-listesi li {
  display: flex;
  justify-content: space-between;
  padding: 0.5rem 0;
  border-bottom: 1px dashed #e5e7eb;
}
#faktorler-listesi li:last-child {
  border-bottom: none;
}
#faktorler-listesi .faktor-puan {
  font-weight: 600;
}
#faktorler-listesi .faktor-puan.pozitif { color: #10b981; }
#faktorler-listesi .faktor-puan.negatif { color: #ef4444; }

/* Sonuç Cümlesi */
.sonuc-cumlesi {
  padding: 1rem;
  background-color: #f9fafb;
  font-size: 0.875rem;
  text-align: center;
  color: #374151;
  font-style: italic;
  line-height: 1.6;
}
.sonuc-cumlesi strong { font-weight: 700; font-style: normal; }


/* ======================================= */
/* "NASIL HESAPLANIR?" POP-UP STİLLERİ     */
/* ======================================= */

/* Link Stili */
.nasil-hesaplanir-link {
  padding: 0.75rem 1rem;
  background-color: #f9fafb;
  text-align: center;
}
.nasil-hesaplanir-link a {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.8rem;
  color: #6b7280;
  font-weight: 600;
  text-decoration: none;
  transition: color 0.3s ease;
}
.nasil-hesaplanir-link a:hover {
  color: #3b82f6;
}

/* Modal Arka Planı */

.modal-overlay.hidden {
  display: none;
}

.modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.6);
  z-index: 10000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
}

/* Modal İçerik Kutusu */
.modal-icerik {
  background-color: white;
  border-radius: 12px;
  box-shadow: 0 10px 30px rgba(0,0,0,0.2);
  width: 100%;
  max-width: 480px; /* GENİŞLİĞİ BİRAZ AZALTTIK */
  height: 90vh; /* YÜKSEKLİĞİ EKRANIN %90'I İLE SINIRLADIK */
  max-height: 550px; /* MAKSİMUM YÜKSEKLİĞİ BELİRLEDİK */
  animation: slide-down 0.6s ease-out;
  /* İçeriğin esnek bir şekilde yerleşmesi için flex yapısı ekledik */
  display: flex;
  flex-direction: column;
}

/* Modal Başlığı */
.modal-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1rem 1.5rem;
  border-bottom: 1px solid #e5e7eb;
}
.modal-baslik {
  font-size: 1.25rem;
  font-weight: 700;
  color: #1f2937;
}
.modal-kapat-btn {
  background: none;
  border: none;
  font-size: 2rem;
  font-weight: 300;
  line-height: 1;
  color: #9ca3af;
  cursor: pointer;
  transition: color 0.3s ease;
}
.modal-kapat-btn:hover {
  color: #374151;
}

/* Modal Gövdesi */
.modal-govde {
  padding: 1.5rem;
  color: #4b5563;
  overflow-y: auto; /* İÇERİK SIĞMAZSA KAYDIRMA ÇUBUĞU ÇIKARIR */
  flex-grow: 1; /* Esneyerek başlık ve altbilgi dışındaki tüm boş alanı doldurur */
}
.modal-govde > p {
  margin-bottom: 1.5rem;
  line-height: 1.6;
}

/* Adım Adım Açıklama Stilleri */
.adim {
  display: flex;
  gap: 1rem;
  margin-bottom: 1.25rem;
}
.adim:last-child {
  margin-bottom: 0;
}
.adim-sayi {
  flex-shrink: 0;
  width: 36px;
  height: 36px;
  background-color: #eff6ff;
  color: #3b82f6;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 1.1rem;
}
.adim-aciklama h4 {
  font-weight: 700;
  color: #374151;
  margin-bottom: 0.25rem;
}
.adim-aciklama p {
  font-size: 0.9rem;
  line-height: 1.6;
}

/* Modal Açılış Animasyonu */
@keyframes slide-down {
  from {
    transform: translateY(-30px);
    opacity: 0;
  }
  to {
    transform: translateY(0);
    opacity: 1;
  }
}