/* ============================================
   Köylübaba — tema (main.css) üstü küçük özelleştirmeler
   ============================================ */

/* --- Responsive güvenlik ağı ---
   İçerik/CMS görselleri ve gömülü ortam kapsayıcısını taşırmasın.
   Şablonun kendi görsel boyutlandırması (inline stil / yüksek özgüllük) korunur. */
img, svg, video, iframe { max-width: 100%; }

/* --- Metin logo --- */
.kb-logo {
    font-size: 28px;
    font-weight: 700;
    line-height: 1;
    color: var(--mt-common-dark, #060121);
    display: inline-block;
    white-space: nowrap;
}

.kb-logo span { color: #5a9e2f; }
.kb-logo:hover { color: var(--mt-common-dark, #060121); }
.kb-logo--light, .kb-logo--light:hover { color: #fff; }

/* --- Topbar metni ve linkleri --- */
.kb-topbar-note {
    font-size: 14px;
    font-weight: 500;
    color: var(--mt-text-body, #646373);
    padding: 0 10px;
    display: inline-block;
}

.kb-top-link {
    font-size: 14px;
    font-weight: 500;
    color: var(--mt-text-body, #646373);
    display: inline-block;
    transition: 0.3s;
}

.kb-inline-form { display: inline-block; margin: 0; }

/* Link görünümlü buton (çıkış formu) */
.kb-link-btn {
    background: none;
    border: 0;
    padding: 0;
    font-size: 14px;
    font-weight: 500;
    color: var(--mt-text-body, #646373);
    cursor: pointer;
    transition: 0.3s;
}

.kb-top-link:hover, .kb-link-btn:hover { color: var(--mt-theme-1, #17AF26); }

/* --- TempData başarı uyarısı (sabit, üst-orta) --- */
.kb-alert-success {
    position: fixed;
    top: 20px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 10050;
    display: flex;
    align-items: center;
    gap: 15px;
    max-width: 90vw;
    padding: 14px 22px;
    background: #e8f6e9;
    border: 1px solid var(--mt-theme-1, #17AF26);
    border-radius: 6px;
    color: #14691d;
    font-weight: 500;
    box-shadow: 0 6px 20px rgba(6, 1, 33, 0.15);
}

.kb-alert-close {
    background: none;
    border: 0;
    padding: 0;
    font-size: 22px;
    line-height: 1;
    color: #14691d;
    cursor: pointer;
}

/* --- Toast bildirimleri (site.js kb.toast) --- */
.kb-toast {
    position: fixed;
    top: 20px;
    left: 50%;
    transform: translate(-50%, -20px);
    z-index: 10060;
    max-width: 90vw;
    padding: 12px 24px;
    background: var(--mt-theme-1, #17AF26);
    color: #fff;
    font-size: 15px;
    font-weight: 500;
    border-radius: 6px;
    box-shadow: 0 6px 20px rgba(6, 1, 33, 0.2);
    opacity: 0;
    transition: opacity 0.3s, transform 0.3s;
    pointer-events: none;
}

.kb-toast--show { opacity: 1; transform: translate(-50%, 0); }
.kb-toast--error { background: #d9534f; }

/* --- Favori (wishlist) kalp ikonu --- */
.kb-wishlist-toggle { cursor: pointer; }
.kb-wishlist-toggle.is-active i,
.kb-wishlist-toggle i.fa-solid { color: #d9534f; }
.kb-card-wishlist {
    display: inline-block;
    margin-left: 12px;
    font-size: 18px;
    line-height: 1;
    vertical-align: middle;
    color: var(--mt-common-black, #060121);
}

/* --- Mini sepet boş durumu --- */
.kb-minicart-empty { text-align: center; padding: 40px 10px; }

.kb-minicart-empty i {
    font-size: 42px;
    color: var(--mt-theme-1, #17AF26);
    margin-bottom: 15px;
    display: block;
}

.kb-minicart-empty p { margin-bottom: 20px; color: var(--mt-text-body, #646373); }

/* --- Pasif sepete ekle butonu --- */
.kb-add-to-cart.disabled {
    background: #c4c4c4;
    border-color: #c4c4c4;
    color: #fff;
    pointer-events: none;
}

/* Google / harici giriş */
.kb-external { text-align: center; }
.kb-external-sep { position: relative; margin: 4px 0 18px; color: #9aa0a6; font-size: 14px; }
.kb-external-sep::before, .kb-external-sep::after {
    content: ""; position: absolute; top: 50%; width: 40%; height: 1px; background: #e3e6ea;
}
.kb-external-sep::before { left: 0; }
.kb-external-sep::after { right: 0; }
.kb-external-sep span { background: #fff; padding: 0 12px; position: relative; }
.kb-google-btn {
    display: inline-flex; align-items: center; justify-content: center; gap: 10px;
    width: 100%; padding: 12px 18px; border: 1px solid #dadce0; border-radius: 6px;
    background: #fff; color: #3c4043; font-size: 15px; font-weight: 600; cursor: pointer;
    transition: box-shadow .15s, background .15s;
}
.kb-google-btn:hover { background: #f7f8f8; box-shadow: 0 1px 3px rgba(60,64,67,.2); }
.kb-google-btn i { color: #ea4335; font-size: 18px; }

/* Footer ödeme logoları (iyzico kriteri) */
.kb-payment-logos { display: inline-flex; align-items: center; gap: 12px; flex-wrap: wrap; justify-content: center; }
.kb-payment-logos .kb-payment-note { font-size: 13px; color: #cfd6dd; display: inline-flex; align-items: center; gap: 5px; }
.kb-payment-logos img { background: #fff; border-radius: 5px; padding: 4px 7px; }
@media (max-width: 575.98px) { .kb-payment-logos { justify-content: center; margin-top: 12px; } }

/* Logo görseli (wwwroot/img/logo/logo.png) — dosya yoksa metin logoya düşer */
.kb-logo-link { display: inline-flex; align-items: center; text-decoration: none; }
.kb-logo-img { height: 52px; width: auto; max-width: min(300px, 62vw); object-fit: contain; }
.mtheader__bottom-area .kb-logo-img { height: 40px; background: #fff; border-radius: 8px; padding: 3px 8px; }   /* koyu mobil bar için beyaz zemin */
.mt-footer-logo .kb-logo-img { height: 60px; max-width: 320px; }
.mt-offcanvas-logo .kb-logo-img { height: 42px; }
@media (max-width: 575.98px) {
    .kb-logo-img { height: 40px; max-width: 60vw; }
}

/* ============================================
   Hizmet Bölgelerimiz sayfası
   ============================================ */
.kb-zones-lead { font-size: 16px; line-height: 1.7; color: var(--mt-text-body, #646373); }
.kb-zones-lead a { color: var(--mt-theme-1, #17AF26); font-weight: 600; text-decoration: underline; }

/* Üst istatistik şeridi */
.kb-zone-stats { --kb-gap: 16px; }
.kb-zone-stat {
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    gap: 4px; height: 100%; padding: 22px 14px; text-align: center;
    background: #f4faf3; border: 1px solid #dcefd9; border-radius: 14px;
}
.kb-zone-stat i { font-size: 26px; color: var(--mt-theme-1, #17AF26); margin-bottom: 4px; }
.kb-zone-stat strong { font-size: 22px; line-height: 1.1; color: var(--mt-common-dark, #060121); }
.kb-zone-stat span { font-size: 13px; color: var(--mt-text-body, #646373); }

/* İl başlığı */
.kb-zone-city-head {
    display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px;
    padding-bottom: 12px; margin-bottom: 20px; border-bottom: 2px solid #e8efe6;
}
.kb-zone-city-head h4 { margin: 0; font-size: 22px; color: var(--mt-common-dark, #060121); }
.kb-zone-city-head h4 i { color: var(--mt-theme-1, #17AF26); margin-right: 8px; }
.kb-zone-count {
    font-size: 13px; font-weight: 600; color: var(--mt-theme-1, #17AF26);
    background: #eaf7e9; padding: 5px 12px; border-radius: 20px;
}

/* İlçe kartı */
.kb-zone-card {
    height: 100%; padding: 20px; background: #fff;
    border: 1px solid #e6eae4; border-radius: 14px;
    transition: box-shadow .2s, border-color .2s, transform .2s;
}
.kb-zone-card:hover {
    border-color: var(--mt-theme-1, #17AF26);
    box-shadow: 0 8px 24px rgba(23, 175, 38, .12);
    transform: translateY(-2px);
}
.kb-zone-card-top {
    display: flex; align-items: center; justify-content: space-between; gap: 10px;
    padding-bottom: 14px; margin-bottom: 14px; border-bottom: 1px dashed #e2e7e0;
}
.kb-zone-card-top h6 { margin: 0; font-size: 17px; color: var(--mt-common-dark, #060121); }
.kb-zone-badge {
    flex-shrink: 0; font-size: 12px; font-weight: 700; white-space: nowrap;
    color: #6b6f68; background: #f1f3f0; padding: 5px 11px; border-radius: 20px;
}
.kb-zone-badge--free { color: #fff; background: var(--mt-theme-1, #17AF26); }

/* Kart içi bilgi satırları */
.kb-zone-facts { list-style: none; margin: 0; padding: 0; }
.kb-zone-facts li {
    display: flex; align-items: center; gap: 9px;
    font-size: 14px; color: var(--mt-text-body, #646373); padding: 5px 0;
}
.kb-zone-facts li i { width: 17px; text-align: center; color: var(--mt-theme-1, #17AF26); }
.kb-zone-facts li strong { margin-left: auto; color: var(--mt-common-dark, #060121); font-weight: 600; }

/* Mahalle listesi */
.kb-zone-hoods { margin-top: 14px; padding-top: 12px; border-top: 1px dashed #e2e7e0; }
.kb-zone-hoods-title {
    display: block; font-size: 12px; font-weight: 600; text-transform: uppercase;
    letter-spacing: .4px; color: #9aa197; margin-bottom: 8px;
}
.kb-zone-chip {
    display: inline-block; font-size: 12px; color: #4c5a48;
    background: #f2f7f1; border: 1px solid #e0ebde;
    padding: 4px 10px; border-radius: 20px; margin: 0 5px 5px 0;
}
.kb-zone-all { font-size: 13px; font-weight: 600; color: var(--mt-theme-1, #17AF26); }
.kb-zone-all i { margin-right: 5px; }

/* Alt çağrı kutusu */
.kb-zone-cta {
    margin-top: 20px; padding: 30px; border-radius: 16px;
    background: linear-gradient(100deg, #f4faf3 0%, #eaf6e8 100%);
    border: 1px solid #dcefd9;
}
.kb-zone-cta h5 { margin-bottom: 8px; color: var(--mt-common-dark, #060121); }
.kb-zone-cta p { margin: 0; font-size: 15px; color: var(--mt-text-body, #646373); }
@media (max-width: 991.98px) {
    .kb-zone-cta { text-align: center; }
    .kb-zone-cta .mt-btn { margin-top: 18px; }
}

/* Bölge yoksa */
.kb-zone-empty { padding: 50px 30px; background: #f8f9f7; border-radius: 16px; }
.kb-zone-empty i { font-size: 44px; color: var(--mt-theme-1, #17AF26); margin-bottom: 16px; display: block; }
.kb-zone-empty p { color: var(--mt-text-body, #646373); margin-bottom: 22px; }

/* ============================================
   Duyuru modalı (açılış pop-up)
   ============================================ */
.kb-annc-overlay {
    position: fixed; inset: 0; z-index: 10080;
    display: flex; align-items: center; justify-content: center; padding: 20px;
    background: rgba(6, 1, 33, .55); -webkit-backdrop-filter: blur(2px); backdrop-filter: blur(2px);
    animation: kbAnncFade .25s ease;
}
@keyframes kbAnncFade { from { opacity: 0; } to { opacity: 1; } }
.kb-annc-modal {
    position: relative; width: 100%; max-width: 460px;
    max-height: 90vh; overflow: hidden auto;
    background: #fff; border-radius: 18px;
    box-shadow: 0 20px 60px rgba(6, 1, 33, .35);
    animation: kbAnncPop .3s cubic-bezier(.2, .9, .3, 1.2);
}
@keyframes kbAnncPop { from { transform: translateY(24px) scale(.96); opacity: 0; } to { transform: none; opacity: 1; } }
.kb-annc-close {
    position: absolute; top: 12px; right: 12px; z-index: 2;
    width: 36px; height: 36px; border: 0; border-radius: 50%;
    background: rgba(255, 255, 255, .9); color: #060121; font-size: 16px;
    cursor: pointer; display: flex; align-items: center; justify-content: center;
    box-shadow: 0 2px 8px rgba(0, 0, 0, .15); transition: background .2s, transform .2s;
}
.kb-annc-close:hover { background: #fff; transform: rotate(90deg); }
.kb-annc-img { width: 100%; max-height: 240px; overflow: hidden; }
.kb-annc-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.kb-annc-body { padding: 28px 26px 24px; text-align: center; }
.kb-annc-badge {
    display: inline-flex; align-items: center; gap: 6px;
    font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .5px;
    color: var(--mt-theme-1, #17AF26); background: #eaf7e9;
    padding: 6px 14px; border-radius: 20px; margin-bottom: 14px;
}
.kb-annc-body h4 { font-size: 22px; line-height: 1.25; color: var(--mt-common-dark, #060121); margin-bottom: 12px; }
.kb-annc-text { margin-bottom: 22px; }
.kb-annc-text p { font-size: 15px; line-height: 1.65; color: var(--mt-text-body, #646373); margin-bottom: 8px; }
.kb-annc-text p:last-child { margin-bottom: 0; }
.kb-annc-actions { display: flex; flex-direction: column; gap: 10px; align-items: center; }
.kb-annc-actions .kb-annc-cta { width: 100%; justify-content: center; }
.kb-annc-dismiss {
    width: 100%; padding: 11px 18px; border: 1px solid #e2e7e0; border-radius: 8px;
    background: #f6f8f5; color: #4c5a48; font-size: 15px; font-weight: 600; cursor: pointer;
    transition: background .2s, border-color .2s;
}
.kb-annc-dismiss:hover { background: #eef2ec; border-color: #d3dccf; }
.kb-annc-dontshow {
    display: inline-flex; align-items: center; gap: 7px; margin-top: 16px;
    font-size: 13px; color: #9aa197; cursor: pointer; -webkit-user-select: none; user-select: none;
}
.kb-annc-dontshow input { accent-color: var(--mt-theme-1, #17AF26); cursor: pointer; }
@media (max-width: 575.98px) {
    .kb-annc-body { padding: 24px 20px 20px; }
    .kb-annc-body h4 { font-size: 19px; }
}

/* Hero slider — okunabilirlik + düzgün boyut */
.mthero__banner {
    position: relative;
    min-height: 440px;
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat;
    border-radius: 16px;
    overflow: hidden;
    display: flex;
    align-items: center;
    padding: 40px 0;
}
.mthero__banner::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(18,40,12,.78) 0%, rgba(18,40,12,.55) 42%, rgba(18,40,12,.08) 100%);
    z-index: 1;
}
.mthero__banner > .row,
.mthero__content { position: relative; z-index: 2; }
.mthero__content { padding-left: 20px; }
.mthero__subtitle span { color: #7bc043 !important; font-weight: 600; }
.mthero__title { color: #fff !important; font-size: clamp(1.9rem, 4vw, 3.1rem); line-height: 1.15; text-shadow: 0 2px 14px rgba(0,0,0,.35); }
.mthero__banner p { color: rgba(255,255,255,.92) !important; max-width: 460px; }
.mthero-pagination { margin-top: 18px; }
@media (max-width: 767.98px) {
    .mthero__banner { min-height: 340px; padding: 28px 0; }
    .mthero__content { padding-left: 8px; }
}
