﻿.has-fixed-header {
    padding-top: 72px; /* header yüksekliğin kadar */
}

.brand-logo {
    height: 28px;
    width: auto;
    display: block;
}

footer a, footer a:hover, footer a:focus, footer a:active, footer a:visited {
    text-decoration: none !important;
}

/* AuthMenu dropdown genişliği ve kaydırma */
.dropdown-menu.alty-menu {
    min-width: 340px;
    max-height: 70vh;
    overflow: auto;
}

.dropdown-menu .dropdown-header {
    font-size: .8rem;
    text-transform: uppercase;
    opacity: .7
}
/* Topbar duyuru şeridi (CSS-only marquee hissi) */
.topbar-ticker {
    overflow: hidden;
    white-space: nowrap;
}

.topbar-track {
    display: inline-block;
    padding-left: 100%;
    animation: tb-scroll 22s linear infinite;
}

@keyframes tb-scroll {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(-100%);
    }
}

/* Topbar linkleri altı çizgisiz */
.topbar a {
    text-decoration: none;
}
/* Sosyal ikon kapsayıcısı biraz yastık ve yuvarlak köşe alsın */
.topbar-social {
    padding: 2px 4px;
    border-radius: 999px;
    background: rgba(255,255,255,0.06); /* isteğe bağlı hafif bant */
}

    /* Her bir ikon linki: yuvarlak pill, beyaz zemin, koyu ikon rengi */
    .topbar-social .social-link {
        width: 32px;
        height: 32px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border-radius: 999px;
        background: rgba(255,255,255,0.92);
        color: #111; /* <i> ikonları currentColor alır */
        text-decoration: none;
        transition: background .2s ease, transform .15s ease;
    }

        .topbar-social .social-link:hover {
            background: var(--brand, #fff); /* varsa marka rengine geç */
            color: #fff; /* <i> ikonları beyaz olur */
            transform: translateY(-1px);
        }

        /* <i> tabanlı ikonlar */
        .topbar-social .social-link i {
            font-size: 1rem;
            line-height: 1;
        }

        /* <img> ikonlar: beyaz zeminde net görünsün diye boyut ve fit */
        .topbar-social .social-link img {
            width: 18px;
            height: 18px;
            object-fit: contain;
            display: block;
        }

        /* Eğer elindeki img tek renk/siyah ise, bu sınıfı ekleyerek beyaza çevir
     (çok renkli logolarda kullanma) */
        .topbar-social .social-link.img-mono img {
            filter: brightness(0) invert(1);
        }

/* Hero carousel sabit/alt sınır yükseklik */
.home-hero .carousel,
.home-hero .carousel-inner,
.home-hero .carousel-item {
    position: relative;
    height: clamp(420px, 65vh, 720px); /* min 420px, tipik 65vh, max 720px */
}

    /* Görseli alana yay: kırparak doldur (küçülmez) */
    .home-hero .carousel-item > img {
        position: absolute; /* slaytı kapla */
        inset: 0; /* top/right/bottom/left:0 */
        width: 100%;
        height: 100%;
        object-fit: cover; /* önemli: küçültme yerine kırp */
    }

/* Altyazı konumu - solda ve altta rahat dursun */
.home-hero .carousel-caption {
    left: 5%;
    right: 5%;
    bottom: 8%;
    text-align: left;
}
/* Kolonların gerektiğinde daralabilmesi için */
.topbar .row > [class*="col"] {
    min-width: 0;
}

/* Sosyal ikonlar küçük, taşma yok */
.topbar-social a {
    font-size: 1rem;
    line-height: 1;
}

/* Duyuru şeridi */
.topbar-ticker {
    overflow: hidden;
    white-space: nowrap;
}

.topbar-track {
    display: inline-block;
    padding-left: 100%;
    animation: tb-scroll 22s linear infinite;
}

@keyframes tb-scroll {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(-100%);
    }
}

/* Linkler altı çizgisiz */
.topbar a {
    text-decoration: none;
}

/* Küçük ekran iyileştirmeleri */
@media (max-width: 575.98px) {
    /* Telefon metnini tamamen gizlemek istersen, sadece ikon kalsın:
     .topbar a[href^="tel:"] span { display: none; } */
    .topbar .btn.btn-sm {
        padding-top: .125rem;
        padding-bottom: .125rem;
    }
}
/* Offcanvas genişliği ve dikey kaydırma */
.offcanvas.offcanvas-end {
    width: min(92vw, 380px);
}

/* Offcanvas içeriğine güvenli alt boşluk */
.offcanvas-body {
    padding-bottom: calc(env(safe-area-inset-bottom, 0px) + 80px) !important; /* 80px = nefes payı */
}

/* (opsiyonel) iOS/Android barlarına daha iyi uyum */
@supports (height: 100dvh) {
    .offcanvas {
        min-height: 100dvh;
    }
}


/* List görünümü - net ayraç ve büyük dokunma alanı */
.mobile-nav .list-group-item {
    border: 0;
    border-bottom: 1px solid var(--bs-border-color);
    padding: .75rem 1rem;
    font-size: 1rem;
}

    .mobile-nav .list-group-item .bi {
        width: 1.25rem;
        text-align: center;
    }

/* İç bölümlerde biraz içe girinti */
.mobile-nav .collapse .list-group-item {
    padding-left: .5rem;
}

/* Açılır başlıklardaki ok animasyonu */
.mobile-nav .bi-chevron-down {
    transition: transform .2s ease;
}

.mobile-nav .collapse.show ~ .bi-chevron-down {
    transform: rotate(180deg);
}
/* fallback */

@media (hover: hover) {
    .mobile-nav .list-group-item:hover {
        background-color: rgba(0,0,0,.03);
    }
}
/* Kapat butonunun ALTINA ekstra boşluk */
.offcanvas-actions {
    padding-bottom: calc(env(safe-area-inset-bottom, 0px) + 36px) !important; /* 24px'i zevkine göre arttır/azalt */
}
/* Header ve footer ölçüsüne göre kaydırma/başlık hizası */
:root {
    --hdr: 64px; /* JS ile güncellenecek */
    --ftr: 0px; /* JS ile güncellenecek */
}

/* Anchor başlıklar sabit header altında gizlenmesin */
h1, h2, h3, h4, h5, h6 {
    scroll-margin-top: calc(var(--hdr, 64px) + 12px);
}

/* İstersen bazı sayfaları tam genişlik yapmak için: main’e 'main-full' ekle */
.main-wrap.main-full {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/*Modül menü için*/
/* ===== ModulMenu ===== */
:root {
    --mm-bg: #f6f8fb;
    --mm-border: rgba(0,0,0,.06);
    --mm-card-bg: #ffffff;
}

@media (prefers-color-scheme: dark) {
    :root {
        --mm-bg: #0f1722;
        --mm-border: rgba(255,255,255,.08);
        --mm-card-bg: #111827;
    }
}

.mm-wrap {
    background: var(--mm-bg);
    border-top: 1px solid var(--mm-border);
    box-shadow: inset 0 8px 16px -16px rgba(0,0,0,.25);
}

    .mm-wrap .card {
        background: var(--mm-card-bg);
        border: 1px solid var(--mm-border);
    }

.mm-section .list-group-item {
    border: 0;
    padding-left: .25rem;
    padding-right: .25rem;
}

    .mm-section .list-group-item + .list-group-item {
        margin-top: .25rem;
    }

    .mm-section .list-group-item:hover {
        background-color: rgba(13,110,253,.06);
    }

    .mm-section .list-group-item.active {
        background-color: rgba(13,110,253,.15);
        color: inherit;
        font-weight: 600;
    }

.mm-section .badge {
    font-weight: 500;
}

@media (prefers-color-scheme: dark) {
    .mm-section .list-group-item:hover {
        background-color: rgba(13,110,253,.15);
    }

    .mm-section .list-group-item.active {
        background-color: rgba(13,110,253,.25);
    }
}
/* alternatif zemin */
.mm-wrap--alt {
    --mm-bg: #eef6ff;
}

/*modul menu sonu*/