/* =====================================================================================================
   EmlakBank teması: koyu yeşil (marka) + hardal (vurgu). Açık ve koyu mod aynı renk rolleriyle çalışır;
   tema <html data-bs-theme="light|dark"> ile seçilir (Views/Shared/_TemaBasligi, js/tema.js).
   Kural: bileşenler renkleri yalnızca aşağıdaki rollerden alır; doğrudan renk kodu yazılmaz.
     --marka*        dolgu (düğme, üst bar, rozet zemini); üzerinde beyaz yazı
     --marka-metin   markanın yazı/başlık rengi (koyu modda açık yeşil)
     --hardal*       vurgu (fiyat, birincil eylem); --hardal-metin vurgunun yazı rengi
     --zemin / --yuzey / --yuzey-2  sayfa, kart, ikincil yüzey
     --metin / --metin-2 / --metin-3  ana, ikincil, soluk yazı
     --iyi / --uyari / --kritik / --pasif  durum rengi çiftleri (zemin + metin)
   Yazı tipleri: başlık "Bricolage Grotesque", metin "Onest" (Google Fonts, _TemaBasligi).
   ===================================================================================================== */
:root, [data-bs-theme="light"] {
    --marka: #283820;
    --marka-orta: #3d5530;
    --marka-koyu: #1b2616;
    --marka-yumusak: #6b8a5a;
    --marka-metin: #2b4123;
    --marka-acik: #e6ecdf;
    --hardal: #c9a54b;
    --hardal-koyu: #b08d36;
    --hardal-metin: #85661c;
    --hardal-acik: #f6ecd2;

    --zemin: #f4f4ee;
    --yuzey: #ffffff;
    --yuzey-2: #f7f8f3;
    --metin: #1f261b;
    --metin-2: #59634f;
    --metin-3: #858d80;
    --cizgi: #dfe4d8;
    --cizgi-guclu: #c5cdbb;
    --golge: 0 .5rem 1.4rem rgba(27, 38, 22, .10);
    --golge-buyuk: 0 1rem 2.5rem rgba(27, 38, 22, .16);

    --iyi-zemin: #e3ecda;   --iyi-metin: #2b4123;
    --uyari-zemin: #f6ecd2; --uyari-metin: #7a5d16;
    --kritik-zemin: #f8dcd8; --kritik-metin: #8a2a1d;
    --pasif-zemin: #ececea; --pasif-metin: #5f625b;

    /* Eski adlar (görünümlerde ve eski kurallarda kullanılıyor) */
    --yesil: var(--marka);
    --yesil-koyu: var(--marka-koyu);
    --yesil-orta: var(--marka-orta);
    --yesil-yumusak: var(--marka-yumusak);
    --yesil-acik: var(--marka-acik);
    --yesil-zemin: var(--zemin);
    --vurgu: var(--hardal);
    --vurgu-koyu: var(--hardal-koyu);

    /* Bootstrap eşlemesi */
    --bs-body-font-family: "Onest", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
    --bs-body-bg: var(--zemin);
    --bs-body-color: var(--metin);
    --bs-emphasis-color: var(--metin);
    --bs-secondary-color: var(--metin-2);
    --bs-tertiary-color: var(--metin-3);
    --bs-secondary-bg: var(--yuzey-2);
    --bs-tertiary-bg: var(--yuzey-2);
    --bs-border-color: var(--cizgi);
    --bs-border-color-translucent: var(--cizgi);
    --bs-link-color-rgb: 43, 65, 35;
    --bs-link-hover-color-rgb: 61, 85, 48;
    --bs-heading-color: var(--metin);
    --bs-focus-ring-color: rgba(107, 138, 90, .35);
    --baslik-font: "Bricolage Grotesque", "Onest", system-ui, sans-serif;
}

[data-bs-theme="dark"] {
    color-scheme: dark;
    --marka: #2f4a27;
    --marka-orta: #3b5a31;
    --marka-koyu: #22361c;
    --marka-yumusak: #7fa06c;
    --marka-metin: #b3d1a0;
    --marka-acik: #213019;
    --hardal: #d4b25a;
    --hardal-koyu: #c09d45;
    --hardal-metin: #e3c676;
    --hardal-acik: #362d17;

    --zemin: #0f130d;
    --yuzey: #171d14;
    --yuzey-2: #1d2519;
    --metin: #e6eadf;
    --metin-2: #a9b3a1;
    --metin-3: #7f8a79;
    --cizgi: #2b3626;
    --cizgi-guclu: #3a4833;
    --golge: 0 .5rem 1.4rem rgba(0, 0, 0, .45);
    --golge-buyuk: 0 1rem 2.5rem rgba(0, 0, 0, .55);

    --iyi-zemin: #22331d;   --iyi-metin: #b3d1a0;
    --uyari-zemin: #362d17; --uyari-metin: #e3c676;
    --kritik-zemin: #3b1f1b; --kritik-metin: #f2a598;
    --pasif-zemin: #262a24; --pasif-metin: #b4bbae;

    --bs-body-bg: var(--zemin);
    --bs-body-color: var(--metin);
    --bs-emphasis-color: var(--metin);
    --bs-secondary-color: var(--metin-2);
    --bs-tertiary-color: var(--metin-3);
    --bs-secondary-bg: var(--yuzey-2);
    --bs-tertiary-bg: var(--yuzey-2);
    --bs-border-color: var(--cizgi);
    --bs-border-color-translucent: var(--cizgi);
    --bs-link-color-rgb: 179, 209, 160;
    --bs-link-hover-color-rgb: 212, 178, 90;
    --bs-heading-color: var(--metin);
}

/* ---- Temel ---- */
body { padding-bottom: 40px; font-family: var(--bs-body-font-family); background: var(--zemin); color: var(--metin); }
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 { font-family: var(--baslik-font); font-weight: 700; letter-spacing: -.01em; text-wrap: balance; }
.table td, .table th { vertical-align: middle; }
.table { --bs-table-bg: var(--yuzey); --bs-table-color: var(--metin); --bs-table-border-color: var(--cizgi);
    --bs-table-striped-bg: var(--yuzey-2); --bs-table-striped-color: var(--metin); --bs-table-hover-bg: var(--marka-acik); --bs-table-hover-color: var(--metin); }
.table td { font-variant-numeric: tabular-nums; }
.card { --bs-card-bg: var(--yuzey); --bs-card-border-color: var(--cizgi); --bs-card-cap-bg: var(--yuzey-2); }
.dropdown-menu { --bs-dropdown-bg: var(--yuzey); --bs-dropdown-border-color: var(--cizgi); --bs-dropdown-link-hover-bg: var(--marka-acik);
    --bs-dropdown-link-active-bg: var(--marka); --bs-dropdown-color: var(--metin); --bs-dropdown-link-color: var(--metin); box-shadow: var(--golge); }
.modal { --bs-modal-bg: var(--yuzey); --bs-modal-border-color: var(--cizgi); }
.form-control, .form-select { background-color: var(--yuzey); color: var(--metin); border-color: var(--cizgi-guclu); }
.form-control::placeholder { color: var(--metin-3); }
.form-control:focus, .form-select:focus { background-color: var(--yuzey); color: var(--metin); border-color: var(--marka-yumusak); box-shadow: 0 0 0 .2rem var(--bs-focus-ring-color); }
.form-control:disabled, .form-select:disabled { background-color: var(--yuzey-2); }
.form-check-input:checked { background-color: var(--marka); border-color: var(--marka); }
/* Görünümlerdeki sabit açık yüzey sınıfları temaya uyar */
.bg-white, .bg-light { background-color: var(--yuzey) !important; }
.text-bg-light { background-color: var(--yuzey-2) !important; color: var(--metin) !important; }
.text-dark { color: var(--metin) !important; }
.text-muted { color: var(--metin-2) !important; }
.breadcrumb { --bs-breadcrumb-divider-color: var(--metin-3); --bs-breadcrumb-item-active-color: var(--metin-2); font-size: .9rem; }
.alert { border-radius: .8rem; }
[data-bs-theme="dark"] .navbar-toggler-icon { filter: none; }

/* Birincil düğmeler marka renginde */
.btn-primary, .btn-yesil {
    --bs-btn-color: #fff; --bs-btn-bg: var(--marka); --bs-btn-border-color: var(--marka);
    --bs-btn-hover-color: #fff; --bs-btn-hover-bg: var(--marka-orta); --bs-btn-hover-border-color: var(--marka-orta);
    --bs-btn-active-color: #fff; --bs-btn-active-bg: var(--marka-koyu); --bs-btn-active-border-color: var(--marka-koyu);
    --bs-btn-disabled-bg: var(--marka); --bs-btn-disabled-border-color: var(--marka); --bs-btn-focus-shadow-rgb: 107, 138, 90;
}
.btn-outline-primary, .btn-yesil-cizgi {
    --bs-btn-color: var(--marka-metin); --bs-btn-border-color: var(--marka-yumusak); --bs-btn-bg: transparent;
    --bs-btn-hover-color: #fff; --bs-btn-hover-bg: var(--marka); --bs-btn-hover-border-color: var(--marka);
    --bs-btn-active-color: #fff; --bs-btn-active-bg: var(--marka-koyu); --bs-btn-active-border-color: var(--marka-koyu);
    --bs-btn-focus-shadow-rgb: 107, 138, 90;
}
.btn-outline-secondary { --bs-btn-color: var(--metin-2); --bs-btn-border-color: var(--cizgi-guclu); --bs-btn-hover-bg: var(--yuzey-2);
    --bs-btn-hover-color: var(--metin); --bs-btn-hover-border-color: var(--cizgi-guclu); --bs-btn-active-bg: var(--yuzey-2); --bs-btn-active-color: var(--metin); }
.btn-vurgu {
    --bs-btn-color: #1b2616; --bs-btn-bg: var(--hardal); --bs-btn-border-color: var(--hardal);
    --bs-btn-hover-color: #1b2616; --bs-btn-hover-bg: var(--hardal-koyu); --bs-btn-hover-border-color: var(--hardal-koyu);
    --bs-btn-active-color: #1b2616; --bs-btn-active-bg: var(--hardal-koyu); --bs-btn-active-border-color: var(--hardal-koyu);
    font-weight: 600;
}
.btn-link { --bs-btn-color: var(--marka-metin); --bs-btn-hover-color: var(--hardal-metin); --bs-btn-active-color: var(--marka-metin); }
.btn { border-radius: .6rem; }
.pagination {
    --bs-pagination-color: var(--marka-metin); --bs-pagination-bg: var(--yuzey); --bs-pagination-border-color: var(--cizgi);
    --bs-pagination-hover-color: var(--marka-metin); --bs-pagination-hover-bg: var(--marka-acik); --bs-pagination-hover-border-color: var(--cizgi);
    --bs-pagination-active-bg: var(--marka); --bs-pagination-active-border-color: var(--marka);
    --bs-pagination-disabled-bg: var(--yuzey-2); --bs-pagination-disabled-color: var(--metin-3); --bs-pagination-disabled-border-color: var(--cizgi);
    --bs-pagination-focus-box-shadow: 0 0 0 .2rem var(--bs-focus-ring-color);
}
:focus-visible { outline-color: var(--hardal); }

/* ---- Tema düğmesi ---- */
.tema-dugme {
    display: inline-flex; align-items: center; justify-content: center; width: 2.4rem; height: 2.4rem; flex: 0 0 auto;
    border: 1px solid var(--cizgi-guclu); border-radius: .6rem; background: transparent; color: var(--marka-metin); padding: 0;
    transition: background-color .15s, color .15s;
}
.tema-dugme:hover { background: var(--marka-acik); }
.tema-dugme-acik { border-color: rgba(255, 255, 255, .35); color: #fff; }
.tema-dugme-acik:hover { background: rgba(255, 255, 255, .12); }
.tema-ikon { display: none; }
[data-tema-tercih="acik"] .tema-ikon-acik, [data-tema-tercih="koyu"] .tema-ikon-koyu, [data-tema-tercih="sistem"] .tema-ikon-sistem,
html:not([data-tema-tercih]) .tema-ikon-sistem { display: block; }

/* =====================================================================================================
   Herkese açık ilan sitesi (_PublicLayout)
   ===================================================================================================== */
body.site { padding-bottom: 0; display: flex; flex-direction: column; min-height: 100vh; }
body.site main { flex: 1 0 auto; }

/* Üst bar */
.site-header { background: color-mix(in srgb, var(--yuzey) 88%, transparent); backdrop-filter: saturate(1.4) blur(10px);
    border-bottom: 1px solid var(--cizgi); position: sticky; top: 0; z-index: 1020; }
.site-logo { display: inline-flex; align-items: center; gap: .55rem; font-family: var(--baslik-font); font-size: 1.45rem; font-weight: 700;
    color: var(--marka-metin); text-decoration: none; letter-spacing: -.02em; }
.site-logo strong { color: var(--hardal-metin); font-weight: 800; }
.site-logo:hover { color: var(--marka-metin); }
.logo-zemin { fill: var(--marka); }
.logo-ev { fill: var(--hardal); }

/* Vitrin (ana sayfa hero): kat planı çizgileri motifli koyu yeşil zemin */
.vitrin {
    position: relative; overflow: hidden; color: #f3f1e6;
    background:
        radial-gradient(ellipse at 85% 0%, rgba(201, 165, 75, .22), transparent 55%),
        linear-gradient(160deg, #1b2616 0%, #283820 55%, #34492b 100%);
    padding: 3.5rem 0 5rem;
}
.vitrin::before {
    content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .5;
    background-image:
        linear-gradient(rgba(212, 178, 90, .10) 1px, transparent 1px),
        linear-gradient(90deg, rgba(212, 178, 90, .10) 1px, transparent 1px),
        linear-gradient(rgba(212, 178, 90, .05) 1px, transparent 1px),
        linear-gradient(90deg, rgba(212, 178, 90, .05) 1px, transparent 1px);
    background-size: 120px 120px, 120px 120px, 24px 24px, 24px 24px;
    mask-image: linear-gradient(90deg, transparent, #000 35%, #000 100%);
}
.vitrin-ic { position: relative; display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: 3rem; align-items: center; }
.vitrin-ust { display: inline-flex; align-items: center; gap: .5rem; font-size: .8rem; letter-spacing: .12em; text-transform: uppercase;
    color: var(--hardal); font-weight: 600; margin-bottom: 1rem; }
.vitrin-ust::before { content: ""; width: 1.6rem; height: 2px; background: currentColor; }
.vitrin-baslik { font-size: clamp(2rem, 4.6vw, 3.4rem); line-height: 1.05; font-weight: 800; letter-spacing: -.03em; color: #fff; margin-bottom: 1rem; }
.vitrin-baslik em { font-style: normal; color: var(--hardal); }
.vitrin-alt { color: rgba(243, 241, 230, .78); font-size: 1.08rem; max-width: 34rem; margin-bottom: 1.75rem; }
.vitrin-arama {
    position: relative; display: flex; gap: .5rem; max-width: 40rem;
    background: var(--yuzey); border-radius: 1rem; padding: .45rem; box-shadow: 0 1rem 2.5rem rgba(0, 0, 0, .3);
}
.vitrin-arama-ikon { position: absolute; left: 1.1rem; top: 50%; transform: translateY(-50%); color: var(--marka-yumusak); }
.vitrin-arama .form-control { border: 0; padding-left: 2.7rem; font-size: 1.05rem; box-shadow: none !important; background: transparent; }
.vitrin-arama .btn { padding-inline: 2rem; border-radius: .7rem; }
.vitrin-sayilar { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.vitrin-sayi {
    border: 1px solid rgba(212, 178, 90, .28); border-radius: 1rem; padding: 1.1rem 1.25rem;
    background: rgba(15, 20, 12, .28); backdrop-filter: blur(4px);
}
.vitrin-sayi strong { display: block; font-family: var(--baslik-font); font-size: clamp(1.6rem, 3vw, 2.3rem); font-weight: 800; color: #fff;
    line-height: 1.1; font-variant-numeric: tabular-nums; letter-spacing: -.02em; }
.vitrin-sayi span { font-size: .85rem; color: rgba(243, 241, 230, .7); }
.vitrin-sayi-vurgu strong { color: var(--hardal); }

/* Vitrin altındaki hızlı menü (oda sayısı / sıralama) */
.vitrin-menu { margin-top: -1.6rem; position: relative; z-index: 2; }
.vitrin-menu-btn {
    display: inline-flex; align-items: center; padding: .6rem 1.15rem; border-radius: 999px;
    background: var(--yuzey); color: var(--marka-metin); border: 1px solid var(--cizgi);
    font-weight: 600; font-size: .92rem; text-decoration: none; box-shadow: var(--golge);
    transition: background-color .15s, color .15s, border-color .15s, transform .15s;
}
.vitrin-menu-btn:hover { background: var(--marka); color: #fff; border-color: var(--marka); transform: translateY(-2px); }
.vitrin-menu-btn.active { background: var(--hardal); color: #1b2616; border-color: var(--hardal); }
.vitrin-menu-btn.active:hover { background: var(--hardal-koyu); border-color: var(--hardal-koyu); }
.site-header + .vitrin-menu, .ofis-aski-uyarisi + .site-header + .vitrin-menu { margin-top: 1.25rem; }

/* Filtre */
.filtre-kart { background: var(--yuzey); border: 1px solid var(--cizgi); border-radius: 1rem; padding: 1.25rem; position: sticky; top: 5.5rem; }
.filtre-baslik { font-size: 1.05rem; color: var(--marka-metin); padding-bottom: .75rem; margin-bottom: 1rem; border-bottom: 1px solid var(--cizgi); }
.filtre-kart .form-label { font-size: .85rem; font-weight: 600; color: var(--metin-2); }
.filtre-temizle { color: var(--metin-2); font-size: .875rem; text-decoration: none; }
.filtre-temizle:hover { color: var(--marka-metin); }
.liste-baslik { color: var(--metin); font-size: 1.35rem; margin: 0; }
.liste-sayi { color: var(--metin-2); font-size: .9rem; }
.liste-sayi strong { color: var(--metin); font-variant-numeric: tabular-nums; }

/* İlan kartları */
.ilan-kart {
    display: flex; flex-direction: column; color: inherit; text-decoration: none; background: var(--yuzey);
    border: 1px solid var(--cizgi); border-radius: 1rem; overflow: hidden;
    transition: box-shadow .2s, transform .2s, border-color .2s;
}
.ilan-kart:hover { box-shadow: var(--golge-buyuk); transform: translateY(-4px); border-color: var(--marka-yumusak); color: inherit; }
.ilan-kart:focus-visible { outline: 3px solid var(--hardal); outline-offset: 2px; }
.ilan-gorsel {
    position: relative; display: flex; align-items: center; justify-content: center; aspect-ratio: 4 / 3; overflow: hidden;
    background: linear-gradient(135deg, var(--marka-acik), var(--yuzey-2)); color: var(--marka-yumusak);
}
.ilan-gorsel-buyuk { aspect-ratio: 16 / 9; border-radius: 1rem; }
.ilan-gorsel::after { content: ""; position: absolute; inset: auto 0 0 0; height: 45%; z-index: 1; pointer-events: none;
    background: linear-gradient(transparent, rgba(10, 14, 8, .55)); }
.ilan-gorsel-buyuk::after { display: none; }
.ilan-rozet, .ilan-rozet-satir {
    display: inline-flex; align-items: center; gap: .35rem; background: var(--marka); color: #fff; font-size: .72rem; font-weight: 700;
    padding: .3rem .65rem; border-radius: 999px; letter-spacing: .02em;
}
.ilan-rozet { position: absolute; top: .75rem; left: .75rem; z-index: 2; }
.ilan-rozet::before, .ilan-rozet-satir::before { content: ""; width: .45rem; height: .45rem; border-radius: 50%; background: #9fd18a; }
.ilan-fiyat-etiket {
    position: absolute; left: .75rem; bottom: .75rem; z-index: 2; background: var(--hardal); color: #1b2616;
    font-family: var(--baslik-font); font-weight: 800; font-size: 1.15rem; padding: .25rem .7rem; border-radius: .55rem;
    font-variant-numeric: tabular-nums; box-shadow: 0 .25rem .75rem rgba(0, 0, 0, .25);
}
.ilan-fiyat-etiket small { font-family: var(--bs-body-font-family); font-size: .75rem; font-weight: 600; opacity: .8; }
.ilan-govde { padding: 1rem 1.1rem .9rem; display: flex; flex-direction: column; gap: .45rem; flex: 1 1 auto; }
.ilan-baslik { font-size: 1.08rem; margin: 0; color: var(--metin); line-height: 1.25; }
.ilan-konum { display: flex; align-items: center; gap: .3rem; font-size: .85rem; color: var(--metin-2); }
.ilan-konum svg { color: var(--hardal-metin); flex: 0 0 auto; }
.ilan-cipler { display: flex; flex-wrap: wrap; gap: .35rem; list-style: none; margin: .15rem 0 0; padding: 0; }
.ilan-cipler li { font-size: .78rem; font-weight: 600; color: var(--metin-2); background: var(--yuzey-2); border: 1px solid var(--cizgi);
    border-radius: .45rem; padding: .15rem .5rem; }
.ilan-sart { align-self: flex-start; font-size: .78rem; font-weight: 700; color: var(--uyari-metin); background: var(--uyari-zemin);
    border-radius: .45rem; padding: .2rem .55rem; }
.ilan-fiyat { font-family: var(--baslik-font); font-weight: 800; font-size: 1.3rem; color: var(--marka-metin); font-variant-numeric: tabular-nums; }
.ilan-fiyat small { font-family: var(--bs-body-font-family); font-size: .8rem; font-weight: 500; color: var(--metin-2); }
.ilan-bos { background: var(--yuzey); border: 1px dashed var(--cizgi-guclu); border-radius: 1rem; }

/* İlan detayı */
.ilan-ust { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 1rem 2rem; margin-bottom: 1.25rem; }
.ilan-ust-baslik { font-size: clamp(1.6rem, 3.2vw, 2.4rem); font-weight: 800; letter-spacing: -.025em; line-height: 1.1; margin: 0 0 .5rem; }
.ilan-ust-fiyat { text-align: right; }
.ilan-ust-fiyat .tutar { font-family: var(--baslik-font); font-size: clamp(1.8rem, 3.6vw, 2.6rem); font-weight: 800; color: var(--marka-metin);
    line-height: 1; font-variant-numeric: tabular-nums; letter-spacing: -.02em; }
.ilan-ust-fiyat .tutar small { font-family: var(--bs-body-font-family); font-size: 1rem; font-weight: 500; color: var(--metin-2); }
.ilan-ust-fiyat .alt { font-size: .85rem; color: var(--metin-2); margin-top: .35rem; }
.ilan-olcu { display: grid; grid-template-columns: repeat(auto-fit, minmax(7.5rem, 1fr)); gap: .75rem; margin: 1.25rem 0 1.75rem; }
.ilan-olcu div { background: var(--yuzey); border: 1px solid var(--cizgi); border-radius: .9rem; padding: .85rem 1rem; }
.ilan-olcu strong { display: block; font-family: var(--baslik-font); font-size: 1.45rem; font-weight: 800; color: var(--metin); line-height: 1.1; font-variant-numeric: tabular-nums; }
.ilan-olcu span { font-size: .78rem; color: var(--metin-2); text-transform: uppercase; letter-spacing: .06em; font-weight: 600; }
.ilan-bolum { background: var(--yuzey); border: 1px solid var(--cizgi); border-radius: 1rem; padding: 1.25rem 1.4rem; margin-bottom: 1.25rem; }
.ilan-bolum h2 { font-size: 1.1rem; margin-bottom: 1rem; color: var(--marka-metin); }
.ilan-bilgiler { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 2rem; margin: 0; }
.ilan-bilgiler > div { display: flex; justify-content: space-between; gap: 1rem; padding: .6rem 0; border-bottom: 1px dashed var(--cizgi); }
.ilan-bilgiler dt { font-weight: 500; color: var(--metin-2); }
.ilan-bilgiler dd { margin: 0; font-weight: 600; text-align: right; }
.ilan-aciklama { white-space: pre-line; max-width: 70ch; line-height: 1.65; margin: 0; }
.ilan-fiyat-kart { position: sticky; top: 5.5rem; background: var(--yuzey); border: 1px solid var(--cizgi); border-radius: 1rem; padding: 1.4rem;
    box-shadow: var(--golge); border-top: 4px solid var(--hardal); }
.ilan-fiyat-kart .etiket { font-size: .8rem; text-transform: uppercase; letter-spacing: .08em; color: var(--metin-2); font-weight: 600; }
.ilan-mobil-bar { display: none; }

/* Galeri */
.ilan-galeri { border-radius: 1rem; overflow: hidden; background: #10160d; }
.ilan-galeri .carousel-item img { display: block; width: 100%; aspect-ratio: 16 / 10; object-fit: contain; }
.ilan-galeri-sayac { position: absolute; right: .75rem; bottom: .75rem; background: rgba(0, 0, 0, .6); color: #fff; font-size: .8rem;
    padding: .2rem .65rem; border-radius: 999px; font-variant-numeric: tabular-nums; z-index: 2; }
.ilan-galeri-kucuk { display: flex; gap: .5rem; overflow-x: auto; padding: .5rem 0 .25rem; }
.ilan-galeri-kucuk button { flex: 0 0 auto; width: 92px; aspect-ratio: 4 / 3; padding: 0; border: 2px solid transparent; border-radius: .55rem;
    overflow: hidden; background: var(--marka-acik); opacity: .65; transition: opacity .15s, border-color .15s; }
.ilan-galeri-kucuk button.active, .ilan-galeri-kucuk button:hover { border-color: var(--hardal); opacity: 1; }
.ilan-galeri-kucuk img { width: 100%; height: 100%; object-fit: cover; }

/* Kartta dönüşümlü favori resimler */
.ilan-resim { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity 0s .7s, transform .6s; }
.ilan-resim.aktif { opacity: 1; z-index: 0; transition: opacity .7s ease, transform .6s; }
.ilan-kart:hover .ilan-resim.aktif { transform: scale(1.04); }
.ilan-resim-noktalar { position: absolute; right: .75rem; bottom: 1rem; z-index: 2; display: flex; gap: .3rem; }
.ilan-resim-noktalar span { width: .42rem; height: .42rem; border-radius: 50%; background: rgba(255, 255, 255, .5); transition: background .3s; }
.ilan-resim-noktalar span.aktif { background: #fff; }
@media (prefers-reduced-motion: reduce) {
    .ilan-resim, .ilan-kart, .vitrin-menu-btn { transition: none; }
    .ilan-kart:hover, .ilan-kart:hover .ilan-resim.aktif, .vitrin-menu-btn:hover { transform: none; }
}

/* Ofis şeridi, ofis vitrini */
.ofis-logo { flex: 0 0 auto; object-fit: contain; background: #fff; border: 1px solid var(--cizgi); border-radius: .5rem; }
.ofis-logo-kucuk { width: 34px; height: 34px; padding: 2px; }
.ofis-logo-buyuk { width: 64px; height: 64px; padding: 4px; border-radius: .75rem; }
.ofis-logo-harf { display: inline-flex; align-items: center; justify-content: center; background: var(--marka); color: var(--hardal);
    border-color: var(--marka); font-family: var(--baslik-font); font-weight: 800; }
.ofis-logo-kucuk.ofis-logo-harf { font-size: .8rem; }
.ofis-logo-buyuk.ofis-logo-harf { font-size: 1.4rem; }
.ilan-ofis { display: flex; align-items: center; gap: .6rem; background: var(--yuzey-2); border-top: 1px solid var(--cizgi); padding: .65rem 1.1rem; }
.ilan-ofis-metin { display: flex; flex-direction: column; min-width: 0; line-height: 1.2; }
.ilan-ofis-adi { font-size: .85rem; font-weight: 700; color: var(--metin); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ilan-ofis-tel { font-size: .78rem; color: var(--metin-2); font-variant-numeric: tabular-nums; }
.ilan-ofis-kart { border-top: 1px solid var(--cizgi); padding-top: 1.1rem; margin-top: 1.1rem; }
.ilan-ofis-bilgi li { padding: .2rem 0; overflow-wrap: anywhere; color: var(--metin-2); }
.ofis-vitrin { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem; background: var(--yuzey); border: 1px solid var(--cizgi);
    border-left: 4px solid var(--hardal); border-radius: 1rem; padding: 1rem 1.25rem; }

/* Alt bilgi */
.site-footer { background: var(--marka-koyu); color: #c8d0bf; font-size: .9rem; margin-top: 3rem; }
[data-bs-theme="dark"] .site-footer { background: #0b0e09; border-top: 1px solid var(--cizgi); }
.site-footer-link { color: #c8d0bf; text-decoration: none; }
.site-footer-link:hover { color: var(--hardal); }
.site-footer .site-logo { color: #f3f1e6; font-size: 1.2rem; gap: 0; }

@media (max-width: 991.98px) {
    .vitrin-ic { grid-template-columns: 1fr; gap: 2rem; }
    .vitrin-sayilar { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .ilan-fiyat-kart { position: static; }
    /* Telefonda ilan detayında fiyat ve arama düğmesi altta sabit */
    .ilan-mobil-bar {
        display: flex; align-items: center; justify-content: space-between; gap: 1rem; position: fixed; left: 0; right: 0; bottom: 0; z-index: 1030;
        background: var(--yuzey); border-top: 1px solid var(--cizgi); box-shadow: 0 -.5rem 1.5rem rgba(0, 0, 0, .12);
        padding: .7rem max(16px, env(safe-area-inset-right, 0px)) calc(.7rem + env(safe-area-inset-bottom, 0px)) max(16px, env(safe-area-inset-left, 0px));
    }
    body.ilan-sayfasi { padding-bottom: 5rem; }
}
@media (max-width: 767.98px) {
    .vitrin { padding: 2.25rem 0 4rem; }
    .vitrin-sayilar { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .vitrin-arama .btn { padding-inline: 1.1rem; }
    .vitrin-menu .container { flex-wrap: nowrap !important; justify-content: flex-start !important; overflow-x: auto; padding-block: .4rem .6rem; scrollbar-width: none; }
    .vitrin-menu .container::-webkit-scrollbar { display: none; }
    .vitrin-menu-btn { flex: 0 0 auto; padding: .55rem 1rem; }
    .filtre-kart { position: static; }
    .ilan-bilgiler { grid-template-columns: 1fr; }
    .ilan-ust-fiyat { text-align: left; }
}

/* ---- Paneller (kiracı, ev sahibi, ofis paketleri), paket kartları ---- */
.panel-baslik h1 { color: var(--marka-metin); }
.panel-kart { background: var(--yuzey); border: 1px solid var(--cizgi); border-radius: 1rem; padding: 1.25rem; }
.panel-kart-baslik { font-size: 1.05rem; color: var(--marka-metin); margin-bottom: 1rem; display: flex; align-items: center; gap: .5rem; }
.panel-kart-baslik .adim { display: inline-flex; align-items: center; justify-content: center; width: 1.7rem; height: 1.7rem; border-radius: 50%;
    background: var(--marka); color: #fff; font-size: .85rem; }
.ozet-kutu { background: var(--yuzey); border: 1px solid var(--cizgi); border-radius: 1rem; padding: 1rem 1.25rem; height: 100%; }
.ozet-deger { font-family: var(--baslik-font); font-size: 1.8rem; font-weight: 800; color: var(--marka-metin); line-height: 1.1; font-variant-numeric: tabular-nums; }
.ozet-deger small { font-size: 1rem; color: var(--metin-2); font-weight: 500; }
.ozet-etiket { font-size: .85rem; color: var(--metin-2); }
.ozet-vurgu { background: var(--marka); border-color: var(--marka); }
.ozet-vurgu .ozet-deger { color: var(--hardal); }
.ozet-vurgu .ozet-etiket { color: rgba(255, 255, 255, .8); }

.durum-rozet { display: inline-block; font-size: .72rem; font-weight: 700; padding: .2rem .55rem; border-radius: 999px; white-space: nowrap; }
.durum-yayinda { background: var(--iyi-zemin); color: var(--iyi-metin); }
.durum-bekliyor { background: var(--uyari-zemin); color: var(--uyari-metin); }
.durum-pasif { background: var(--pasif-zemin); color: var(--pasif-metin); }
.durum-gecikmis { background: var(--kritik-zemin); color: var(--kritik-metin); }
.satir-gecikmis td { background: color-mix(in srgb, var(--kritik-zemin) 45%, var(--yuzey)) !important; }
.paket-satir { padding: .7rem 0; border-top: 1px solid var(--cizgi); }
.paket-progress { background: var(--marka); }

.paket-kart {
    display: flex; flex-direction: column; gap: .2rem; cursor: pointer; background: var(--yuzey);
    border: 2px solid var(--cizgi); border-radius: 1rem; padding: 1.1rem 1.25rem;
    transition: border-color .15s, box-shadow .15s, transform .15s;
}
.paket-kart:hover { border-color: var(--marka-yumusak); transform: translateY(-2px); }
.paket-kart:has(input:checked) { border-color: var(--marka-yumusak); box-shadow: 0 0 0 3px var(--bs-focus-ring-color); background: var(--yuzey-2); }
.paket-kart:has(input:focus-visible) { outline: 2px solid var(--hardal); outline-offset: 2px; }
.paket-adi { font-weight: 700; color: var(--marka-metin); }
.paket-limit { font-family: var(--baslik-font); font-size: 1.6rem; font-weight: 800; color: var(--metin); }
.paket-limit small { font-size: .85rem; font-weight: 500; color: var(--metin-2); }
.paket-fiyat { font-size: 1.15rem; font-weight: 700; color: var(--hardal-metin); }
.paket-birim, .paket-aciklama { font-size: .8rem; color: var(--metin-2); }
.paket-sure { margin-top: auto; padding-top: .55rem; border-top: 1px dashed var(--cizgi); font-size: .76rem; line-height: 1.4; color: var(--metin-2); }
.paket-sure strong { color: var(--metin); }

/* ---- Giriş / Kayıt ---- */
.auth-sarmal { display: flex; justify-content: center; padding-block: 1.5rem 2.5rem; }
.auth-kart { width: 100%; max-width: 480px; background: var(--yuzey); border: 1px solid var(--cizgi); border-top: 4px solid var(--hardal);
    border-radius: 1.1rem; padding: 2rem; box-shadow: var(--golge); }
.auth-baslik { font-size: 1.7rem; color: var(--metin); margin-bottom: .25rem; }
.auth-sekmeler { display: flex; background: var(--yuzey-2); border: 1px solid var(--cizgi); border-radius: .8rem; padding: .3rem; gap: .3rem; }
.auth-sekmeler .nav-link { border: 0; border-radius: .55rem; color: var(--metin-2); font-weight: 600; padding: .6rem .5rem; transition: background-color .15s, color .15s; }
.auth-sekmeler .nav-link:hover { color: var(--marka-metin); }
.auth-sekmeler .nav-link.active { background: var(--marka); color: #fff; }
.auth-alt { margin-top: 1.5rem; padding-top: 1rem; border-top: 1px solid var(--cizgi); font-size: .875rem; text-align: center; display: grid; gap: .35rem; color: var(--metin-2); }
.auth-alt a, .auth-kart p a { color: var(--marka-metin); font-weight: 600; }
.auth-ofis-kutu { display: flex; flex-direction: column; gap: .15rem; text-decoration: none; background: var(--yuzey-2); border: 1px dashed var(--marka-yumusak);
    border-radius: .75rem; padding: .8rem 1rem; color: var(--marka-metin); transition: background-color .15s; }
.auth-ofis-kutu:hover { background: var(--marka-acik); color: var(--marka-metin); }
.auth-ofis-kutu span { font-size: .85rem; color: var(--metin-2); }

/* ---- Kiracı / ev sahibi paneli tabloları ---- */
.kira-tablo th { font-size: .75rem; text-transform: uppercase; letter-spacing: .04em; color: var(--metin-2); font-weight: 600; }
@media (max-width: 575.98px) {
    .kira-tablo .durum-rozet { white-space: normal; text-align: center; }
    .kira-tablo td, .kira-tablo th { padding-inline: .35rem; }
}
.ev-kontrat > summary { cursor: pointer; list-style: none; padding: .35rem 0; }
.ev-kontrat > summary::-webkit-details-marker { display: none; }
.ev-kontrat > summary::before { content: "▸"; color: var(--marka-metin); }
.ev-kontrat[open] > summary::before { content: "▾"; }

/* ---- Oturum geri sayımı (_OturumSayaci) ---- */
.kullanici-blok { display: inline-flex; flex-direction: column; align-items: flex-start; line-height: 1.2; vertical-align: middle; }
.oturum-sayac { display: inline-flex; align-items: center; gap: .25rem; font-size: .72rem; font-variant-numeric: tabular-nums; opacity: .8; }
.oturum-sayac-az { color: var(--kritik-metin); opacity: 1; font-weight: 600; }
.kullanici-dugme:hover .oturum-sayac-az, .kullanici-dugme.show .oturum-sayac-az { color: #ffd2cc; }

/* =====================================================================================================
   Yönetim ekranları (_Layout)
   ===================================================================================================== */
.navbar-personel { background: var(--marka-koyu); border-bottom: 1px solid rgba(212, 178, 90, .25); }
[data-bs-theme="dark"] .navbar-personel { background: #0b0e09; border-bottom-color: var(--cizgi); }
.navbar-personel .navbar-brand { font-family: var(--baslik-font); font-weight: 800; letter-spacing: -.02em; }
.navbar-personel .navbar-brand span { color: var(--hardal); }
.navbar-personel .nav-link { white-space: nowrap; color: rgba(243, 241, 230, .78); font-weight: 500; }
.navbar-personel .nav-link:hover, .navbar-personel .nav-link:focus { color: #fff; }
.navbar-personel .nav-link.active { color: var(--hardal); }
.navbar-personel .oturum-sayac-az { color: #ffb4a8; }
.personel-icerik h3, .personel-icerik .h3 { font-size: 1.6rem; }

/* ---- Dashboard ---- */
.dash {
    --dash-kirada: var(--marka-orta);
    --dash-bos: #cfd3c9;
    --dash-evsahibi: #c3c8bc;
    --dash-kazanc: #b08d36;
    --dash-depozito: #6b8a5a;
    --dash-iyi: #2f8f2f;
    --dash-kritik: #d03b3b;
    --dash-bekliyor: #c3c2b7;
    --dash-yuzey: var(--yuzey);
    --dash-izgara: #e1e0d9;
    --dash-eksen: #c3c2b7;
    --kasa-komisyon: #3d5530;
    --kasa-takip: #c9a13f;
}
[data-bs-theme="dark"] .dash {
    --dash-kirada: #7fa06c;
    --dash-bos: #3a4434;
    --dash-evsahibi: #56614f;
    --dash-kazanc: #d4b25a;
    --dash-depozito: #4f6c40;
    --dash-iyi: #55b255;
    --dash-kritik: #e2645a;
    --dash-bekliyor: #4c5146;
    --dash-izgara: #283224;
    --dash-eksen: #3d4836;
    --kasa-komisyon: #7fa06c;
    --kasa-takip: #d4b25a;
}
.dash-donem .btn { --bs-btn-color: var(--marka-metin); --bs-btn-border-color: var(--cizgi); --bs-btn-bg: var(--yuzey);
    --bs-btn-hover-bg: var(--marka-acik); --bs-btn-hover-color: var(--marka-metin); --bs-btn-hover-border-color: var(--cizgi);
    --bs-btn-active-bg: var(--marka); --bs-btn-active-color: #fff; --bs-btn-active-border-color: var(--marka); font-weight: 600; }
.dash-bolum { font-size: .78rem; text-transform: uppercase; letter-spacing: .08em; color: var(--marka-metin); font-weight: 700; margin-bottom: .75rem; font-family: var(--bs-body-font-family); }
.dash-bolum span { color: var(--metin-3); font-weight: 500; text-transform: none; letter-spacing: 0; margin-left: .35rem; }
.dash-kart { display: block; height: 100%; background: var(--dash-yuzey); border: 1px solid var(--cizgi); border-radius: .9rem; padding: 1rem 1.1rem; color: inherit; text-decoration: none; }
.dash-kart-link { transition: border-color .15s, box-shadow .15s; }
.dash-kart-link:hover { border-color: var(--marka-yumusak); box-shadow: var(--golge); color: inherit; }
.dash-kart-vurgu { border-top: 3px solid var(--dash-kazanc); }
.dash-etiket { font-size: .82rem; color: var(--metin-2); margin-bottom: .35rem; }
.dash-deger { font-family: var(--baslik-font); font-size: 1.65rem; font-weight: 800; color: var(--metin); line-height: 1.2; font-variant-numeric: tabular-nums; }
.dash-deger-kritik { color: var(--kritik-metin); }
.dash-alt { font-size: .78rem; color: var(--metin-3); margin-top: .25rem; }
.dash-alt-kritik { color: var(--kritik-metin); font-weight: 600; }
.dash-kart.p-0 { overflow: hidden; }

/* Parça-bütün çubuğu: parçalar arasında 2px yüzey boşluğu, uçlar yuvarlak */
.dash-cubuk { display: flex; gap: 2px; height: 22px; }
.dash-parca { min-width: 4px; border-radius: 4px; cursor: default; }
.dash-parca:hover { filter: brightness(.92); }
.dash-lejant { display: flex; flex-wrap: wrap; gap: .4rem 1.1rem; margin-top: .6rem; font-size: .8rem; color: var(--metin-2); }
.dash-lejant i { display: inline-block; width: 10px; height: 10px; border-radius: 3px; margin-right: .35rem; vertical-align: -1px; }
.dash-renk-kirada { background: var(--dash-kirada); }
.dash-renk-bos { background: var(--dash-bos); }
.dash-renk-evsahibi { background: var(--dash-evsahibi); }
.dash-renk-kazanc { background: var(--dash-kazanc); }
.dash-renk-depozito { background: var(--dash-depozito); }
.dash-renk-iyi { background: var(--dash-iyi); }
.dash-renk-kritik { background: var(--dash-kritik); }
.dash-renk-bekliyor { background: var(--dash-bekliyor); }

/* Günlük yığılmış sütun grafiği */
.dash-grafik-kaydir { overflow-x: auto; padding-top: .6rem; }
.dash-grafik { display: flex; gap: .5rem; height: 220px; min-width: 100%; }
.dash-grafik-sik { min-width: 640px; }
.dash-eksen { display: flex; flex-direction: column; justify-content: space-between; font-size: .7rem; color: var(--metin-3); text-align: right;
    padding-bottom: 1.4rem; margin-top: -.45em; font-variant-numeric: tabular-nums; white-space: nowrap; }
.dash-sutunlar { flex: 1; display: flex; gap: 2px; align-items: stretch;
    background: linear-gradient(var(--dash-izgara), var(--dash-izgara)) top / 100% 1px no-repeat,
                linear-gradient(var(--dash-izgara), var(--dash-izgara)) 0 calc(50% - .7rem) / 100% 1px no-repeat; }
.dash-sutun { flex: 1; display: flex; flex-direction: column; min-width: 0; cursor: default; border-radius: 4px; }
.dash-sutun:hover { background: color-mix(in srgb, var(--marka-yumusak) 10%, transparent); }
.dash-sutun-govde { flex: 1; display: flex; flex-direction: column-reverse; align-items: center; gap: 2px; border-bottom: 1px solid var(--dash-eksen); }
.dash-sutun-govde span { display: block; width: min(70%, 28px); }
.dash-sutun-govde span:last-child { border-radius: 4px 4px 0 0; }
.dash-sutun-etiket { height: 1.4rem; line-height: 1.4rem; text-align: center; font-size: .7rem; color: var(--metin-3); white-space: nowrap; }
.dash-sutun-bugun .dash-sutun-etiket { color: var(--marka-metin); font-weight: 700; }
.dash-tablo th { font-size: .75rem; text-transform: uppercase; letter-spacing: .03em; color: var(--metin-2); font-weight: 600; }
.dash-tablo td { font-variant-numeric: tabular-nums; }
.dash-liste { max-height: 480px; overflow-y: auto; }
.dash-liste thead th { position: sticky; top: 0; background: var(--yuzey); z-index: 1; }
.dash-ipucu { position: fixed; z-index: 1080; pointer-events: none; white-space: pre-line; background: #1f261b; color: #fff;
    font-size: .78rem; line-height: 1.4; padding: .4rem .6rem; border-radius: .4rem; box-shadow: 0 .25rem .75rem rgba(0, 0, 0, .25); }
[data-bs-theme="dark"] .dash-ipucu { background: #e6eadf; color: #10140e; }

/* Uyarı kutuları ve yatay çubuklar (Dashboard, YonetimPaneli) */
.dash-uyari { display: flex; align-items: center; gap: .75rem; padding: .75rem 1rem; border-radius: .9rem; text-decoration: none;
    background: var(--uyari-zemin); border: 1px solid color-mix(in srgb, var(--uyari-metin) 25%, transparent); color: var(--uyari-metin); }
.dash-uyari:hover { color: var(--uyari-metin); filter: brightness(.98); }
.dash-uyari-liste { flex-direction: column; align-items: stretch; gap: 0; }
.dash-uyari-liste:hover { filter: none; }
.dash-uyari-liste a { color: inherit; font-weight: 600; }
.dash-uyari-ikon { flex: 0 0 auto; width: 1.5rem; height: 1.5rem; border-radius: 50%; display: flex; align-items: center; justify-content: center;
    background: var(--dash-kazanc); color: #fff; font-weight: 700; font-size: .85rem; }
.dash-yatay li + li { margin-top: .85rem; }
.dash-yatay li { cursor: default; }
.dash-yatay-iz { height: 10px; margin-top: .3rem; background: var(--yuzey-2); border-radius: 4px; overflow: hidden; }
.dash-yatay-iz span { display: block; height: 100%; min-width: 4px; border-radius: 4px; }

/* Kasa ve kazanç raporu (Views/KasaIslemleri): komisyon ve kira takip serileri.
   Koyu yeşil ve altın sarısı açıklık farkıyla renk körlüğünde de ayrışır; lejant ve ipucu ayrıca adlandırır. */
.kasa-renk-komisyon { background: var(--kasa-komisyon); }
.kasa-renk-takip { background: var(--kasa-takip); }
.kasa-renk { display: inline-block; width: 10px; height: 10px; border-radius: 3px; margin-right: .35rem; vertical-align: -1px; }
.kasa-cubuk { height: 12px; min-width: 6px; margin-top: .25rem; cursor: default; }
.kasa-tablo th:first-child, .kasa-tablo td:first-child { padding-left: 1rem; }
.kasa-tablo th:last-child, .kasa-tablo td:last-child { padding-right: 1rem; }

/* ---- Ekleme/düzenleme modalları (_IslemModal, _ModalLayout, js/modal-form.js) ---- */
/* Form, modal-header/body/footer'ı sardığı için kaydırma düzeni form üzerinden kurulur */
#islemModal .modal-content > form { display: flex; flex-direction: column; min-height: 0; max-height: 100%; }
#islemModal .modal-dialog-scrollable .modal-content > form .modal-body { overflow-y: auto; }
#islemModal .modal-header { border-bottom-color: var(--cizgi); align-items: flex-start; }
#islemModal .modal-footer { border-top-color: var(--cizgi); }
#islemModal .modal-title { color: var(--marka-metin); }
#islemModal .modal-content { border-top: 4px solid var(--hardal); border-radius: 1rem; }
body.modal-yukleniyor, body.modal-yukleniyor a[data-modal] { cursor: progress; }
.form-bolum + .form-bolum { margin-top: 1.25rem; padding-top: 1.25rem; border-top: 1px solid var(--cizgi); }
.form-bolum-baslik { color: var(--marka-metin); margin-bottom: .85rem; }

/* Form doğrudan adresle açılınca (modal dışında) Bootstrap'ın .modal üzerinde tanımlı değişkenleri yoktur */
.modal-sayfa {
    max-width: 500px; margin: 0 auto 2rem;
    --bs-modal-padding: 1rem; --bs-modal-header-padding: 1rem 1rem; --bs-modal-header-padding-x: 1rem; --bs-modal-header-padding-y: 1rem;
    --bs-modal-header-border-width: 1px;
    --bs-modal-footer-border-width: 1px; --bs-modal-header-border-color: var(--bs-border-color); --bs-modal-footer-border-color: var(--bs-border-color);
    --bs-modal-footer-gap: .5rem; --bs-modal-inner-border-radius: .75rem;
}
.modal-sayfa.modal-lg { max-width: 800px; }
.modal-sayfa.modal-xl { max-width: 1140px; }
.modal-sayfa .modal-content { background: var(--yuzey); border: 1px solid var(--cizgi); border-top: 4px solid var(--hardal); border-radius: 1rem; }
.modal-sayfa .modal-title { color: var(--marka-metin); }

/* İlan resimleri yönetim ekranı */
.resim-izgara { display: grid; grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)); gap: .75rem; }
.resim-kutu { position: relative; aspect-ratio: 4 / 3; border-radius: .5rem; overflow: hidden; background: var(--marka-acik); border: 2px solid transparent; }
.resim-kutu.favori { border-color: var(--hardal); }
.resim-kutu img { width: 100%; height: 100%; object-fit: cover; }
.resim-no { position: absolute; left: .35rem; bottom: .35rem; background: rgba(0, 0, 0, .55); color: #fff; font-size: .7rem; padding: 0 .4rem; border-radius: 999px; }
.resim-yildiz, .resim-sil {
    position: absolute; top: .3rem; width: 1.9rem; height: 1.9rem; display: flex; align-items: center; justify-content: center;
    border: 0; border-radius: 50%; background: rgba(255, 255, 255, .92); line-height: 1; box-shadow: 0 1px 3px rgba(0, 0, 0, .25);
}
.resim-yildiz { left: .3rem; font-size: 1.1rem; color: #9aa293; }
.resim-yildiz[aria-pressed="true"] { color: var(--hardal-koyu); }
.resim-yildiz:disabled { opacity: .45; }
.resim-sil { right: .3rem; font-size: 1.2rem; color: #b3261e; }
.resim-yildiz .spinner-border, .resim-sil .spinner-border { margin: 0 !important; }
.resim-yildiz-ornek { color: var(--hardal-metin); }

/* Askıya alınmış ofisin yönetim ekranı kapanış sayacı (_OfisAskiUyarisi) */
.ofis-aski-uyarisi { background: #8a2a1d; color: #fff; padding: .6rem 0; font-size: .9rem; }
.ofis-aski-sayac {
    display: inline-flex; align-items: baseline; gap: .25rem; padding: .15rem .65rem; border-radius: .5rem;
    background: #fff; color: #8a2a1d; font-weight: 700; font-size: 1.35rem; font-variant-numeric: tabular-nums; line-height: 1.2;
}
.ofis-aski-sayac small { font-size: .75rem; font-weight: 600; }

/* Altbilgide logonun vurgusu koyu zeminde açık hardal; dar ekranda ölçü kutuları ikişerli */
.site-footer .site-logo strong { color: var(--hardal); }
@media (max-width: 575.98px) { .ilan-olcu { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* Yönetim menüsü geniş ekranda tek satıra sığsın; tablolardaki işlem düğmeleri kırılmasın */
@media (min-width: 1200px) {
    .navbar-personel .navbar-nav .nav-link { font-size: .9rem; padding-inline: .45rem; }
    .navbar-personel .navbar-brand { margin-right: .75rem; }
}
.table .btn-sm { white-space: nowrap; }
/* Koyu modda ev sahibi payı (gri) ile depozito (yeşil) açıklıkça ayrışsın */
[data-bs-theme="dark"] .dash { --dash-evsahibi: #4f574a; --dash-depozito: #8fb878; }

/* ---- Ofis liste sayfaları (Gayrimenkuller, Kişiler, Kontratlar) ----
   .liste-ust başlık + birincil eylem, .liste-arac arama ve filtre çipleri (js/liste.js),
   .liste-kart tabloyu taşıyan yüzey, .btn-ikon yazısız işlem düğmesi (title + visually-hidden metin) */
.ikon { flex-shrink: 0; vertical-align: -.2em; }
.liste-ust { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: .75rem 1rem; margin-bottom: 1rem; }
.liste-ust h3 { margin: 0; font-family: var(--baslik-font); text-wrap: balance; }
.liste-ust-alt { color: var(--metin-2); font-size: .88rem; margin-top: .15rem; }
.liste-ust-alt strong { color: var(--metin); font-variant-numeric: tabular-nums; }
.btn-ikonlu { display: inline-flex; align-items: center; gap: .4rem; }

.liste-arac { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .6rem; margin-bottom: .75rem; }
.liste-ara { position: relative; flex: 1 1 16rem; max-width: 24rem; }
.liste-ara .ikon { position: absolute; left: .75rem; top: 50%; transform: translateY(-50%); color: var(--metin-3); pointer-events: none; }
.liste-ara .form-control { padding-left: 2.4rem; border-radius: 999px; background: var(--yuzey); }
.liste-filtreler { display: flex; flex-wrap: wrap; gap: .35rem; }
.liste-filtre {
    display: inline-flex; align-items: center; gap: .4rem; padding: .3rem .75rem; border-radius: 999px;
    border: 1px solid var(--cizgi); background: var(--yuzey); color: var(--metin-2); font-size: .85rem; font-weight: 600; line-height: 1.4;
}
.liste-filtre:hover { border-color: var(--cizgi-guclu); color: var(--metin); }
.liste-filtre[aria-pressed="true"] { background: var(--marka); border-color: var(--marka); color: #fff; }
.liste-filtre .adet { font-variant-numeric: tabular-nums; font-weight: 700; opacity: .7; }
.liste-filtre:focus-visible, .btn-ikon:focus-visible { outline: 2px solid var(--marka-yumusak); outline-offset: 2px; }

.liste-kart { background: var(--yuzey); border: 1px solid var(--cizgi); border-radius: .9rem; overflow: hidden; }
.liste-kart .table-responsive { margin: 0; }
.liste-tablo { margin: 0; --bs-table-hover-bg: var(--yuzey-2); }
.liste-tablo > :not(caption) > * > * { padding: .7rem .85rem; border-bottom-color: var(--cizgi); }
.liste-tablo thead th {
    background: var(--yuzey-2); color: var(--metin-3); font-size: .72rem; font-weight: 700;
    text-transform: uppercase; letter-spacing: .06em; white-space: nowrap;
}
.liste-tablo tbody tr:last-child > * { border-bottom: 0; }
.liste-tablo tr.soluk > td:not(.islemler-hucre) { opacity: .62; }
.liste-tablo .tutar { font-weight: 700; white-space: nowrap; font-variant-numeric: tabular-nums; }
.liste-tablo .alt-satir { color: var(--metin-3); font-size: .8rem; margin-top: .1rem; }
.liste-tablo a.ana-baglanti { color: var(--metin); font-weight: 600; text-decoration: none; }
.liste-tablo a.ana-baglanti:hover { color: var(--marka-metin); text-decoration: underline; }
.liste-bos { padding: 2.5rem 1rem; text-align: center; color: var(--metin-2); }
.liste-bos .ikon { width: 2rem; height: 2rem; color: var(--metin-3); margin-bottom: .5rem; }

/* Satırın başındaki kimlik: kişi baş harfleri ya da ilanın kapak resmi */
.liste-kimlik { display: flex; align-items: center; gap: .75rem; min-width: 0; }
.avatar {
    width: 2.3rem; height: 2.3rem; border-radius: 50%; flex-shrink: 0; display: inline-flex; align-items: center; justify-content: center;
    background: var(--marka-acik); color: var(--marka-metin); font-weight: 700; font-size: .85rem; letter-spacing: .02em;
}
.avatar-hardal { background: var(--hardal-acik); color: var(--hardal-metin); }
.avatar-pasif { background: var(--pasif-zemin); color: var(--pasif-metin); }
.liste-kapak {
    width: 4.5rem; height: 3.4rem; border-radius: .55rem; flex-shrink: 0; object-fit: cover; background: var(--yuzey-2);
    border: 1px solid var(--cizgi); display: inline-flex; align-items: center; justify-content: center; color: var(--metin-3);
}

/* Yazısız işlem düğmeleri */
.islemler { display: inline-flex; align-items: center; justify-content: flex-end; gap: .3rem; flex-wrap: nowrap; }
.islemler form { display: contents; }
.btn-ikon {
    position: relative; width: 2.15rem; height: 2.15rem; padding: 0; display: inline-flex; align-items: center; justify-content: center;
    border-radius: .55rem; border: 1px solid var(--cizgi); background: var(--yuzey); color: var(--metin-2);
    transition: background-color .12s, color .12s, border-color .12s;
}
.btn-ikon:hover { background: var(--marka-acik); border-color: var(--marka-yumusak); color: var(--marka-metin); }
.btn-ikon-tehlike:hover { background: var(--kritik-zemin); border-color: var(--kritik-metin); color: var(--kritik-metin); }
.btn-ikon-vurgu { background: var(--hardal); border-color: var(--hardal); color: #2a2208; }
.btn-ikon-vurgu:hover { background: var(--hardal-koyu); border-color: var(--hardal-koyu); color: #2a2208; }
.btn-ikon .sayac {
    position: absolute; top: -.4rem; right: -.4rem; min-width: 1.1rem; height: 1.1rem; padding: 0 .25rem; border-radius: 999px;
    background: var(--marka); color: #fff; font-size: .65rem; font-weight: 700; line-height: 1.1rem; font-variant-numeric: tabular-nums;
}
.btn-ikon .sayac-bos { background: var(--pasif-zemin); color: var(--pasif-metin); }

/* Kontrat süresinin ne kadarının geçtiği */
.donem-cubuk { height: .3rem; border-radius: 999px; background: var(--yuzey-2); border: 1px solid var(--cizgi); overflow: hidden; margin-top: .35rem; max-width: 11rem; }
.donem-cubuk > span { display: block; height: 100%; background: var(--marka-yumusak); }
.donem-cubuk-uyari > span { background: var(--hardal); }

@media (prefers-reduced-motion: reduce) { .btn-ikon { transition: none; } }
.min-w-0 { min-width: 0; }
.btn-ikon-bos { display: inline-block; width: 2.15rem; height: 2.15rem; flex-shrink: 0; }
/* Telefonda liste satırları kart olur: kimlik üstte tam genişlik, diğer hücreler yan yana, işlemler en altta */
@media (max-width: 767.98px) {
    .liste-tablo thead { display: none; }
    .liste-tablo tbody tr { display: flex; flex-wrap: wrap; align-items: center; gap: .35rem 1rem; padding: .8rem .85rem; border-bottom: 1px solid var(--cizgi); }
    .liste-tablo tbody tr:last-child { border-bottom: 0; }
    .liste-tablo tbody tr[hidden] { display: none; }
    .liste-tablo > tbody > tr > td { display: block; padding: 0; border: 0; text-align: left !important; }
    .liste-tablo > tbody > tr > td:first-child { flex: 1 1 100%; }
    .liste-tablo > tbody > tr > td.islemler-hucre { flex: 1 1 100%; padding-top: .35rem; }
    .liste-tablo .islemler { justify-content: flex-start; }
    .liste-tablo .btn-ikon-bos { display: none; }
    .liste-ara { max-width: none; }
}

/* Admin'in ofis izleme modu şeridi (_IzlemeUyarisi) ve kapatılan düğmeler (js/izleme.js) */
.izleme-uyarisi { background: var(--hardal); color: #2a2208; padding: .55rem 0; font-size: .9rem; }
.izleme-rozet { display: inline-flex; align-items: center; gap: .35rem; padding: .15rem .6rem; border-radius: 999px; background: #2a2208; color: var(--hardal); font-weight: 700; font-size: .8rem; }
.izleme-kapali { cursor: not-allowed; }
.izleme-kapali:disabled { pointer-events: auto; opacity: .45; }

/* ---- Marka logosu (Views/Shared/_Logo) ----
   Amblem: hardal kol + yeşil ev. Koyu zeminlerde (yönetim üst barı, altbilgi, koyu tema) ev ve yazı açık renge döner. */
:root, [data-bs-theme="light"] { --logo-ev: var(--marka); --logo-kol: #e0a92e; --logo-yazi: var(--marka); }
[data-bs-theme="dark"] { --logo-ev: #e6ecdf; --logo-yazi: #f3f1e6; }
.navbar-personel, .site-footer { --logo-ev: #f3f1e6; --logo-yazi: #f3f1e6; }
.marka-logo { display: inline-flex; align-items: center; gap: .55rem; line-height: 1; color: var(--logo-yazi); }
.marka-amblem { height: 2.25rem; width: auto; flex-shrink: 0; overflow: visible; }
.marka-amblem .kol { fill: var(--logo-kol); stroke: var(--logo-kol); }
.marka-amblem .ev { fill: var(--logo-ev); stroke: var(--logo-ev); }
.marka-amblem .pencere { fill: var(--logo-ev); }
.marka-yazi { height: 1.3rem; width: auto; flex-shrink: 0; }
.marka-yazi .ad { fill: var(--logo-yazi); }
.marka-yazi .uzanti { fill: var(--logo-kol); }
.navbar-personel .marka-amblem { height: 1.85rem; }
.navbar-personel .marka-yazi { height: 1.05rem; }
.site-footer .marka-amblem { height: 1.9rem; }
.site-footer .marka-yazi { height: 1.1rem; }
.marka-slogan { font-size: .8rem; letter-spacing: .04em; }
@media (forced-colors: active) { .marka-yazi .ad, .marka-yazi .uzanti, .marka-amblem .ev, .marka-amblem .pencere { fill: CanvasText; } }
/* Yönetim menüsü 1200-1399px arasında tek satıra sığmıyor; orada yalnızca amblem (yazı aria-label'da kalır) */
@media (min-width: 1200px) and (max-width: 1399.98px) { .navbar-personel .marka-yazi { display: none; } }
