/*
 * Sitenin ortak "chrome" katmanı: navbar, footer, kart, rozet, form ve buton.
 *
 * `theme.css` yalnız TOKEN tanımlar; burası o token'ları kullanan bileşen
 * kurallarıdır. İkisi birlikte `layouts/main :: head-common` fragment'i tarafından
 * yüklenir.
 *
 * NEDEN AYRI BİR DOSYA: bu kurallar 34 şablonun kendi <style> bloğunda ayrı ayrı
 * kopyalanıyordu — `.navbar-brand span` 32, `footer` 31, `body` 30 kez. Marka adı
 * değişikliği (2026-09-01) 24 şablona tek tek dokunmak zorunda kaldı; tek kaynak
 * olsaydı tek satırlık bir işti.
 *
 * Renk/gölge değeri BURAYA DA hard-code edilmez; hepsi `theme.css` token'ıdır.
 */

body { font-family: 'Inter', sans-serif; background: var(--surface); color: var(--ink); }

/* Navbar */
.navbar { background: var(--ink-strong) !important; padding: 0; }
.navbar-brand { font-weight: 700; font-size: 1.3rem; letter-spacing: -.5px; color: var(--on-dark) !important; padding: 1rem 0; }
.navbar-brand span { color: var(--primary); }
.navbar .nav-link { color: var(--on-dark-muted) !important; font-size: .875rem; font-weight: 500; padding: .9rem .85rem !important; transition: color .15s; }
.navbar .nav-link:hover { color: var(--on-dark) !important; }
.navbar .nav-link.active { color: var(--on-dark) !important; }
.btn-nav-cta { background: var(--primary); color: var(--on-dark) !important; border-radius: 6px; padding: .45rem 1rem !important; font-size: .8rem !important; font-weight: 600; transition: background .15s; }
.btn-nav-cta:hover { background: var(--primary-dark) !important; color: var(--on-dark) !important; }
.navbar-mobile-cta { padding: .45rem .6rem !important; flex-shrink: 0; }
@media (max-width:575px) { .navbar-toggler { padding: .25rem .4rem; } }
.navbar .dropdown-menu { border: 1px solid var(--border); border-radius: 10px; box-shadow: var(--overlay-shadow); padding: .35rem; margin-top: 8px; }
.navbar .dropdown-item { border-radius: 6px; font-size: .875rem; padding: .45rem .85rem; }
.navbar .dropdown-item:hover { background: var(--surface); }
/* Bootstrap'in varsayılan toggler ikonu koyu; koyu navbar'da mobil menü düğmesi görünmüyordu. */
.navbar-toggler-icon { filter: invert(1); }
/*
 * Sticky header opt-in'dir: sayfa <body class="chrome-sticky"> ile açar. Global değil,
 * çünkü talep detayının yan paneli ve arama filtre kartı kendi `position:sticky; top:…`
 * değerleriyle çalışıyor ve sticky navbar'ın altında kalırdı.
 */
.chrome-sticky .navbar { position: sticky; top: 0; z-index: 1030; }

/* Cards */
.card { border: 1px solid var(--border); border-radius: 12px; box-shadow: var(--card-shadow); transition: box-shadow .2s, transform .2s; overflow: hidden; }
.card:hover { box-shadow: var(--card-shadow-hover); transform: translateY(-2px); }
.card-footer { background: var(--surface-raised); border-top: 1px solid var(--border); }

/* Badges */
.badge-sale { background: var(--primary-soft); color: var(--primary-ink); font-weight: 600; }
.badge-rent { background: var(--success-soft); color: var(--success-ink); font-weight: 600; }
.badge-draft { background: var(--warning-soft); color: var(--warning-ink); font-weight: 600; }
.badge-active { background: var(--success-soft); color: var(--success-ink); font-weight: 600; }
.badge-sold { background: var(--sold-soft); color: var(--sold-ink); font-weight: 600; }
.badge-removed { background: var(--danger-soft); color: var(--danger-ink); font-weight: 600; }

/* Price */
.price-tag { font-size: 1.15rem; font-weight: 700; color: var(--ink-strong); }

/* Section headings */
.section-title { font-size: 1.25rem; font-weight: 700; color: var(--ink-strong); margin-bottom: 1.25rem; }

/* Footer */
footer { background: var(--ink-strong); color: var(--on-dark-faint); font-size: .85rem; padding: 3rem 0 1.5rem; margin-top: 4rem; }
footer a { color: var(--on-dark-faint); text-decoration: none; }
footer a:hover { color: var(--on-dark); }
.footer-brand { color: var(--on-dark); font-weight: 700; font-size: 1.05rem; }
.footer-brand i { color: var(--primary); }
.footer-tagline { margin: .5rem 0 0; max-width: 320px; }
.footer-heading { color: var(--on-dark); font-weight: 600; font-size: .8rem; margin-bottom: .75rem; }
.footer-links { list-style: none; padding: 0; margin: 0; }
.footer-links li + li { margin-top: .45rem; }
.footer-social { font-size: 1.15rem; }
.footer-bottom { border-top: 1px solid var(--on-dark-border); margin-top: 2.5rem; padding-top: 1.25rem; }

/* Page header — liste ve kuyruk ekranlarının üst şeridi. */
.page-header { background: var(--surface-raised); border-bottom: 1px solid var(--border); padding: 1.5rem 0; }
.page-header h1 { font-size: 1.5rem; font-weight: 700; margin: 0; }

/* Form */
.form-control, .form-select {
    border: 1px solid var(--border);
    border-radius: 8px;
    font-size: .9rem;
    padding: .55rem .85rem;
    transition: border-color .15s, box-shadow .15s;
}
.form-control:focus, .form-select:focus {
    border-color: var(--primary);
    box-shadow: 0 0 0 3px var(--focus-ring);
}
.form-label { font-size: .8rem; font-weight: 600; color: var(--ink-soft); margin-bottom: .35rem; }

/* Buttons */
.btn-primary { background: var(--primary); border-color: var(--primary); font-weight: 600; border-radius: 8px; }
.btn-primary:hover { background: var(--primary-dark); border-color: var(--primary-dark); }
.btn-outline-primary { border-color: var(--primary); color: var(--primary); border-radius: 8px; font-weight: 500; font-size: .85rem; }
.btn-outline-primary:hover { background: var(--primary); border-color: var(--primary); }
.btn-success { border-radius: 8px; font-weight: 600; }

/* Page wrapper */
.page-content { min-height: calc(100vh - 220px); padding: 2rem 0; }

/* Divider */
hr { border-color: var(--border); }
