@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;600;700&display=swap');

/* =========================================
   1. GENEL AYARLAR (BASE)
========================================= */
body { 
    font-family: 'Poppins', 'Segoe UI', sans-serif; 
    overflow-x: hidden; 
    margin: 0;
    min-height: 100vh;
    display: flex; 
    flex-direction: column; 
}

/* Sayfalara Özel Arka Planlar (Çakışmayı Önler) */
body.login-page {
    background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%); 
    align-items: center; 
    justify-content: center; 
}

body.panel-page {
    background-color: #f8f9fa; 
    padding-bottom: 50px;
    display: block; /* Flex'i ezer, normal akışa döner */
}

/* =========================================
   2. NAVBAR VE LOGO
========================================= */
.navbar { 
    background: rgba(255, 255, 255, 0.95); 
    backdrop-filter: blur(10px); 
    transition: all 0.3s ease;
    box-shadow: 0 4px 20px rgba(0,0,0,0.05);
}

.nav-link { font-weight: 500; color: #333 !important; }

.navbar-brand img, .logo-blue-filter, .mavi-logo {
    filter: brightness(0) saturate(100%) invert(32%) sepia(99%) saturate(1908%) hue-rotate(203deg) brightness(103%) contrast(106%) !important;
    max-height: 70px; 
    transition: all 0.3s ease;
}

.logo-blue-filter.mb-15 { margin-bottom: 15px; }

.navbar-brand:hover img {
    filter: brightness(0) saturate(100%) invert(32%) sepia(90%) saturate(3000%) hue-rotate(206deg) brightness(80%) contrast(105%) !important;
}

/* Mobil Menü */
.navbar-toggler { border-color: rgba(13, 110, 253, 0.5); }
.navbar-toggler-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2813, 110, 253, 1%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

/* =========================================
   3. BUTONLAR VE FORMLAR
========================================= */
.btn-login { background: #1E88E5; color: white; border-radius: 50px; padding: 8px 25px; font-weight: 600; transition: 0.3s; }
.btn-login:hover { background: #1565C0; color: white; transform: translateY(-2px); }

.btn-primary-custom { background-color: #0d6efd !important; border: none; padding: 12px; border-radius: 12px; font-weight: 600; transition: 0.3s; color: white; }
.btn-primary-custom:hover { background-color: #0b5ed7 !important; transform: translateY(-2px); color: white; }

.btn-toggle-pass { border-left: 0; border-color: #ced4da; background: white; color: #6c757d; }
.btn-toggle-pass:hover { background: #f8f9fa; color: #333; }

.form-control { border-radius: 10px; padding: 12px; }

/* =========================================
   4. KART TASARIMLARI
========================================= */
.card { border-radius: 25px; box-shadow: 0 15px 35px rgba(0,0,0,0.1); border: none; overflow: hidden; }
.card-custom { border-radius: 15px; box-shadow: 0 4px 20px rgba(0,0,0,0.03); }
.card-header-custom { background: #fff; padding: 15px 20px; font-weight: 700; border-bottom: 1px solid #f0f0f0; }

.login-wrapper { width: 100%; max-width: 420px; padding: 20px; }
.text-primary-custom { color: #0d6efd !important; }

/* =========================================
   5. ANA SAYFA / HERO / ÖZELLİKLER
========================================= */
.hero { background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%); padding: 100px 0; position: relative; overflow: hidden; }
.hero h1 { font-weight: 800; color: #2c3e50; font-size: 3.5rem; line-height: 1.2; }
.hero p { font-size: 1.2rem; color: #555; margin-bottom: 30px; }

.btn-app { background: #2c3e50; color: white; padding: 15px 35px; border-radius: 10px; font-weight: bold; text-decoration: none; transition: .3s; display: inline-flex; align-items: center; }
.btn-app:hover { background: #1a252f; color: white; transform: translateY(-3px); box-shadow: 0 10px 20px rgba(0,0,0,0.1); }

.feature-box { background: white; padding: 40px 30px; border-radius: 20px; box-shadow: 0 10px 30px rgba(0,0,0,0.05); transition: 0.3s; height: 100%; border-bottom: 5px solid transparent; }
.feature-box:hover { transform: translateY(-10px); border-bottom-color: #1E88E5; }

.icon-box { width: 70px; height: 70px; background: #e3f2fd; color: #1E88E5; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 28px; margin-bottom: 20px; }

/* =========================================
   6. ADIM KARTLARI (STEPS)
========================================= */
.step-card { background: #fff; border-radius: 20px; padding: 40px 30px; position: relative; overflow: hidden; box-shadow: 0 10px 30px rgba(0,0,0,0.03); transition: all 0.4s ease; height: 100%; border: 1px solid rgba(0,0,0,0.02); }
.step-card:hover { transform: translateY(-10px); box-shadow: 0 20px 40px rgba(13, 110, 253, 0.15); border-color: rgba(13, 110, 253, 0.2); }

.step-bg-number { position: absolute; top: -15px; right: -10px; font-size: 140px; font-weight: 900; color: rgba(13, 110, 253, 0.04); line-height: 1; z-index: 0; }
.step-icon-wrapper { width: 80px; height: 80px; background: rgba(13, 110, 253, 0.1); border-radius: 50%; display: flex; align-items: center; justify-content: center; margin: 0 auto 25px auto; color: #0d6efd; font-size: 32px; position: relative; z-index: 1; transition: all 0.4s ease; }
.step-card:hover .step-icon-wrapper { background: #0d6efd; color: #fff; transform: scale(1.1); }
.step-content { position: relative; z-index: 1; }

/* =========================================
   7. HARİTA VE CANLI TAKİP
========================================= */
#map { height: 420px; width: 100%; border-radius: 15px; border: 1px solid #ddd; z-index: 1; }
.leaflet-control-attribution { font-size: 10px !important; }

/* Canlı konum marker animasyonu */
.live-marker-dot {
    width: 18px; height: 18px; border-radius: 50%;
    background: #2980b9; border: 3px solid #fff;
    box-shadow: 0 0 0 0 rgba(41,128,185,0.6);
    animation: liveMarkerPulse 2s infinite;
}
@keyframes liveMarkerPulse {
    0%   { box-shadow: 0 0 0 0 rgba(41,128,185,0.6); }
    70%  { box-shadow: 0 0 0 14px rgba(41,128,185,0); }
    100% { box-shadow: 0 0 0 0 rgba(41,128,185,0); }
}

/* Yemek yolda banner animasyonu */
.yolda-banner { animation: yb-pulse 2.5s ease-in-out infinite; }
@keyframes yb-pulse {
    0%, 100% { box-shadow: 0 6px 24px rgba(192,57,43,.35); }
    50%      { box-shadow: 0 10px 36px rgba(192,57,43,.6); }
}
.yolda-truck { animation: truck-bounce .8s ease-in-out infinite alternate; }
@keyframes truck-bounce { from { transform: translateX(0); } to { transform: translateX(6px); } }
.leaflet-marker-icon { transition: all 1s ease-in-out; }

.live-badge { position: absolute; top: 10px; right: 10px; z-index: 999; background: white; padding: 5px 10px; border-radius: 20px; font-size: 12px; font-weight: bold; box-shadow: 0 2px 5px rgba(0,0,0,0.2); display: flex; align-items: center; gap: 5px; }
.pulse-dot { width: 10px; height: 10px; background: #2ecc71; border-radius: 50%; animation: pulse 1.5s infinite; }

@keyframes pulse { 
    0% { box-shadow: 0 0 0 0 rgba(46, 204, 113, 0.7); } 
    70% { box-shadow: 0 0 0 10px rgba(46, 204, 113, 0); } 
    100% { box-shadow: 0 0 0 0 rgba(46, 204, 113, 0); } 
}

/* =========================================
   8. FOOTER VE EKSTRALAR
========================================= */
.hover-white:hover { color: #fff !important; transition: 0.3s; }

.hover-white:hover { color: #fff !important; transition: 0.3s; }

footer { background: #232526; color: #aaa; padding: 50px 0 20px; }
footer a { color: #fff; text-decoration: none; transition: .3s; }
footer a:hover { color: #1E88E5; }

/* Panel Sayfa Footer */
body.panel-page footer { background: #f8f9fa; color: #666; padding: 20px 0; border-top: 1px solid #e9ecef; }
body.panel-page footer .fw-bold { color: #333; }

.developer-footer { margin-top: auto; background: #212529; color: #aaa; padding: 20px 0; text-align: center; font-size: 14px; }
.dev-badge { background: linear-gradient(45deg, #FFD700, #FFA500); color: #000; padding: 5px 12px; border-radius: 20px; font-weight: bold; display: inline-flex; align-items: center; transition: 0.3s; text-decoration: none; }
.dev-badge:hover { transform: scale(1.05); box-shadow: 0 0 15px rgba(255, 215, 0, 0.5); color: #000; }

.admin-link { font-size: 12px; color: #444; text-decoration: none; }
.admin-link:hover { color: #666; }

.avatar { width: 40px; height: 40px; background: #e9ecef; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: bold; color: #495057; }

.phone-link { color: inherit; text-decoration: none; }
.phone-link:hover { color: #0d6efd; text-decoration: underline; }

/* =========================================
   9. MOBİL RESPONSIVE
========================================= */
@media (max-width: 768px) {
    /* Navbar mobil ayarları */
    .navbar { padding: 0.5rem 0; }
    .navbar .container { padding: 0 10px; }
    
    /* Logo mobil ayarları */
    .navbar-brand { font-size: 1.2rem !important; }
    .navbar-brand img { 
        max-height: 30px !important; 
        margin-right: 5px !important; 
    }
    
    .navbar-brand span { 
        font-size: 0.95rem; 
        font-weight: 600;
    }
    
    /* Hero section mobil */
    .hero { padding: 60px 0; }
    .hero h1 { font-size: 2rem; }
    .hero p { font-size: 0.95rem; }
    
    /* Step card mobil */
    .step-card { padding: 25px 20px; }
}