/* ===================== ROOT & GLOBAL ===================== */
:root {
  --koy-yellow-1: #FFF3B0;
  --koy-yellow-2: #FFE077;
  --koy-yellow-3: #FFD24D;
  --koy-cream-0: #FBF7EA;
  --koy-cream-1: #F7F1DD;
  --koy-ink: #111;
  --menu-w: min(520px, 62vw);
}

html { font-size: 14px; }
@media (min-width: 768px) { html { font-size: 16px; } }

html, body {
  min-height: 100%;
  background: #f5f1e0;
}

main, .container, .container-fluid {
  background: transparent !important;
}

/* ===================== NAVBAR / HEADER ===================== */
.site-topbar {
  --h: 76px;
  position: sticky;
  top: 0;
  z-index: 1040;
  height: var(--h);
  background: linear-gradient(180deg,
  #f6c900 0%,    /* koyu altın */
  #ffd42c 60%,   /* markanın orijinal tonu */
  #ffea70 100%   /* açık sarı vurgusu */);
  border-bottom: 1px solid rgba(0,0,0,.1);
  box-shadow: 0 2px 10px rgba(0,0,0,.15);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 .75rem;
}
.site-topbar::after {
  content: '';
  position: absolute;
  bottom: -3px;
  left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, rgba(255,255,255,.3), rgba(0,0,0,.15));
  opacity: .3;
}

/* sol logo */
.bar-logo img {
  height: 50px;
  width: auto;
  display: block;
  filter: drop-shadow(0 1px 1px rgba(0,0,0,.25));
}
.bar-left{
  gap: 12px;
}
.brand-wrap{
  line-height: 1;
  text-align:center;
  color:#0B132B;
  text-shadow: 0 1px 0 rgba(255,255,255,.55);
}
.brand-title{
  font-family: Georgia, "Times New Roman", "Libre Baskerville", serif;
  font-weight: 800;
  letter-spacing: .6px;
  font-size: clamp(20px, 2.4vw, 30px);   /* masaüstünde daha iri */
}
.brand-sub{
  font-family: Georgia, "Times New Roman", "Libre Baskerville", serif;
  font-style: italic;
  margin-top: 2px;
  font-size: clamp(11px, 1.2vw, 14px);
  opacity: .9;
}

/* Küçük ekranlarda hafif küçültmeler */
@media (max-width: 576px){
  .site-topbar{ --h: 68px; }
  .bar-logo img{ height: 42px; }
  .brand-title{ font-size: clamp(18px, 5vw, 24px); }
  .brand-sub{ font-size: clamp(11px, 3.4vw, 13px); }
  .bar-divider{ height:24px; }
}



/* orta svg logo */
.brand-logo {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 60px;
}

.brand-svg {
  height: 60px;
  width: auto;
  display: block;
  filter: drop-shadow(0 1px 2px rgba(0,0,0,0.2));
  transition: transform .3s ease;
}

.brand-logo:hover .brand-svg { transform: scale(1.04); }

/* telefon ikonu */
.bar-phone {
  color: #111;
  font-size: 1.25rem;
  transition: transform .2s ease, color .2s ease;
}
.bar-phone:hover { transform: scale(1.1); color: #333; }

/* hamburger */
.hamburger {
  display: inline-flex;
  flex-direction: column;
  gap: 5px;
  width: 34px;
  border: 0;
  background: transparent;
  padding: 0;
  cursor: pointer;
  position: relative;
  z-index: 1100;
  -webkit-tap-highlight-color: transparent;
}

@media (max-width: 991.98px){
  .hamburger {
    display:flex !important;
  }
}
.hamburger span {
  display: block;
  height: 2px;
  background: #111;
  border-radius: 1px;
  transition: transform .2s ease, opacity .2s ease;
}
.hamburger:hover span:nth-child(1){ transform: translateX(2px); }
.hamburger:hover span:nth-child(2){ transform: translateX(6px); }
.hamburger:hover span:nth-child(3){ transform: translateX(10px); }
.hamburger.is-active span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.hamburger.is-active span:nth-child(2){ opacity:0; }
.hamburger.is-active span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }


.bar-divider{
  width:1px; height:28px;
  background: linear-gradient(to bottom, rgba(0,0,0,.15), rgba(0,0,0,.35));
  border-radius:1px;
  margin: 0 6px;
  box-shadow: 0 1px 0 rgba(255,255,255,.35) inset;
}



/* ===================== OFF-CANVAS MENU ===================== */
.mega-menu {
  position: fixed;
  top: 0;
  left: 0;
  width: var(--menu-w);
  height: 100vh;
  transform: translateX(-100%);
  transition: transform .25s ease;
  background: linear-gradient(180deg, #f6c900 0%, #ffd42c 60%, #ffea70 100%);
  color: #111;
  z-index: 10010;
  display: flex;
  flex-direction: column;
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  box-shadow: 6px 0 24px rgba(0,0,0,.25);
  backdrop-filter: blur(6px);
}

.mega-menu.open {
  transform: none;
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
}

.mega-head {
  padding: 16px 18px;
  border-bottom: 1px solid rgba(0,0,0,.08);
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.menu-logo { height: 36px; width: auto; }
.menu-brand { font-weight: 800; font-size: 1.05rem; }
.menu-close { border: 0; background: transparent; font-size: 1.1rem; line-height: 1; }

.mega-list { padding: 14px 10px 22px 10px; }

.mega-link {
  display: block;
  padding: 14px 18px;
  margin: 4px 10px;
  color: #111;
  text-decoration: none;
  border-radius: .75rem;
  font-weight: 700;
  transition: background .15s ease, transform .15s ease;
  cursor: pointer;
}
.mega-link:hover { background: rgba(0,0,0,.06); transform: translateX(2px); }
.mega-link.is-active { background: rgba(0,0,0,.08); }

.menu-backdrop {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: var(--menu-w);
  background: rgba(0,0,0,.35);
  z-index: 10000;
  opacity: 0;
  visibility: hidden;
  transition: opacity .25s ease;
}
.menu-backdrop.show { opacity: 1; visibility: visible; }

body.menu-open { overflow: hidden; touch-action: none; }

/* ===================== HERO ===================== */
.hero-parallax {
  position: relative;
  height: 680px;
  padding-top: 0;
  background-image: url('/Images/hero-jpg.jpg') ;
  background-size: cover;
  background-position: center -150px;
  background-attachment: fixed;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  color: #fff;
  text-align: center;
}
@media (max-width: 768px) {
  .hero-parallax {
    height: 950px;
    padding-top: 60px;
    background-position: center top;
    background-attachment: fixed; /* mobilde performans için */
  }
}
.hero-parallax::before {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.25); 
}
.hero-overlay { position: relative; z-index: 1; margin-bottom: 40px;}
.hero-title { font-size: 3rem; font-weight: 700; margin-bottom: .5rem; }
.hero-subtitle { font-size: 1.25rem; font-weight: 400; }

/* ===================== FOOTER ===================== */
.site-footer {
  background: linear-gradient(
          to bottom,
          rgba(255,212,44,1) 0%,
          rgba(255,212,44,0.9) 30%,
          rgba(255,212,44,0.7) 60%,
          rgba(255,212,44,0.4) 100%
  );
  color: #000;
}
.site-footer a { color: inherit; text-decoration: none; }
.site-footer .footer-logo { max-height: 60px; margin-bottom: 0; }
.site-footer h5 { font-size: 1rem; margin-bottom: .5rem; color: #000; }
.site-footer address, .site-footer p { font-size: .9rem; line-height: 1.4; }

/* ===================== RESPONSIVE ===================== */
@media (max-width: 420px) {
  .bar-logo img { height: 50px; }
  .mega-link { padding: 12px 16px; }
  .hero-title { font-size: 2rem; }
  .hero-subtitle { font-size: 1rem; }
}

/* Masaüstü: fixed + geniş yükseklik 
.hero-parallax {
  height: 600px;
  background-attachment: fixed;
  background-position: center 18%;
  background-size: cover;
}



 */
/* Tablet (md) */
@media (max-width: 1024px) {
  .hero-parallax {
    height: 620px;
  }
}

/* Mobil: performans için fixed kapat, yükseklik artır */
@media (max-width: 768px) {
  .hero-parallax {
    height: 560px;
    background-attachment: scroll; /* mobilde daha akıcı */
  }
}


/* === Emlakçı Belgeleri (modern grid) === */
.agent-documents-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 2rem;
  margin-top: 2rem;
}

/* Kart */
.agent-card {
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 2px 10px rgba(0,0,0,0.08);
  padding: 1.5rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  transition: transform .2s ease, box-shadow .2s ease;
}
.agent-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 6px 16px rgba(0,0,0,0.12);
}

/* Profil fotoğrafı */
.agent-card img.agent-photo {
  width: 110px;
  height: 110px;
  object-fit: cover;
  border-radius: 50%;
  border: 3px solid #FFD42C;
  margin-bottom: 1rem;
}

/* Ad soyad */
.agent-card .agent-name {
  font-weight: 600;
  font-size: 1.1rem;
  margin-bottom: .8rem;
  text-align: center;
}

/* Belge fotoğrafı (sabit oranda kare veya 4:3 oranı) */
.agent-card .agent-doc-image {
  width: 100%;
  aspect-ratio: 4/3;
  object-fit: cover;
  border-radius: 10px;
  margin-top: auto;
}

/* Mobil optimizasyon */
@media (max-width: 768px) {
  .agent-card {
    padding: 1rem;
  }
  .agent-card img.agent-photo {
    width: 90px; height: 90px;
  }
}


.listing-card{
  display: flex;
  flex-direction: column;
}
.listing-body {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
}

.listing-actions{
  margin-top:auto;
  padding-top: .75rem;
}



.breadcrumb-modern{
  background:rgba(255, 255, 255, 0.6);
  backdrop-filter: blur(6px);
  border-bottom: 1px solid rgba(0,0,0,.08);
  box-shadow: 0 2px 6px rgba(0,0,0,.04);
  padding: .5rem 0;
}

.breadcrumb-modern .breadcrumb-container {
  display:flex;
  align-items: center;
  flex-wrap: wrap;
  gap: .5rem;
  padding: .75rem 0;
  font-size: .9rem;
}

.breadcrumb-modern a{
  color:#444;
  text-decoration: none;
  transition: color .2s ease;
}

.breadcrumb-modern a:hover{
  color: #C09700;
}

.breadcrumb-modern .separator {
  color: #bbb;
  font-size: .95rem;
}

.breadcrumb-modern .current {
  color: #333;
  font-weight: 600;
}


.contact-tree{
  max-width: 220px;
  height:auto;
  border-radius: 8px;
  box-shadow: 0 2px 10px rgba(0,0,0,0.1);
}

@media (max-width: 768px) {
  .contact-tree{
    max-width: 160px;
    margin: 0 auto;
    display: block;
  }
}
.protected-image{
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  user-select: none;
  pointer-events: auto;
}
img {
  -webkit-user-drag: none;
  -webkit-touch-callout: none;
  user-select: none;
}

/* ===================== İÇERİK YÜZEYLERİ (content-bg / surface-stroke / manage-section) ===================== */
.content-bg {
  background: #fff;
  box-shadow: 0 2px 10px rgba(0,0,0,.05);
}
.surface-stroke {
  border: 1px solid rgba(0,0,0,.08);
}
.manage-section {
  margin-bottom: 1.5rem;
}

