/* DOSYA: /assets/css/navbar/navbar.css */
/* DURUM: V11 FINAL - FOOTER FIX (BODY FLEX YAPISI EKLENDİ) */

:root {
    --tt-navy: #000080;        
    --tt-blue: #3b82f6;        
    --tt-white: #ffffff;       
    --tt-border: #e2e8f0;     
    --tt-red: #ef4444; 
    --tt-gray: #64748b;
}

body {
    padding-top: 70px;          /* Navbar Payı (Üst) */
    padding-bottom: 100px;      /* Dock Payı (Alt) - EKLENDİ */
    background-color: #f8fafc;
    font-family: 'Inter', system-ui, -apple-system, sans-serif;
    
    /* Footer Hizalaması İçin */
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

/* --- ANA KONTEYNER --- */
.tt-float-bar {
    position: fixed; top: 0; left: 0; width: 100%; height: 70px;
    background-color: var(--tt-white);
    border-bottom: 1px solid rgba(0,0,128,0.08);
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.04);
    padding: 0 24px;
    z-index: 9999;
    /* Varsayılan: Grid (Ziyaretçi için) */
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
}

/* KULLANICI MODU İÇİN FLEX */
.tt-float-bar.user-mode {
    display: flex !important;
    justify-content: space-between;
    align-items: center;
}

/* --- LOGO VE BREADCRUMB --- */
.tt-logo-wrapper {
    display: flex; flex-direction: column; justify-content: center; align-items: flex-start;
    margin-right: 15px; flex-shrink: 0; min-width: 140px;
}
.tt-logo-main { display: flex; align-items: center; gap: 8px; text-decoration: none !important; line-height: 1; }
.tt-logo-svg {
    width: 28px; height: 28px;
    color: var(--tt-navy) !important; stroke: var(--tt-navy) !important; fill: none !important;
    filter: drop-shadow(0 0 0 rgba(0,0,128,0));
    animation: logo-pulse 3s infinite ease-in-out;
}
@keyframes logo-pulse { 0% { transform: scale(1); } 50% { transform: scale(1.05); } 100% { transform: scale(1); } }
.tt-logo-text {
    font-family: 'Orbitron', sans-serif; font-size: 1.3rem; font-weight: 900;
    color: var(--tt-navy) !important; letter-spacing: 0.5px; opacity: 1 !important;
}

/* --- BREADCRUMB --- */
.tt-mini-breadcrumb {
    font-size: 0.65rem; color: var(--tt-gray); font-weight: 600;
    margin-top: 3px; margin-left: 36px; display: flex; align-items: center; gap: 4px;
    white-space: nowrap; opacity: 0.9;
}
.tt-mini-breadcrumb a { color: var(--tt-gray) !important; text-decoration: none !important; transition: color 0.2s; }
.tt-mini-breadcrumb a:hover { color: var(--tt-blue) !important; text-decoration: underline !important; }
.tt-mini-breadcrumb .active-crumb { color: var(--tt-navy) !important; font-weight: 800; }
.tt-mini-breadcrumb i { font-size: 8px; color: #cbd5e1; }

/* --- MODÜLLER --- */
.nav-modules-row {
    flex: 1; display: flex; align-items: center; justify-content: flex-start;
    gap: 6px; overflow: hidden;
}
.tt-nav-item {
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    min-width: 60px; height: 48px; border-radius: 6px; text-decoration: none !important;
    color: var(--tt-navy); transition: all 0.2s ease;
    background: transparent; position: relative; cursor: pointer;
}
.tt-nav-icon svg, .tt-nav-icon i { width: 20px !important; height: 20px !important; font-size: 18px; fill: currentColor; }
.tt-nav-label { font-size: 0.65rem; font-weight: 700; text-transform: uppercase; margin-top: 2px; color: var(--tt-navy); white-space: nowrap; }
.tt-nav-item:hover { background-color: rgba(0,0,128,0.04); }
.tt-nav-item:hover .tt-nav-icon, .tt-nav-item:hover .tt-nav-label { color: var(--tt-blue); }

/* --- SAĞ BÖLGE --- */
.nav-right-zone {
    display: flex; align-items: center; gap: 10px; 
    margin-left: auto; padding-left: 10px; border-left: 1px solid #f1f5f9;
}

/* --- DİĞER / DROP MENÜ --- */
.tt-drop-menu {
    position: absolute; top: 60px; background: #fff; border: 1px solid var(--tt-border);
    box-shadow: 0 10px 30px rgba(0,0,0,0.1); border-radius: 8px;
    display: none; flex-direction: column; min-width: 240px; z-index: 10002;
}
.tt-drop-menu.active { display: flex !important; }
.tt-drop-header { padding: 12px 15px; font-size: 0.7rem; font-weight: 800; color: #94a3b8; background: #f8fafc; border-bottom: 1px solid #f1f5f9; }
.tt-drop-menu a { padding: 10px 15px; color: #334155; text-decoration: none; font-size: 0.85rem; font-weight: 600; border-bottom: 1px solid #f8fafc; display: flex; align-items: center; gap: 10px; }
.tt-drop-menu a:hover { background: #f0fdf4; color: var(--tt-navy); }

/* --- BİLDİRİM & PROFİL --- */
.tt-notif-btn { width: 36px; height: 36px; border-radius: 50%; display: flex; align-items: center; justify-content: center; color: var(--tt-navy); background: #f1f5f9; position: relative; margin-right: 5px; cursor: pointer; }
.tt-notif-badge { position: absolute; top: -2px; right: -2px; background: var(--tt-red); color: white; font-size: 9px; font-weight: bold; min-width: 14px; height: 14px; border-radius: 50%; display: flex; align-items: center; justify-content: center; border: 2px solid #fff; }

.tt-user-zone { display: flex; align-items: center; gap: 10px; padding: 4px 8px 4px 12px; background: #fff; border: 1px solid var(--tt-border); border-radius: 30px; cursor: pointer; transition: 0.2s; }
.tt-user-zone:hover { border-color: var(--tt-blue); }
.tt-u-name { font-weight: 700; font-size: 0.8rem; color: var(--tt-navy); }
.tt-u-avatar-wrap { width: 32px; height: 32px; border-radius: 50%; overflow: hidden; border: 1px solid var(--tt-border); }
.tt-u-avatar-wrap img { width: 100%; height: 100%; object-fit: cover; }

/* --- ZİYARETÇİ MODU --- */
.nav-logo-center { display: flex; justify-content: center; align-items: center; height: 100%; }
.nav-grp-left { display: flex; justify-content: flex-start; align-items: center; gap: 5px; }
.nav-grp-right { display: flex; justify-content: flex-end; align-items: center; gap: 5px; }
.auth-buttons-group { display: flex; gap: 10px; margin-left: 15px; }
.tt-auth-btn { display: flex; align-items: center; gap: 8px; height: 38px; padding: 0 16px; border-radius: 6px; font-size: 0.8rem; font-weight: 800; text-transform: uppercase; text-decoration: none !important; }
.tt-btn-login { border: 2px solid var(--tt-navy); color: var(--tt-navy) !important; }
.tt-btn-register { background: var(--tt-navy); border: 2px solid var(--tt-navy); color: #fff !important; }

/* ZİYARETÇİ RENK ZORLAMA */
.nav-logo-center .tt-logo-main, .nav-logo-center .tt-logo-text, .nav-logo-center i, .nav-logo-center svg {
    color: #000080 !important; fill: #000080 !important; stroke: #000080 !important; opacity: 1 !important;
}

/* --- FOOTER (NET LACİVERT & OKUNAKLI) --- */
.tt-ghost-footer {
    width: 100%;
    height: 40px;
    background: #fff;
    border-top: 1px solid #e2e8f0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 24px;
    margin-top: auto;
    z-index: 100;
}

/* Sol Taraf */
.footer-left { display: flex; align-items: center; gap: 10px; }
.footer-brand {
    font-family: 'Orbitron', sans-serif;
    font-weight: 900;
    font-size: 0.9rem;
    color: #000080 !important; /* NET LACİVERT */
    text-decoration: none !important;
    letter-spacing: 0.5px;
}

.footer-sep { color: #cbd5e1; font-weight: 300; }

.footer-copy {
    font-size: 0.75rem;
    font-weight: 700;
    color: #000080; /* NET LACİVERT */
    opacity: 0.8;
}

/* Sağ Taraf */
.footer-right { display: flex; align-items: center; gap: 20px; }

/* Linkler */
.footer-link {
    font-size: 0.7rem;
    font-weight: 700;
    color: #000080 !important; /* NET LACİVERT */
    text-decoration: none !important;
    text-transform: uppercase;
    position: relative;
    transition: all 0.2s ease;
}

/* Link Efekti (Altı Çizili Animasyon) */
.footer-link::after {
    content: '';
    position: absolute; width: 0; height: 2px;
    bottom: -2px; left: 0;
    background-color: #3b82f6; /* Parlak Mavi */
    transition: width 0.3s;
}
.footer-link:hover { color: #3b82f6 !important; }
.footer-link:hover::after { width: 100%; }

/* Sosyal İkonlar */
.footer-socials { display: flex; gap: 12px; border-left: 1px solid #e2e8f0; padding-left: 15px; }
.footer-socials a {
    color: #000080 !important; /* NET LACİVERT */
    font-size: 0.9rem;
    transition: transform 0.2s, color 0.2s;
}
.footer-socials a:hover {
    color: #3b82f6 !important;
    transform: translateY(-2px);
}

/* Mobil */
@media (max-width: 768px) {
    .tt-ghost-footer { flex-direction: column; height: auto; padding: 15px; gap: 10px; }
    .footer-right { flex-direction: column; gap: 10px; }
    .footer-socials { border-left: none; padding-left: 0; }
}
/* --- ACİL MÜDAHALE: FOOTER FIX (RESET & STICKY) --- */

/* 1. Tarayıcıyı Sıfırla */
html, body {
    height: 100%;
    margin: 0;
    padding: 0;
}

/* 2. Gövde Yapısı */
body {
    display: flex;
    flex-direction: column;
    min-height: 100vh; /* Ekran boyu kadar olmaya zorla */
    padding-top: 70px; /* Navbar payı */
    padding-bottom: 0 !important; /* Dock payını şimdilik iptal et, footer otursun */
    background-color: #f8fafc;
}

/* 3. İÇERİK KUTUSU (BÜYÜMESİ GEREKEN YER) */
/* main.php içindeki #site-wrapper ID'sine müdahale ediyoruz */
#site-wrapper {
    flex: 1 0 auto; /* Büyü, Küçülme, Otomatik */
    display: flex;
    flex-direction: column;
    width: 100%;
}

/* 4. FOOTER (DİBE YAPIŞAN) */
.tt-ghost-footer {
    flex-shrink: 0; /* Asla büzüşme */
    width: 100%;
    height: 40px;
    background: #fff;
    border-top: 1px solid #e2e8f0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 24px;
    margin-top: auto; /* SİHİRLİ KOD: Yukarıdaki boşluğu it */
    z-index: 100;
}

/* 5. DOCK VARSA FOOTER GİZLENSİN Mİ? */
/* Eğer hem Dock hem Footer varsa çakışır. Dock varsa Footer'ı yukarı itelim */
body:has(.tt-dock-container) .tt-ghost-footer {
    margin-bottom: 90px; /* Dock yüksekliği kadar yukarı çık */
}

/* MOBİL */
@media (max-width: 768px) {
    .tt-ghost-footer { flex-direction: column; height: auto; padding: 15px; gap: 10px; justify-content: center; }
}
@media (max-width: 1200px) {
    .tt-float-bar { display: flex; justify-content: space-between; }
    .nav-modules-row, .tt-mini-breadcrumb { display: none; }
    .nav-grp-left, .nav-grp-right { display: none; }
    .nav-logo-center { position: static; transform: none; }
}