/* ==========================================================================
   Gebze Belediyesi Mezarlık Bilgi Sistemi — Able Pro üstüne özel stiller
   ========================================================================== */

:root {
  /* gebze.bel.tr paleti: lacivert ana renk, mavi vurgu, açık gri zemin */
  --mbs-koyu: #003366;
  --mbs-koyu-2: #0b4a8b;
  --mbs-vurgu: #0d6efd;
  --mbs-yesil: #2e7d6b;
  --mbs-zemin: #f8f9fa;
  --mbs-font: 'Poppins', 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;
}

/* ---------- Yazı tipi ve birincil renk (gebze.bel.tr ile uyum) ---------- */
.mbs-body, .mbs-body h1, .mbs-body h2, .mbs-body h3, .mbs-body h4, .mbs-body h5, .mbs-body h6,
.mbs-body .btn, .mbs-body .form-control, .mbs-body .form-select, .mbs-body .badge { font-family: var(--mbs-font); }
.landing-page .btn-primary {
  --bs-btn-bg: var(--mbs-koyu); --bs-btn-border-color: var(--mbs-koyu);
  --bs-btn-hover-bg: var(--mbs-koyu-2); --bs-btn-hover-border-color: var(--mbs-koyu-2);
  --bs-btn-active-bg: var(--mbs-koyu-2); --bs-btn-active-border-color: var(--mbs-koyu-2);
  --bs-btn-disabled-bg: #6b86a6; --bs-btn-disabled-border-color: #6b86a6;
}
.landing-page .btn-light-primary { background: #e7effa; color: var(--mbs-koyu); border-color: #e7effa; }
.landing-page .btn-light-primary:hover, .landing-page .btn-light-primary:focus { background: var(--mbs-koyu); color: #fff; border-color: var(--mbs-koyu); }
.landing-page .text-primary { color: var(--mbs-koyu) !important; }
.landing-page .bg-light-primary { background: #e7effa !important; color: var(--mbs-koyu); }
.landing-page .badge.bg-primary { background: var(--mbs-koyu) !important; }
.landing-page .page-item.active .page-link { background: var(--mbs-koyu); border-color: var(--mbs-koyu); }
.landing-page .page-link { color: var(--mbs-koyu); }
.landing-page .form-control:focus, .landing-page .form-select:focus { border-color: var(--mbs-koyu-2); box-shadow: 0 0 0 3px rgba(0, 51, 102, 0.12); }
.landing-page .btn { border-radius: 999px; }               /* gebze.bel.tr: pill butonlar */
.landing-page .btn-sm { padding-left: 14px; padding-right: 14px; }
.landing-page .badge { border-radius: 999px; }
.landing-page .breadcrumb-item a { color: var(--mbs-koyu-2); }
.mbs-hizmet-link { color: var(--mbs-vurgu); }

.mbs-body { background: var(--mbs-zemin); display: flex; flex-direction: column; min-height: 100vh; }
.mbs-main { flex: 1 0 auto; }
.min-w-0 { min-width: 0; }
.f-11 { font-size: 11px; }
.f-12 { font-size: 12px; }
.f-13 { font-size: 13px; }

/* ---------- Header ---------- */
.landing-page header.mbs-header {
  background: radial-gradient(1100px 480px at 15% -10%, rgba(13, 110, 253, 0.35), transparent 60%),
              radial-gradient(900px 400px at 90% 0%, rgba(255, 255, 255, 0.08), transparent 60%),
              linear-gradient(135deg, var(--mbs-koyu) 0%, var(--mbs-koyu-2) 100%);
  color: #fff;
  padding: 0;
  margin: 0;
  min-height: 0;
  height: auto;
  position: relative;
  overflow: hidden;
}
/* Afiş arka planı: fotoğraf (ve isteğe bağlı video) + lacivert yarı saydam katman; yazılar okunur kalır */
.mbs-hero-bg { position: absolute; inset: 0; z-index: 0; overflow: hidden; pointer-events: none; }
.mbs-hero-bg picture, .mbs-hero-bg img, .mbs-hero-bg video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.mbs-hero-img { animation: mbs-hero-zoom 36s ease-in-out infinite alternate; will-change: transform; }
.mbs-hero-video { opacity: 0; transition: opacity 1.2s ease; z-index: 1; }
.mbs-hero-video-hazir { opacity: 1; }
.mbs-hero-bg::after {
  content: ''; position: absolute; inset: 0; z-index: 2;
  background: linear-gradient(180deg, rgba(0, 51, 102, 0.84) 0%, rgba(0, 51, 102, 0.62) 45%, rgba(0, 41, 82, 0.84) 100%);
}
@keyframes mbs-hero-zoom { from { transform: scale(1); } to { transform: scale(1.08); } }
@media (prefers-reduced-motion: reduce) { .mbs-hero-img { animation: none; } }
.landing-page header.mbs-header .container { position: relative; z-index: 1; }
.landing-page header.mbs-header-slim { padding-bottom: 0; }

.landing-page .navbar.default { background: transparent; box-shadow: none; padding: 14px 0; position: relative; }
.landing-page .navbar.default .navbar-toggler { border-color: rgba(255,255,255,0.4); }
.landing-page .navbar.default .navbar-toggler-icon { filter: invert(1); }

.mbs-brand { display: flex; align-items: center; gap: 10px; color: #fff !important; text-decoration: none; }
.mbs-brand-icon {
  width: 44px; height: 44px; border-radius: 12px; display: inline-flex; align-items: center; justify-content: center;
  background: rgba(255,255,255,0.14); border: 1px solid rgba(255,255,255,0.25); font-size: 24px; color: #fff; flex-shrink: 0;
}
.mbs-brand-icon-sm { width: 36px; height: 36px; font-size: 20px; background: var(--mbs-koyu); border-color: var(--mbs-koyu); }
.mbs-brand-text { display: flex; flex-direction: column; line-height: 1.15; }
.mbs-brand-kurum { font-weight: 700; font-size: 15px; letter-spacing: 0.2px; }
.mbs-brand-sistem { font-size: 12px; opacity: 0.85; }
/* Resmi logo (lacivert yazılı) koyu üst bilgide beyaz rozet içinde gösterilir */
.mbs-brand-logo {
  display: inline-flex; align-items: center; background: #fff; border-radius: 10px;
  padding: 6px 12px; height: 46px; box-shadow: 0 4px 14px rgba(0,0,0,0.18); flex-shrink: 0;
}
.mbs-brand-logo img { height: 100%; width: auto; display: block; }
.mbs-brand .mbs-brand-sistem { font-size: 13px; font-weight: 600; opacity: 0.95; padding-left: 12px; border-left: 1px solid rgba(255,255,255,0.35); }
@media (max-width: 575.98px) {
  .mbs-brand-logo { height: 40px; padding: 5px 8px; }
  .mbs-brand .mbs-brand-sistem { display: none; }
}
.mbs-footer-logo { height: 44px; width: auto; }

.mbs-nav .nav-link { color: rgba(255,255,255,0.88) !important; font-weight: 500; font-size: 13.5px; text-transform: uppercase; letter-spacing: .2px; padding: 8px 12px; border-radius: 999px; display: inline-flex; align-items: center; gap: 6px; }
.mbs-nav .nav-link:hover, .mbs-nav .nav-link.active { color: #fff !important; background: rgba(255,255,255,0.12); }
.mbs-nav .nav-link i { font-size: 16px; }
.mbs-nav-btn { display: inline-flex; align-items: center; gap: 6px; background: rgba(255,255,255,0.92) !important; border-color: transparent !important; color: var(--mbs-koyu) !important; }
@media (max-width: 767.98px) {
  .landing-page .navbar-collapse { background: rgba(0, 41, 82, 0.97); border-radius: 12px; padding: 8px; margin-top: 10px; box-shadow: 0 12px 30px rgba(0,0,0,0.25); }
  .mbs-nav { align-items: stretch !important; text-align: left; }
  .mbs-nav .nav-item { width: 100%; }
  .mbs-nav .nav-link { display: flex; padding: 11px 14px; font-size: 14px; border-radius: 10px; }
  .mbs-nav .nav-item.ms-md-2 { margin-top: 6px; padding-top: 8px; border-top: 1px solid rgba(255,255,255,0.12); }
  .mbs-nav-btn { width: 100%; padding: 10px 12px; font-size: 14px; }
}

/* ---------- Hero ---------- */
.mbs-hero { padding-top: 36px; padding-bottom: 72px; } /* yatay padding container'dan gelir; kısayolla ezme */
.landing-page header .mbs-hero-title { color: #fff; font-size: clamp(28px, 4.2vw, 46px); font-weight: 700; margin-bottom: 14px; line-height: 1.2; }
.landing-page header .mbs-hero-title .hero-text-gradient { background: linear-gradient(90deg, #8ec5ff, #cfe4ff); -webkit-background-clip: text; background-clip: text; color: transparent; }
.mbs-hero-sub { color: rgba(255,255,255,0.8); font-size: 16px; max-width: 640px; margin: 0 auto 26px; }
.mbs-hero-form { max-width: 760px; margin: 0 auto; }
.mbs-hero-form-row {
  display: flex; gap: 8px; background: #fff; padding: 8px; border-radius: 999px;
  box-shadow: 0 20px 50px rgba(0, 20, 50, 0.35);
}
.mbs-hero-input { flex: 1 1 0; position: relative; }
.mbs-hero-input i { position: absolute; left: 14px; top: 50%; transform: translateY(-50%); color: #8996a8; font-size: 18px; }
.mbs-hero-input .form-control { height: 52px; padding-left: 42px; border: 1px solid transparent; background: #f1f4f8; font-size: 15px; border-radius: 999px; }
.mbs-hero-input .form-control:focus { background: #fff; border-color: var(--mbs-koyu-2); box-shadow: none; }
.mbs-hero-btn { height: 52px; padding: 0 28px; border-radius: 999px; font-size: 15px; font-weight: 600; white-space: nowrap; display: inline-flex; align-items: center; gap: 6px; }
.mbs-hero-hint { margin-top: 12px; font-size: 12.5px; color: rgba(255,255,255,0.75); }
.mbs-hero-hint a { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 575.98px) {
  .mbs-hero { padding-top: 14px; padding-bottom: 52px; }
    .mbs-hero-sub { font-size: 14.5px; margin-bottom: 20px; }
  .mbs-hero-form-row { flex-direction: column; border-radius: 22px; }
  .mbs-hero-input .form-control { height: 50px; }
  .mbs-hero-btn { width: 100%; justify-content: center; height: 50px; }
  .mbs-hero-hint { font-size: 12px; line-height: 1.5; }
}

/* ---------- Sections ---------- */
.landing-page section.mbs-section { padding: 36px 0; background: transparent; }
.landing-page section.mbs-section-cards { margin-top: -44px; padding-top: 0; }
.landing-page section.mbs-section-taziye { padding-bottom: 60px; }

.mbs-hizmet-card { text-decoration: none; color: inherit; border: 1px solid #e4e9f0; transition: transform .18s ease, box-shadow .18s ease; box-shadow: 0 4px 16px rgba(15,42,67,0.06); margin-bottom: 0; }
.mbs-hizmet-card:hover { transform: translateY(-3px); box-shadow: 0 14px 30px rgba(15,42,67,0.12); color: inherit; }
.mbs-hizmet-icon { width: 56px; height: 56px; border-radius: 14px; display: inline-flex; align-items: center; justify-content: center; font-size: 28px; margin-bottom: 14px; }
.mbs-hizmet-card h4 { font-size: 18px; margin-bottom: 6px; }
.mbs-hizmet-link { font-weight: 600; color: var(--mbs-vurgu); display: inline-flex; align-items: center; gap: 4px; }
@media (max-width: 767.98px) {
  .landing-page section.mbs-section { padding: 22px 0; }
  .landing-page section.mbs-section-cards { margin-top: -36px; }
  .mbs-section-cards .row { --bs-gutter-y: 12px; }
  .mbs-hizmet-card .card-body { display: flex; gap: 14px; align-items: flex-start; padding: 16px; }
  .mbs-hizmet-icon { width: 46px; height: 46px; font-size: 24px; margin-bottom: 0; border-radius: 12px; flex-shrink: 0; }
  .mbs-hizmet-metin { min-width: 0; }
  .mbs-hizmet-card h4 { font-size: 16px; margin-bottom: 3px; }
  .mbs-hizmet-card p { font-size: 13px; margin-bottom: 6px !important; }
  .mbs-hizmet-link { font-size: 13px; }
}

.mbs-mezarlik-liste { display: flex; flex-direction: column; gap: 8px; }
.mbs-mezarlik-satir { display: flex; align-items: center; gap: 12px; padding: 10px 12px; border: 1px solid #e4e9f0; border-radius: 12px; background: #fbfcfe; transition: background .15s, border-color .15s; }
.mbs-mezarlik-satir:hover { background: #f3f7fc; border-color: #d6e0ec; }
.mbs-mezarlik-satir .fw-semibold { color: var(--mbs-koyu); }
.mbs-mezarlik-ikon { width: 40px; height: 40px; border-radius: 10px; background: #e7f3ef; color: var(--mbs-yesil); display: inline-flex; align-items: center; justify-content: center; font-size: 22px; flex-shrink: 0; }
.mbs-mezarlik-eylem { display: flex; gap: 6px; flex-shrink: 0; }
.mbs-mezarlik-eylem .btn { padding: 5px 12px; font-size: 12.5px; }
@media (max-width: 575.98px) {
  .mbs-mezarlik-satir { flex-wrap: wrap; }
  .mbs-mezarlik-eylem { width: 100%; padding-left: 52px; }
  .mbs-mezarlik-eylem .btn { flex: 1; }
}
.mbs-chip { font-weight: 500; padding: 6px 10px; border-radius: 999px; text-decoration: none; }
.mbs-chip:hover { filter: brightness(0.96); }

.mbs-vefat-item { padding: 10px 16px; }
.mbs-date-badge { width: 46px; height: 46px; border-radius: 10px; background: #fff4e5; color: #b26a00; display: flex; flex-direction: column; align-items: center; justify-content: center; line-height: 1; flex-shrink: 0; }
.mbs-date-badge span { font-weight: 700; font-size: 17px; }
.mbs-date-badge small { font-size: 10px; text-transform: uppercase; }

.mbs-taziye { background: #fff; border: 1px solid #e4e9f0; border-left: 4px solid var(--mbs-yesil); border-radius: 12px; padding: 18px 22px; display: flex; align-items: center; gap: 16px; }
.mbs-taziye > i { font-size: 34px; color: var(--mbs-yesil); }
.mbs-taziye-text { font-size: 16px; font-weight: 500; color: var(--mbs-koyu); }

/* ---------- İç sayfalar ---------- */
.mbs-page { padding-top: 28px; padding-bottom: 56px; }
.mbs-page-head { margin-bottom: 18px; }
.mbs-page-head .breadcrumb { font-size: 12px; }
.mbs-page-head h2 { font-weight: 700; color: var(--mbs-koyu); }

.mbs-arama-card { border: 1px solid #e4e9f0; box-shadow: 0 6px 20px rgba(15,42,67,0.06); }
.mbs-input-icon { position: relative; }
.mbs-input-icon > i { position: absolute; left: 12px; top: 50%; transform: translateY(-50%); color: #8996a8; font-size: 16px; pointer-events: none; }
.mbs-input-icon .form-control { padding-left: 36px; }

.mbs-sonuc-card { border: 1px solid #e4e9f0; }
.mbs-sonuc-tablo thead th { background: #f7f9fc; font-size: 12px; text-transform: uppercase; letter-spacing: .3px; color: #6c7a8f; }
.mbs-sonuc-satir { cursor: pointer; }
.mbs-ikonlar { display: inline-flex; gap: 8px; font-size: 17px; }
.mbs-legend { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 10px; }
.mbs-legend i { font-size: 15px; vertical-align: -2px; }
.mbs-sonuc-item { padding: 12px 16px; }
.mbs-sonuc-item .fw-semibold { color: var(--mbs-koyu); }
.mbs-sonuc-item .mbs-ikonlar { font-size: 15px; gap: 5px; flex-shrink: 0; }
.mbs-sonuc-meta { display: flex; flex-wrap: wrap; gap: 4px 12px; font-size: 12.5px; color: #55637a; margin-top: 4px; }
.mbs-sonuc-meta i { font-size: 13px; vertical-align: -2px; color: #8996a8; }
@media (max-width: 575.98px) {
  .mbs-arama-actions { width: 100%; }
  .mbs-arama-actions .btn { flex: 1; }
  .mbs-gun-nav .btn { padding-left: 8px; padding-right: 8px; }
}

.mbs-ipucu { background: #fff; border: 1px solid #e4e9f0; border-radius: 12px; padding: 14px 16px; display: flex; gap: 12px; font-size: 13px; color: #55637a; height: 100%; }
.mbs-ipucu i { font-size: 22px; color: #4680ff; flex-shrink: 0; }
.mbs-ipucu b { color: var(--mbs-koyu); }

.mbs-empty-icon { width: 80px; height: 80px; border-radius: 50%; background: #f0f3f8; display: inline-flex; align-items: center; justify-content: center; font-size: 40px; color: #8996a8; }

/* ---------- Detay ---------- */
.mbs-kisi-card { border: 1px solid #e4e9f0; }
.mbs-kisi-avatar { width: 56px; height: 56px; border-radius: 14px; background: #eef3fb; color: var(--mbs-koyu-2); display: inline-flex; align-items: center; justify-content: center; font-size: 30px; flex-shrink: 0; }
.mbs-kisi-avatar-sm { width: 44px; height: 44px; font-size: 24px; border-radius: 12px; }
.mbs-alan-l { font-size: 11.5px; text-transform: uppercase; letter-spacing: .3px; color: #8996a8; }
.mbs-alan-v { font-weight: 600; color: var(--mbs-koyu); }
.mbs-kisi-alanlar .mbs-alan-v { font-size: 14px; }

.mbs-detay-harita { height: 300px; }
.mbs-konum-card .leaflet-container { font: inherit; }
.mbs-foto-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 10px; }
.mbs-foto { display: block; aspect-ratio: 3 / 4; border-radius: 10px; overflow: hidden; background: #eef1f5; border: 1px solid #e4e9f0; }
.mbs-foto img { width: 100%; height: 100%; object-fit: cover; transition: transform .2s; }
.mbs-foto:hover img { transform: scale(1.04); }
.mbs-foto-buyuk { max-width: 100%; max-height: 88vh; object-fit: contain; }
.mbs-qr { width: 96px; height: 96px; flex-shrink: 0; }
.mbs-qr img, .mbs-qr canvas { width: 96px !important; height: 96px !important; }
.mbs-not { background: #fff; border: 1px dashed #d8dfe8; border-radius: 10px; padding: 10px 12px; }

/* ---------- Vefat ilanları ---------- */
.mbs-ilan-card { border: 1px solid #e4e9f0; }
.mbs-ilan-alanlar { display: grid; grid-template-columns: auto 1fr; column-gap: 12px; row-gap: 4px; font-size: 13px; }
.mbs-ilan-alanlar dt { color: #8996a8; font-weight: 500; }
.mbs-ilan-alanlar dd { margin: 0; font-weight: 600; color: var(--mbs-koyu); }

/* ---------- Harita sayfası ---------- */
/* Tam ekran harita: body 100vh, footer gizli, harita kalan alanı doldurur (sayfa kaydırmaz) */
.mbs-harita-body { height: 100vh; min-height: 0; overflow: hidden; }
.mbs-harita-body .mbs-main { flex: 1 1 auto; min-height: 0; display: flex; flex-direction: column; }
.mbs-harita-body .mbs-footer { display: none; }
.mbs-harita-sayfa { position: relative; padding: 0; flex: 1 1 auto; min-height: 0; display: flex; flex-direction: column; }
.mbs-harita { flex: 1 1 auto; min-height: 0; width: 100%; }
.leaflet-container a.btn { color: var(--bs-btn-color); }   /* leaflet.css'in "a" rengi buton yazısını ezmesin */
/* landing.css tüm section'lara büyük padding veriyor; Leaflet katman listesi de bir <section> */
.landing-page section.leaflet-control-layers-list { padding: 0; margin: 0; background: transparent; }
.leaflet-control-layers-expanded { padding: 8px 12px 8px 8px; border-radius: 10px; }
.leaflet-control-layers label { display: flex; align-items: center; gap: 6px; font-size: 13px; padding: 3px 2px; cursor: pointer; margin: 0; }
.leaflet-control-layers label > span { display: inline-flex; align-items: center; gap: 6px; }
.leaflet-control-layers-selector { margin: 0; accent-color: #df5a14; }
.mbs-harita .leaflet-bottom.leaflet-right .leaflet-control-zoom { margin-bottom: 10px; margin-right: 12px; }
.mbs-atif-logo { height: 10px; width: auto; vertical-align: -1px; margin-right: 3px; }
.leaflet-control-attribution a:has(.mbs-atif-logo) { display: inline-block; line-height: 1; }
.leaflet-container .leaflet-control-attribution { font: 500 11px/1.4 inherit; font-family: inherit; color: #55637a; background: rgba(255,255,255,0.85); padding: 3px 8px; border-radius: 6px 0 0 0; }
.mbs-harita-panel { position: absolute; z-index: 800; top: 16px; left: 16px; width: 320px; max-width: calc(100% - 32px); }
.mbs-harita-panel .card { box-shadow: 0 10px 30px rgba(15,42,67,0.18); }
.mbs-harita-liste { max-height: 240px; overflow: auto; border: 1px solid #e4e9f0; border-radius: 8px; }
.mbs-harita-liste:empty { display: none; }
.mbs-popup { min-width: 170px; }
.mbs-kume { background: transparent; border: 0; }
.mbs-kume > div {
  width: 100%; height: 100%; border-radius: 50%; display: flex; align-items: center; justify-content: center;
  font-weight: 700; font-size: 12px; color: #fff; cursor: pointer; letter-spacing: -0.2px;
  background: rgba(46,125,107,0.9); border: 3px solid rgba(255,255,255,0.9); box-shadow: 0 4px 14px rgba(0,0,0,0.35);
  transition: transform .12s ease;
}
.mbs-kume > div:hover { transform: scale(1.08); }
.mbs-kume-orta > div { background: rgba(27,73,101,0.92); font-size: 13px; }
.mbs-kume-buyuk > div { background: rgba(15,42,67,0.94); font-size: 13px; }
.leaflet-popup-content { margin: 12px 14px; font: inherit; }
@media (max-width: 767.98px) {
  .mbs-harita-panel { position: static; width: 100%; max-width: none; }
  .mbs-harita-panel .card { border-radius: 0; border-left: 0; border-right: 0; box-shadow: none; }
  .mbs-harita-panel .card-body { padding: 12px 16px; }
  .mbs-harita-panel h5 { font-size: 15px; margin-bottom: 8px !important; }
  .mbs-harita-panel p { display: none; }
  .mbs-harita-liste { max-height: 160px; }
}

/* ---------- Footer (gebze.bel.tr tarzı lacivert) ---------- */
.landing-page footer.mbs-footer { background: var(--mbs-koyu); color: rgba(255,255,255,0.82); padding: 44px 0 0; margin: 0; }
.mbs-footer .mbs-brand-logo { height: 44px; }
.mbs-footer-sistem { color: #fff; font-weight: 600; font-size: 14px; padding-left: 12px; border-left: 1px solid rgba(255,255,255,0.3); }
.mbs-footer-aciklama { font-size: 13px; line-height: 1.7; color: rgba(255,255,255,0.75); }
.mbs-footer-baslik { color: #fff; font-weight: 600; font-size: 16px; margin-bottom: 16px; position: relative; padding-bottom: 8px; }
.mbs-footer-baslik::after { content: ''; position: absolute; left: 0; bottom: 0; width: 40px; height: 2px; background: var(--mbs-vurgu); border-radius: 2px; }
.mbs-footer-links li { margin-bottom: 10px; font-size: 13.5px; display: flex; align-items: flex-start; gap: 8px; overflow-wrap: anywhere; }
.mbs-footer-links li i { flex-shrink: 0; margin-top: 3px; color: rgba(255,255,255,0.7); }
.mbs-footer-links a { color: rgba(255,255,255,0.85); text-decoration: none; display: inline-flex; align-items: flex-start; gap: 8px; }
.mbs-footer-links a:hover { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
.mbs-footer-bottom { border-top: 1px solid rgba(255,255,255,0.14); margin-top: 32px; padding: 16px 0; text-align: center; font-size: 12.5px; color: rgba(255,255,255,0.7); }

/* ---------- Tema düzeltmeleri ---------- */
.landing-page .card { margin-bottom: 20px; }
.landing-page .card-header { padding: 14px 20px; }
.landing-page .card-header h5 { font-weight: 600; }
.landing-page .form-label { font-weight: 500; font-size: 13px; }
.landing-page .btn { display: inline-flex; align-items: center; gap: 6px; justify-content: center; }
.landing-page .badge { display: inline-flex; align-items: center; gap: 4px; }
.landing-page .breadcrumb-item + .breadcrumb-item::before { content: '›'; }
.landing-page .table td, .landing-page .table th { padding: 12px 16px; }
.landing-page .list-group-item { padding: 12px 20px; }

/* ---------- İkon hizalama ----------
   Tabler (.ti) ikonları metin içinde baseline'a oturup yukarı kayıyordu; metin içinde düzeltir,
   flex kapsayıcılarda (buton, menü) etkisizdir. */
.ti { display: inline-block; vertical-align: -0.125em; line-height: 1; }
.btn .ti, .nav-link .ti, .badge .ti { vertical-align: 0; }

/* Phosphor duotone ikonları iki katmandır (::before soluk, ::after tam). Kütüphane ikinci katmanı
   "margin-left:-1em" ile ilkinin üstüne bindirir; glyph genişliği tam 1em değilse (Samsung Internet
   font metrikleri, yazı büyütme) katmanlar ayrılıp "gölgeli/kaymış" görünür. Katmanları aynı 1em
   kutuya mutlak konumla sabitleyince genişlikten bağımsız üst üste otururlar. */
.ph-duotone { position: relative; display: inline-block; width: 1em; height: 1em; line-height: 1; vertical-align: -0.125em; }
.ph-duotone::before, .ph-duotone::after {
  position: absolute; left: 0; top: 0; width: 1em; height: 1em; line-height: 1; display: block; text-align: center;
  margin: 0 !important;
}
.btn .ph-duotone, .badge .ph-duotone { vertical-align: 0; }
.mbs-footer-links a, .mbs-footer-links li { overflow-wrap: anywhere; }

/* ---------- Mobil genel ---------- */
@media (max-width: 575.98px) {
  /* Sayfa kenarlarında 16px nefes payı (Bootstrap varsayılanı 12px) */
  .landing-page .container { padding-left: 16px; padding-right: 16px; }
}
@media (max-width: 767.98px) {
  /* iOS'ta odaklanınca otomatik yakınlaştırmayı önler */
  .landing-page .form-control, .landing-page .form-select { font-size: 16px; }
}
@media (max-width: 575.98px) {
  .mbs-page { padding-top: 18px; padding-bottom: 40px; }
  .mbs-page-head { margin-bottom: 14px; }
  .mbs-page-head h2 { font-size: 22px; overflow-wrap: anywhere; }
  .landing-page .card { margin-bottom: 16px; }
  .landing-page .card-header { padding: 12px 16px; }
  .landing-page .card-body { padding: 16px; }
  .landing-page .card-footer { padding: 12px 16px; }
  .landing-page .list-group-item { padding: 12px 16px; }
  .mbs-taziye { padding: 14px 16px; gap: 12px; }
  .mbs-taziye > i { font-size: 28px; }
  .mbs-taziye-text { font-size: 14.5px; }
  .mbs-detay-harita { height: 240px; }
  .landing-page footer.mbs-footer { padding-top: 32px; }
  .mbs-footer-bottom { margin-top: 24px; }
  .mbs-legend { gap: 6px 14px; }
}
