@font-face {
    font-family: 'CeraPro';
    src: url('assets/fonts/CeraPro-Regular.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'CeraPro';
    src: url('assets/fonts/CeraPro-Medium.ttf') format('truetype');
    font-weight: 500;
    font-style: normal;
}
@font-face {
    font-family: 'CeraPro';
    src: url('assets/fonts/CeraPro-Thin.ttf') format('truetype');
    font-weight: 100;
    font-style: normal;
}
@font-face {
    font-family: 'CeraPro';
    src: url('assets/fonts/CeraPro-Light.ttf') format('truetype');
    font-weight: 300;
    font-style: normal;
}
@font-face {
    font-family: 'CeraPro';
    src: url('assets/fonts/CeraPro-Bold.ttf') format('truetype');
    font-weight: 700;
    font-style: normal;
}
@font-face {
    font-family: 'CeraPro';
    src: url('assets/fonts/CeraPro-Black.ttf') format('truetype');
    font-weight: 900;
    font-style: normal;
}

body { 
    font-family: 'CeraPro', 'Inter', sans-serif; 
    background-color: #fefefe; 
    color: #1e1e1e;
    display: flex; 
    flex-direction: column; 
    min-height: 100vh; 
}
main { flex: 1; }
.nav-link { 
    font-size: 0.9rem; 
    font-weight: 500; 
    letter-spacing: 0.05em;
    cursor: pointer;
}
/* Görseldeki gibi koyu lacivert arka plan sınıfı */
.bg-dark-navy { background-color: #111625 !important; }
.text-muted-custom { color: #8A92A6; }
.btn-custom-dark {
    background-color: #18224b;
    color: #fff;
    border-radius: 0;
    padding: 10px 24px;
    font-size: 0.85rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    transition: all 0.3s;
}
.btn-custom-light {
    background-color: #fff;
    color: #18224b;
    border-radius: 0;
    padding: 10px 24px;
    font-size: 0.85rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    transition: all 0.3s;
}
.btn-custom-light:hover {
    background-color: #eee;
    color: #18224b;
}
.btn-custom-dark:hover {
    background-color: #222b45;
    color: #fff;
}
.lang-btn {
    font-size: 0.8rem;
    font-weight: 600;
    text-decoration: none;
    color: #111625;
}
.lang-btn.active { border-bottom: 2px solid #111625; }

/* MASAÜSTÜ VE GENEL HEADER AYARLARI */
.header {
    background-color: #fafafb;
    padding: 1.5rem 0;
    position: relative;
    transition: background 0.3s ease, padding 0.3s ease;
    z-index: 100;
}
.header .header-logo { 
    height: 3.5rem; 
    transition: height 0.3s;
}
.z-master { z-index: 1001 !important; }

/* MASAÜSTÜ VE GENEL TEMEL STİLLER (Aynen Kalıyor) */
.header { background-color: #fafafb; padding: 1.5rem 0; position: relative; transition: background 0.3s ease; z-index: 100; }
.header .header-logo { height: 3.5rem; transition: height 0.3s; }
.z-master { z-index: 1001 !important; }

.header .nav-item-link { color: #333; text-decoration: none; font-weight: 200; line-height: 1; font-size: 1.1rem; transition: all 0.3s; }
.header .nav-item-link.active, .header .nav-item-link:hover { font-weight: 500; color: #000; }

.header .lang-selection-flat { display: flex; align-items: center; gap: 0.5rem; }
.header .lang-selection-flat a { color: #333; text-decoration: none; font-weight: 200; font-size: 1.1rem; transition: all 0.3s; }
.header .lang-selection-flat a.active { font-weight: 600; }
.header .lang-divider { color: #333; opacity: 0.4; }

@media (min-width: 768px) {
    .header .header-logo { height: 4.5rem; }
    .header .lang-selection-flat { margin-left: 2rem; padding-left: 2rem;}
}

/* ANASAYFA TRANSPARAN YAPISI */
.header__home { position: absolute; top: 0; left: 0; width: 100%; z-index: 99; background: transparent; }
.header__home .nav-item-link { color: #fff; }
.header__home .lang-selection-flat a { color: #fff; }
.header__home .lang-divider { color: #fff; }
@media (min-width: 768px) { .header__home .lang-selection-flat { border-left-color: #fff; } }

/* HAMBURGER BUTON İKONU VE X ANIMASYONU */
.navbar-toggler-icon-custom { display: block; width: 24px; height: 2px; background-color: #333; position: relative; transition: all 0.3s; }
.navbar-toggler-icon-custom::before, .navbar-toggler-icon-custom::after { content: ""; position: absolute; width: 24px; height: 2px; background-color: #333; left: 0; transition: all 0.3s; }
.navbar-toggler-icon-custom::before { top: -7px; }
.navbar-toggler-icon-custom::after { bottom: -7px; }
.header__home .navbar-toggler-icon-custom, .header__home .navbar-toggler-icon-custom::before, .header__home .navbar-toggler-icon-custom::after { background-color: #fff; }

.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon-custom { background-color: transparent !important; }
.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon-custom::before { transform: rotate(45deg); top: 0; background-color: #fff !important; }
.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon-custom::after { transform: rotate(-45deg); bottom: 0; background-color: #fff !important; }

/* Özel Kapatma Butonu Konumlandırması */
.mobile-menu-close {
    position: absolute;
    top: 1.5rem;
    right: 1.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    outline: none;
    z-index: 2001; /* İçeriklerin de üstünde kalması için */
}

/* Kapatma Butonu Çarpı (X) İkon Çizgileri */
.close-icon-line {
    display: block;
    width: 24px;
    height: 2px;
    background-color: transparent !important; /* Orta çizgiyi gizliyoruz */
    position: relative;
}
.close-icon-line::before,
.close-icon-line::after {
    content: "";
    position: absolute;
    width: 24px;
    height: 2px;
    background-color: #fff; /* Çarpı rengi beyaz */
    left: 0;
    transition: all 0.3s ease;
}
.close-icon-line::before { 
    transform: rotate(45deg); 
    top: 0; 
}
.close-icon-line::after { 
    transform: rotate(-45deg); 
    top: 0; 
}

/* TAM EKRAN RESPONSIVE VE LOGO ORTALI YENİ MOBİL MENÜ (<768px) */
@media (max-width: 767.98px) {
    .full-screen-menu.collapsing {
        height: 100vh !important;
        transition: none !important; /* Kayma animasyonunu kökten kapatır */
        display: flex !important;
    }

    .full-screen-menu.collapse.show,
    .full-screen-menu.collapsing {
        display: flex !important;
        flex-direction: column !important;
        justify-content: space-between !important;
        align-items: center !important;
        position: fixed !important;
        top: 0; left: 0; 
        width: 100vw; height: 100vh;
        background-color: #0a0e20 !important;
        padding-top: 5rem;
        padding-bottom: 4rem;
        z-index: 1000;
        
        /* Tam Ekran Saf Fade-In */
        opacity: 0;
        animation: menuFadeIn 0.4s cubic-bezier(0.25, 1, 0.5, 1) forwards;
    }

    /* Üst Ortadaki Logo Kutusu */
    .mobile-menu-center-logo {
        margin-bottom: 2rem;
    }

    /* Linklerin Dikeyde Ortalanması ve Devasa Yapısı */
    .full-screen-menu .navbar-nav {
        flex-grow: 1;
        display: flex;
        flex-direction: column;
        justify-content: center; /* Linkleri ekranın tam ortasında toplar */
        gap: 2rem !important;
    }
    .full-screen-menu .nav-item-link {
        font-size: 1.8rem !important;
        font-weight: 300;
        color: #fff !important;
        letter-spacing: 0.05em;
        text-transform: uppercase;
        display: inline-block;
    }
    .full-screen-menu .nav-item-link.active {
        font-weight: 600;
    }

    /* Alttaki Dil Seçimi */
    .full-screen-menu .lang-selection-flat {
        width: 100%;
        gap: 1.5rem;
    }
    .full-screen-menu .lang-selection-flat a {
        font-size: 1.3rem !important;
        color: #8A92A6 !important;
    }
    .full-screen-menu .lang-selection-flat a.active {
        color: #fff !important;
        font-weight: 700;
    }
    .full-screen-menu .lang-divider {
        color: #8A92A6;
        font-size: 1.3rem;
    }
}

@media (min-width: 768px) {
    .header .header-logo { height: 4.5rem; }
    .header .lang-selection-flat { margin-left: 2rem; padding-left: 2rem; border-left: 1px solid #333; }
    .header__home .lang-selection-flat { border-left: 1px solid #fff!important; }

    /* ==========================================================================
       MASAÜSTÜ RE-SET (Mobil Menü Ezmelerini İptal Eden Kritik Alan)
       ========================================================================== */
    .full-screen-menu.collapse, 
    .full-screen-menu.collapsing, 
    .full-screen-menu.collapse.show {
        display: flex !important;
        flex-direction: row !important;
        position: static !important;
        width: auto !important;
        height: auto !important;
        background-color: transparent !important;
        padding: 0 !important;
        opacity: 1 !important;
        animation: none !important;
        z-index: auto !important;
        flex:1;
    }

    /* Masaüstünde linklerin orijinal boyutuna dönmesi */
    .full-screen-menu .navbar-nav {
        flex-direction: row !important;
        gap: 1.5rem !important;
    }
    .full-screen-menu .nav-item-link {
        font-size: 1.1rem !important;
        text-transform: none; /* Devasa büyük harfleri iptal eder */
    }

    /* Masaüstünde düz dillerin fontunu küçültme */
    .full-screen-menu .lang-selection-flat a,
    .full-screen-menu .lang-divider {
        font-size: 1.1rem !important;
    }
}

/* SAF CSS FADE IN ANIMASYONU */
@keyframes menuFadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

.slider {
    position: relative; width: 100%;
}
.slider img {
    width: 100%;
    height: auto;
    aspect-ratio: 16/9;
    object-fit: cover;
    max-height: 768px;
}

@media (max-width: 680px) {
    .slider img {
        min-height: 400px;
    }

    .container {
        padding-right: calc(var(--bs-gutter-x) * 1.5);
        padding-left: calc(var(--bs-gutter-x) * 1.5);
    }
}

.what-we-do {}
.what-we-do .hizmetlerimiz-liste {}
.what-we-do .hizmetlerimiz-liste .row {}
.what-we-do .hizmetlerimiz-liste .row .hizmet { 
    position: relative;
 }
.what-we-do .hizmetlerimiz-liste .row .hizmet::after {
    content:''; position:absolute; top:.1rem; bottom:0; right:0; width:1px; height:120px; background-color:#bcbdc1;
}
.what-we-do .hizmetlerimiz-liste .row .hizmet:last-child::after { display: none; }

@media (max-width: 768px) {
    .what-we-do .hizmetlerimiz-liste .row .hizmet::after { display: none; }
}

.fivi {
    display: flex;       
}
.fivi svg { height: 2.9rem; fill-rule:evenodd; clip-rule:evenodd; fill: #fafafa; stroke-width: 6px; stroke-linecap: round; stroke: none; paint-order: stroke; }


@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

.fade-in {
    animation: fadeIn .5s ease-in-out;
}

.transition-partner {
    /* transition: all 0.25s ease-in-out; */
}
.transition-partner .partner-logo {
    filter: grayscale(100%); /* Logoları minimal durması için gri tonlama yapar */
    opacity: 0.6;
    transition: all 0.25s ease-in-out;
}
.transition-partner:hover {
    background-color: #f8f9fa !important;
    border-color: #8a92a6 !important;
}
.transition-partner:hover .partner-logo {
    filter: grayscale(0%); /* Üzerine gelince logonun orijinal rengi açılır */
    opacity: 1;
}

/* Sayfa ilk açıldığında elementlerin ham şekilde görünmesini engeller */
.partner-header-fade, 
.transition-partner {
    opacity: 0;
}


.partner-header-fade, 
.transition-partner,
.contact-fade-1,
.contact-fade-2,
.contact-fade-3 {
    opacity: 0;
    will-change: transform, opacity;
}



.partner-header-fade, 
.transition-partner,
.contact-fade-1,
.contact-fade-2,
.contact-fade-3,
.home-fade-slider,
.home-fade-about,
.home-fade-services,
.hizmet {
    opacity: 0;
    will-change: transform, opacity;
}