/* Marka katmanı — site.css'ten sonra yüklenir (yalnızca herkese açık _Layout).
   Amaç: hazır şablon görünümünden çıkıp sade, bilgi odaklı bir ilan sitesi dili.
   - Tek yazı ailesi (Archivo); başlıklar hafif dar (font-stretch) — tabela/ilan panosu karakteri.
   - Gölge yerine ince çizgi, küçük köşeler, kart kaldırma (translateY) efekti yok.
   - Dekoratif ikon kareleri, büyük harfli etiketler ve "→" okları yok.
   - Sarı (--color-highlight) yalnızca vitrin/doping gibi öne çıkarılmış içerikte kullanılır. */

:root {
    --brand-line: #E2E1DC;
    --brand-line-strong: #CBCAC3;
    --brand-ink: #1C1C1A;
    --brand-sub: #6E6D66;
}

body {
    font-family: Archivo, system-ui, sans-serif;
    background: var(--color-surface);
    color: var(--brand-ink);
    -webkit-font-smoothing: antialiased;
}

h1, h2, .font-display, .hero-slide h2 {
    font-family: Archivo, system-ui, sans-serif;
    font-stretch: 88%;
    letter-spacing: -0.005em;
}

/* Büyük harfli, harf aralıklı küçük etiketler: cümle düzenine çevrilir. */
.uppercase { text-transform: none; }
.tracking-wide, .tracking-wider, .tracking-widest { letter-spacing: normal; }

/* Fiyatlar: rakamlar hizalı ve sitenin en belirgin öğesi. */
.listing-card .text-primary,
.listing-card [class*="price"],
[class*="price"] { font-variant-numeric: tabular-nums; }

/* ---------- Duyuru bandı ---------- */
.site-ann-info { background: #fff; color: var(--brand-ink); border-bottom: 1px solid var(--brand-line); box-shadow: inset 3px 0 0 var(--color-primary); }
.site-ann-info .site-ann-icon { color: var(--color-primary); }

/* ---------- Üst bar ve başlık ---------- */
#topBarGuest, #topBarUser { background: #1C1C1A; border-bottom-color: #2A2A27; }

/* ---------- Ana sayfa vitrini ---------- */
.home-hero.hero-slider { border-radius: 8px; box-shadow: none; }
@media (min-width: 1024px) { .home-hero.hero-slider { border-radius: 8px; } }
.home-hero .hero-slide::before {
    background: linear-gradient(0deg, rgba(18, 18, 17, 0.78) 0%, rgba(18, 18, 17, 0.35) 45%, rgba(18, 18, 17, 0.05) 100%);
}
.home-hero .hero-slide--grad { background: #0A3B2E; }
.home-hero-kicker { display: none; }
/* site.css'teki ".hero-slide > div { position: relative }" yazı katmanını üste yapıştırıyordu. */
.home-hero .hero-slide > .absolute { position: absolute; padding-bottom: 2.75rem; }
.home-hero-copy h2 { font-weight: 700; font-stretch: 85%; }
.home-hero-cta {
    border-radius: 6px; box-shadow: none; font-weight: 700;
    background: var(--color-highlight); color: var(--color-highlight-ink);
}
.home-hero-cta:hover { background: #FFC61A; color: var(--color-highlight-ink); }
.home-navbtn { border-radius: 6px; backdrop-filter: none; background: rgba(18, 18, 17, 0.45); }
.home-navbtn:hover { background: rgba(18, 18, 17, 0.7); }
@media (max-width: 639px) { .home-navbtn { display: none; } .home-dots { left: auto; right: 1rem; transform: none; } }
.home-dot { border-radius: 2px; }
.home-dot.is-on { width: 1.1rem; }

.home-search-dock {
    border-radius: 8px; border: 1px solid var(--brand-line-strong);
    box-shadow: 0 6px 18px rgba(28, 28, 26, 0.08);
}
.home-search input[type="search"] { border-radius: 5px; background: #F4F4F1; }
.home-search button { border-radius: 5px; font-weight: 700; }
.home-stats span > i { display: none; }
.home-stats { column-gap: 1.1rem; row-gap: 0.35rem; }

.home-quick a { border-radius: 6px; transition: border-color 0.15s ease, color 0.15s ease; }
.home-quick a:hover { transform: none; box-shadow: none; border-color: var(--color-primary); }
.home-quick i { width: auto; height: 1.6rem; border-radius: 0; background: none; font-size: 1.15rem; }

.home-trust article, .home-trust__link { border-radius: 6px; border-color: var(--brand-line); }
.home-trust i { width: auto; height: auto; background: none; border-radius: 0; font-size: 1rem; }

/* "İlanım burada yer alsın" — öne çıkarma çağrısı: marka sarısı. */
.home-cta {
    background: #FFF6D6; border: 1px solid #F2D16B; border-radius: 6px;
}
.home-cta:hover { box-shadow: none; border-color: var(--color-highlight); }
.home-cta__ico { background: none; box-shadow: none; color: #8A6A00; width: auto; height: auto; border-radius: 0; font-size: 1.1rem; }
.home-cta b { color: #3D2E00; }
.home-cta span { color: #6B5410; }
.home-cta > i { color: #8A6A00; }

.home-ann { border-radius: 6px; }

/* Bölüm kartları: başlıktaki ikon karesi kalkar, başlık + sayı + metin linki kalır. */
.home-sec { border-radius: 8px; }
.home-sec__head { padding: 0.8rem 1rem; }
.home-sec__title i, .home-sec__ico { display: none; }
.home-sec__title h2 { font-size: 1.05rem; font-weight: 700; }
.home-sec__title small { color: var(--brand-sub); font-weight: 500; font-size: 0.75rem; }
.home-sec__more { font-weight: 600; text-decoration: underline; text-underline-offset: 3px; text-decoration-color: rgba(var(--color-primary-rgb), 0.35); }
.home-sec__more i { display: none; }
.home-sec__more:hover { text-decoration-color: currentColor; }
.home-feat, .home-brands a { border-radius: 6px; }

.home-cats-head { background: #fff; }
.home-cats-head h3 { font-weight: 700; font-size: 0.95rem; }
.home-cats-head > i { display: none; }

/* ---------- İlan kartları ---------- */
.listing-card { border-radius: 6px; transition: border-color 0.15s ease; }
.listing-card:hover { transform: none; box-shadow: none; border-color: var(--brand-line-strong); }
.product-card:hover { transform: none; box-shadow: none; }
.listing-badge { border-radius: 3px; box-shadow: none; font-weight: 700; }
.listing-badge--vitrin { background: var(--color-highlight); color: var(--color-highlight-ink); }
.listing-card--highlight { border-color: var(--color-highlight); box-shadow: inset 0 0 0 1px var(--color-highlight); }
.listing-card em { background: #FFF1B8; }

.search-category-box:hover { box-shadow: none; }
.search-suggest a { border-radius: 4px; }

/* ---------- Kategori menüsü ---------- */
.category-item .category-row:hover {
    background: #F4F4F1 !important;
    box-shadow: none !important;
}
.category-icon-wrap {
    background: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    color: var(--brand-sub);
}
.category-item .category-row:hover .category-icon-wrap { color: var(--color-primary) !important; }

/* Hareket tercihine saygı. */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
}

/* ---------- İlan detayı ---------- */
.spec-sidebar .spec-row { font-size: 0.875rem; padding-top: 0.45rem; padding-bottom: 0.45rem; border-bottom: 1px solid #EFEFEB; }
.spec-sidebar .spec-row > dd { font-weight: 600; }
.detail-seller__share--fb { background: #1877F2; }
.detail-seller__share--fb:hover { background: #166FE5; }

/* Fiyat tek satırda kalsın ("TL" alt satıra düşmesin). */
.listing-card .text-primary, .store-public-price, .mine-card__price { white-space: nowrap; }

/* ---------- İlan detayı: özellik etiketleri, işlem butonları, açılır pencereler ---------- */
.ld-linkbtn {
    border: 0; background: none; padding: 0; margin-left: 0.6rem;
    font-size: 0.8125rem; font-weight: 600; color: var(--color-primary);
    text-decoration: underline; text-underline-offset: 3px; text-decoration-color: rgba(var(--color-primary-rgb), 0.35);
    cursor: pointer; white-space: nowrap; align-self: center;
}
.ld-linkbtn:hover { text-decoration-color: currentColor; }
.ld-linkbtn i { font-size: 0.75rem; margin-right: 0.15rem; }

.ld-chips { display: flex; flex-wrap: wrap; gap: 0.35rem; margin: 0.15rem 0 0.6rem; }
.ld-chip {
    display: inline-flex; align-items: center; gap: 0.35rem; font-size: 0.75rem; font-weight: 600;
    padding: 0.2rem 0.5rem; border-radius: 4px; background: #F4F4F1; color: var(--brand-ink); border: 1px solid var(--brand-line);
}
.ld-chip i { color: var(--brand-sub); font-size: 0.7rem; }
.ld-chip--key { background: #FFF6D6; border-color: #F2D16B; color: #3D2E00; }
.ld-chip--key i { color: #8A6A00; }

.ld-actions { display: flex; flex-direction: column; gap: 0.4rem; margin-top: 0.5rem; padding-top: 0.6rem; border-top: 1px solid #EFEFEB; }
.ld-action {
    display: flex; align-items: center; justify-content: center; gap: 0.45rem; width: 100%;
    min-height: 2.35rem; padding: 0 0.75rem; border-radius: 6px; border: 1px solid var(--brand-line-strong);
    background: #fff; color: var(--brand-ink); font-size: 0.8125rem; font-weight: 600; text-decoration: none; cursor: pointer;
}
.ld-action:hover { border-color: var(--color-primary); color: var(--color-primary); }
.ld-action i { color: var(--brand-sub); }
.ld-action:hover i { color: inherit; }
.ld-action--key { background: var(--color-highlight); border-color: var(--color-highlight); color: var(--color-highlight-ink); }
.ld-action--key i { color: inherit; }
.ld-action--key:hover { background: #FFC61A; border-color: #FFC61A; color: var(--color-highlight-ink); }

.ld-rowbtn {
    display: grid; grid-template-columns: 1.1rem auto 1fr 0.8rem; align-items: center; gap: 0.5rem; width: 100%;
    margin-top: 0.6rem; padding: 0.6rem 0.75rem; border: 1px solid var(--brand-line); border-radius: 6px; background: #fff;
    font-size: 0.8125rem; color: var(--brand-ink); text-align: left; cursor: pointer;
}
.ld-rowbtn:hover { border-color: var(--color-primary); }
.ld-rowbtn > i:first-child { color: var(--color-primary); }
.ld-rowbtn span { font-weight: 700; }
.ld-rowbtn small { color: var(--brand-sub); font-size: 0.75rem; }
.ld-rowbtn__go { color: #B9B8B1; font-size: 0.7rem; justify-self: end; }

dialog.ld-modal {
    width: min(92vw, 26rem); padding: 0; border: 1px solid var(--brand-line); border-radius: 8px;
    color: var(--brand-ink); background: #fff; box-shadow: 0 18px 50px rgba(28, 28, 26, 0.22);
}
dialog.ld-modal::backdrop { background: rgba(18, 18, 17, 0.45); }
.ld-modal__head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 0.85rem 1rem; border-bottom: 1px solid #EFEFEB; }
.ld-modal__head h2 { margin: 0; font-size: 1rem; font-weight: 700; font-stretch: 100%; }
.ld-modal__x { border: 0; background: none; font-size: 1.5rem; line-height: 1; color: var(--brand-sub); cursor: pointer; padding: 0 0.15rem; }
.ld-modal__x:hover { color: var(--brand-ink); }
.ld-modal__body { padding: 1rem; display: flex; flex-direction: column; gap: 0.75rem; max-height: 70vh; overflow-y: auto; }
.ld-modal__hint { margin: 0; font-size: 0.8125rem; color: var(--brand-sub); line-height: 1.45; }
.ld-modal__foot { display: flex; justify-content: flex-end; gap: 0.5rem; padding: 0.75rem 1rem; border-top: 1px solid #EFEFEB; background: #F7F7F5; border-radius: 0 0 8px 8px; }
.ld-field { display: flex; flex-direction: column; gap: 0.3rem; font-size: 0.8125rem; font-weight: 600; }
.ld-field input, .ld-field select {
    width: 100%; padding: 0.55rem 0.7rem; border: 1px solid var(--brand-line-strong); border-radius: 6px; font-size: 0.9375rem; font-weight: 400;
}
.ld-field input:focus { outline: 2px solid rgba(var(--color-primary-rgb), 0.35); outline-offset: 0; border-color: var(--color-primary); }
.ld-btn { min-height: 2.35rem; padding: 0 1rem; border-radius: 6px; font-size: 0.875rem; font-weight: 700; cursor: pointer; border: 1px solid transparent; }
.ld-btn--primary { background: var(--color-primary); color: #fff; }
.ld-btn--primary:hover { background: var(--color-accent); }
.ld-btn--ghost { background: #fff; border-color: var(--brand-line-strong); color: var(--brand-ink); }

.ld-stars { display: flex; flex-direction: row-reverse; justify-content: center; gap: 0.25rem; }
.ld-stars input { position: absolute; opacity: 0; pointer-events: none; }
.ld-stars label { font-size: 2rem; line-height: 1; color: #DAD9D3; cursor: pointer; }
.ld-stars input:checked ~ label, .ld-stars label:hover, .ld-stars label:hover ~ label { color: var(--color-highlight); }
.ld-stars input:focus-visible + label { outline: 2px solid var(--color-primary); border-radius: 3px; }

.ld-ph-chart { width: 100%; height: 80px; color: var(--color-primary); }
.ld-ph { list-style: none; margin: 0; padding: 0; }
.ld-ph li { display: grid; grid-template-columns: 1fr auto 4.2rem; gap: 0.75rem; align-items: center; padding: 0.5rem 0; border-bottom: 1px solid #EFEFEB; font-size: 0.875rem; }
.ld-ph li:last-child { border-bottom: 0; }
.ld-ph li > span { color: var(--brand-sub); }
.ld-ph li > b { font-variant-numeric: tabular-nums; }
.ld-ph em { font-style: normal; font-size: 0.75rem; font-weight: 700; text-align: right; }
.ld-ph em.is-down { color: #1E7A4A; }
.ld-ph em.is-up { color: #B42318; }

.mortgage--modal { border: 0 !important; padding: 0 !important; margin: 0 !important; background: none !important; box-shadow: none !important; }
.detail-spec > .ld-chips { padding: 0 0.75rem; }

/* Başlık dar ekranda butonların yanında sıkışmasın: yer yoksa butonlar alt satıra iner. */
.detail-head__title { flex: 1 1 18rem; }
/* İlan başlık bölümü çerçeveli kart: sol kenarda marka yeşili, ilan no rozet görünümünde. */
.detail-head {
    background: #fff;
    border: 1px solid var(--brand-line);
    border-left: 4px solid #0F5C46;
    border-radius: 10px;
    padding: 0.85rem 1rem 0.9rem;
    box-shadow: 0 1px 2px rgba(28, 28, 26, 0.04);
}
@media (min-width: 768px) { .detail-head { padding: 1rem 1.25rem 1.05rem; } }
.detail-head .detail-crumb { padding-bottom: 0.55rem; margin-bottom: 0.65rem; border-bottom: 1px solid #EFEFEB; }
.detail-head__no {
    display: inline-flex; align-items: center;
    padding: 0.1rem 0.5rem; border-radius: 999px;
    background: #F5F5F2; border: 1px solid var(--brand-line);
    color: var(--brand-sub); font-variant-numeric: tabular-nums;
}
/* Favori butonu: pembe dolgu yerine nötr; kalp ikonu vurgu taşır. */
.detail-fav { border-color: var(--brand-line-strong); background: #fff; color: var(--brand-ink); border-radius: 6px; }
.detail-fav i { color: #C2253A; }
.detail-fav:hover { border-color: #C2253A; color: #C2253A; }
.detail-fav.is-on { background: #FDECEE; border-color: #F1B9C1; color: #9E1B2E; }

/* ---------- Çerez onayı ---------- */
.cc-banner {
    position: fixed; z-index: 10001; left: 1rem; right: 1rem; bottom: 4.5rem;
    background: #fff; border: 1px solid var(--brand-line-strong); border-radius: 8px;
    box-shadow: 0 12px 32px rgba(28, 28, 26, 0.16); padding: 1rem;
}
@media (min-width: 640px) { .cc-banner { left: auto; right: 1rem; bottom: 1rem; max-width: 30rem; } }
.cc-banner.hidden { display: none; }
.cc-banner__text { margin: 0 0 0.75rem; font-size: 0.875rem; line-height: 1.5; color: var(--brand-ink); }
.cc-banner__text a { color: var(--color-primary); text-decoration: underline; }
.cc-banner__actions { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.5rem; margin: 0; }
/* Kabul ve ret eşit ağırlıkta (KVKK Çerez Rehberi). */
.cc-btn {
    min-height: 2.4rem; padding: 0 0.5rem; border-radius: 6px; border: 1px solid var(--brand-ink);
    background: #fff; color: var(--brand-ink); font-size: 0.8125rem; font-weight: 700; cursor: pointer;
}
.cc-btn:hover { background: var(--brand-ink); color: #fff; }
.cc-cat { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; padding: 0.75rem 0; border-bottom: 1px solid #EFEFEB; cursor: pointer; }
.cc-cat:last-of-type { border-bottom: 0; }
.cc-cat__text { display: flex; flex-direction: column; gap: 0.2rem; font-size: 0.875rem; }
.cc-cat__text small { color: var(--brand-sub); font-size: 0.8rem; line-height: 1.4; }
.cc-cat input[type="checkbox"] { width: 1.15rem; height: 1.15rem; margin-top: 0.15rem; accent-color: var(--color-primary); flex-shrink: 0; }
.site-foot-cc { border: 0; background: none; padding: 0; font: inherit; color: inherit; cursor: pointer; text-decoration: none; }
.site-foot-cc:hover { text-decoration: underline; }
/* Çerez bandı açıkken yardım butonu bandın düğmelerini kapatmasın. */
body:has(#cookieBanner:not(.hidden)) .page-help-btn { display: none; }

/* ---------- Üst bar (mobil) ----------
   Dar ekranda tek satıra sığmıyordu: arama kutusu 40 px'e iniyor, içindeki giriş alanı taşıp hesap simgesinin
   üstüne biniyordu (simgeye dokununca arama kutusu odaklanıyordu). Mobilde iki satır: üstte menü, logo,
   hesap, İlan Ver; altta tam genişlik arama. */
.site-head__search input { min-width: 0; width: 100%; }
.site-head__search .search-shell { overflow: hidden; }
@media (max-width: 639.98px) {
    .site-head { flex-wrap: wrap; row-gap: 0.6rem; }
    .site-head__search { order: 10; flex: 1 0 100%; max-width: none; }
    .site-head__brand { min-width: 0; }
    .site-head__brand .site-brand-logo { height: 34px; max-width: 120px; }
    .site-head__actions { gap: 0.5rem; }
}

/* ---------- Reyon şeridi (ücretli + organik öne çıkanlar; Views/Shared/_ReyonStrip.cshtml) ---------- */
.reyon-strip { background: #fff; border: 1px solid var(--brand-line); border-top: 3px solid #0F5C46; border-radius: 10px; padding: 0.65rem 0.75rem 0.75rem; margin: 0 0 0.9rem; }
.reyon-strip__head { display: flex; align-items: center; gap: 0.5rem; margin-bottom: 0.55rem; position: relative; }
.reyon-strip__mark { width: 22px; height: 22px; flex: 0 0 auto; }
.reyon-strip__titles { min-width: 0; flex: 1; }
.reyon-strip__titles h2 { margin: 0; font-size: 0.95rem; font-weight: 800; color: var(--brand-ink); line-height: 1.2; }
.reyon-strip__titles p { margin: 0.05rem 0 0; font-size: 0.7rem; color: var(--brand-sub); }
.reyon-strip__more { font-size: 0.8125rem; font-weight: 700; color: #0F5C46; text-decoration: none; white-space: nowrap; }
.reyon-strip__more i { font-size: 0.65rem; }
.reyon-strip__info { position: relative; }
.reyon-strip__info summary { list-style: none; cursor: pointer; color: var(--brand-sub); width: 28px; height: 28px; display: grid; place-items: center; border-radius: 999px; }
.reyon-strip__info summary::-webkit-details-marker { display: none; }
.reyon-strip__info summary:hover { background: #F5F5F2; color: var(--brand-ink); }
.reyon-strip__info > div { position: absolute; right: 0; top: 34px; z-index: 30; width: min(19rem, 80vw); background: #fff; border: 1px solid var(--brand-line); border-radius: 10px; box-shadow: 0 8px 24px rgba(28,28,26,.12); padding: 0.75rem 0.85rem; font-size: 0.8125rem; color: var(--brand-ink); }
.reyon-strip__info > div p { margin: 0.4rem 0 0; line-height: 1.45; }
.reyon-strip__info > div a { display: inline-block; margin-top: 0.55rem; font-weight: 700; color: #0F5C46; text-decoration: none; }
/* Kompakt kartlar: sabit genişlik, geniş ekranda 5-6 kart yan yana; fazlası yatay kaydırılır. */
.reyon-strip__list { list-style: none; margin: 0; padding: 0 0 0.25rem; display: grid; grid-auto-flow: column; grid-auto-columns: 9.25rem; gap: 0.55rem; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: thin; }
@media (min-width: 640px) { .reyon-strip__list { grid-auto-columns: 10.5rem; } }
@media (min-width: 1280px) { .reyon-strip__list { grid-auto-columns: calc((100% - 5 * 0.55rem) / 6); } }
.reyon-strip__list > li { scroll-snap-align: start; min-width: 0; }
.reyon-card { display: flex; flex-direction: column; height: 100%; border: 1px solid #EFEFEB; border-radius: 8px; overflow: hidden; text-decoration: none; color: inherit; background: #fff; transition: border-color .15s ease, box-shadow .15s ease; }
.reyon-card:hover { border-color: #0F5C46; box-shadow: 0 4px 14px rgba(15,92,70,.12); }
/* Görsel alanı sabit 4:3: dikey/büyük görsel kartı uzatmasın (aspect-ratio içerikle büyüyebildiği için görsel mutlak konumlu). */
.reyon-card__media { position: relative; display: block; aspect-ratio: 3 / 2; overflow: hidden; background: #F5F5F2; }
.reyon-card__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
.reyon-card__media .reyon-tag { position: absolute; left: 0.35rem; top: 0.35rem; }
.reyon-card__body { display: flex; flex-direction: column; gap: 0.15rem; padding: 0.4rem 0.5rem 0.5rem; }
.reyon-card__title { font-size: 0.75rem; font-weight: 600; line-height: 1.3; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; min-height: 2.2em; }
.reyon-card__price { font-size: 0.8125rem; font-weight: 800; color: #0F5C46; }
.reyon-card__loc { font-size: 0.65rem; color: var(--brand-sub); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.reyon-tag { display: inline-flex; align-items: center; gap: 0.2rem; padding: 0.1rem 0.4rem; border-radius: 999px; font-size: 0.625rem; font-weight: 800; line-height: 1.3; }
.reyon-tag i { font-size: 0.6rem; }
.reyon-tag--paid { background: #F2B705; color: #1C1C1A; }
.reyon-tag--organic { background: #0F5C46; color: #fff; }
.reyon-strip__empty { display: flex; flex-wrap: wrap; gap: 0.5rem 1rem; align-items: center; justify-content: space-between; padding: 0.75rem; border: 1px dashed var(--brand-line-strong); border-radius: 8px; font-size: 0.8125rem; color: var(--brand-sub); }
.reyon-strip__empty a { font-weight: 700; color: #0F5C46; text-decoration: none; }

/* Doping adımındaki Reyon puanı kartı */
.reyon-status { border: 1px solid var(--brand-line); border-left: 4px solid #0F5C46; border-radius: 10px; background: #fff; padding: 0.85rem 1rem; margin: 0 0 1rem; }
.reyon-status__head { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem; font-size: 0.95rem; color: var(--brand-ink); }
.reyon-status__bar { position: relative; height: 8px; border-radius: 999px; background: #EFEFEB; margin: 0.7rem 0 0.35rem; }
.reyon-status__bar i { position: absolute; inset: 0 auto 0 0; border-radius: 999px; background: linear-gradient(90deg, #0F5C46, #1E7A4A); }
.reyon-status__bar em { position: absolute; top: -4px; width: 2px; height: 16px; background: #F2B705; border-radius: 2px; }
.reyon-status__score { font-size: 0.8125rem; color: var(--brand-ink); }
.reyon-status__score strong { font-size: 1.1rem; }
.reyon-status__score span { color: var(--brand-sub); }
.reyon-status__signals { list-style: none; margin: 0.6rem 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 0.35rem; }
.reyon-status__signals li { font-size: 0.75rem; background: #F5F5F2; border: 1px solid var(--brand-line); border-radius: 999px; padding: 0.15rem 0.55rem; color: var(--brand-ink); }
.reyon-status__signals i { color: #0F5C46; margin-right: 0.2rem; }
.reyon-status__hint { margin: 0.6rem 0 0; font-size: 0.8125rem; font-weight: 600; color: #8A5A00; }
.reyon-status__note { margin: 0.45rem 0 0; font-size: 0.75rem; color: var(--brand-sub); }

/* ---------- Kategori sonuç çubuğu: görünüm ve sıralama (Views/Categories/Detail.cshtml) ---------- */
.cat-toolbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0.6rem 1rem;
  background: #fff; border: 1px solid var(--brand-line); border-radius: 10px; padding: 0.55rem 0.65rem; margin: 0 0 0.9rem;
  box-shadow: 0 1px 2px rgba(28,28,26,.04); }
.cat-toolbar__left { display: flex; align-items: center; gap: 0.6rem; min-width: 0; }
.cat-toolbar__chip { display: inline-flex; align-items: center; gap: 0.35rem; padding: 0.4rem 0.75rem; border-radius: 8px; background: #0F5C46; color: #fff; font-size: 0.8125rem; font-weight: 700; }
.cat-toolbar__chip i { font-size: 0.75rem; opacity: .9; }
.cat-toolbar__count { font-size: 0.8125rem; color: var(--brand-sub); white-space: nowrap; }
.cat-toolbar__count b { color: var(--brand-ink); }
.cat-toolbar__right { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem; }
.cat-seg { display: inline-flex; padding: 3px; background: #F5F5F2; border: 1px solid var(--brand-line); border-radius: 9px; }
.cat-seg__btn { display: inline-flex; align-items: center; gap: 0.35rem; padding: 0.35rem 0.65rem; border-radius: 6px; font-size: 0.8125rem; font-weight: 600; color: var(--brand-sub); text-decoration: none; }
.cat-seg__btn:hover { color: var(--brand-ink); background: #fff; }
.cat-seg__btn.is-on { background: #0F5C46; color: #fff; box-shadow: 0 1px 3px rgba(15,92,70,.3); }
.cat-seg__btn i { font-size: 0.8rem; }
@media (max-width: 639px) { .cat-seg__btn span { display: none; } .cat-seg__btn { padding: 0.4rem 0.6rem; } }
.cat-sort { display: inline-flex; align-items: center; gap: 0.4rem; }
.cat-sort__lbl { display: inline-flex; align-items: center; gap: 0.3rem; font-size: 0.8125rem; font-weight: 700; color: var(--brand-ink); white-space: nowrap; }
.cat-sort__lbl i { color: #0F5C46; }
.cat-select { appearance: none; -webkit-appearance: none; border: 1px solid var(--brand-line-strong); border-radius: 8px; background: #fff
  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%230F5C46' stroke-width='1.6' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat right 0.6rem center;
  padding: 0.4rem 1.8rem 0.4rem 0.7rem; font-size: 0.8125rem; font-weight: 600; color: var(--brand-ink); cursor: pointer; }
.cat-select:hover { border-color: #0F5C46; }
.cat-select:focus { outline: none; border-color: #0F5C46; box-shadow: 0 0 0 3px rgba(15,92,70,.15); }

/* ===================== Mesajlar (Me/Messages) ===================== */
.msgx {
    display: grid; grid-template-columns: 1fr;
    background: #fff; border: 1px solid #E4E3DE; border-radius: 14px; overflow: hidden;
    height: min(78vh, 720px); min-height: 460px;
}
@media (min-width: 900px) { .msgx { grid-template-columns: 320px 1fr; } }
.msgx-list { display: flex; flex-direction: column; min-height: 0; border-right: 1px solid #E4E3DE; background: #FAFAF8; }
.msgx-list__head { padding: 0.85rem 0.85rem 0.6rem; border-bottom: 1px solid #ECEBE6; display: grid; gap: 0.55rem; }
.msgx-list__title { font-weight: 700; font-size: 0.9rem; color: #1C1C1A; }
.msgx-list__title em { font-style: normal; font-weight: 600; font-size: 0.75rem; color: #6E6D66; margin-left: 0.25rem; }
.msgx-search { position: relative; display: block; }
.msgx-search i { position: absolute; left: 0.7rem; top: 50%; transform: translateY(-50%); color: #9C9B93; font-size: 0.8rem; }
.msgx-search input {
    width: 100%; height: 2.25rem; padding: 0 0.75rem 0 2rem; border: 1px solid #E2E1DC; border-radius: 999px;
    background: #fff; font-size: 0.85rem; outline: none;
}
.msgx-search input:focus { border-color: #0F5C46; box-shadow: 0 0 0 3px rgba(15, 92, 70, 0.14); }
.msgx-threads { flex: 1; overflow-y: auto; min-height: 0; }
.msgx-thread {
    display: flex; gap: 0.7rem; align-items: center; padding: 0.75rem 0.85rem;
    border-bottom: 1px solid #F0EFEA; color: inherit; text-decoration: none; position: relative;
    transition: background 0.12s;
}
.msgx-thread:hover { background: #F2F2EE; }
.msgx-thread.is-on { background: #fff; }
.msgx-thread.is-on::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 3px; background: #0F5C46; }
.msgx-thread:focus-visible { outline: 2px solid #0F5C46; outline-offset: -2px; }
.msgx-thread__body { flex: 1; min-width: 0; display: grid; gap: 0.1rem; }
.msgx-thread__row { display: flex; align-items: center; justify-content: space-between; gap: 0.5rem; min-width: 0; }
.msgx-thread__row strong { font-size: 0.875rem; font-weight: 600; color: #1C1C1A; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.msgx-thread__row time { flex-shrink: 0; font-size: 0.7rem; color: #9C9B93; }
.msgx-thread__listing { font-size: 0.75rem; color: #0F5C46; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.msgx-role {
    display: inline-block; margin-right: 0.35rem; padding: 0 0.35rem; border-radius: 4px;
    background: #EEF4F1; color: #0F5C46; font-size: 0.65rem; font-weight: 600; vertical-align: 1px;
}
.msgx-thread__preview { font-size: 0.8rem; color: #6E6D66; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.msgx-thread.is-unread strong, .msgx-thread.is-unread .msgx-thread__preview { color: #1C1C1A; font-weight: 700; }
.msgx-thread.is-unread time { color: #0F5C46; font-weight: 600; }
.msgx-unread {
    flex-shrink: 0; min-width: 1.25rem; height: 1.25rem; padding: 0 0.35rem; border-radius: 999px;
    background: #0F5C46; color: #fff; font-size: 0.7rem; font-weight: 700; display: inline-flex; align-items: center; justify-content: center;
}
.msgx-ava {
    position: relative; flex-shrink: 0; width: 44px; height: 44px; border-radius: 12px;
    background: #E7F0EC; color: #0F5C46; font-weight: 700; font-size: 0.85rem;
    display: inline-flex; align-items: center; justify-content: center;
}
.msgx-ava img { width: 100%; height: 100%; object-fit: cover; border-radius: inherit; }
.msgx-ava__badge {
    position: absolute; right: -4px; bottom: -4px; width: 22px; height: 22px; border-radius: 999px;
    background: #0F5C46; color: #fff; font-size: 0.6rem; border: 2px solid #fff;
    display: inline-flex; align-items: center; justify-content: center;
}
.msgx-ava--sm { width: 38px; height: 38px; border-radius: 999px; font-size: 0.8rem; }
.msgx-ava--new { background: #FFF6D6; color: #8A6A00; }
.msgx-nores { padding: 1.25rem; text-align: center; font-size: 0.85rem; color: #6E6D66; }
.msgx-list .me-pager { margin: 0.5rem; }

.msgx-pane { display: flex; flex-direction: column; min-height: 0; min-width: 0; background: #fff; }
.msgx-head { display: flex; align-items: center; gap: 0.65rem; padding: 0.7rem 0.9rem; border-bottom: 1px solid #ECEBE6; }
.msgx-head__who { flex: 1; min-width: 0; display: grid; }
.msgx-head__who strong { font-size: 0.95rem; color: #1C1C1A; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.msgx-head__who span { font-size: 0.75rem; color: #6E6D66; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.msgx-head__del { margin: 0; }
.msgx-back { display: none; width: 2.25rem; height: 2.25rem; border-radius: 999px; align-items: center; justify-content: center; color: #1C1C1A; }
.msgx-back:hover { background: #F2F2EE; }
.msgx-iconbtn {
    display: inline-flex; align-items: center; gap: 0.4rem; height: 2.25rem; padding: 0 0.8rem; border-radius: 999px;
    border: 1px solid #E2E1DC; background: #fff; color: #44433E; font-size: 0.8rem; font-weight: 600; cursor: pointer;
}
.msgx-iconbtn--danger:hover { border-color: #F3C4C4; background: #FEF2F2; color: #B91C1C; }
.msgx-iconbtn:focus-visible { outline: 2px solid #0F5C46; outline-offset: 2px; }
.msgx-listing {
    display: flex; align-items: center; gap: 0.7rem; margin: 0.6rem 0.9rem 0; padding: 0.45rem 0.6rem;
    border: 1px solid #E4E3DE; border-radius: 10px; background: #FAFAF8; color: inherit; text-decoration: none;
}
.msgx-listing:hover { border-color: #0F5C46; }
.msgx-listing img, .msgx-listing__ph { width: 56px; height: 42px; border-radius: 6px; object-fit: cover; flex-shrink: 0; }
.msgx-listing__ph { background: #ECEBE6; color: #9C9B93; display: inline-flex; align-items: center; justify-content: center; }
.msgx-listing__t { flex: 1; min-width: 0; font-size: 0.85rem; font-weight: 600; color: #1C1C1A; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.msgx-listing__go { flex-shrink: 0; font-size: 0.75rem; font-weight: 600; color: #0F5C46; }
.msgx-feed { flex: 1; overflow-y: auto; min-height: 0; padding: 1rem 0.9rem; display: flex; flex-direction: column; gap: 0.35rem; background: #fff; }
.msgx-day { text-align: center; margin: 0.6rem 0 0.3rem; }
.msgx-day span { display: inline-block; padding: 0.15rem 0.6rem; border-radius: 999px; background: #F2F2EE; color: #6E6D66; font-size: 0.7rem; font-weight: 600; }
.msgx-bubble { max-width: min(78%, 520px); padding: 0.5rem 0.75rem 0.35rem; border-radius: 14px; font-size: 0.9rem; line-height: 1.45; }
.msgx-bubble p { margin: 0; white-space: pre-wrap; word-break: break-word; }
.msgx-bubble time { display: block; text-align: right; margin-top: 0.15rem; font-size: 0.65rem; opacity: 0.7; }
.msgx-bubble.is-theirs { align-self: flex-start; background: #F2F2EE; color: #1C1C1A; border-bottom-left-radius: 4px; }
.msgx-bubble.is-mine { align-self: flex-end; background: #0F5C46; color: #fff; border-bottom-right-radius: 4px; }
.msgx-warn { margin-top: 0.35rem !important; padding: 0.3rem 0.45rem; border-radius: 6px; background: #FFF6D6; color: #7A5A00; font-size: 0.72rem; }
.msgx-tpl { display: flex; gap: 0.4rem; overflow-x: auto; padding: 0.5rem 0.9rem 0; scrollbar-width: thin; }
.msgx-tpl button {
    flex-shrink: 0; padding: 0.35rem 0.75rem; border-radius: 999px; border: 1px solid #E2E1DC; background: #fff;
    font-size: 0.78rem; color: #44433E; cursor: pointer; white-space: nowrap;
}
.msgx-tpl button:hover { border-color: #0F5C46; color: #0F5C46; }
.msgx-compose { display: flex; align-items: flex-end; gap: 0.5rem; padding: 0.6rem 0.9rem 0.25rem; }
.msgx-input {
    flex: 1; resize: none; min-height: 2.6rem; max-height: 160px; padding: 0.6rem 0.9rem; border: 1px solid #E2E1DC;
    border-radius: 20px; font-size: 0.9rem; line-height: 1.4; outline: none; background: #FAFAF8; font-family: inherit;
}
.msgx-input:focus { border-color: #0F5C46; background: #fff; box-shadow: 0 0 0 3px rgba(15, 92, 70, 0.14); }
.msgx-send {
    flex-shrink: 0; width: 2.6rem; height: 2.6rem; border-radius: 999px; border: 0; background: #0F5C46; color: #fff; cursor: pointer;
    display: inline-flex; align-items: center; justify-content: center;
}
.msgx-send:hover { background: #0B4A38; }
.msgx-send:disabled { opacity: 0.6; cursor: default; }
.msgx-hint { margin: 0; padding: 0 0.9rem 0.6rem 1.8rem; font-size: 0.68rem; color: #9C9B93; }
.msgx-empty { margin: auto; max-width: 18rem; text-align: center; color: #6E6D66; font-size: 0.85rem; display: grid; gap: 0.4rem; justify-items: center; padding: 1.5rem 1rem; }
.msgx-empty strong { color: #1C1C1A; font-size: 0.95rem; }
.msgx-empty p { margin: 0; }
.msgx-empty__icon { width: 3rem; height: 3rem; border-radius: 999px; background: #E7F0EC; color: #0F5C46; display: inline-flex; align-items: center; justify-content: center; font-size: 1.2rem; }
.msgx-empty--pane { flex: 1; display: grid; align-content: center; }

/* Mobil: liste ↔ konuşma geçişi */
@media (max-width: 899.98px) {
    .msgx { height: auto; min-height: 0; }
    .msgx-list { border-right: 0; max-height: none; }
    .msgx-threads { max-height: none; overflow: visible; }
    .msgx-pane { display: none; }
    .msgx.has-pane .msgx-list { display: none; }
    .msgx.has-pane .msgx-pane { display: flex; height: calc(100dvh - 9rem); min-height: 420px; }
    .msgx-back { display: inline-flex; }
    .msgx-iconbtn span { display: none; }
    .msgx-iconbtn { width: 2.25rem; padding: 0; justify-content: center; }
    .msgx-bubble { max-width: 86%; }
    .msgx-hint { display: none; }
}

/* ===================== Bildirimler (Me/Notifications) ===================== */
.ntf-toolbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0.5rem; padding: 0.7rem 1rem; border-bottom: 1px solid #ECEBE6; }
.ntf-toolbar__info { font-size: 0.8rem; color: #6E6D66; }
.ntf-toolbar__actions { display: flex; flex-wrap: wrap; gap: 0.4rem; }
.ntf-row { position: relative; }
.ntf-row .acc-row__actions { display: flex; align-items: center; gap: 0.25rem; flex-shrink: 0; }
.ntf-row .acc-row__title a { text-decoration: none; }
.ntf-row .acc-row__title a:hover { text-decoration: underline; }
.ntf-iconbtn {
    width: 2.1rem; height: 2.1rem; border-radius: 999px; border: 1px solid transparent; background: transparent;
    color: #6E6D66; cursor: pointer; display: inline-flex; align-items: center; justify-content: center;
}
.ntf-iconbtn:hover { background: #F2F2EE; color: #0F5C46; }
.ntf-iconbtn--danger:hover { background: #FEF2F2; color: #B91C1C; }
.ntf-iconbtn:focus-visible { outline: 2px solid #0F5C46; outline-offset: 1px; }
@media (hover: hover) and (min-width: 900px) {
    .ntf-row .ntf-iconbtn--danger { opacity: 0; transition: opacity 0.12s; }
    .ntf-row:hover .ntf-iconbtn--danger, .ntf-row:focus-within .ntf-iconbtn--danger { opacity: 1; }
}
@media (max-width: 899.98px) { .ntf-row .acc-row__actions { width: auto; margin-left: auto; } }
