/* ==========================================================================
   HEADER GENEL STİLLERİ
   ========================================================================== */
.top-banner-wrapper { width: 100%; display: block; background-color: #000; overflow: hidden; position: relative; z-index: 10; }
.top-banner-link { display: block; width: 100%; text-decoration: none; }
.top-banner-wrapper img, .top-banner-wrapper video { width: 100%; display: block; object-fit: cover; object-position: center; }
.top-banner-desktop, .top-banner-all { display: block !important; height: 60px !important; }
.top-banner-mobile { display: none !important; }
@media (max-width: 768px) {
    .top-banner-desktop { display: none !important; }
    .top-banner-mobile, .top-banner-all { display: block !important; height: 50px !important; max-width: 600px; margin: 0 auto; }
}

.swal2-container { z-index: 100000 !important; }

:root { --ana-renk: #a6030c; --ana-renk-koyu: #7a0208; --danger-color: #dc2626; }

/* Bildirim Menüsü Stilleri */
.notif-wrapper { position: relative; display: flex; align-items: center; }
.notif-dropdown { display: none; position: absolute; top: calc(100% + 15px); right: -40px; background: #fff; width: 280px; box-shadow: 0 10px 25px rgba(0,0,0,0.15); border-radius: 8px; border: 1px solid #eee; overflow: hidden; z-index: 99999; margin: 0; text-align: left; }
.notif-dropdown.active { display: block; }
.notif-item { display: flex; align-items: center; padding: 12px 15px; border-bottom: 1px solid #f5f5f5; color: #374151; font-size: 13px; text-decoration: none; transition: 0.2s; font-weight: normal; cursor: pointer; }
.notif-item:hover { background: #f9fafb; color: var(--ana-renk); }
.notif-item i { font-size: 16px; width: 20px; color: var(--ana-renk); margin-right: 10px; }

@keyframes alertBlink { 0% { opacity: 1; } 50% { opacity: 0.4; } 100% { opacity: 1; } }
.notif-item.has-alert { color: var(--danger-color); font-weight: bold; animation: alertBlink 1.2s infinite ease-in-out; }
.notif-item.has-alert i { color: var(--danger-color); }
@media (max-width: 768px) { .notif-dropdown { right: -80px; } }

/* ==========================================================================
   HIZLI MENÜ & MY REFERANS
   ========================================================================== */
#hizliMenuPanel, #myReferansPanel { transition: transform 0.4s ease-in-out !important; }
#hizliMenuPanel.menu-acik, #myReferansPanel.menu-acik { transform: translateX(0) !important; }

#hizliMenuPanel > div:first-child { background-color: #7a0208 !important; border-color: rgba(255,255,255,0.1) !important; }
#hizliMenuPanel > div:last-child { background-color: #a6030c !important; border-color: rgba(255,255,255,0.1) !important; }

#hizliMenuPanel h3,
#hizliMenuPanel h4,
#hizliMenuPanel span,
#hizliMenuPanel p,
#hizliMenuPanel i { color: #ffffff !important; }

#hizliMenuPanel button:not(.left-menu-btn) { color: #ffffff !important; }

#hizliMenuPanel a { color: #ffffff !important; background-color: rgba(255,255,255,0.08) !important; border: 1px solid rgba(255,255,255,0.1) !important; }
#hizliMenuPanel a:hover { background-color: rgba(255,255,255,0.2) !important; border-color: rgba(255,255,255,0.4) !important; color: #ffffff !important; }
#hizliMenuPanel a img { filter: brightness(0) invert(1); }

#hizliMenuPanel button.left-menu-btn { 
    background-color: #ffffff !important; 
    color: var(--ana-renk) !important; 
    padding: 12px 16px !important; 
    border-radius: 8px !important; 
    text-align: left !important; 
    font-weight: 700 !important; 
    border: 1px solid transparent !important;
    transition: all 0.3s ease !important;
}
#hizliMenuPanel button.left-menu-btn.active { 
    background-color: rgba(255,255,255,0.15) !important; 
    color: #ffffff !important; 
    border: 1px solid rgba(255,255,255,0.4) !important; 
}
#hizliMenuPanel button.left-menu-btn:hover:not(.active) { 
    background-color: #f1f1f1 !important; 
}

#hizliMenuPanel .custom-scrollbar::-webkit-scrollbar,
#hizliMenuPanel .menu-scrollbar::-webkit-scrollbar { width: 6px; }
#hizliMenuPanel .custom-scrollbar::-webkit-scrollbar-track,
#hizliMenuPanel .menu-scrollbar::-webkit-scrollbar-track { background: rgba(0,0,0,0.1); border-radius: 4px; }
#hizliMenuPanel .custom-scrollbar::-webkit-scrollbar-thumb,
#hizliMenuPanel .menu-scrollbar::-webkit-scrollbar-thumb { background: #ffffff !important; border-radius: 4px; border: 1px solid rgba(0,0,0,0.1); }

/* ==========================================================================
   MASAÜSTÜ & MEGA MENÜ
   ========================================================================== */
#deskHeader { transition: background-color 0.3s ease, top 0.3s ease, padding 0.3s ease; }
#siteLogo { transition: max-height 0.3s ease; }

.nav-parent-link { border-radius: 10px; transition: all 0.3s ease; color: inherit; white-space: nowrap; }

.hide-scrollbar::-webkit-scrollbar { display: none; }
.hide-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }

.custom-scroll::-webkit-scrollbar { width: 5px; height: 5px; }
.custom-scroll::-webkit-scrollbar-track { background: transparent; }
.custom-scroll::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 4px; }
.custom-scroll::-webkit-scrollbar-thumb:hover { background: #94a3b8; }

.mega-gallery-track { display: flex; height: 100%; will-change: transform; }

/* MEGA MENÜ SCROLL BAR GİZLEME */
.mega-scroll-container::-webkit-scrollbar { display: none; }
.mega-scroll-container { -ms-overflow-style: none; scrollbar-width: none; }

/* Hover Durumları */
body.mega-hovered #deskHeader {
    background: #ffffff !important; 
    background-image: none !important;
    box-shadow: none !important; 
    border-bottom: none !important;
}
body.mega-hovered #deskHeader * { transition: color 0.3s ease, border-color 0.3s ease, background-color 0.3s ease, opacity 0.3s ease; }

body.mega-hovered #deskHeaderInner .text-white { color: var(--ana-renk) !important; }

body.mega-hovered #deskHeaderInner a.glass-btn,
body.mega-hovered #deskHeaderInner button.glass-btn,
body.mega-hovered #deskHeaderInner .border-white\/50 {
    border: 1px solid var(--ana-renk) !important; background-color: transparent !important;
}

body.mega-hovered #deskHeaderInner a.glass-btn:hover,
body.mega-hovered #deskHeaderInner button.glass-btn:hover,
body.mega-hovered #deskHeaderInner .border-white\/50:hover {
    background-color: var(--ana-renk) !important; color: #ffffff !important;
}
body.mega-hovered #deskHeaderInner a.glass-btn:hover i,
body.mega-hovered #deskHeaderInner button.glass-btn:hover i,
body.mega-hovered #deskHeaderInner .border-white\/50:hover i { color: #ffffff !important; }

body.mega-hovered #deskHeaderInner .border-red-500 {
    border-color: #ef4444 !important; color: #ef4444 !important; background-color: transparent !important;
}
body.mega-hovered #deskHeaderInner .border-red-500:hover {
    background-color: #ef4444 !important; color: #ffffff !important;
}
body.mega-hovered #deskHeaderInner .border-red-500:hover i { color: #ffffff !important; }
body.mega-hovered #deskHeaderInner .bg-red-600 {
    background-color: #dc2626 !important; color: #ffffff !important; border: none !important;
}

body.mega-hovered #deskHeaderInner #mainNavLinks .group:hover > a.nav-parent-link {
    background-color: var(--ana-renk) !important; color: #ffffff !important;
}
body.mega-hovered #deskHeaderInner #mainNavLinks .group:hover > a.nav-parent-link i { color: #ffffff !important; }
body.mega-hovered #mainNavLinks .nav-parent-link { color: var(--ana-renk) !important; }

body.has-mega-logo.mega-hovered #siteLogo { opacity: 0 !important; }
body:not(.has-mega-logo).mega-hovered #siteLogo { filter: invert(13%) sepia(80%) saturate(4520%) hue-rotate(350deg) brightness(80%) contrast(120%); }

body.mega-hovered #megaSiteLogo { opacity: 1 !important; }
body.mega-hovered #deskHeaderInner h1, body.mega-hovered #deskHeaderInner p { color: var(--ana-renk) !important; }

/* Alt Sayfa Stilleri (Anasayfa Olmayanlar İçin) */
@media (min-width: 1024px) {
    body:not(.is-home) #topBarInfo, 
    body:not(.is-home) #topActionIcons { display: none !important; }
    
    body:not(.is-home) #deskHeaderInner { padding-top: 15px !important; padding-bottom: 15px !important; }
    body:not(.is-home) #siteLogo { max-height: 100px !important; width: auto !important; }
    
    body:not(.is-home) #headerSepetBtn, 
    body:not(.is-home) #openHizliMenu, 
    body:not(.is-home) .ara-sayfa-btn, 
    body:not(.is-home) #stickySearchBtn, 
    body:not(.is-home) #deskBellBtnBottom, 
    body:not(.is-home) #innerLogoutBtn, 
    body:not(.is-home) #innerPanelBtn, 
    body:not(.is-home) #innerLogoutBtnAlt, 
    body:not(.is-home) #innerPanelBtnAlt { 
        height: 42px !important; min-height: 42px !important; max-height: 42px !important; box-sizing: border-box !important; display: flex !important; align-items: center !important; border-radius: 0.5rem !important;
    }

    body:not(.is-home) #headerSepetBtn, 
    body:not(.is-home) #stickySearchBtn, 
    body:not(.is-home) #deskBellBtnBottom, 
    body:not(.is-home) #innerLogoutBtn, 
    body:not(.is-home) #innerLogoutBtnAlt { 
        width: 42px !important; min-width: 42px !important; max-width: 42px !important; justify-content: center !important; padding: 0 !important;
    }
    
    body:not(.is-home) #openHizliMenu { justify-content: center !important; font-size: 13px !important; padding-left: 16px !important; padding-right: 16px !important; }
    body:not(.is-home) .ara-sayfa-btn { padding-left: 15px !important; padding-right: 15px !important; font-size: 13px !important; border: 1px solid rgba(255,255,255,0.5) !important; }
    body:not(.is-home) .ara-sayfa-btn:hover { background-color: rgba(255,255,255,0.2) !important; }
    
    body:not(.is-home) #headerSepetBtn i, 
    body:not(.is-home) #openHizliMenu i, 
    body:not(.is-home) #deskBellBtnBottom i, 
    body:not(.is-home) #stickySearchBtn i, 
    body:not(.is-home) #innerLogoutBtn i, 
    body:not(.is-home) #innerLogoutBtnAlt i { font-size: 18px !important; }
    body:not(.is-home) #openHizliMenu i { margin-right: 8px !important; }
    body:not(.is-home) #headerSepetBtn span, 
    body:not(.is-home) #deskBellBtnBottom span { top: 2px !important; right: 2px !important; width: 16px !important; height: 16px !important; font-size: 10px !important; }
}

/* ==========================================================================
   HARİTA OVERLAY VE ANİMASYONLARI
   ========================================================================== */
#mapOverlay {
    position: fixed; inset: 0; background: rgba(166, 3, 12, 0.95); backdrop-filter: blur(12px);
    z-index: 100000; display: flex; flex-direction: column; align-items: center; justify-content: center;
    opacity: 0; pointer-events: none; transition: opacity 0.5s ease;
}
#mapOverlay.aktif { opacity: 1; pointer-events: auto; }

.map-animasyon-sahnesi {
    position: absolute; top: -140px; left: 0; width: 100%; height: 130px; 
    display: flex; justify-content: space-between; align-items: flex-end; padding: 0 5%;
    color: #fff; pointer-events: none;
}
.pin-yazi-kutu { 
    display: flex; flex-direction: column; align-items: center; gap: 8px; transform: translateX(-50%);
}
.yol-cizgisi {
    position: absolute; bottom: 25px; left: 5%; right: 5%; height: 4px;
    border-bottom: 4px dashed rgba(255,255,255,0.4);
}

.arac-ikon { position: absolute; bottom: 20px; z-index: 20; }
.insan-ikon { position: absolute; bottom: 20px; opacity: 0; z-index: 10; }

@keyframes aracGidis {
    0%   { left: 5%; opacity: 1; transform: translateX(-50%) scaleX(-1); } 
    35%  { left: 85%; opacity: 1; transform: translateX(-50%) scaleX(-1); }
    35.1%{ left: 85%; opacity: 0; transform: translateX(-50%) scaleX(-1); }
    49.9%{ left: 85%; opacity: 0; transform: translateX(-50%) scaleX(-1); }
    50%  { left: 85%; opacity: 0; transform: translateX(-50%) scaleX(1); }
    64.9%{ left: 85%; opacity: 0; transform: translateX(-50%) scaleX(1); }
    65%  { left: 85%; opacity: 1; transform: translateX(-50%) scaleX(1); }
    100% { left: 5%; opacity: 1; transform: translateX(-50%) scaleX(1); }
}

@keyframes insanYuruyus {
    0%   { left: 85%; opacity: 0; transform: translateX(-50%) scaleX(-1); }
    35%  { left: 85%; opacity: 0; transform: translateX(-50%) scaleX(-1); }
    35.1%{ left: 85%; opacity: 1; transform: translateX(-50%) scaleX(-1); }
    45%  { left: 95%; opacity: 1; transform: translateX(-50%) scaleX(-1); }
    49.9%{ left: 95%; opacity: 1; transform: translateX(-50%) scaleX(-1); }
    50%  { left: 95%; opacity: 1; transform: translateX(-50%) scaleX(1); }
    55%  { left: 95%; opacity: 1; transform: translateX(-50%) scaleX(1); }
    64.9%{ left: 85%; opacity: 1; transform: translateX(-50%) scaleX(1); }
    65%  { left: 85%; opacity: 0; transform: translateX(-50%) scaleX(1); }
    100% { left: 85%; opacity: 0; transform: translateX(-50%) scaleX(1); }
}

#mapOverlay.aktif .arac-ikon { animation: aracGidis 16s infinite linear; }
#mapOverlay.aktif .insan-ikon { animation: insanYuruyus 16s infinite linear; }