
/* #223 tipografi — self-host fontlar (Google'a istek yok; latin+latin-ext, display=swap) */
/* latin-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/CormorantGaramond-600-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/CormorantGaramond-600-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/fonts/CormorantGaramond-700-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/fonts/CormorantGaramond-700-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/Manrope-400-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/Manrope-400-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/Manrope-600-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/Manrope-600-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/fonts/Manrope-700-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/fonts/Manrope-700-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(/fonts/Manrope-800-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(/fonts/Manrope-800-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* satisofisi.com — mockup ortak stil */
/* ── #181-Ç1 TASARIM ANAYASASI (2026-08-17) ──────────────────────────────
   Tek kaynak: yeni kod HEX yazmaz, token kullanır. Mevcut stiller kademeli
   olarak (Kıbrıs sayfalarından başlayarak) bu tokenlara taşınır.
   Buton anayasası (Ç2): .btn-primary = LEAD bırakma (sitede TEK renk),
   .btn-gold eski adıyla aynı şeydir; .btn-dark/.btn-line ikincil; .btn-ghost gezinme. */
:root{
  --murekkep:#10233F;      /* ana metin/koyu zemin */
  --zemin:#F5F0E6;         /* sayfa zemini */
  --yuzey:#ffffff;         /* kart zemini */
  --birincil:#BE9B48;      /* LEAD/CTA — sitede tek birincil renk */
  --birincil-koyu:#A5842E;
  --vurgu:#0f766e;         /* bilgi/araç vurgusu (teal) */
  --vurgu-zemin:#f0fdfa;
  --basari:#166534; --basari-zemin:#f0fdf4; --basari-cizgi:#bbf7d0;
  --uyari:#92400e;  --uyari-zemin:#FAF4E3;  --uyari-cizgi:#E9D9A8;
  --nots:#64748b;          /* ikincil metin */
  --cizgi:#E5DDCB;         /* sınır */
  --r-kucuk:7px; --r-orta:10px;
  /* #223 (Ercan 2026-08-24): "Site dark mode, su an light mode da olsun. Gecis yapilabilsin."
     OLCUM: body zaten acik (#F5F0E6). Koyu izlenimi veren sey BANTLAR -- ust cubuk, anasayfadaki
     piyasa bolumu ve alt bilgi. Bu yuzden once BANT belirtecleri ayrildi; tema degistirici
     yalniz bu uc yuzeyi cevirir. (Sitede 733 CSS + 1.360 blade satir-ici sabit renk var;
     tamami ayri alt gorevde ele alinir -- hepsini birden cevirmek yuksek riskli.) */
  --bant-zemin:#10233F;      /* bant zemini (ust cubuk / alt bilgi / koyu bolum) */
  --bant-metin:#94a3b8;      /* bant ikincil metni */
  --bant-baslik:#ffffff;     /* bant baslik/vurgu metni */
  --bant-cizgi:rgba(255,255,255,.08);
  --golge-kart:0 1px 3px rgba(16,35,63,.08);
  --golge-yukari:0 12px 30px rgba(0,0,0,.25);
}

/* #223 — ACIK TEMA: yalniz bant belirtecleri degisir; geri kalan palet aynidir.
   `<html data-tema="acik">` ile etkinlesir, tercih localStorage'ta saklanir. */
html[data-tema="acik"]{
  --bant-zemin:#FAF6EC;
  --bant-metin:#475569;
  --bant-baslik:#10233F;
  --bant-cizgi:#E5DDCB;
  /* Ust cubuktaki secici/dugme yuzeyleri: koyu temada saydam BEYAZ, acik temada
     saydam SIYAH olmali; aksi halde krem zeminde beyaz uzerine beyaz cikiyor. */
  --bant-sec-zemin:rgba(16,35,63,.06);
  --bant-sec-zemin-hover:rgba(16,35,63,.12);
  --bant-sec-cizgi:#D8CDB4;
  --bant-sec-metin:#475569;
  /* Bant ICINDEKI kutular: 1. fazda yalniz bolum zeminini cevirmistim, ic kutular koyu
     kalinca lacivert metin lacivert zeminde okunmuyordu (staging'de olculdu, kontrast 1.05). */
  --bant-ic-zemin:#ffffff;
  --bant-ic-cizgi:#E5DDCB;
  --bant-vurgu:#8C6D25;
  /* Acik zeminde pastel yesil/kirmizi okunmuyor (kontrast 1.38); koyu tonlar kullanilir. */
  --bant-arti:#166534;
  --bant-eksi:#B91C1C;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;background:#F5F0E6;color:#10233F;line-height:1.5;font-size:14px;-webkit-font-smoothing:antialiased}
a{text-decoration:none;color:inherit}
ul{list-style:none}
img{max-width:100%;display:block}

/* ── TOP BAR ── */
.topbar{background:var(--bant-zemin);position:sticky;top:0;z-index:200;box-shadow:0 2px 12px rgba(0,0,0,.3)}
.ctr{max-width:1280px;margin:0 auto;padding:0 20px}
.topbar-inner{display:flex;align-items:center;height:56px;gap:16px}
.logo-block{display:flex;flex-direction:column;flex-shrink:0}
/* #224 — metinler ARALARINDA baseline hizasında dursun (".com" marka adının tabanına
   otursun); mühür SVG'si baseline'a katılmaz, kendi hizasını korur (aşağıda). */
.logo{display:flex;align-items:baseline;gap:8px;font-size:20px;font-weight:900;color:var(--bant-baslik);letter-spacing:-.5px;line-height:1;text-decoration:none}
.logo b{font-weight:900}
.logo-muhur{flex-shrink:0;transform:rotate(-8deg);align-self:center}
/* #224 (Ercan 2026-08-20: ".com kısmı kaymış") — ÖLÇÜLDÜ: iki kusur üst üste binmişti.
   (1) align-self:flex-end, ".com"u kutunun ALTINA yapıştırıyordu; marka adı Cormorant
   (serif) ile büyüdüğünden kayma iyice görünür oldu. (2) .logo'daki flex gap:8px mühür
   için konmuştu ama "satisofisi" ile ".com" arasına da giriyordu → araya boşluk.
   Çözüm: yazı tabanına hizala (baseline) + gap'i negatif kenarla telafi et. */
.logo-uzanti{color:var(--bant-metin);font-weight:700;font-size:.62em;align-self:baseline;margin-left:-6px;letter-spacing:0}
.topbar-search{flex:1;max-width:480px;position:relative}
.topbar-search input{width:100%;padding:9px 42px 9px 14px;border:none;border-radius:6px;font-size:14px;outline:none;background:#17304E;color:#E5DDCB;font-family:inherit;border:1px solid #33415C}
.topbar-search input::placeholder{color:#64748b}
.topbar-search button{position:absolute;right:4px;top:50%;transform:translateY(-50%);background:#BE9B48;color:#10233F;border:none;width:36px;height:36px;border-radius:5px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-weight:800}
.topbar-nav{display:flex;gap:20px;align-items:center;margin-inline-start:auto}
.topbar-nav a{font-size:13px;font-weight:600;color:var(--bant-metin);transition:color .18s}
.topbar-nav a:hover,.topbar-nav a.active{color:#BE9B48}
/* #182 — "Rehber" acilir menusu. JS YOK: <details>/<summary> ile calisir, klavyeyle
   gezilebilir, JS kapaliyken de acilir. Ileride kategori eklenince (yatirim, golden visa)
   ust bar buyumez, liste uzar. */
.nav-acilir{position:relative}
.nav-acilir>summary{font-size:13px;font-weight:600;color:#94a3b8;cursor:pointer;list-style:none;
  transition:color .18s;user-select:none;white-space:nowrap}
.nav-acilir>summary::-webkit-details-marker{display:none}
.nav-acilir>summary::after{content:'▾';margin-left:5px;font-size:10px;opacity:.8}
.nav-acilir>summary:hover,.nav-acilir>summary.active,.nav-acilir[open]>summary{color:#BE9B48}
.nav-acilir>summary:focus-visible{outline:2px solid #BE9B48;outline-offset:3px;border-radius:4px}
.nav-acilir-ic{position:absolute;top:calc(100% + 10px);left:50%;transform:translateX(-50%);
  min-width:172px;background:#10233F;border:1px solid #17304E;border-radius:10px;
  box-shadow:0 12px 30px rgba(0,0,0,.35);padding:6px;display:flex;flex-direction:column;gap:2px;z-index:60}
.nav-acilir-ic a{display:block;padding:8px 12px;border-radius:7px;font-size:13px;white-space:nowrap}
.nav-acilir-ic a:hover,.nav-acilir-ic a.active{background:#17304E;color:#BE9B48}
.topbar-actions{display:flex;gap:8px;align-items:center;flex-shrink:0}
/* #185 — dil secim kutusu. Dort dil olunca yan yana dort dugme ust bari tasiriyordu.
   Etiket ekranda gorunmez ama ekran okuyucuya OKUNUR (tamamen kaldirmak erisilebilirligi
   bozardi: kutunun ne oldugu anlasilmazdi). */
.gizli-etiket{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}
/* DIKKAT (2026-08-22): gorsel gizlemede `left:-9999px` KULLANMA.
   LTR'de tarayici sola tasan icerigi kaydirilabilir saymaz; RTL'de (fa/ar) kaydirma
   ekseni ters oldugu icin AYNI kural 10.000 piksellik yatay kaydirma uretir.
   Olculdu: Farsca makale sayfasinda scrollWidth 11.265px / clientWidth 1.265px;
   sebep tek bir `<label style="left:-9999px">` idi. Bal kupu (honeypot) alanlari da
   ayni tuzaga dusuyordu -> .hp-gizli kullanin. */
.hp-gizli{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0 0 0 0);clip-path:inset(50%);opacity:0;border:0}
.dil-sec{appearance:none;-webkit-appearance:none;background:var(--bant-sec-zemin,rgba(255,255,255,.06));
  color:var(--bant-sec-metin,#E5DDCB);border:1px solid var(--bant-sec-cizgi,rgba(255,255,255,.18));border-radius:8px;
  padding:5px 26px 5px 9px;font-size:12.5px;font-weight:700;cursor:pointer;line-height:1.2;
  background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath fill='%2394a3b8' d='M0 0h10L5 6z'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 9px center}
.dil-sec:hover{background-color:var(--bant-sec-zemin-hover,rgba(255,255,255,.12))}
.dil-sec:focus-visible{outline:3px solid #BE9B48;outline-offset:2px}
.dil-sec option{background:var(--bant-zemin);color:var(--bant-metin)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 16px;border-radius:6px;font-size:13px;font-weight:700;cursor:pointer;transition:.18s;border:none;font-family:inherit;white-space:nowrap}
.btn-ghost{background:transparent;color:var(--bant-metin);border:1px solid var(--bant-sec-cizgi,#33415C)}
.btn-ghost:hover{background:#17304E;color:#fff}
.btn-gold{background:var(--birincil);color:var(--murekkep)}
.btn-gold:hover{background:var(--birincil-koyu)}
/* Ç2 — anayasa adı: .btn-primary === .btn-gold (LEAD CTA'sı; sitede tek birincil renk) */
.btn-primary{background:var(--birincil);color:var(--murekkep)}
.btn-primary:hover{background:var(--birincil-koyu)}
.btn-dark{background:#10233F;color:#fff}
.btn-dark:hover{background:#17304E}
.btn-line{background:#fff;color:#10233F;border:1.5px solid #E5DDCB}
.btn-line:hover{background:#10233F;color:#fff;border-color:#10233F}
.btn-sm{padding:6px 12px;font-size:12px}
.btn-lg{padding:12px 24px;font-size:14px;border-radius:8px}

/* ── FEED FILTER BAR ── */
.filter-bar{background:#fff;border-bottom:2px solid #E5DDCB;padding:0;position:relative;z-index:100}
.filter-bar-inner{display:flex;align-items:center;gap:4px 2px;flex-wrap:wrap;padding:8px 0;min-height:46px}
.filter-tab{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;font-size:13px;font-weight:700;color:#64748b;cursor:pointer;border:1.5px solid #E5DDCB;border-radius:20px;transition:.15s;white-space:nowrap}
.filter-tab:hover{color:#10233F;border-color:#cbd5e1}
.filter-tab.active{color:#10233F;border-color:#BE9B48;background:#FAF4E3}
.filter-bar-sep{width:1px;height:24px;background:#E5DDCB;flex-shrink:0}
.filter-tag{display:inline-flex;align-items:center;gap:5px;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:700;cursor:pointer;transition:.15s;border:1.5px solid #E5DDCB;background:#FAF6EC;color:#475569;margin:0 4px;flex-shrink:0}
.filter-tag:hover,.filter-tag.active{background:#BE9B48;color:#10233F;border-color:#BE9B48}
.filter-tag-wrap{display:flex;align-items:center;padding:0 12px;gap:4px;border-left:1px solid #E5DDCB}

/* ── LAYOUTS ── */
.feed-layout{display:grid;grid-template-columns:300px 1fr 280px;gap:20px;max-width:1280px;margin:0 auto;padding:20px;align-items:start}
.two-col{display:grid;grid-template-columns:1fr 320px;gap:20px;max-width:1100px;margin:0 auto;padding:20px;align-items:start}
.one-col{max-width:1100px;margin:0 auto;padding:20px}

/* ── SIDEBARS ── */
/* paneller sayfayla birlikte normal akışta kayar — sabit DEĞİL, hiçbir kutu kırpılmaz, alta kadar ulaşılır */
.sidebar-left,.sidebar-right{display:flex;flex-direction:column;gap:16px;align-self:stretch}
/* #126 — akış yan panelleri çift yönlü sticky: içerik sarmalayıcı yapışır, yön JS'te */
/* #126 (2026-07-17, Ercan 'hala bozuk'): cift-yonlu JS sticky kaldirildi — yon-degisim marj telafisi
   sayfa-sonu/yon-donusu durumlarinda panelleri boslukta birakiyordu. Sektor-standardi desen:
   saf CSS ust-sticky + viewport'a sigmayan panel icerigi panel icinde ince kaydirmayla gezilir (jam imkansiz). */
/* #126 rev3 (Ercan: kaydirma kutu ortadan kesiyor): ic kaydirma da kaldirildi — DUZ ust-sticky.
   Panel viewport'tan uzunsa alt kutular ekran disinda kalir (dogal kesim, kutu ortasindan degil);
   kutu sayisini azaltma/siralama karari Ercan'a soruldu (#126 cevabi). */
.sdb-sticky{position:sticky;top:72px;display:flex;flex-direction:column;gap:16px;height:fit-content}
.sdb-card{background:#fff;border:1px solid #E5DDCB;border-radius:14px;overflow:hidden}
.sdb-head{padding:14px 16px;border-bottom:1px solid #F5F0E6;display:flex;justify-content:space-between;align-items:center}
.sdb-head h4{font-size:13px;font-weight:800;color:#10233F}
.sdb-head a{font-size:11px;font-weight:700;color:#BE9B48;cursor:pointer}
.sdb-body{padding:8px 0}

.follow-item{display:flex;align-items:center;gap:10px;padding:8px 16px;transition:.12s;cursor:pointer}
.follow-item:hover{background:#FAF6EC}
.follow-logo{width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:900;color:#fff;flex-shrink:0}
.follow-info{flex:1;min-width:0}
.follow-name{font-size:13px;font-weight:700;color:#10233F;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.follow-meta{font-size:11px;color:#64748b}
.follow-new{width:8px;height:8px;border-radius:50%;background:#BE9B48;flex-shrink:0}
.follow-actions{display:flex;align-items:center;gap:6px;padding:10px 16px;border-top:1px solid #F5F0E6}

.filter-section-label{font-size:10px;font-weight:800;color:#94a3b8;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}
.filter-chips{display:flex;flex-wrap:wrap;gap:6px}
.chip{padding:5px 10px;border-radius:20px;font-size:11px;font-weight:700;cursor:pointer;border:1.5px solid #E5DDCB;background:#FAF6EC;color:#475569;transition:.12s}
.chip:hover,.chip.on{background:#BE9B48;color:#10233F;border-color:#BE9B48}

.bolge-item{display:flex;align-items:center;justify-content:space-between;padding:7px 16px;cursor:pointer;transition:.1s;gap:8px}
.bolge-item:hover{background:#FAF6EC}
.bolge-item.on .bolge-name{color:#BE9B48;font-weight:800}
.bolge-name{font-size:13px;font-weight:600;color:#10233F;flex:1}
.bolge-count{font-size:11px;color:#94a3b8;background:#F5F0E6;border-radius:10px;padding:1px 7px}
.bolge-item.on .bolge-count{background:#fef3c7;color:#A5842E}
.bolge-radio{width:14px;height:14px;border-radius:50%;border:2px solid #cbd5e1;flex-shrink:0;transition:.12s}
.bolge-item.on .bolge-radio{border-color:#BE9B48;background:#BE9B48}

/* ── FEED ── */
.feed-col{display:flex;flex-direction:column;gap:0;min-width:0}
.feed-sort{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;padding:0 2px;gap:8px;flex-wrap:wrap}
.sort-label{font-size:12px;font-weight:600;color:#64748b}
.sort-options{display:flex;gap:4px}
.sort-btn{padding:5px 12px;border-radius:6px;font-size:12px;font-weight:700;cursor:pointer;border:1.5px solid #E5DDCB;background:#fff;color:#475569;font-family:inherit;transition:.12s}
.sort-btn.active,.sort-btn:hover{background:#10233F;color:#fff;border-color:#10233F}

/* POST CARDS */
.post-card{background:#fff;border:1px solid #E5DDCB;border-radius:14px;margin-bottom:14px;overflow:hidden;transition:.15s}
.post-card:hover{box-shadow:0 4px 24px rgba(0,0,0,.08);border-color:#d1d5db}
.pc-head{display:flex;align-items:center;gap:12px;padding:14px 16px 10px}
.pc-firm-logo{width:44px;height:44px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:900;color:#fff;flex-shrink:0}
.pc-firm-info{flex:1;min-width:0}
.pc-firm-name{font-size:14px;font-weight:800;color:#10233F;cursor:pointer}
.pc-firm-name:hover{color:#BE9B48}
.pc-firm-meta{font-size:12px;color:#64748b;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.pc-firm-meta .dot{width:3px;height:3px;border-radius:50%;background:#cbd5e1}
.pc-head-right{display:flex;align-items:center;gap:8px}
.pc-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:20px;font-size:11px;font-weight:800;white-space:nowrap}
.badge-yeni{background:rgba(239,68,68,.1);color:#dc2626;border:1px solid rgba(239,68,68,.2)}
.badge-kampanya{background:rgba(245,158,11,.1);color:#A5842E;border:1px solid rgba(245,158,11,.2)}
.badge-indirim{background:rgba(34,197,94,.1);color:#16a34a;border:1px solid rgba(34,197,94,.2)}
.badge-analiz{background:rgba(99,102,241,.1);color:#6366f1;border:1px solid rgba(99,102,241,.2)}
.badge-acilis{background:rgba(239,68,68,.12);color:#dc2626;border:1px solid rgba(239,68,68,.25)}
.pc-more{width:28px;height:28px;border-radius:6px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#94a3b8;font-size:16px;font-weight:900;transition:.12s;letter-spacing:1px}
.pc-more:hover{background:#F5F0E6;color:#10233F}

.pc-proje-visual{position:relative;overflow:hidden;display:block}
.proje-img{height:220px;position:relative;display:flex;align-items:center;justify-content:center}
.proje-img-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(16,35,63,.85) 0%,rgba(16,35,63,.1) 55%,transparent 100%)}
.proje-img-data{position:absolute;bottom:0;left:0;right:0;padding:16px 18px;color:#fff}
.proje-img-title{font-size:17px;font-weight:900;margin-bottom:4px;letter-spacing:-.3px}
.proje-img-loc{font-size:12px;color:#cbd5e1;display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.proje-img-price{position:absolute;top:12px;right:12px;background:rgba(16,35,63,.8);backdrop-filter:blur(4px);border:1px solid rgba(255,255,255,.15);border-radius:8px;padding:6px 12px;text-align:right}
.proje-img-price .amount{font-size:15px;font-weight:900;color:#BE9B48;display:block}
.proje-img-price .unit{font-size:10px;color:#94a3b8}

.pc-stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #F5F0E6;border-bottom:1px solid #F5F0E6}
.pc-stat{padding:10px 12px;text-align:center;border-right:1px solid #F5F0E6}
.pc-stat:last-child{border-right:none}
.pc-stat-val{font-size:14px;font-weight:900;color:#10233F;display:block}
.pc-stat-label{font-size:10px;color:#94a3b8;text-transform:uppercase;letter-spacing:.3px}
.pc-stat.highlight .pc-stat-val{color:#16a34a}

.pc-content{padding:12px 16px}
.pc-text{font-size:13px;color:#475569;line-height:1.7;margin-bottom:10px}
.pc-tags{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:2px}
.pc-tag{display:inline-flex;align-items:center;gap:3px;padding:3px 9px;border-radius:12px;font-size:11px;font-weight:700;cursor:pointer;background:#F5F0E6;color:#64748b;transition:.1s}
.pc-tag:hover{background:#fef3c7;color:#A5842E}

.pc-actions{display:flex;align-items:center;gap:0;padding:8px 10px;border-top:1px solid #F5F0E6}
.pc-action-btn{display:flex;align-items:center;gap:6px;padding:7px 12px;border-radius:8px;font-size:12px;font-weight:700;cursor:pointer;color:#64748b;background:transparent;border:none;font-family:inherit;transition:.12s;flex:1;justify-content:center;white-space:nowrap}
.pc-action-btn:hover{background:#FAF6EC;color:#10233F}
.pc-action-btn.liked{color:#dc2626}
.pc-action-btn.saved{color:#BE9B48}
.pc-action-btn.primary{background:#BE9B48;color:#10233F;flex:none;padding:7px 16px}
.pc-action-btn.primary:hover{background:#A5842E}
.pc-actions-sep{width:1px;height:20px;background:#F5F0E6}

/* Kampanya post */
.pc-kampanya{padding:14px 16px 6px}
.kamp-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}
.kamp-title{font-size:16px;font-weight:900;color:#10233F;margin-bottom:4px}
.kamp-subtitle{font-size:12px;color:#64748b}
.kamp-badge-big{background:linear-gradient(135deg,#BE9B48,#A5842E);color:#10233F;border-radius:10px;padding:8px 14px;text-align:center;flex-shrink:0}
.kamp-badge-big .k-pct{font-size:22px;font-weight:900;line-height:1}
.kamp-badge-big .k-lbl{font-size:10px;font-weight:800;text-transform:uppercase}
.kamp-rows{border:1px solid #F5F0E6;border-radius:10px;overflow:hidden;margin-bottom:12px}
.kamp-row{display:flex;justify-content:space-between;padding:9px 14px;border-bottom:1px solid #FAF6EC;font-size:13px;gap:10px}
.kamp-row:last-child{border-bottom:none}
.kamp-row .kl{color:#64748b}
.kamp-row .kv{font-weight:700;text-align:right}
.kamp-row .kv.g{color:#16a34a}
.kamp-row .kv.r{color:#dc2626}
.kamp-verdict-strip{display:flex;align-items:center;gap:8px;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;padding:10px 14px;margin-bottom:12px}
.kamp-verdict-strip .icon{font-size:16px}
.kamp-verdict-strip p{font-size:12px;font-weight:700;color:#166534}
.kamp-verdict-strip.warn{background:#FAF4E3;border-color:#E9D9A8}
.kamp-verdict-strip.warn p{color:#92400e}

/* Analiz post */
.pc-analiz{padding:14px 16px 6px}
.analiz-score-row{display:flex;align-items:center;gap:14px;margin-bottom:12px}
.analiz-score-big{font-size:36px;font-weight:900;color:#BE9B48;line-height:1}
.analiz-score-sub{font-size:11px;color:#94a3b8}
.analiz-title{font-size:15px;font-weight:800;color:#10233F;flex:1;line-height:1.4}
.analiz-excerpt{font-size:13px;color:#475569;line-height:1.7;margin-bottom:12px}
.analiz-meta-row{display:flex;gap:12px;font-size:11px;color:#94a3b8;margin-bottom:10px;flex-wrap:wrap}
.analiz-meta-row span{display:flex;align-items:center;gap:4px}

/* Event post */
.pc-event{padding:0;overflow:hidden}
.event-banner{background:linear-gradient(135deg,#10233F,#1e3a5f);padding:20px 18px;color:#fff;position:relative}
.event-pill{display:inline-flex;align-items:center;gap:5px;background:rgba(245,158,11,.2);border:1px solid rgba(245,158,11,.3);border-radius:20px;padding:3px 12px;font-size:11px;font-weight:800;color:#BE9B48;margin-bottom:10px;position:relative}
.event-pill .dot{width:6px;height:6px;border-radius:50%;background:#BE9B48;animation:pulse 1.4s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.3}}
.event-title{font-size:17px;font-weight:900;margin-bottom:6px;position:relative}
.event-date-row{display:flex;gap:16px;font-size:12px;color:#94a3b8;position:relative;flex-wrap:wrap}
.event-date-row span{display:flex;align-items:center;gap:5px}
.event-body{padding:14px 18px}
.event-loc-map{background:#F5F0E6;border-radius:8px;padding:10px 14px;display:flex;align-items:center;gap:10px;margin-bottom:12px}
.event-loc-map .icon{font-size:20px}
.event-loc-map .loc-info{flex:1}
.event-loc-map .loc-name{font-size:13px;font-weight:700;color:#10233F}
.event-loc-map .loc-addr{font-size:11px;color:#64748b}
.event-loc-map .map-btn{font-size:11px;font-weight:700;color:#BE9B48;cursor:pointer;white-space:nowrap}

/* Right sidebar widgets */
.trend-item{display:flex;align-items:center;gap:12px;padding:9px 16px;transition:.12s;cursor:pointer}
.trend-item:hover{background:#FAF6EC}
.trend-rank{font-size:18px;font-weight:900;color:#E5DDCB;width:24px;text-align:center;flex-shrink:0}
.trend-rank.top{color:#BE9B48}
.trend-info{flex:1;min-width:0}
.trend-name{font-size:13px;font-weight:700;color:#10233F}
.trend-sub{font-size:11px;color:#94a3b8}
.trend-change{font-size:12px;font-weight:800}
.trend-change.up{color:#16a34a}
.trend-change.down{color:#dc2626}

.suggest-item{display:flex;align-items:center;gap:10px;padding:8px 16px;transition:.12s}
.suggest-item:hover{background:#FAF6EC}
.suggest-logo{width:38px;height:38px;border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:900;color:#fff;flex-shrink:0}
.suggest-info{flex:1;min-width:0}
.suggest-name{font-size:13px;font-weight:700;color:#10233F}
.suggest-meta{font-size:11px;color:#64748b}
.suggest-follow-btn{padding:5px 12px;border-radius:6px;font-size:11px;font-weight:800;cursor:pointer;border:1.5px solid #E5DDCB;background:#fff;color:#10233F;font-family:inherit;transition:.12s;white-space:nowrap}
.suggest-follow-btn:hover{background:#10233F;color:#fff;border-color:#10233F}
.suggest-follow-btn.following{background:#f0fdf4;color:#16a34a;border-color:#bbf7d0}

.market-mini{padding:12px 16px}
.mkt-row{display:flex;justify-content:space-between;align-items:center;padding:6px 0;border-bottom:1px solid #FAF6EC;font-size:12px}
.mkt-row:last-child{border-bottom:none}
.mkt-label{color:#64748b;font-weight:600}
.mkt-val{font-weight:800;color:#10233F}
.mkt-val.up{color:#16a34a}
.mkt-val.down{color:#dc2626}

.alarm-mini{padding:14px 16px}
.alarm-mini p{font-size:12px;color:#64748b;margin-bottom:10px;line-height:1.6}
.alarm-mini input{width:100%;border:1.5px solid #E5DDCB;border-radius:7px;padding:8px 12px;font-size:13px;outline:none;font-family:inherit;margin-bottom:8px}
.alarm-mini input:focus{border-color:#BE9B48}
.alarm-mini button{width:100%;background:#BE9B48;color:#10233F;border:none;border-radius:7px;padding:9px;font-size:13px;font-weight:800;cursor:pointer;font-family:inherit;transition:.15s}
.alarm-mini button:hover{background:#A5842E}

.load-more{text-align:center;padding:16px 0 8px}
.load-more button{background:#fff;border:1.5px solid #E5DDCB;border-radius:8px;padding:10px 32px;font-size:13px;font-weight:700;cursor:pointer;color:#10233F;font-family:inherit;transition:.15s}
.load-more button:hover{background:#10233F;color:#fff;border-color:#10233F}

/* Placeholder gradyanlar */
.ph-sur{background:linear-gradient(135deg,#dc2626 0%,#7f1d1d 100%)}
.ph-dap{background:linear-gradient(135deg,#2563eb 0%,#1e3a8a 100%)}
.ph-tahinci{background:linear-gradient(135deg,#7c3aed 0%,#4c1d95 100%)}
.ph-emlak{background:linear-gradient(135deg,#0d9488 0%,#134e4a 100%)}
.ph-agaoglu{background:linear-gradient(135deg,#A5842E 0%,#78350f 100%)}
.ph-sinpas{background:linear-gradient(135deg,#be185d,#831843)}
.ph-kiler{background:linear-gradient(135deg,#0891b2,#164e63)}
.ph-so{background:linear-gradient(135deg,#10233F,#1D3A63);color:#F5EFE1;font-family:'Cormorant Garamond',Georgia,serif;font-weight:600;border:1px solid rgba(212,177,95,.45)}
.ph-proje-sur{background:linear-gradient(160deg,#1e3a5f 0%,#10233F 40%,#3b0a0a 100%)}
.ph-proje-dap{background:linear-gradient(160deg,#1a3a6b 0%,#10233F 40%,#1a1a4b 100%)}
.ph-proje-tah{background:linear-gradient(160deg,#2d1b4b 0%,#10233F 40%,#1b1b2d 100%)}
.ph-proje-emlak{background:linear-gradient(160deg,#0a3d38 0%,#10233F 40%,#0a2d3d 100%)}
.ph-proje-event{background:linear-gradient(160deg,#10233F 0%,#1e3a5f 60%,#10233F 100%)}
.ph-proje-ag{background:linear-gradient(160deg,#3d2a0a 0%,#10233F 45%,#2d1f0a 100%)}
.bldg-svg{opacity:.18}

/* ── SUB PAGE: page head ── */
.page-head{background:#fff;border-bottom:1px solid #E5DDCB;padding:24px 0}
.page-head h1{font-size:24px;font-weight:900;letter-spacing:-.5px;margin-bottom:4px}
.page-head p{font-size:13px;color:#64748b}
.breadcrumb{font-size:11px;color:#94a3b8;margin-bottom:10px;font-weight:600}
.breadcrumb a:hover{color:#BE9B48}

/* ── PROJE DETAY ── */
.proje-hero{height:340px;position:relative;display:flex;align-items:center;justify-content:center;border-radius:16px;overflow:hidden;margin-bottom:14px}
.proje-hero .proje-img-overlay{background:linear-gradient(to top,rgba(16,35,63,.9) 0%,rgba(16,35,63,.15) 60%,transparent 100%)}
.hero-thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:20px}
.hero-thumb{height:72px;border-radius:10px;display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.5);font-size:11px;font-weight:700;cursor:pointer;border:2px solid transparent;transition:.15s}
.hero-thumb:hover,.hero-thumb.active{border-color:#BE9B48}
.detail-section{background:#fff;border:1px solid #E5DDCB;border-radius:14px;padding:20px;margin-bottom:16px}
.detail-section h2{font-size:16px;font-weight:900;margin-bottom:14px;display:flex;align-items:center;gap:8px}
.info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.info-cell{background:#FAF6EC;border-radius:10px;padding:12px 14px}
.info-cell .il{font-size:10px;color:#94a3b8;text-transform:uppercase;letter-spacing:.4px;font-weight:800;margin-bottom:3px}
.info-cell .iv{font-size:14px;font-weight:800;color:#10233F}
.info-cell .iv.g{color:#16a34a}
.plan-card{border:1.5px solid #E5DDCB;border-radius:12px;padding:14px 16px;display:flex;align-items:center;gap:14px;margin-bottom:10px;transition:.15s;cursor:pointer}
.plan-card:hover{border-color:#BE9B48;box-shadow:0 2px 12px rgba(0,0,0,.05)}
.plan-icon{width:52px;height:52px;border-radius:10px;background:#F5F0E6;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:900;color:#475569;flex-shrink:0}
.plan-info{flex:1}
.plan-tip{font-size:14px;font-weight:800}
.plan-sub{font-size:12px;color:#64748b}
.plan-price{text-align:right}
.plan-price .pp{font-size:15px;font-weight:900;color:#10233F}
.plan-price .pm{font-size:11px;color:#94a3b8}
.pay-table{width:100%;border-collapse:collapse;font-size:13px}
.pay-table th{text-align:left;padding:9px 12px;background:#FAF6EC;font-size:11px;text-transform:uppercase;letter-spacing:.3px;color:#64748b;font-weight:800}
.pay-table td{padding:9px 12px;border-bottom:1px solid #FAF6EC}
.pay-table td.g{color:#16a34a;font-weight:700}
.sticky-cta{position:sticky;top:76px;display:flex;flex-direction:column;gap:16px}
.cta-card{background:#fff;border:1px solid #E5DDCB;border-radius:14px;padding:18px}
.cta-price{font-size:24px;font-weight:900;letter-spacing:-.5px}
.cta-price-sub{font-size:12px;color:#64748b;margin-bottom:14px}
.cta-card .btn{width:100%;margin-bottom:8px}
.cta-note{font-size:11px;color:#94a3b8;text-align:center;line-height:1.5}
.so-score-badge{display:flex;align-items:center;gap:12px;background:#FAF4E3;border:1px solid #E9D9A8;border-radius:12px;padding:12px 14px;margin-bottom:14px}
.so-score-badge .num{font-size:28px;font-weight:900;color:#A5842E}
.so-score-badge .txt{font-size:12px;color:#92400e;font-weight:700;line-height:1.4}

/* ── FİRMA PROFİL ── */
.firm-cover{height:160px;border-radius:0 0 16px 16px;position:relative}
.firm-head{background:#fff;border:1px solid #E5DDCB;border-radius:14px;padding:0 20px 18px;margin-top:-44px;position:relative;margin-bottom:16px}
.firm-head-top{display:flex;align-items:flex-end;gap:16px;flex-wrap:wrap}
.firm-big-logo{width:88px;height:88px;border-radius:18px;display:flex;align-items:center;justify-content:center;font-size:28px;font-weight:900;color:#fff;border:4px solid #fff;margin-top:-26px;box-shadow:0 4px 16px rgba(0,0,0,.12)}
.firm-title-block{flex:1;padding-top:14px;min-width:200px}
.firm-title-block h1{font-size:22px;font-weight:900;letter-spacing:-.4px}
.firm-title-block p{font-size:13px;color:#64748b}
.firm-cta-row{display:flex;gap:8px;padding-top:14px}
.firm-stats-row{display:flex;gap:0;border-top:1px solid #F5F0E6;margin-top:16px;padding-top:14px}
.firm-stat{flex:1;text-align:center;border-right:1px solid #F5F0E6}
.firm-stat:last-child{border-right:none}
.firm-stat .v{font-size:18px;font-weight:900;display:block}
.firm-stat .l{font-size:10px;color:#94a3b8;text-transform:uppercase;letter-spacing:.4px}
.tabs{display:flex;gap:0;background:#fff;border:1px solid #E5DDCB;border-radius:12px;overflow:hidden;margin-bottom:16px}
.tab{flex:1;text-align:center;padding:12px;font-size:13px;font-weight:700;color:#64748b;cursor:pointer;border-bottom:3px solid transparent;transition:.15s}
.tab:hover{background:#FAF6EC;color:#10233F}
.tab.active{color:#BE9B48;border-bottom-color:#BE9B48;background:#fffbf0}

/* ── KEŞFET GRID ── */
.grid-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.pcard{background:#fff;border:1px solid #E5DDCB;border-radius:14px;overflow:hidden;transition:.18s;cursor:pointer;display:block}
.pcard:hover{box-shadow:0 8px 28px rgba(0,0,0,.1);border-color:#d1d5db;transform:translateY(-2px)}
.pcard-img{height:150px;position:relative;display:flex;align-items:center;justify-content:center}
.pcard-badge{position:absolute;top:10px;left:10px}
.pcard-body{padding:13px 15px}
.pcard-title{font-size:14px;font-weight:800;margin-bottom:2px}
.pcard-loc{font-size:11px;color:#64748b;margin-bottom:10px}
.pcard-row{display:flex;justify-content:space-between;align-items:center;font-size:12px;border-top:1px solid #FAF6EC;padding-top:10px}
.pcard-price{font-size:15px;font-weight:900;color:#10233F}
.pcard-m2{color:#64748b;font-size:11px}
.pcard-score{background:#FAF4E3;color:#A5842E;font-weight:900;border-radius:8px;padding:3px 8px;font-size:11px}

/* ── ANALİZ MAKALE ── */
.article{background:#fff;border:1px solid #E5DDCB;border-radius:16px;padding:32px;max-width:760px;margin:0 auto}
.article h1{font-size:26px;font-weight:900;letter-spacing:-.5px;line-height:1.3;margin-bottom:12px}
.article .lead{font-size:15px;color:#475569;line-height:1.8;margin-bottom:20px;font-weight:500}
.article h2{font-size:18px;font-weight:900;margin:26px 0 10px}
.article p{font-size:14px;color:#33415C;line-height:1.9;margin-bottom:14px}
.article-meta{display:flex;gap:14px;font-size:12px;color:#94a3b8;padding-bottom:18px;border-bottom:1px solid #F5F0E6;margin-bottom:20px;flex-wrap:wrap}
.callout{background:#FAF4E3;border:1px solid #E9D9A8;border-left:4px solid #BE9B48;border-radius:10px;padding:14px 18px;margin:18px 0;font-size:13px;color:#92400e;font-weight:600;line-height:1.7}
.data-table{width:100%;border-collapse:collapse;font-size:13px;margin:14px 0}
.data-table th{background:#10233F;color:#fff;padding:9px 12px;text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.3px}
.data-table td{padding:9px 12px;border-bottom:1px solid #F5F0E6}
.data-table tr:nth-child(even){background:#FAF6EC}

/* ── HARİTA ── */
.map-layout{display:grid;grid-template-columns:360px 1fr;gap:0;height:calc(100vh - 56px);max-width:none;width:100%}
.map-list{overflow-y:auto;background:#fff;border-right:1px solid #E5DDCB;padding:16px}
.map-canvas{position:relative;background:linear-gradient(135deg,#e8eef4 0%,#dce6ef 50%,#e4ebe4 100%);overflow:hidden;min-height:400px}
.map-grid-lines{position:absolute;inset:0;background-image:linear-gradient(rgba(16,35,63,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(16,35,63,.05) 1px,transparent 1px);background-size:60px 60px}
.map-road{position:absolute;background:rgba(255,255,255,.85);box-shadow:0 0 0 1px rgba(16,35,63,.06)}
.map-water{position:absolute;background:linear-gradient(135deg,#bfdbfe,#93c5fd);opacity:.55}
.map-pin{position:absolute;transform:translate(-50%,-100%);cursor:pointer;z-index:5;text-align:center;transition:.15s}
.map-pin:hover{z-index:10;transform:translate(-50%,-100%) scale(1.08)}
.map-pin .pin-price{background:#10233F;color:#fff;font-size:11px;font-weight:800;padding:5px 10px;border-radius:18px;white-space:nowrap;box-shadow:0 2px 10px rgba(0,0,0,.25);border:2px solid #fff}
.map-pin.hot .pin-price{background:#BE9B48;color:#10233F}
.map-pin .pin-tip{width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:7px solid #10233F;margin:0 auto}
.map-pin.hot .pin-tip{border-top-color:#BE9B48}
.map-ctrl{position:absolute;right:16px;top:16px;display:flex;flex-direction:column;gap:6px;z-index:20}
.map-ctrl button{width:38px;height:38px;border-radius:9px;border:1px solid #E5DDCB;background:#fff;font-size:17px;font-weight:900;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.08)}
.map-legend{position:absolute;left:16px;bottom:16px;background:#fff;border-radius:10px;padding:10px 14px;font-size:11px;font-weight:700;color:#475569;box-shadow:0 2px 12px rgba(0,0,0,.1);display:flex;gap:14px;z-index:20}
.map-mini-card{border:1.5px solid #E5DDCB;border-radius:12px;padding:12px 14px;margin-bottom:10px;cursor:pointer;transition:.15s;display:block}
.map-mini-card:hover,.map-mini-card.active{border-color:#BE9B48;background:#fffbf0}

/* ── GİRİŞ ── */
.auth-wrap{min-height:calc(100vh - 56px);display:flex;align-items:center;justify-content:center;padding:32px 16px}
.auth-card{background:#fff;border:1px solid #E5DDCB;border-radius:20px;padding:36px;width:100%;max-width:420px;box-shadow:0 10px 40px rgba(0,0,0,.06)}
.auth-card h1{font-size:22px;font-weight:900;margin-bottom:6px;letter-spacing:-.4px}
.auth-card .sub{font-size:13px;color:#64748b;margin-bottom:22px}
.auth-field{margin-bottom:14px}
.auth-field label{display:block;font-size:12px;font-weight:800;margin-bottom:6px;color:#33415C}
.auth-field input{width:100%;border:1.5px solid #E5DDCB;border-radius:9px;padding:11px 14px;font-size:14px;outline:none;font-family:inherit;transition:.15s}
.auth-field input:focus{border-color:#BE9B48;box-shadow:0 0 0 3px rgba(245,158,11,.12)}
.auth-toggle{display:flex;background:#F5F0E6;border-radius:10px;padding:4px;margin-bottom:22px}
.auth-toggle button{flex:1;padding:9px;border:none;border-radius:8px;font-size:13px;font-weight:800;cursor:pointer;background:transparent;color:#64748b;font-family:inherit;transition:.15s}
.auth-toggle button.active{background:#fff;color:#10233F;box-shadow:0 1px 4px rgba(0,0,0,.08)}
.auth-divider{display:flex;align-items:center;gap:12px;margin:18px 0;color:#94a3b8;font-size:11px;font-weight:700}
.auth-divider::before,.auth-divider::after{content:'';flex:1;height:1px;background:#E5DDCB}
.auth-perks{background:#FAF6EC;border-radius:12px;padding:14px 16px;margin-top:20px}
.auth-perks li{font-size:12px;color:#475569;padding:4px 0;font-weight:600}

/* ── FOOTER ── */
/* #223 (2026-08-21) — KISA SAYFALARDA ALT BILGI HAVADA KALIYORDU.
   Olcum (/listem, bos durum): govde 755px, ekran 900px -> alt bilginin ALTINDA
   145px cip-cıplak krem zemin kaliyordu; sayfa "yarim yuklendi" gibi duruyordu.
   Cozum standart yapiskan-altbilgi: govde dikey flex + altbilgiye margin-top:auto.
   Uzun sayfalarda hicbir sey degismez (auto bosluk yalniz artan alan varsa devreye girer). */
/* YAPISKAN ALTBILGI — IKINCI DENEME (2026-08-21).
   Ilk deneme govdeyi FLEX yapiyordu; mobilde proje sayfasinda yatay tasma cikardi
   (olculdu: apex 390/390 iken staging 938/390). Cocuklarin `min-width:auto` degeri
   genis bir ic ogeyi (medya seridi) kabin disina tasiyordu ve `body > *{min-width:0}`
   yetmedi, cunku tasan oge dogrudan gövde cocugu DEGIL.
   Bu surum duzeni hic degistirmez: gövde blok kalir, altbilgi `sticky` ile ekranin
   dibine cakilir. Kisa sayfada altbilgi asagida durur, uzun sayfada davranis aynidir. */
body{min-height:100vh}
body > footer.site-footer{position:sticky;top:100vh}
.site-footer{background:var(--bant-zemin);color:var(--bant-metin);padding:36px 0 18px;font-size:13px;margin-top:20px}
/* #181: alt bilgiye konum sutunu eklendi (4 -> 5 kolon) */
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr;gap:34px;margin-bottom:28px}
/* #181 (2026-08-05) — alt bilgi basliklari h4'ten h2'ye alindi: erisilebilirlik
   olcumu 'H2 -> H4 atlamasi' yakaladi (v3'te SSS bolumu eklenince ortaya cikti).
   Gorunum aynen korunsun diye seçici ikisini de kapsiyor. */
.footer-grid h4,.footer-grid h2{font-size:12px;font-weight:800;color:var(--bant-baslik);margin-bottom:14px;text-transform:uppercase;letter-spacing:.5px}
.footer-grid li{margin-bottom:9px;opacity:.75}
.footer-grid li a:hover{color:#BE9B48;opacity:1}
.footer-desc{line-height:1.7;opacity:.8;max-width:300px}
.footer-bottom{border-top:1px solid var(--bant-cizgi);padding-top:18px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;opacity:.55;font-size:12px}

/* ── TOAST ── */
.toast{position:fixed;bottom:28px;right:28px;background:#10233F;color:#fff;padding:12px 20px;border-radius:10px;font-size:13px;font-weight:700;z-index:998;transform:translateY(20px);opacity:0;transition:.3s;pointer-events:none;display:flex;align-items:center;gap:8px;max-width:88vw}
.toast.show{transform:translateY(0);opacity:1}

/* ── MOBİL: ALT NAV ── */
.bottom-nav{display:none;position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid #E5DDCB;z-index:300;box-shadow:0 -4px 20px rgba(0,0,0,.07);padding-bottom:env(safe-area-inset-bottom)}
.bottom-nav-inner{display:flex}
.bnav-item{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 0 7px;font-size:10px;font-weight:700;color:#94a3b8;transition:.12s}
.bnav-item .ico{font-size:19px;line-height:1}
.bnav-item.active{color:#BE9B48}
.bnav-item:active{background:#FAF6EC}

/* ── MOBİL: FİLTRE DRAWER ── */
.drawer-overlay{position:fixed;inset:0;background:rgba(16,35,63,.55);z-index:400;opacity:0;pointer-events:none;transition:.25s}
.drawer-overlay.open{opacity:1;pointer-events:auto}
.drawer{position:fixed;left:0;right:0;bottom:0;background:#fff;z-index:401;border-radius:20px 20px 0 0;max-height:82vh;display:flex;flex-direction:column;transform:translateY(105%);transition:transform .3s cubic-bezier(.32,.72,.25,1)}
.drawer.open{transform:translateY(0)}
.drawer-handle{width:42px;height:5px;border-radius:3px;background:#E5DDCB;margin:10px auto 4px;flex-shrink:0}
.drawer-head{display:flex;align-items:center;justify-content:space-between;padding:8px 20px 12px;border-bottom:1px solid #F5F0E6;flex-shrink:0}
.drawer-head h3{font-size:16px;font-weight:900}
.drawer-close{background:#F5F0E6;border:none;width:30px;height:30px;border-radius:8px;font-size:15px;cursor:pointer;font-weight:900;color:#64748b}
.drawer-body{overflow-y:auto;padding:6px 4px 16px;flex:1}
.drawer-foot{padding:12px 20px;border-top:1px solid #F5F0E6;display:flex;gap:10px;flex-shrink:0;padding-bottom:calc(12px + env(safe-area-inset-bottom))}
.drawer-foot .btn{flex:1}
.fab-filter{display:none;position:fixed;bottom:74px;right:16px;z-index:299;background:#10233F;color:#fff;border:none;border-radius:30px;padding:12px 20px;font-size:13px;font-weight:800;font-family:inherit;cursor:pointer;box-shadow:0 6px 24px rgba(0,0,0,.3);align-items:center;gap:7px}
.fab-filter .cnt{background:#BE9B48;color:#10233F;border-radius:10px;font-size:10px;padding:1px 7px;font-weight:900}

/* ── FİRMA DETAY (zengin profil) ── */
.firm-hero{background:linear-gradient(135deg,#10233F 0%,#1e3a5f 60%,#10233F 100%);color:#fff;padding:40px 0 28px;position:relative;overflow:hidden}
/* #170 kapak görseli: hero'nun ARKASINA döşenir. Metin kontrastı korunsun diye
   görselin üstüne aynı lacivertten koyu bir örtü konur — kapak varken de yokken de
   başlık/rozet okunaklılığı değişmez. */
.firm-hero-cover{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.5;z-index:0}
.firm-hero-cover::after{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(16,35,63,.86) 0%,rgba(30,58,95,.72) 60%,rgba(16,35,63,.9) 100%)}
.firm-hero-grid{display:grid;grid-template-columns:120px 1fr auto;gap:28px;align-items:center;position:relative;z-index:1}
/* #162 (Ercan msg1885): proje detayda logo kutusu kaldırıldı → 2 kolon */
.firm-hero-grid.no-logo{grid-template-columns:1fr auto}
.firm-logo-big{width:120px;height:120px;border-radius:20px;display:flex;align-items:center;justify-content:center;font-size:42px;font-weight:900;color:#475569;box-shadow:0 8px 32px rgba(0,0,0,.3);flex-shrink:0}
.firm-info h1{font-size:30px;font-weight:900;margin-bottom:6px;letter-spacing:-.5px}
.firm-info .firm-tagline{font-size:14px;color:#94a3b8;margin-bottom:14px}
.firm-meta-row{display:flex;gap:20px;flex-wrap:wrap;margin-bottom:14px}
.firm-meta-item{display:flex;align-items:center;gap:6px;font-size:13px;color:#cbd5e1}
.firm-meta-item strong{color:#BE9B48;font-size:15px}
.firm-badges{display:flex;gap:8px;flex-wrap:wrap}
.firm-badge{display:inline-flex;align-items:center;gap:4px;padding:5px 12px;border-radius:6px;font-size:11px;font-weight:800}
.fb-gold{background:rgba(245,158,11,.15);color:#BE9B48;border:1px solid rgba(245,158,11,.3)}
.fb-green{background:rgba(34,197,94,.15);color:#22c55e;border:1px solid rgba(34,197,94,.3)}
.fb-red{background:rgba(239,68,68,.15);color:#ef4444;border:1px solid rgba(239,68,68,.3)}
.firm-hero-actions{display:flex;flex-direction:column;gap:10px;align-items:flex-end}
.btn-follow{background:transparent;border:1.5px solid rgba(255,255,255,.3);color:#fff;border-radius:6px;padding:8px 16px;font-size:13px;font-weight:700;cursor:pointer;transition:.2s;display:flex;align-items:center;gap:6px;font-family:inherit}
.btn-follow:hover{border-color:#BE9B48;color:#BE9B48}
.btn-follow.following{background:rgba(245,158,11,.15);border-color:#BE9B48;color:#BE9B48}
.online-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 2px rgba(34,197,94,.3);animation:pulse-green 2s infinite;flex-shrink:0}
@keyframes pulse-green{0%,100%{box-shadow:0 0 0 2px rgba(34,197,94,.3)}50%{box-shadow:0 0 0 5px rgba(34,197,94,.1)}}
.social-bar{background:#fff;border-bottom:1px solid #E5DDCB;padding:12px 0}
.social-bar-inner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}
.social-links{display:flex;gap:8px;flex-wrap:wrap}
.social-link{display:inline-flex;align-items:center;gap:6px;padding:7px 13px;border-radius:8px;font-size:12px;font-weight:700;transition:.15s;border:1px solid #E5DDCB;background:#FAF6EC;color:#33415C}
.social-link:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.08)}
/* #74 sosyal medya marka tonlu pill linkler (örnek 1-1) */
.social-link.fb{color:#1877f2;border-color:#dbeafe;background:#eff6ff}
.social-link.ig{color:#e4405f;border-color:#fce7f3;background:#fdf2f8}
.social-link.yt{color:#ff0000;border-color:#fee2e2;background:#fef2f2}
.social-link.li{color:#0a66c2;border-color:#dbeafe;background:#eff6ff}
.social-link.tw{color:#1da1f2;border-color:#e0f2fe;background:#f0f9ff}
.social-link.tt{color:#000;border-color:#F5F0E6;background:#FAF6EC}
.social-link.web{color:#10233F;border-color:#E5DDCB;background:#FAF6EC}
/* #74 sosyal medya marka ikonları */
.soc-ico{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:#fff;border:1px solid #E5DDCB;color:#475569;transition:.15s;text-decoration:none}
.soc-ico:hover{transform:translateY(-2px);color:#fff;border-color:transparent;box-shadow:0 4px 12px rgba(0,0,0,.12)}
.soc-ico.soc-ig:hover{background:#E4405F}
.soc-ico.soc-fb:hover{background:#1877F2}
.soc-ico.soc-yt:hover{background:#FF0000}
.soc-ico.soc-li:hover{background:#0A66C2}
.soc-ico.soc-x:hover{background:#000}
.soc-ico.soc-tt:hover{background:#000}
/* #74 firma proje kartları — örnek (sur-yapi-akis) 1-1 */
.proj-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}
.proj-card{background:#fff;border:1px solid #E5DDCB;border-radius:12px;overflow:hidden;transition:.2s;cursor:pointer;display:block;color:inherit;text-decoration:none}
.proj-card:hover{border-color:#BE9B48;box-shadow:0 8px 30px rgba(0,0,0,.1);transform:translateY(-3px)}
.proj-img{height:220px;position:relative;overflow:hidden}
.proj-img .ph{width:100%;height:100%;display:flex;align-items:center;justify-content:center;transition:transform .4s;background-size:cover;background-position:center}
.proj-card:hover .proj-img .ph{transform:scale(1.05)}
.proj-badges{position:absolute;top:12px;left:12px;display:flex;flex-direction:column;gap:6px;z-index:2}
.proj-badge{padding:5px 12px;border-radius:6px;font-size:11px;font-weight:800;backdrop-filter:blur(8px)}
.proj-badge.satista{background:rgba(34,197,94,.9);color:#fff}
.proj-badge.onsatis{background:rgba(59,130,246,.9);color:#fff}
.proj-badge.kampanya{background:rgba(245,158,11,.9);color:#10233F}
.proj-badge.teslim{background:rgba(16,35,63,.88);color:#fff}
/* #223 P1: konum/kategori pili — kirmizi 'yeni' rozetinin yanlis kullanimi yerine notr lacivert cam */
.pcard-pill{background:rgba(16,35,63,.85);color:#fff;border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(6px)}
.proj-img-count{position:absolute;bottom:12px;right:12px;background:rgba(0,0,0,.75);color:#fff;padding:4px 10px;border-radius:6px;font-size:11px;font-weight:700;backdrop-filter:blur(4px);z-index:2}
.proj-body{padding:18px}
.proj-firm-row{display:flex;align-items:center;gap:8px;margin-bottom:10px}
.proj-firm-av{width:28px;height:28px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:900;color:#475569;flex-shrink:0}
/* #227 (Ercan 2026-08-20) — ad yanındaki küçük logo. Tek sınıf: kart, künye ve
   başlık satırlarında aynı görünür. Boyut çağrı yerinden --ml ile verilir.
   Beyaz taban + ince çerçeve: koyu zeminde şeffaf PNG logolar kaybolmasın. */
.mini-logo{width:var(--ml,22px);height:var(--ml,22px);border-radius:5px;object-fit:contain;
  background:#fff;border:1px solid #E5DDCB;padding:2px;flex-shrink:0;
  display:inline-block;vertical-align:-5px;margin-right:6px}
.proj-firm-row .mini-logo{margin-right:0}
.proj-firm-name{font-size:12px;font-weight:700;color:#64748b}
.proj-title{font-size:17px;font-weight:800;color:#10233F;margin-bottom:6px;line-height:1.35}
.proj-card:hover .proj-title{color:#BE9B48}
.proj-loc{font-size:12px;color:#64748b;margin-bottom:12px;display:flex;align-items:center;gap:4px}
.proj-specs{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:14px}
.proj-spec{font-size:12px;color:#475569;font-weight:600;display:flex;align-items:center;gap:3px}
.proj-spec strong{color:#10233F}
.proj-price-row{display:flex;justify-content:space-between;align-items:center;padding-top:14px;border-top:1px solid #F5F0E6}
.proj-price{font-size:20px;font-weight:900;color:#10233F}
.proj-price span{font-size:12px;font-weight:500;color:#64748b}
.proj-cta{font-size:12px;font-weight:800;color:#BE9B48;display:flex;align-items:center;gap:4px}
.proj-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(16,35,63,.9) 0%,rgba(16,35,63,.4) 50%,transparent 100%);display:flex;flex-direction:column;justify-content:flex-end;padding:16px;opacity:0;transition:.25s;pointer-events:none}
.proj-card:hover .proj-overlay{opacity:1}
.proj-overlay-text{color:#fff;font-size:12px;font-weight:600;margin-bottom:4px}
.proj-overlay-price{color:#BE9B48;font-size:18px;font-weight:900}
/* #74 Ana Akış 2 kolon (sol feed + sağ sidebar) — firma sayfasına özel (home feed-* ile çakışmaz) */
.firm-feed-layout{display:grid;grid-template-columns:1fr 320px;gap:24px;align-items:start}
.firm-feed-col{display:flex;flex-direction:column;gap:14px}
.firm-feed-sidebar{display:flex;flex-direction:column;gap:16px}
.sw-card{background:#fff;border:1px solid #E5DDCB;border-radius:12px;padding:18px}
.sw-card h4{font-size:13px;font-weight:800;color:#10233F;margin-bottom:12px;display:flex;align-items:center;gap:8px}
.sw-stat-row{display:flex;justify-content:space-between;align-items:center;padding:7px 0;border-bottom:1px solid #F5F0E6;font-size:12px}
.sw-stat-row:last-child{border-bottom:none}
.sw-stat-row .lbl{color:#64748b}
.sw-stat-row .val{font-weight:800;color:#10233F}
.sw-proj-mini{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid #F5F0E6;text-decoration:none;color:inherit}
.sw-proj-mini:last-child{border-bottom:none}
.spm-thumb{width:44px;height:44px;border-radius:8px;flex-shrink:0;background-size:cover;background-position:center;background-color:#10233F}
.spm-title{font-size:12px;font-weight:700;color:#10233F;margin-bottom:2px;line-height:1.35}
.sw-proj-mini:hover .spm-title{color:#BE9B48}
.spm-loc{font-size:11px;color:#94a3b8}
.spm-price{font-size:12px;font-weight:800;color:#BE9B48;white-space:nowrap;margin-inline-start:auto}
.sw-camp{display:block;background:linear-gradient(135deg,#10233F,#1e3a5f);border-radius:10px;padding:12px 14px;margin-bottom:10px;color:#fff;text-decoration:none}
.sw-camp:last-child{margin-bottom:0}
.sw-camp h5{font-size:13px;font-weight:800;margin-bottom:3px}
.sw-camp p{font-size:11px;color:#94a3b8;line-height:1.4}
@media(max-width:1024px){.firm-feed-layout{grid-template-columns:1fr}.firm-feed-sidebar{display:none}}
.tab-bar{background:#fff;border-bottom:1px solid #E5DDCB;position:sticky;top:56px;z-index:100}
.tab-list{display:flex;gap:0;overflow-x:auto;scrollbar-width:none}
.tab-list::-webkit-scrollbar{display:none}
.tab-item{padding:14px 20px;font-size:13px;font-weight:700;color:#64748b;cursor:pointer;transition:.15s;border-bottom:3px solid transparent;white-space:nowrap}
.tab-item:hover{color:#10233F;background:#FAF6EC}
.tab-item.on{color:#10233F;border-bottom-color:#BE9B48;background:#FAF4E3}
.sec{padding:32px 0}
.sec-alt{background:#F5F0E6}
.sec-hd{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;flex-wrap:wrap;gap:12px}
.sec-title{font-size:20px;font-weight:900;color:#10233F}
.sec-title span{font-size:13px;font-weight:500;color:#64748b;margin-left:8px}
.sec-sub{font-size:13px;color:#64748b;margin-top:3px}
.ilan-filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}
.ilan-filter-btn{padding:7px 16px;border-radius:20px;font-size:12px;font-weight:700;cursor:pointer;border:1.5px solid #E5DDCB;background:#fff;color:#64748b;transition:.15s;font-family:inherit}
.ilan-filter-btn:hover{border-color:#BE9B48;color:#BE9B48}
.ilan-filter-btn.on{background:#10233F;border-color:#10233F;color:#fff}
.ilan-list{display:flex;flex-direction:column;gap:12px}
.ilan-row{background:#fff;border:1px solid #E5DDCB;border-radius:12px;padding:16px 20px;display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center;transition:.18s;cursor:pointer}
.ilan-row:hover{border-color:#BE9B48;box-shadow:0 4px 16px rgba(0,0,0,.07)}
.ilan-thumb{width:72px;height:72px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:900;color:rgba(245,158,11,.85);flex-shrink:0}
.ilan-info h4{font-size:15px;font-weight:800;color:#10233F;margin-bottom:4px}
.ilan-meta{font-size:12px;color:#64748b;display:flex;gap:14px;flex-wrap:wrap;margin-bottom:6px}
.ilan-badges-row{display:flex;gap:6px;flex-wrap:wrap}
.ilan-pb{display:inline-block;padding:3px 9px;border-radius:5px;font-size:10px;font-weight:800}
.ilan-price-col{text-align:right;flex-shrink:0}
.ilan-price-col .price{font-size:18px;font-weight:900;color:#10233F}
.ilan-price-col .price-sub{font-size:11px;color:#64748b;margin-top:2px}
.ilan-price-col .price-old{font-size:11px;color:#94a3b8;text-decoration:line-through}
.alarm-btn{background:none;border:1.5px solid #E5DDCB;border-radius:6px;padding:5px 10px;font-size:11px;font-weight:700;color:#64748b;cursor:pointer;transition:.15s;margin-top:6px;display:inline-flex;align-items:center;gap:4px;font-family:inherit}
.alarm-btn:hover{border-color:#BE9B48;color:#BE9B48}
.alarm-btn.on{background:#FAF4E3;border-color:#BE9B48;color:#A5842E}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.about-card{background:#fff;border:1px solid #E5DDCB;border-radius:12px;padding:22px}
.about-card h3{font-size:15px;font-weight:800;color:#10233F;margin-bottom:12px;display:flex;align-items:center;gap:8px}
.about-card p{font-size:13px;color:#475569;line-height:1.75}
.about-card ul li{padding:6px 0;border-bottom:1px solid #F5F0E6;font-size:13px;color:#475569;display:flex;align-items:center;gap:8px}
.about-card ul li:last-child{border-bottom:none}
.about-stat{display:flex;align-items:center;gap:12px;padding:13px;background:#FAF6EC;border-radius:8px;margin-bottom:10px}
.about-stat-icon{font-size:24px}
.about-stat-info h4{font-size:17px;font-weight:900;color:#10233F}
.about-stat-info p{font-size:12px;color:#64748b}
.camp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}
.camp-card{background:linear-gradient(135deg,#10233F,#1e3a5f);border-radius:12px;padding:22px;color:#fff;position:relative;overflow:hidden}
.camp-card::before{content:'';position:absolute;top:-20px;right:-20px;width:100px;height:100px;background:rgba(245,158,11,.1);border-radius:50%}
.camp-card h4{font-size:16px;font-weight:800;margin-bottom:6px;position:relative}
.camp-card p{font-size:12px;color:#94a3b8;margin-bottom:14px;position:relative}
.camp-card .camp-date{font-size:11px;color:#BE9B48;font-weight:700;margin-bottom:8px;position:relative}
.form-row{margin-bottom:14px}
.form-row label{display:block;font-size:12px;font-weight:700;color:#475569;margin-bottom:5px;text-transform:uppercase;letter-spacing:.3px}
.form-row input,.form-row select,.form-row textarea{width:100%;border:1.5px solid #E5DDCB;border-radius:8px;padding:10px 14px;font-size:14px;outline:none;font-family:inherit;transition:.15s;background:#fff}
.form-row input:focus,.form-row select:focus,.form-row textarea:focus{border-color:#BE9B48;background:#FAF4E3}
.form-row textarea{resize:vertical;min-height:100px}
.form-row-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.hours-bar{background:#fff;border:1px solid #E5DDCB;border-radius:10px;padding:14px 18px;display:flex;align-items:center;gap:14px;margin-bottom:20px;flex-wrap:wrap}
.hours-day{font-size:13px;color:#475569}
.hours-day strong{color:#10233F}
.badge-saat{display:inline-block;padding:3px 10px;border-radius:20px;font-size:11px;font-weight:700}
.badge-acik{background:rgba(34,197,94,.12);color:#16a34a;border:1px solid rgba(34,197,94,.25)}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.contact-item{display:flex;align-items:flex-start;gap:12px;padding:12px 0;border-bottom:1px solid #F5F0E6}
.contact-item:last-child{border-bottom:none}
.contact-icon{font-size:20px;flex-shrink:0;margin-top:2px}
.contact-info h4{font-size:13px;font-weight:700;color:#10233F;margin-bottom:2px}
.contact-info p{font-size:12px;color:#64748b}
.contact-info a{color:#BE9B48;font-weight:700;font-size:13px}
.map-placeholder{background:#E5DDCB;border-radius:8px;height:200px;display:flex;align-items:center;justify-content:center;color:#64748b;font-size:13px;font-weight:600}
@media(max-width:1024px){
  .firm-hero-grid{grid-template-columns:100px 1fr;gap:20px}
  .firm-hero-grid.no-logo{grid-template-columns:1fr}
  .firm-logo-big{width:100px;height:100px;font-size:32px}
  .firm-hero-actions{flex-direction:row;grid-column:1/-1;justify-content:flex-start;flex-wrap:wrap;align-items:center}
  .about-grid,.contact-grid{grid-template-columns:1fr}
}
@media(max-width:768px){
  .firm-hero-grid{grid-template-columns:80px 1fr;gap:16px}
  .firm-hero-grid.no-logo{grid-template-columns:1fr}
  .firm-logo-big{width:80px;height:80px;font-size:28px;border-radius:14px}
  .firm-info h1{font-size:22px}
  .ilan-row{grid-template-columns:auto 1fr}
  .ilan-price-col{grid-column:1/-1;text-align:left;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
  .form-row-2{grid-template-columns:1fr}
}

/* ── RESPONSIVE ── */
@media(max-width:1200px){
  .feed-layout{grid-template-columns:260px 1fr;padding:16px}
  .sidebar-right{display:none}
  .grid-cards{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:1000px){
  .map-layout{grid-template-columns:1fr;height:auto}
  .map-canvas{height:52vh;order:-1}
  .map-list{border-right:none;max-height:none}
}
@media(max-width:900px){
  .feed-layout{grid-template-columns:1fr;gap:0;padding:12px}
  .two-col{grid-template-columns:1fr;padding:12px}
  .sidebar-left{display:none}
  .sticky-cta{position:static}
  body{padding-bottom:62px}
  .bottom-nav{display:block}
  .fab-filter{display:flex}
  .info-grid{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:1fr 1fr;gap:24px}
  .article{padding:22px;border-radius:12px}
  .site-footer{margin-bottom:0}
}
@media(max-width:768px){
  .topbar-nav{display:none}
  .topbar-actions .btn-auth-desktop{display:none}
  .topbar-inner{height:auto;padding:10px 0;flex-wrap:wrap}
  .topbar-search{order:3;max-width:100%;width:100%;margin-top:8px}
  .pc-action-btn span.lbl{display:none}
  .grid-cards{grid-template-columns:1fr}
  .hero-thumbs{grid-template-columns:repeat(4,1fr);gap:6px}
  .proje-hero{height:240px;border-radius:12px}
  .firm-stats-row{flex-wrap:wrap}
  .firm-stat{flex:1 1 33%;padding:6px 0;border:none}
  .one-col,.two-col{padding:12px}
}

/* ── FRONTEND EK: harita fix ── */
.map-layout{align-items:stretch}
.map-canvas{min-height:560px}
@media(max-width:1000px){.map-canvas{min-height:0;height:52vh}}

/* ── FRONTEND EK: proje galeri ── */
.gal{position:relative;border-radius:16px;overflow:hidden;margin-bottom:10px;background:#10233F;aspect-ratio:16/9;max-height:440px}
.gal-main{width:100%;height:100%;object-fit:cover;display:block;cursor:zoom-in;transition:opacity .2s}
.gal-count{position:absolute;bottom:12px;right:12px;background:rgba(16,35,63,.78);color:#fff;padding:5px 12px;border-radius:8px;font-size:12px;font-weight:700;backdrop-filter:blur(4px)}
.gal-nav{position:absolute;top:50%;transform:translateY(-50%);background:rgba(16,35,63,.6);color:#fff;border:none;width:40px;height:40px;border-radius:50%;font-size:18px;cursor:pointer;transition:.15s;display:flex;align-items:center;justify-content:center}
.gal-nav:hover{background:#BE9B48;color:#10233F}
.gal-prev{left:12px}.gal-next{right:12px}
.gal-thumbs{display:flex;gap:8px;margin-bottom:20px;overflow-x:auto;padding-bottom:4px;scrollbar-width:thin}
.gal-thumb{height:62px;width:88px;flex:0 0 auto;object-fit:cover;border-radius:9px;cursor:pointer;border:2.5px solid transparent;transition:.15s;opacity:.85}
.gal-thumb:hover{opacity:1}
.gal-thumb.on{border-color:#BE9B48;opacity:1}
.lightbox{position:fixed;inset:0;background:rgba(10,14,24,.94);z-index:500;display:none;align-items:center;justify-content:center;flex-direction:column}
.lightbox.open{display:flex}
.lightbox img{width:80vw;height:auto;max-height:88vh;object-fit:contain;border-radius:8px;background:#0b0f18}
.lightbox .lb-close{position:absolute;top:18px;right:22px;background:none;border:none;color:#94a3b8;font-size:30px;cursor:pointer}
.lightbox .lb-close:hover{color:#fff}
.lightbox .gal-nav{background:rgba(255,255,255,.12)}
.lb-cap{color:#94a3b8;font-size:13px;font-weight:600;margin-top:12px}

/* ── FRONTEND EK: açıklama & özellikler ── */
.prose{font-size:14px;color:#33415C;line-height:1.9}
.prose p{margin-bottom:12px}
.feat-group{margin-bottom:14px}
.feat-group h5{font-size:11px;font-weight:800;color:#94a3b8;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}
.feat-chips{display:flex;flex-wrap:wrap;gap:6px}
.feat-chip{background:#F5F0E6;color:#475569;border-radius:14px;padding:5px 12px;font-size:12px;font-weight:600}
.spec-row{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid #FAF6EC;font-size:13px}
.spec-row:last-child{border-bottom:none}
.spec-row .sl{color:#8C6D25;font-size:11.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}
.spec-row .sv{font-weight:700;text-align:right}
@media(max-width:768px){.gal-main{height:230px}}

/* ── KULLANICI MENÜSÜ (dropdown) ── */
.user-menu{position:relative;display:inline-block}
.user-menu-panel{position:absolute;right:0;top:calc(100% + 6px);background:#fff;border:1px solid #E5DDCB;border-radius:12px;box-shadow:0 12px 32px rgba(0,0,0,.14);min-width:220px;padding:6px;display:none;z-index:300}
.user-menu-panel.open{display:block}
.user-menu-panel .umh{padding:10px 12px;border-bottom:1px solid #F5F0E6;font-weight:800;font-size:13px;color:#10233F;margin-bottom:4px;display:flex;flex-direction:column;gap:2px}
.user-menu-panel .umh span{font-weight:500;font-size:11px;color:#94a3b8}
.user-menu-panel a,.user-menu-panel button{display:block;width:100%;text-align:left;padding:9px 12px;border-radius:8px;font-size:13px;font-weight:600;color:#33415C;background:none;border:none;cursor:pointer;font-family:inherit}
.user-menu-panel a:hover,.user-menu-panel button:hover{background:#FAF6EC;color:#10233F}
.user-menu-panel form{margin:4px 0 0;border-top:1px solid #F5F0E6;padding-top:4px}
.user-menu-panel form button{color:#dc2626}

/* ── #58 ANA SAYFA V2 YERLEŞİM (sol Bölge Takip + sağ Toplu Mesaj/Fırsat/İlan/Piyasa) ── */
/* Bölge Takip (sol) */
.bolge-takip-box{background:linear-gradient(135deg,#10233F,#17304E);color:#fff;padding:16px;border-radius:14px;border:1px solid #17304E}
.bolge-takip-title{font-size:14px;font-weight:800;color:#BE9B48;margin-bottom:4px}
.bolge-takip-desc{font-size:12px;color:#94a3b8;margin-bottom:12px;line-height:1.5}
.bolge-takip-select{width:100%;padding:9px 12px;border-radius:6px;border:1px solid #33415C;background:#17304E;color:#E5DDCB;font-size:13px;font-family:inherit;margin-bottom:10px;outline:none;cursor:pointer}
.bolge-takip-select option{background:#17304E;color:#E5DDCB}
.btn-takip-et{width:100%;padding:10px;border-radius:8px;background:#BE9B48;color:#10233F;font-size:13px;font-weight:800;border:none;cursor:pointer;transition:.15s;font-family:inherit}
.btn-takip-et:hover{background:#A5842E}
.bolge-takip-list{display:flex;flex-direction:column;gap:6px;margin-top:12px}
.bolge-takip-item{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;background:rgba(255,255,255,.05);border-radius:6px;font-size:12px}
.bolge-takip-item-name{color:#E5DDCB;font-weight:600}
.bolge-takip-item-count{color:#94a3b8;font-size:11px}
.bolge-takip-remove{color:#ef4444;font-size:11px;cursor:pointer;font-weight:700}

/* Bölgeye Toplu Mesaj (sağ) */
.bolge-mesaj-box{padding:16px;background:linear-gradient(135deg,#10233F,#17304E);border-radius:14px;color:#fff;border:1px solid #17304E}
.bolge-mesaj-title{font-size:14px;font-weight:800;color:#BE9B48;margin-bottom:4px}
.bolge-mesaj-desc{font-size:12px;color:#94a3b8;margin-bottom:12px;line-height:1.5}
.bolge-mesaj-select{width:100%;padding:8px 12px;border-radius:6px;border:1px solid #33415C;background:#17304E;color:#E5DDCB;font-size:12px;font-family:inherit;margin-bottom:8px;outline:none;cursor:pointer}
.bolge-mesaj-textarea{width:100%;padding:8px 12px;border-radius:6px;border:1px solid #33415C;background:#17304E;color:#E5DDCB;font-size:12px;font-family:inherit;min-height:70px;resize:vertical;outline:none;margin-bottom:8px}
.bolge-mesaj-textarea::placeholder{color:#64748b}
.bolge-mesaj-info{font-size:11px;color:#64748b;margin-bottom:10px}
.btn-mesaj{width:100%;padding:10px;border-radius:8px;background:#BE9B48;color:#10233F;font-size:13px;font-weight:800;border:none;cursor:pointer;transition:.15s;font-family:inherit}
.btn-mesaj:hover{background:#A5842E}

/* Bu Hafta Fırsat (sağ) */
.firsat-list{display:flex;flex-direction:column;gap:4px}
.firsat-item{display:flex;align-items:center;gap:12px;padding:8px;border-radius:8px;transition:.15s;cursor:pointer;text-decoration:none}
.firsat-item:hover{background:#FAF6EC}
.firsat-rank{width:24px;height:24px;border-radius:6px;background:#F5F0E6;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;color:#475569;flex-shrink:0}
.firsat-info{flex:1;min-width:0}
.firsat-name{font-size:13px;font-weight:700;color:#10233F;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.firsat-firm{font-size:11px;color:#64748b}

/* Piyasa Özeti (sağ) */
.piyasa-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:14px 16px}
.piyasa-item{padding:10px;border-radius:8px;background:#FAF6EC;text-align:center}
.piyasa-label{font-size:10px;font-weight:700;color:#94a3b8;text-transform:uppercase;letter-spacing:.3px;margin-bottom:4px}
.piyasa-value{font-size:15px;font-weight:800;color:#10233F}

/* #58 mobil: v2 sidebar'ları gizleme — feed ALTINA indir (responsive) */
@media(max-width:1200px){
  .feed-layout{grid-template-columns:260px 1fr}
  /* sağ sidebar feed altına insin (eski: display:none idi) */
  .feed-layout .sidebar-right{grid-column:1 / -1;display:flex;flex-direction:row;flex-wrap:wrap;position:static;max-height:none;overflow:visible}
  .feed-layout .sidebar-right > *{flex:1 1 280px}
  .feed-layout .sidebar-right .sdb-sticky{position:static;flex-direction:row;flex-wrap:wrap}
  .feed-layout .sidebar-right .sdb-sticky > *{flex:1 1 280px}
}
@media(max-width:900px){
  .feed-layout{grid-template-columns:1fr}
  /* Mobil sıra: feed → SAĞ (bölge talep + sosyal kutular) → SOL (bölge seç + filtreler) */
  .feed-layout .feed-col{order:1}
  .feed-layout .sidebar-right{grid-column:1 / -1;display:flex;position:static;order:2;flex-direction:column;max-height:none;overflow:visible}
  .feed-layout .sidebar-right > *{flex:1 1 auto}
  .feed-layout .sidebar-left{grid-column:1 / -1;display:flex;position:static;order:3;max-height:none;overflow:visible}
}

/* ===== KEŞFET: sol filtre paneli + sonuç grid ===== */
.kesfet-layout{display:grid;grid-template-columns:280px 1fr;gap:20px;max-width:1280px;margin:0 auto;padding:20px;align-items:start}
.kesfet-filter{position:sticky;top:16px}
.kesfet-results{min-width:0}
.kf-card{background:#fff;border:1px solid #E5DDCB;border-radius:14px;overflow:hidden}
.kf-head{background:#10233F;color:#fff;font-weight:800;font-size:14px;padding:13px 16px}
.kf-body{padding:16px}
.kf-label{display:block;font-size:11px;font-weight:800;color:#475569;text-transform:uppercase;letter-spacing:.3px;margin-bottom:6px}
.kf-select,.kf-input{width:100%;border:1.5px solid #E5DDCB;border-radius:9px;padding:10px 12px;font-family:inherit;font-size:13.5px;color:#10233F;background:#fff;margin-bottom:8px}
.kf-select:focus,.kf-input:focus{outline:none;border-color:#BE9B48}
.kf-select:disabled{background:#FAF6EC;color:#94a3b8}
.kf-check{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:#33415C;cursor:pointer;padding:3px 0}
.kf-check input{width:16px;height:16px;accent-color:#BE9B48}
.kf-clear{display:block;text-align:center;margin-top:10px;font-size:12.5px;font-weight:700;color:#dc2626;text-decoration:none}
.kf-clear:hover{text-decoration:underline}
.filter-tab b{color:#BE9B48;font-weight:800}
.filter-tab-more{display:inline-flex;align-items:center;font-size:12px;font-weight:700;color:#94a3b8;padding:7px 10px;font-style:italic}
@media(max-width:900px){
  .kesfet-layout{grid-template-columns:1fr;gap:14px}
  .kesfet-filter{position:static}
}

/* ===== v3 CANLILIK / ANİMASYON (ana sayfa benzetimi) ===== */
/* Akış kartları sıralı giriş — JS gerektirmez, son durumu korur (both) */
@keyframes so-card-in{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes so-fade-up{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes so-glow{0%,100%{box-shadow:0 0 0 0 rgba(245,158,11,.45)}50%{box-shadow:0 0 0 6px rgba(245,158,11,0)}}
@keyframes so-shine{0%{background-position:-160% 0}100%{background-position:260% 0}}

.feed-col>.post-card{animation:so-card-in .45s cubic-bezier(.16,1,.3,1) both}
.feed-col>.post-card:nth-child(1){animation-delay:.02s}
.feed-col>.post-card:nth-child(2){animation-delay:.08s}
.feed-col>.post-card:nth-child(3){animation-delay:.14s}
.feed-col>.post-card:nth-child(4){animation-delay:.20s}
.feed-col>.post-card:nth-child(5){animation-delay:.26s}
.feed-col>.post-card:nth-child(6){animation-delay:.32s}
.feed-col>.post-card:nth-child(7){animation-delay:.38s}
.feed-col>.post-card:nth-child(n+8){animation-delay:.44s}

/* Kart hover — daha belirgin yükselme */
.post-card{transition:box-shadow .25s ease,border-color .2s ease,transform .25s cubic-bezier(.16,1,.3,1)}
.post-card:hover{transform:translateY(-3px);box-shadow:0 12px 32px rgba(16,35,63,.10)}
.pc-proje-visual .proje-img{transition:transform .5s cubic-bezier(.16,1,.3,1)}
.post-card:hover .pc-proje-visual .proje-img{transform:scale(1.04)}
.sdb-card{transition:box-shadow .22s ease,transform .22s ease}
.sdb-card:hover{box-shadow:0 6px 22px rgba(16,35,63,.07)}

/* Aksiyon butonları — basış geri bildirimi */
.pc-action-btn{transition:background .12s,color .12s,transform .12s}
.pc-action-btn:active{transform:scale(.94)}
.pc-action-btn.primary{transition:background .15s,transform .15s,box-shadow .15s}
.pc-action-btn.primary:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(245,158,11,.35)}

/* Filtre sekmeleri — aktifte yumuşak pop */
.filter-tab{transition:.18s cubic-bezier(.16,1,.3,1)}
.filter-tab:hover{transform:translateY(-1px)}
.filter-tab.active{box-shadow:0 2px 10px rgba(245,158,11,.18)}

/* "YENİ PROJE" rozeti — hafif nabız */
.pc-badge.badge-yeni{animation:so-glow 2.6s ease-in-out infinite}

/* Sol bölge listesi — kart hissi + hover kayma + aktif altın aksan */
.bolge-item{position:relative;border:1.5px solid transparent;border-radius:10px;margin:2px 8px;padding:8px 12px;overflow:hidden}
.bolge-item:hover{background:#FAF4E3;border-color:#E9D9A8;transform:translateX(3px)}
.bolge-item.on{background:#FAF4E3;border-color:#BE9B48}
.bolge-item.on::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:#BE9B48;border-radius:0 2px 2px 0}
.bolge-item .bolge-count{transition:.15s}
.bolge-item:hover .bolge-count{background:#fef3c7;color:#A5842E}

/* Renkli kutular (KORUNUR) — altın CTA'ya dikkat çeken yumuşak nabız + başlıkta sheen */
.btn-takip-et,.btn-mesaj{transition:background .15s,transform .15s,box-shadow .15s}
.btn-takip-et:hover,.btn-mesaj:hover{transform:translateY(-1px);box-shadow:0 6px 18px rgba(245,158,11,.4)}
.bolge-takip-title,.bolge-mesaj-title{background:linear-gradient(90deg,#BE9B48 0%,#fcd34d 45%,#BE9B48 60%);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:so-shine 5.5s linear infinite}

/* Sağ panel fırsat — ilk 3 sıra altın */
.firsat-item{transition:background .15s,transform .15s}
.firsat-item:hover{transform:translateX(3px)}
.firsat-item.top .firsat-rank{background:linear-gradient(135deg,#BE9B48,#A5842E);color:#10233F}

/* Bölge banner (ilçe seçilince akış üstünde) */
.so-bolge-banner{display:flex;align-items:center;gap:16px;background:linear-gradient(135deg,#10233F,#1e3a5f);border-radius:14px;padding:16px 20px;margin-bottom:14px;color:#fff;position:relative;overflow:hidden;animation:so-fade-up .4s ease both}
.so-bolge-banner .bb-icon{font-size:30px;flex-shrink:0}
.so-bolge-banner .bb-info{flex:1;min-width:0}
.so-bolge-banner .bb-title{font-size:17px;font-weight:900;margin-bottom:3px}
.so-bolge-banner .bb-sub{font-size:12px;color:#94a3b8;display:flex;gap:14px;flex-wrap:wrap}
.so-bolge-banner .bb-sub .val{color:#BE9B48;font-weight:800}
.so-bolge-banner .bb-clear{flex-shrink:0;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);color:#fff;border-radius:8px;padding:8px 14px;font-size:12px;font-weight:800;text-decoration:none;transition:.15s}
.so-bolge-banner .bb-clear:hover{background:rgba(255,255,255,.2)}

/* Scroll ile beliren widget'lar (JS .in ekler; JS yoksa görünür kalır) */
.reveal{will-change:opacity,transform}
.reveal.in{animation:so-fade-up .5s cubic-bezier(.16,1,.3,1) both}

/* Sayaç (piyasa) — animasyon JS'te; değer metni fallback */
.count-up{font-variant-numeric:tabular-nums}

/* Kart ızgarası (firmalar/keşfet) — sıralı giriş + logo hover (v3 tutarlılığı) */
.grid-cards>.pcard,.kesfet-results .pcard{animation:so-card-in .4s cubic-bezier(.16,1,.3,1) both}
.grid-cards>.pcard:nth-child(2){animation-delay:.04s}
.grid-cards>.pcard:nth-child(3){animation-delay:.08s}
.grid-cards>.pcard:nth-child(4){animation-delay:.12s}
.grid-cards>.pcard:nth-child(5){animation-delay:.16s}
.grid-cards>.pcard:nth-child(6){animation-delay:.20s}
.grid-cards>.pcard:nth-child(n+7){animation-delay:.24s}
.pcard .follow-logo,.pcard .pcard-img{transition:transform .35s cubic-bezier(.16,1,.3,1)}
.pcard:hover .follow-logo{transform:scale(1.08)}

a.sort-btn{text-decoration:none}

/* 🔎 Akıllı filtre — buton + modal */
.filter-bar-right{margin-inline-start:auto;display:flex;align-items:center;gap:6px;flex-shrink:0;padding-inline-start:8px}
.filter-open-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:20px;border:1.5px solid #10233F;background:#10233F;color:#fff;font-size:13px;font-weight:800;cursor:pointer;font-family:inherit;white-space:nowrap;transition:.15s}
.filter-open-btn:hover{background:#17304E}
.filter-open-btn.on{background:#BE9B48;border-color:#BE9B48;color:#10233F}
.filter-open-btn .fcount{background:#fff;color:#10233F;border-radius:10px;font-size:11px;font-weight:900;padding:0 7px;min-width:18px;text-align:center}
.filter-open-btn.on .fcount{background:#10233F;color:#BE9B48}
.filter-clear-x{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;border:1.5px solid #E5DDCB;color:#dc2626;font-weight:800;text-decoration:none;flex-shrink:0}
.filter-clear-x:hover{background:#fee2e2;border-color:#fca5a5}

.fmodal-overlay{position:fixed;inset:0;background:rgba(16,35,63,.55);z-index:600;display:flex;align-items:flex-start;justify-content:center;padding:40px 16px;opacity:0;pointer-events:none;transition:.2s;overflow-y:auto}
.fmodal-overlay.open{opacity:1;pointer-events:all}
.fmodal{background:#fff;border-radius:18px;width:100%;max-width:560px;box-shadow:0 24px 64px rgba(0,0,0,.25);transform:translateY(16px);transition:.25s}
.fmodal-overlay.open .fmodal{transform:none}
.fmodal-head{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid #F5F0E6}
.fmodal-head h3{font-size:17px;font-weight:900;color:#10233F}
.fmodal-close{width:30px;height:30px;border-radius:8px;border:1px solid #E5DDCB;background:#FAF6EC;cursor:pointer;font-size:15px;color:#64748b}
.fmodal-close:hover{background:#fee2e2;color:#dc2626}
.fmodal-body{padding:18px 22px}
.fm-group{margin-bottom:16px}
.fm-label{font-size:12px;font-weight:800;color:#475569;margin-bottom:8px}
.fm-chips{display:flex;flex-wrap:wrap;gap:7px}
.fm-chip{cursor:pointer}
.fm-chip input{position:absolute;opacity:0;pointer-events:none}
.fm-chip span{display:inline-flex;padding:7px 14px;border-radius:20px;border:1.5px solid #E5DDCB;background:#FAF6EC;color:#475569;font-size:13px;font-weight:700;transition:.12s}
.fm-chip input:checked+span{background:#BE9B48;border-color:#BE9B48;color:#10233F}
.fm-chip:hover span{border-color:#E9D9A8}
.fm-select{width:100%;border:1.5px solid #E5DDCB;border-radius:9px;padding:10px 12px;font-size:14px;font-family:inherit;color:#10233F;background:#fff;outline:none}
.fm-select:focus{border-color:#BE9B48}
.fm-check{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:700;color:#33415C;cursor:pointer}
.fm-check input{width:17px;height:17px;accent-color:#BE9B48}
.fm-soon{font-size:12px;color:#94a3b8;background:#FAF6EC;border:1px dashed #E5DDCB;border-radius:9px;padding:10px 12px;line-height:1.5}
.fmodal-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:6px}
.fm-btn-clear{color:#dc2626;font-weight:700;font-size:13px;text-decoration:none;padding:10px}
.fm-btn-apply{background:#BE9B48;color:#10233F;border:none;border-radius:10px;padding:11px 26px;font-size:14px;font-weight:800;cursor:pointer;font-family:inherit}
.fm-btn-apply:hover{background:#A5842E}
.fm-save{padding:0 22px 18px;border-top:1px solid #F5F0E6;margin-top:4px}
.fm-btn-save{margin-top:14px;width:100%;background:#fff;border:1.5px solid #BE9B48;color:#8C6D25;border-radius:10px;padding:10px;font-size:13px;font-weight:800;cursor:pointer;font-family:inherit}
.fm-btn-save:hover:not(:disabled){background:#FAF4E3}
.fm-btn-save:disabled{opacity:.45;cursor:not-allowed;border-color:#E5DDCB;color:#94a3b8}

/* Sayfalama — güzelleştirilmiş, SEO-dostu (gerçek linkler) */
.pagination{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px;padding:22px 0 8px}
.pagination .pg-num,.pagination .pg-btn{display:inline-flex;align-items:center;gap:5px;justify-content:center;min-width:38px;height:38px;padding:0 13px;border-radius:9px;border:1.5px solid #E5DDCB;background:#fff;color:#10233F;font-size:13px;font-weight:700;text-decoration:none;transition:.15s cubic-bezier(.16,1,.3,1)}
.pagination a.pg-num:hover,.pagination a.pg-btn:hover{border-color:#BE9B48;background:#FAF4E3;color:#8C6D25;transform:translateY(-1px)}
.pagination .pg-num.active{background:#BE9B48;border-color:#BE9B48;color:#10233F;font-weight:900}
.pagination .pg-btn.disabled{opacity:.4;cursor:default}
.pagination .pg-gap{padding:0 4px;color:#94a3b8;font-weight:800}
@media(max-width:560px){.pagination .pg-num{min-width:34px;height:34px;padding:0 9px}.pagination .pg-btn span{display:none}}

/* Yorumlar (proje detay) + feed beğeni */
.pc-action-btn.liked{color:#dc2626}
.comment-item{display:flex;gap:11px;padding:12px 0;border-top:1px solid #F5F0E6}
.comment-avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#10233F,#1e3a5f);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:900;flex-shrink:0;text-transform:uppercase}
.comment-body{flex:1;min-width:0}
.comment-head{font-size:13px;color:#10233F;margin-bottom:3px}
.comment-head span{color:#94a3b8;font-weight:600;font-size:11px;margin-left:6px}
.comment-body p{font-size:13.5px;color:#33415C;line-height:1.6;white-space:pre-wrap;word-wrap:break-word}
.btn-line.liked{border-color:#fecaca;background:#fef2f2;color:#dc2626}

/* Proje detay — Daire Tipleri badge (oda + m² ayrık, chip) */
.daire-tip-badges{display:flex;flex-wrap:wrap;gap:6px;margin-top:5px}
.daire-tip-badge{display:inline-flex;align-items:center;gap:5px;background:#FAF4E3;border:1.5px solid #E9D9A8;color:#92400e;border-radius:20px;padding:4px 11px;font-size:12px;font-weight:800;white-space:nowrap}
.daire-tip-badge i{font-style:normal;font-weight:600;color:#8C6D25;font-size:11px}

/* Pasif "yakında" filtre sekmesi */
.filter-tab.soon{opacity:.6;cursor:default;color:#94a3b8;border-style:dashed}
.filter-tab.soon:hover{transform:none;background:transparent;color:#94a3b8;border-color:#E5DDCB}
.filter-tab.soon i{font-style:normal;font-size:9px;font-weight:800;background:#E5DDCB;color:#64748b;border-radius:6px;padding:1px 5px;margin-left:3px;text-transform:uppercase;letter-spacing:.3px}

/* Sol panel — v3 bölge kartları (renkli kutunun ALTI artık v3) */
.bolge-geo-hint{font-size:11.5px;color:#475569;font-weight:600;padding:8px 14px 0;display:flex;align-items:center;gap:5px}
.bolge-card.bolge-card-extra{display:none}
.bolge-card-list{padding:10px 12px;display:flex;flex-direction:column;gap:7px}
.bolge-card{display:block;border:1.5px solid #E5DDCB;border-radius:10px;padding:9px 12px;text-decoration:none;transition:.16s cubic-bezier(.16,1,.3,1);position:relative;overflow:hidden}
.bolge-card:hover{border-color:#E9D9A8;background:#FAF4E3;transform:translateX(3px)}
.bolge-card.on{border-color:#BE9B48;background:#FAF4E3}
.bolge-card.on::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:#BE9B48;border-radius:0 2px 2px 0}
.bolge-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px}
.bolge-card-name{font-size:13px;font-weight:800;color:#10233F}
.bolge-card-count{font-size:11px;font-weight:800;background:#F5F0E6;color:#64748b;border-radius:8px;padding:2px 8px;flex-shrink:0}
.bolge-card.on .bolge-card-count{background:#fef3c7;color:#A5842E}
.bolge-card-sub{font-size:11px;color:#94a3b8;margin-top:2px}
.bolge-card-bar{height:4px;background:#F5F0E6;border-radius:3px;margin-top:7px;overflow:hidden}
.bolge-card-bar span{display:block;height:100%;background:linear-gradient(90deg,#BE9B48,#fcd34d);border-radius:3px}

/* Harita liste kartları — hafif lift + giriş (v3 tutarlılığı) */
.map-mini-card{transition:.18s cubic-bezier(.16,1,.3,1);animation:so-fade-up .35s ease both}
.map-mini-card:hover{transform:translateX(3px);box-shadow:0 4px 14px rgba(16,35,63,.07)}
.map-mini-card.active{box-shadow:0 0 0 2px rgba(245,158,11,.18)}

/* Hareketi azalt tercihi — tüm animasyon/transform kapanır */
@media(prefers-reduced-motion:reduce){
  .feed-col>.post-card,.so-bolge-banner,.reveal.in,.pc-badge.badge-yeni,.bolge-takip-title,.bolge-mesaj-title,.grid-cards>.pcard,.kesfet-results .pcard,.map-mini-card{animation:none!important}
  .post-card:hover,.bolge-item:hover,.firsat-item:hover,.filter-tab:hover,.pc-action-btn.primary:hover,.btn-takip-et:hover,.btn-mesaj:hover,.pcard:hover,.pcard:hover .follow-logo,.map-mini-card:hover,.bolge-card:hover,.trend-item:hover{transform:none!important}
  .post-card:hover .pc-proje-visual .proje-img{transform:none!important}
  .bolge-takip-title,.bolge-mesaj-title{-webkit-text-fill-color:#BE9B48;color:#BE9B48}
}

/* Kat planları (proje detay) */
.plan-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.plan-thumb{display:block;border:1.5px solid #E5DDCB;border-radius:10px;overflow:hidden;background:#FAF6EC;transition:.15s}
.plan-thumb:hover{border-color:#BE9B48;box-shadow:0 4px 16px rgba(0,0,0,.08)}
.plan-thumb img{width:100%;height:180px;object-fit:contain;display:block;background:#fff}
.plan-cap{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:7px 10px;border-top:1px solid #F5F0E6;background:#fff}
.plan-cap-tip{font-size:13px;font-weight:800;color:#10233F;background:#fef3c7;border:1px solid #E9D9A8;border-radius:6px;padding:1px 8px;flex-shrink:0}
.plan-cap-m2{font-size:11px;font-weight:600;color:#64748b;text-align:right;line-height:1.3}
@media(max-width:600px){.plan-grid{grid-template-columns:repeat(2,1fr)}}
.kw-links{display:flex;flex-wrap:wrap;gap:8px}
.kw-links a{display:inline-block;font-size:13px;font-weight:600;color:#33415C;background:#F5F0E6;border:1px solid #E5DDCB;border-radius:8px;padding:7px 12px;text-decoration:none;transition:.15s}
.kw-links a:hover{background:#fef3c7;border-color:#E9D9A8;color:#10233F}
/* #223 (2026-08-20) — bağlantı bloğu tek karta indirildi; her satır kendi etiketiyle.
   Amaç: üst üste iki çip yığınının yarattığı "boş içerik" görüntüsünü kaldırmak. */
.kw-satir{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 12px;padding:9px 0;border-top:1px solid #F1EBDD}
.kw-satir:first-of-type{border-top:none;padding-top:2px}
.kw-etiket{flex:0 0 auto;min-width:118px;font-size:11px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:#a98c5a}
.kw-satir .kw-links{flex:1 1 260px}
.kw-kaynak{flex:0 0 100%;font-size:11.5px;color:#94a3b8;margin-top:2px}
.kw-oda{flex:1 1 260px;font-size:14px;font-weight:700;color:#33415C}
.kw-oda a{color:#33415C;text-decoration:none;border-bottom:1px solid #E5DDCB}
.kw-oda a:hover{color:#10233F;border-bottom-color:#a98c5a}
.kw-oda i{font-style:normal;color:#c9bfa8;margin:0 4px}
@media(max-width:640px){.kw-etiket{flex:0 0 100%;min-width:0}}

/* A11y: reduced-motion BLANKET guard — tüm animation/transition'ları kapsar (curated bloğa ek; kullanıcı isteği) */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
    scroll-behavior: auto !important;
  }
}

/* #121 — proje detayi tek-sayfa bolum basliklari */
.ppanel{scroll-margin-top:118px}
/* #121 v6 editoryal — beyaz zemin, serif başlık, ince çizgi, altın mikro-numara */
.psec-head{display:flex;align-items:baseline;gap:16px;margin:46px 0 20px;border-top:1px solid #e7e2d9;padding-top:26px}
.psec-no{font-size:12px;color:#b3a992;font-weight:600;letter-spacing:.18em;white-space:nowrap}
.psec-no::after{content:" —";color:#a98c5a}
.psec-title{margin:0;font-family:inherit;font-size:clamp(22px,19px + 1vw,30px);font-weight:800;letter-spacing:-.01em;color:#1c1a16;line-height:1.15}
.proje-body .detail-section>h2{font-family:inherit;font-size:clamp(18px,16px + .6vw,23px);font-weight:800;letter-spacing:-.01em;color:#1c1a16}
.proje-body .prose p{font-size:15.5px;line-height:1.78;color:#3d3a34}
/* #121 künye (spec-sheet): anahtar–değer satırları, kılcal çizgiler */
.kunye{display:grid;grid-template-columns:repeat(2,1fr);gap:0 48px;background:#FAF6EC;border:1px solid #E5DDCB;border-radius:14px;padding:4px 24px 16px}
.kunye .kgroup h3{font-size:11px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:#8C6D25;padding:18px 0 8px;border-bottom:1px solid #E9DFC8;margin:0}
.kunye .krow{display:flex;justify-content:space-between;align-items:baseline;gap:20px;padding:12px 0;border-bottom:1px solid #f0ece4;font-size:14.5px}
.kunye .kk{color:#6d675e;font-weight:400}
.kunye .kv{font-weight:600;color:#1c1a16;text-align:right;font-variant-numeric:tabular-nums}
.kunye .kv a{color:#1c1a16;text-decoration:underline;text-decoration-color:#d8cfbe;text-underline-offset:3px}
@media(max-width:760px){
  .kunye{grid-template-columns:1fr}
  /* v6'nin kucuk-ekran davranisi: numara ustte, baslik altta dikey istif */
  .psec-head{flex-direction:column;gap:6px;margin:34px 0 16px;padding-top:20px}
  .psec-title{font-size:23px}
  .kunye .krow{flex-wrap:wrap}
  .kunye .kv{text-align:left}
}

/* #183 — Keşfet: bölge talebi paneli (listelemenin üstünde). JS yok: <details> ile açılır. */
.bolge-talep{background:linear-gradient(180deg,#fffdf8,#fff);border:1px solid #e7e2d9;border-radius:14px;padding:14px 16px;margin-bottom:16px}
.bt-ust{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.bt-ust h2{font-size:1rem;font-weight:800;margin:0 0 2px;color:#1c1a16}
.bt-ust p{font-size:13px;color:#64748b;margin:0}
.bt-ac{background:#BE9B48;color:#10233F;font-weight:800;border:0;border-radius:9px;padding:9px 18px;font-size:13.5px;cursor:pointer;white-space:nowrap}
.bt-ac:hover{background:#A5842E}
.bt-ac:focus-visible{outline:2px solid #10233F;outline-offset:2px}
.bt-form{margin-top:12px}
.bt-form>summary.gorunmez-summary{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.bt-satir{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-bottom:10px}
.bt-satir label{display:block;font-size:12px;font-weight:700;color:#475569}
.bt-satir select,.bt-satir input{width:100%;margin-top:4px;border:1px solid #e7e2d9;border-radius:9px;padding:9px 10px;font:inherit;font-size:14px;background:#fff;box-sizing:border-box}
.bolge-talep textarea{width:100%;border:1px solid #e7e2d9;border-radius:10px;padding:10px 12px;font-size:14px;font-family:inherit;resize:vertical;box-sizing:border-box}
.bt-alt{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:8px;flex-wrap:wrap}
.bt-alt span{font-size:12px;color:#94a3b8}
.bt-gonder{background:#BE9B48;color:#10233F;font-weight:800;border:0;border-radius:9px;padding:10px 20px;font-size:14px;cursor:pointer}
.bt-gonder:hover{background:#A5842E}
.bt-kvkk{font-size:11px;color:#94a3b8;margin-top:8px}
.bt-kvkk a{color:#0369a1}
.bt-uyari{font-size:13px;color:#64748b;margin:10px 0 0}
.bt-hata{background:#fef2f2;border:1px solid #fecaca;color:#991b1b;font-size:13px;padding:8px 12px;border-radius:8px;margin-bottom:10px}
.bt-giris{display:inline-block;margin-top:8px;background:#1c1a16;color:#fff;font-weight:700;text-decoration:none;border-radius:9px;padding:9px 18px;font-size:14px}
@media (max-width:560px){.bt-ac{width:100%}}

/* #168 — metin içi varlık bağlantısı (IcLink). Gövde metninde adı geçen proje/firma
   kendi sayfasına gider. Reklam gibi değil, ansiklopedik bir referans gibi görünmeli:
   metnin rengini korur, yalnız ince alt çizgi taşır; üstüne gelince belirginleşir. */
.prose .ic-link,.article .ic-link{color:inherit;text-decoration:none;border-bottom:1px solid #cbd5e1;transition:border-color .15s,color .15s}
.prose .ic-link:hover,.article .ic-link:hover,.prose .ic-link:focus-visible,.article .ic-link:focus-visible{color:#0369a1;border-bottom-color:#0369a1}
.prose .ic-link:focus-visible,.article .ic-link:focus-visible{outline:2px solid #0369a1;outline-offset:2px;border-radius:2px}

/* ── #181-Ç5 (2026-08-17) — mobil alt-CTA barı: proje sayfasında lead düğmesi başparmak
   bölgesinde her an erişilebilir. Yalnız mobil; masaüstünde sticky karar şeridi görev başında. */
.mobil-cta-bar{display:none}
@media (max-width:640px){
  .mobil-cta-bar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:300;
    background:var(--murekkep);padding:10px 14px calc(10px + env(safe-area-inset-bottom));
    gap:10px;align-items:center;box-shadow:var(--golge-yukari)}
  .mobil-cta-bar .mcb-not{color:#E5DDCB;font-size:12.5px;line-height:1.3;flex:1;min-width:0;
    overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .mobil-cta-bar .btn-primary{flex-shrink:0}
  .mobil-cta-bosluk{height:64px}
}

/* ── #181-Ç6 (2026-08-17) — DOĞRULAMA ROZETİ: markanın görsel imzası. Tek bileşen,
   üç yüzeyde aynı (proje sayfası şeridi · ana sayfa vitrini · gelecekte kartlar).
   Ekran görüntüsünde bile ayırt edilebilir olsun diye tutarlı renk+biçim. */
.rozet-dogrulama{display:inline-flex;align-items:center;gap:6px;
  background:var(--basari-zemin);border:1px solid var(--basari-cizgi);color:var(--basari);
  border-radius:999px;padding:4px 12px;font-size:12px;font-weight:800;line-height:1.3}
.rozet-dogrulama svg{flex-shrink:0}
.rozet-dogrulama b{font-weight:900}


/* ================= #223 mobil dokunma-hedefi düzeltmeleri (2026-08-17 QA taraması) =================
   Bulgular: menü/arama 30px, 'Üye Ol' 30px, KKTC şerit düğmeleri 31px, alt bilgi ve breadcrumb
   linkleri 16px yükseklikteydi — hedef: >=40px (dokunma standardı 44px'e yakınsama). */
@media(max-width:768px){
  .btn-sm{min-height:40px;display:inline-flex;align-items:center}
  .ksCta{min-height:40px}
  nav[aria-label="breadcrumb"] a{display:inline-block;padding:10px 2px;margin:-6px 0}
  .site-footer a,footer a{display:inline-block;padding:8px 4px;margin:-4px 0}
  .mobil-cta-bar a,.mobil-cta-bar button{min-height:44px}
}


/* ================= #223 KONSEY tipografisi (STAGING DEMO) =================
   Cormorant Garamond (başlık) + Manrope (gövde) — KONSEY sabiti. Onay sonrası
   self-host + subset yapılacak; demo Google Fonts ile. */
body{font-family:'Manrope',-apple-system,'Segoe UI',Roboto,sans-serif}
h1,h2,.psec-title,.logo b{font-family:'Cormorant Garamond',Georgia,'Times New Roman',serif;letter-spacing:.2px}
h1{font-weight:700} h2{font-weight:600}


/* #223 mobil sadeleştirme: yeni-eklenen kart ızgarası mobilde 4 kartta katlanır
   (içerik DOM'da kalır — SEO-nötr); buton yalnız mobilde. */
.ay-katla-btn{display:none}
@media(max-width:640px){
  .ay-katla:not(.acik) .ay-pk:nth-child(n+5){display:none}
  .ay-katla-btn{display:block;width:100%;margin-top:12px;padding:11px;border:1px solid #E5DDCB;
    border-radius:10px;background:#FAF6EC;color:#10233F;font-weight:700;font-size:14px;cursor:pointer}
}


/* #223 cila: govde-link ayrimi — sinifsiz (icerik) linkler altin tonda ve alti cizili;
   nav/buton linkleri sinifli oldugu icin etkilenmez. */
main a:not([class]){color:#8C6D25;text-decoration:underline;text-underline-offset:2px}
main a:not([class]):hover{color:#6E551D}

/* #223 mobil sadeleştirme — kalan 7 katlama (içerik DOM'da kalır, yalnız mobilde görsel katlama) */
@media(max-width:640px){
  .ayk-dg:not(.acik) a:nth-child(n+4){display:none}
  .ay-zincir:not(.acik) .ay-zn:nth-child(n+4){display:none}
  .ay-sehirler:not(.acik) .ay-sh:nth-child(n+13){display:none}
  .ay-firmalar:not(.acik) .ay-fr:nth-child(n+7){display:none}
  .ay-grid4#ayNeden:not(.acik) .ay-nd:nth-child(n+4){display:none}
  .ay-grid3#ayRehber:not(.acik) .ay-mk-kutu:nth-child(n+3){display:none}
  .v3-sss:not(.acik) details:nth-child(n+4){display:none}
  /* alt bilgi akordeonu: ilk kolon (logo+tanım) hariç listeler başlıkla açılır */
  .site-footer .footer-grid>div:not(:first-child) h2{cursor:pointer;position:relative;padding-right:22px}
  .site-footer .footer-grid>div:not(:first-child) h2::after{content:'›';position:absolute;right:2px;top:0;transform:rotate(90deg);transition:transform .2s;color:#D4B15F}
  .site-footer .footer-grid>div:not(:first-child):not(.acik) ul{display:none}
  .site-footer .footer-grid>div.acik h2::after{transform:rotate(-90deg)}
}

/* #223 P2: gorselsiz makale karti — bos lacivert yerine editoryal yuz */
.pcard-yok{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;
  padding:20px;background:linear-gradient(150deg,#0E2038 20%,#1D3A63)}
/* #223 (2026-08-21) — BOZUK GLIF: bu kuralin icerigi bir kontrol karakteri (U+0081) +
   'D' harfiydi; tarayici kontrol karakterini 'NO GLYPH' kutusu olarak ciziyordu ve
   gorseli olmayan HER rehber kartinda dev bir kirik glif + 'D' gorunuyordu (ekran
   goruntusuyle yakalandi). Marka harfiyle degistirildi ve kacis dizisiyle yazildi ki
   kodlama bozulmasi tekrar edemesin. */
.pcard-yok::before{content:'S';position:absolute;top:-30px;right:12px;
  font-family:'Cormorant Garamond',Georgia,serif;font-size:170px;line-height:1;color:rgba(212,177,95,.16)}
.py-kat{font-family:'Cormorant Garamond',Georgia,serif;font-size:26px;font-weight:600;color:#F5EFE1}
.py-cizgi{width:46px;height:3px;background:#D4B15F;border-radius:2px;margin-top:10px}

/* ============================================================================
   MAKALE TİPOGRAFİSİ (#123, Ercan eleştirisi 2026-08-21)
   "1990'lardan kalma bir websitesi gibi... okuyucuyu yoran"
   Ekran görüntüsü + DOM ölçümüyle sebep bulundu — hepsi ölçülen değerler:
     .prose ul  -> list-style:none, padding-left:0  (madde işareti YOK, girinti YOK
                   → liste düz metin gibi akıyordu)
     .prose li  -> margin-bottom:0                  (satırlar birbirine yapışık)
     .prose td  -> padding:0                        (tablo hücreleri sıkışık)
     gövde 14px / h2 18px                           (uzun metin için küçük, hiyerarşi zayıf)
   Kapsam bilerek `.prose` ile SINIRLI: liste görünümünü sıfırlayan genel kural
   site genelinde (menü, çip, sekme) gerekli — yalnız makale gövdesinde geri alınır.
   ========================================================================== */
.prose{font-size:16px;line-height:1.75;color:#2c3446}
/* .article p (bu dosyada ~510. satir) font-size:14px veriyor ve makale govdesi
   <article class="article"><div class="prose"> yapisinda oldugu icin DOGRUDAN p'yi
   hedefliyor; kabin .prose{font-size:16px} degeri KALITIMLA gelemiyor, dogrudan kural
   her zaman kalitimi yener. Ozgulluk esit (0,1,1) oldugundan kaynak sirasi karar verir:
   bu blok daha sonra geldigi icin font-size'i BURADA acikca vermek zorundayiz.
   OLCUM (CDP, canli sayfa): kap .prose = 16px iken 25 paragrafin HEPSI 14px olculdu. */
.prose p{margin:0 0 16px;font-size:16px;line-height:1.75;color:#2c3446}
.prose h2{font-size:24px;line-height:1.3;margin:34px 0 12px;letter-spacing:-.01em}
.prose h3{font-size:18px;line-height:1.35;margin:24px 0 8px}
.prose ul{list-style:disc;padding-inline-start:24px;margin:0 0 16px}
.prose ol{list-style:decimal;padding-inline-start:24px;margin:0 0 16px}
.prose li{margin:0 0 8px;list-style:inherit}
.prose li::marker{color:#BE9B48}
.prose li>p{margin:0 0 6px}
/* #223 (2026-08-22) — TABLO MOBILDE SAYFAYI GENISLETIYORDU.
   Olculdu (CDP, 390px mobil viewport istendi):
     /kktc-site-aidati-isletme-maliyetleri -> gercek viewport 566px (tablo 531px)
     /kktc-tapu-turleri-...                -> 418px
     /kibris/ev-alinir-mi                  -> 390px (temiz)
   Tablo daralamayinca tarayici TUM SAYFAYI kucultuyor: 566/390 -> sayfa ~%69
   olcekte basiliyor ve tablo yuzunden PARAGRAFLAR da okunmaz hale geliyor.
   `width:100%` yetmez — yuzde, tablonun min-content genisliginin altina inemez.
   Cozum kendi kuralimizda yazili: genis icerik kendi overflow-x:auto kabinda kayar. */
.prose table{display:block;width:max-content;max-width:100%;overflow-x:auto;
  border-collapse:collapse;margin:0 0 20px;font-size:15px;
  -webkit-overflow-scrolling:touch}
/* display:block tabloyu shrink-to-fit yapar; hucre hizalamasi icin ic yapi tablo kalir. */
.prose table>thead,.prose table>tbody,.prose table>tfoot{display:table;width:100%}
.prose th{text-align:start;padding:10px 12px;background:#F7F3E8;border-bottom:2px solid #E9D9A8;font-weight:800}
.prose td{padding:10px 12px;border-bottom:1px solid #ECE7DA;vertical-align:top}
.prose tr:last-child td{border-bottom:0}
.prose table a{color:#0369a1}
.prose blockquote{margin:0 0 16px;padding:10px 16px;border-inline-start:3px solid #BE9B48;background:#FAF7EF;border-radius:0 8px 8px 0}
/* Uzun metinde satır uzunluğu okunabilirliğin en büyük etkeni: 70-80 karakter hedefi */
.prose{max-width:74ch}
@media(max-width:640px){.prose{font-size:15.5px;max-width:none}.prose p{font-size:15.5px}.prose h2{font-size:21px}}

/* ===== #248 MOBIL UYUM (Ercan, 2026-08-22 ACIL) ==========================================
   Olculdu (CDP, 390px, apex): yatay tasma YOK (320px'te bile) — sorun duzen kirilmasi degil,
   TIPOGRAFI ve DOKUNMA ERGONOMISI:
     * proje listesinde ilk kart 2.325 px asagida, filtre paneli tek basina 1.307 px
     * 162 etkilesim ogesinin 51'i 24 px'den kisa (16x16 onay kutulari dahil)
     * metnin %98'i 16 px altinda; hakim boy 13-14 px
   Asagidaki kurallar bu uc olcumun karsiligidir. ======================================= */

/* Filtre paneli mobilde acilir kapanir; baslik artik bir dugme. */
.kf-card > summary.kf-head{list-style:none;cursor:pointer;display:flex;align-items:center;
  gap:8px;min-height:48px;user-select:none}
.kf-card > summary.kf-head::-webkit-details-marker{display:none}
.kf-card > summary.kf-head::after{content:"";margin-inline-start:auto;width:9px;height:9px;
  border-right:2px solid currentColor;border-bottom:2px solid currentColor;
  transform:rotate(45deg);transition:transform .18s ease}
.kf-card[open] > summary.kf-head::after{transform:rotate(-135deg)}

@media(max-width:900px){
  /* iOS 16 px altindaki form alanina odaklaninca sayfayi ZOOMLAR; 16 px bunu keser. */
  .kf-select,.kf-card input[type="text"],.kf-card input[type="search"],
  .kf-card input[type="number"],.kf-card select{font-size:16px;min-height:44px}
  .kf-label{font-size:12.5px}
  /* Onay kutulari 16x16 idi: parmakla isabet ettirilemiyordu. */
  /* WCAG 2.2 AA "Target Size (Minimum)" = 24x24 CSS px. 22 px hala altinda kaliyordu. */
  .kf-body input[type="checkbox"],.kf-body input[type="radio"]{width:24px;height:24px;flex:0 0 24px}
  /* Kart uzerindeki takip dugmesi ve kucuk baglantilar: dokunma alani buyutulur,
     gorunum ayni kalsin diye yalniz min-height + hizalama verilir. */
  .btn-takip,.kf-clear{min-height:24px;display:inline-flex;align-items:center;padding-block:4px}
  .kf-body label{min-height:32px;display:flex;align-items:center;gap:8px}
}
@media(max-width:900px){
  /* TIPOGRAFI (plan md.4). Blanket bir govde punto degisikligi yerine OLCULEN yuzeyler
     buyutuldu: proje karti mobil kullanicinin taradigi ana yuzey ve orada konum/m2 satiri
     11 px idi. Kart basligi 14 -> 16, kunye satirlari 11-12 -> 13.
     Masaustu (>900px) hic degismiyor. */
  .pcard-title{font-size:16px}
  .pcard-loc,.pcard-m2{font-size:13px}
  .proj-firm-name,.proj-loc,.proj-cta{font-size:13.5px}
  .footer-desc{font-size:14px;max-width:none}
  .sec-sub,.firm-tagline{font-size:14.5px}
}
@media(max-width:900px){
  /* Kok neden: body tabani 14 px — masaustu doneminden kalma. Bilesenlerin cogu kendi
     font-size'ini yaziyor, ama genel metin (p, dd, span, li) bu tabani miras aliyordu;
     anasayfa ve proje detayda "16 px alti" oraninin buyuk kismi buradan geliyordu.
     Mobilde taban 16 px. Bilesen kurallari DEGISMIYOR — bu yuzden dugme/etiket boyutlari
     ayni kaliyor ve duzen kaymiyor (olculdu: yatay tasma 0). */
  body{font-size:16px}
}
@media(max-width:900px){
  /* #248 md.6 — MOBILDE BOLUM SIRASI.
     Olculdu (390px): filtre kapatildiktan sonra bile ilk proje karti 1.080 px asagidaydi;
     arasinda uyelik kutusu (243 px) ve TCMB endeks karti (390 px) duruyordu. Masaustunde
     bunlar sorun degil (ilk kart 608 px'te), mobilde iki ekran boyu gecikme demek.
     Icerik SILINMIYOR, yalnizca mobilde kartlarin ALTINA aliniyor — SEO ve E-E-A-T degeri
     duruyor, kullanici once urunu goruyor.
     `order` icin kap flex yapiliyor; cocuklara `min-width:0` verilir cunku flex ogesinin
     varsayilan `min-width:auto` degeri ic tablo/kaydirici ogeleri sisirebiliyor
     (bkz. flex-min-auto-tasma-tuzagi). */
  /* SADECE isaretli blok tasinir. Ilk surumde her cocuga `order:9` verilip secililere
     dusuk deger atanmisti; bu, ayni kabi kullanan /projeler (kesfet) sayfasinda
     SINIFI OLMAYAN ogeleri de 9'a dusurdu ve olculdu: H1 551 px'ten 4.499 px'e indi —
     yani sayfa basligi kartlarin ALTINDA kaldi. Sinifsiz ogeleri hedefleyemedigim icin
     "hepsini tasi, secilenleri geri al" yaklasimi yanlisti. Dogrusu tersi: hicbir sey
     tasinmaz, yalniz .kw-ust-blok sona alinir (order 0 olanlar DOM sirasini korur). */
  main.kesfet-results{display:flex;flex-direction:column}
  main.kesfet-results > *{min-width:0}
  main.kesfet-results > .kw-ust-blok{order:1}
}
@media(max-width:900px){
  /* #248 md.4 (2. parca) — PROJE DETAY ve yan bilesenlerin mobil puntolari.
     Olcum yontemi: sayfadaki 14 px alti metin, "satir ici stil" ve "sinif kurali" diye
     ikiye ayrildi (CDP `CSS.getMatchedStylesForNode` ile hangi secicinin verdigi tarayiciya
     SORULDU, tahmin edilmedi). Sinif kurallarindan gelen kisim burada buyutuldu.
     Satir ici stille yazilmis 895 karakterlik kisim BU BLOKLA COZULMEZ — satir ici stil
     stylesheet'i yener; `!important` ile ezmek yerine sablon duzeltmesi gerekiyor
     (rapora yazildi). */
  .kw-links a{font-size:14px}
  .kw-etiket{font-size:12.5px}
  .kw-kaynak{font-size:12.5px}
  .trend-name,.follow-name,.sdb-head h4,.lb-cap{font-size:14px}
  .trend-sub{font-size:12.5px}
  .poi-note{font-size:13px}
  .pc-text,.analiz-excerpt{font-size:14.5px}
}
/* #248 md.4c — MOBIL PUNTO OLCEGI (degisken tabanli).
   SORUN: proje sablonunda 14 px altindaki puntolarin 55'i SATIR ICI stille yazili
   (`style="font-size:12px"`). Satir ici stil, stylesheet'i her zaman yener; medya sorgusuyla
   buyutulemiyordu. `!important` ile ezmek sayfa genelinde ongorulemez bir borc olurdu.
   COZUM: satir ici bildirimin DEGERI degiskene baglanir. Bildirim yine satir ici kalir
   (ozgulluk tartismasi yok) ama degerini kaskattan alir; medya sorgusu degiskeni degistirir.
   Masaustu degerleri BUGUNKUNUN AYNISI — yalniz mobil buyur. Degisken desteklenmezse
   `var(--f12, 12px)` yedegi eski degeri verir. */
:root{
  --f9:9px; --f11:11px; --f115:11.5px; --f12:12px; --f125:12.5px; --f13:13px; --f135:13.5px;
}
@media(max-width:900px){
  :root{
    --f9:11px; --f11:12px; --f115:12.5px; --f12:13px; --f125:13px; --f13:14px; --f135:14px;
  }
}
@media(max-width:640px){
  /* #248 (Ercan, 2026-08-22 — gercek cihaz ekran goruntusu): alt bilgi mobilde BOZUK.
     Olculdu (390px): `.footer-grid` iki sutuna (163px + 163px) dusuyordu. Sonuc:
       * marka aciklamasi 163 px'lik sutunda 6 satira yayiliyor ("Turkiye, KKTC ve /
         Dubai'deki yeni konut / projelerinin kaydi." gibi),
       * dort akordeon basligi ikiser ikiser dizilince PLATFORM ve KURUMSAL tek basina
         kaliyor, yanlarinda buyuk bos alan olusuyor.
     Akordeon zaten <=640px'te devrede; iki sutun bu yuzden gereksiz. Tek sutunda marka
     bloku tam genislik alir, basliklar alt alta siralanir. */
  .footer-grid{grid-template-columns:1fr;gap:18px}
  .footer-desc{max-width:none}
  /* Akordeon basliklari dokunma hedefi olarak da kucuktu (WCAG 2.2 AA 24x24). */
  .site-footer .footer-grid>div:not(:first-child) h2{min-height:40px;display:flex;
    align-items:center;margin-bottom:0}
  .site-footer .footer-grid>div:not(:first-child).acik ul{margin-top:10px}
}
