/* İhaleGlobal — mobil/tablet düzeltme katmanı (sayfa stillerinden sonra yüklenir) */

@media (max-width: 900px) {
  html {
    max-width: 100%;
  }

  body {
    max-width: 100%;
    overflow-x: hidden;
    overflow-x: clip; /* sticky öğeleri bozmaz */
  }

  img,
  video,
  canvas,
  iframe {
    max-width: 100%;
    height: auto;
  }

  svg {
    max-width: 100%;
  }

  /* Yatay kaydırma: tablo genişliği viewport'u aşmasın */
  table {
    display: block;
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

input,
  select,
  textarea {
    max-width: 100%;
    box-sizing: border-box;
    min-height: 40px;
    font-size: 16px;
  }

  button,
  .btn,
  a.btn,
  [role="button"] {
    min-height: 40px;
  }

  pre,
  code,
  pre.code {
    white-space: pre-wrap;
    overflow-wrap: anywhere;
    max-width: 100%;
  }

  /* Sekme çubukları — yatay kaydırma */
  .tab-bar,
  .harita-sekmeler {
    display: flex;
    overflow-x: auto;
    flex-wrap: nowrap;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  .tab-bar::-webkit-scrollbar,
  .harita-sekmeler::-webkit-scrollbar {
    display: none;
  }

  .tab-btn,
  .harita-sekme {
    flex: 0 0 auto;
    white-space: nowrap;
  }

.main,
  .app {
    min-width: 0;
  }

  .sort-select,
  .filter-select,
  .filter-input {
    max-width: 100%;
  }

  .kpis,
  .kpis.six {
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  }
}

@media (max-width: 480px) {
  .gelismis-panel {
    flex-direction: column;
    align-items: stretch;
  }

  .gelismis-panel .filter-group {
    width: 100%;
  }
}

@media (min-width: 601px) and (max-width: 1024px) {
  /* Tablet: KPI/stat kartları düzensiz 3+2+2 yerine esnek grid */
  .kpi-grid,
  .kpis,
  .kpis.six,
  .v1-kpi,
  #gunluk-strip {
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) !important;
  }

  .page-body,
  .v1-govde {
    padding: 20px;
  }
}

@media (max-width: 900px) {
  .topbar input,
  .topbar-search input {
    min-height: 0;
  }
}

/* ihaleler.html filtre barı: mobilde 2 kolon + 'daha fazla filtre' açılır (varsayılan kapalı) */
.mobil-filtre-btn { display: none; }
@media (max-width: 900px) {
  .mobil-filtre-btn {
    display: block; width: 100%; margin: 0 0 10px; padding: 10px 14px; text-align: left;
    background: var(--navy-mid, #fff); color: inherit; border: 1px solid var(--border, #d8dee9);
    border-radius: 10px; font: inherit; font-weight: 600; cursor: pointer;
  }
  .filter-bar { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; padding: 14px; }
  .filter-bar .filter-group { min-width: 0; width: auto; }
  .filter-bar .filter-group:first-child { grid-column: 1 / -1; }
  .filter-bar .filter-input, .filter-bar .filter-select { width: 100% !important; }
  .filter-bar > :not(.filter-group) { grid-column: 1 / -1; }
  .filter-bar.mobil-kapali > .filter-group:not(:first-child) { display: none; }
}

/* ihaleler.html sonuç çubuğu: sayaç + araçlar mobilde alt alta, tam genişlik */
@media (max-width: 900px) {
  .result-info { flex-direction: column; align-items: stretch !important; gap: 10px; }
  .result-info > div { width: 100%; min-width: 0; }
  .result-info > div[style*="flex"] > * { flex: 1 1 calc(50% - 8px); min-width: 0; }
  .result-info input, .result-info select { width: 100% !important; }
}

/* Üst çubuk (dashboard ve benzeri): mobilde tek satır — menü + arama + zil + Pro */
@media (max-width: 860px) {
  .topbar { padding: 8px 12px; gap: 8px; flex-wrap: nowrap !important; }
  .topbar .topbar-search { flex: 1 1 0; min-width: 0; max-width: none; padding: 4px 8px; gap: 4px; overflow: hidden; }
  .topbar .topbar-search input { min-width: 0; width: 100%; text-overflow: ellipsis; }
  .topbar .topbar-search .ara-ikon { display: none; }
  .topbar .arama-kapsam { max-width: 64px; padding-right: 4px; margin-right: 2px; }
  .topbar .topbar-actions { flex: 0 0 auto; gap: 6px; }
  .topbar .topbar-actions .icon-btn { width: 36px; height: 36px; }
}
@media (max-width: 560px) {
  #gunluk-strip > :last-child:nth-child(odd),
  .kpi-grid > :last-child:nth-child(odd) { grid-column: 1 / -1; }
}

/* ═══ v2 (13 Eki 2026) — 375/768px derin tarama bulguları: dokunma hedefi, küçük yazı, giriş yazı boyutu, dolgu ═══ */
@media (max-width: 900px) {
  /* Giriş alanları: 16px altı iOS'ta sayfayı yakınlaştırır (sınıflı kurallar ezdiği için !important) */
  input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="hidden"]):not([type="file"]),
  select, textarea { font-size: 16px !important; }

  /* Dokunma hedefleri ≥44px: düğme benzeri her şey */
  button, [role="button"], [class*="btn"], [class*="sekme"], [class*="chip"], [class*="toggle"],
  .page-btn, .hz-btn, .back-btn, .action-btn, .v1-gor-btn, .v1-geri {
    min-height: 44px; min-width: 44px; box-sizing: border-box;
  }
  :where(button, [role="button"], [class*="btn"]) { display: inline-flex; align-items: center; justify-content: center; }
  .nav-cta .btn { min-width: 0; }
  /* Menü/alt bilgi/liste bağlantıları: satır yüksekliği dokunmaya uygun */
  footer a, .footer a, nav a, .sidebar a, .kmenu a, .kenar a, .menu a, .breadcrumb a,
  a.logo, a.kart-baslik, a.v1-t-ad, a.compat-bar { display: inline-flex; align-items: center; min-height: 44px; }
  footer li, .footer li { margin: 0; }

  /* Küçük yazılar ≥12px (okunabilirlik): 10–11.5px kullanan sınıf aileleri */
  /* font-size burada zorlanmaz: 12px altı yalnız js/mobil.js ile yükseltilir (14px label vb. küçülmesin) */
  [class*="eyebrow"], [class*="etiket"] { letter-spacing: .04em; }
}

/* Misafir/üye nav öğeleri: [class*="btn"] display kuralı .nav-uye{display:none} ile çakışmasın */
html:not([data-auth="uye"]) .nav-uye { display: none; }
html[data-auth="uye"] .nav-misafir { display: none; }

@media (max-width: 480px) {
  /* Aşırı iç boşluk: dar ekranda içerik alanını yer */
  .page-body, .feature-card, .kia-answer, .hm-card, .plan-kart, .fp-kart, .giris-uyari {
    padding-left: 16px !important; padding-right: 16px !important;
  }
  nav { padding-left: 14px; padding-right: 14px; }
  a.btn, .btn { padding-left: 18px; padding-right: 18px; }
  .nav-inner { gap: 8px; }
  .logo { font-size: 16px; }
  .nav-cta .btn { white-space: nowrap; padding: 8px 12px; font-size: 12.5px; }
  /* firma-analiz: 6 kolonluk satır dar ekranda 2 kolona iner, başlık satırı gizlenir */
  .dz-head { display: none !important; }
  .dz-row { grid-template-columns: 1fr 1fr !important; row-gap: 6px; }
  .dz-row > :first-child { grid-column: 1 / -1; }
  .v1-kpi { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* v3: v2'nin yan etkileri + tablo/kart içi bağlantı hedefleri */
@media (max-width: 900px) {
  #hamburger { min-width: 40px; padding-left: 6px; padding-right: 6px; }
  .nav-cta { min-width: 0; padding-left: 12px; padding-right: 12px; }
  td a, th a, .table-header a, [class*="kart"] a, [class*="card"] a, [class*="cell"] a {
    display: inline-block; padding-top: 8px; padding-bottom: 8px;
  }
}

/* ═══ v4 (13 Eki 2026) — elle tarama: sıkışan sütunlar, v1 üst çubuğu, kart yerleşimleri ═══ */
@media (max-width: 900px) {
  /* Üst menü düğmeleri tek satır kalsın (v2'nin min-height'ı satırı bölüyordu) */
  nav a, nav button, header a, header button, .nav-cta { white-space: nowrap; }
  body > nav { padding-left: 14px !important; padding-right: 14px !important; }

  /* v1 üst çubuğu: 245px'lik 5 satır yerine → [☰ + arama] + kaydırılabilir araç şeridi */
  .v1-topbar { display: flex; flex-wrap: wrap; gap: 8px; padding: 8px 12px; align-items: center; }
  .v1-topbar .v1-hamburger { order: 1; flex: 0 0 auto; }
  .v1-topbar .v1-ara-kutu { order: 2; flex: 1 1 0; min-width: 0; }
  .v1-ara-kutu .v1-ara-kapsam { max-width: 96px; min-width: 0; }
  .v1-ara-kutu input { min-width: 0; width: 100%; }
  .v1-topbar .v1-top-sag {
    justify-content: flex-start;
    order: 3; flex: 0 0 100%; display: flex; flex-wrap: nowrap; align-items: center; gap: 8px;
    overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: none; padding: 0 0 2px;
  }
  .v1-topbar .v1-top-sag::-webkit-scrollbar { display: none; }
  .v1-top-sag > * { flex: 0 0 auto; }
  .v1-kirinti a { display: inline-flex; align-items: center; min-height: 44px; padding: 0 6px; }

  /* Esnek satırlar sarılsın: yan yana duran etiket/meta/buton grupları tek sütuna sıkışmasın */
  [class*="meta"], [class*="badges"], [class*="tarihler"], [class*="actions"], [class*="chips"],
  .kia-grup-head, .oz-grup-head, .info-banner, .v1-uyari, .footer-bottom, .talep-meta { flex-wrap: wrap; }
  .footer-bottom { flex-direction: column; align-items: flex-start; gap: 8px; }
  .lp-actions .btn, .cta-actions .btn { flex: 1 1 auto; min-width: 0; white-space: normal; }
  .chip, .sector-chips .chip { white-space: nowrap; }

  /* ihaleler.html kartı: sol bilgi kolonu sağdaki sütun yüzünden 42px'e sıkışıyordu → alt alta */
  .kart-ust { flex-direction: column; gap: 10px; }
  .kart-sag { flex-direction: row; flex-wrap: wrap; align-items: center; text-align: left; white-space: normal; gap: 8px; }

  /* Tablo satırı/liste bağlantıları dokunulabilir */
  tr[onclick] td { padding-top: 12px; padding-bottom: 12px; }
  td a, th a { display: inline-flex; align-items: center; min-height: 44px; padding-top: 0; padding-bottom: 0; }
  #top-kategoriler-list a, #son-ihaleler-list a, .v1-sayfalama a { display: flex; align-items: center; min-height: 44px; }
  .v1-sayfalama button { min-width: 44px; }
  li > a:only-child { display: inline-block; padding: 10px 0; }
  footer > a { padding-left: 8px; padding-right: 8px; }
}

/* v6 (16 Eki 2026): son tarama (97 sayfa, 375px) — liste/kart içi küçük bağlantılar için dokunma alanı */
@media (max-width: 900px) {
  .kart-idare a, .kart-kayitno a, .dt-idare a, .dz-ad a, .ihale-kurrum-cell a, .table-header a,
  .feature-card p a, .forgot a, .topbar-right a, .v1-kilit-kart a, .v1-govde > div > a, div > b > a {
    display: inline-block; padding: 8px 6px; min-width: 44px; box-sizing: border-box;
  }
  .v1-kirinti a { min-width: 44px; justify-content: center; }
  .ui-no { min-height: 44px; }
}

/* Erisilebilirlik (U17) */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible,
[tabindex]:not([tabindex="-1"]):focus-visible,
[role="button"]:focus-visible,
[role="tab"]:focus-visible {
  outline: 2px solid #135EAA !important;
  outline-offset: 2px !important;
}
:root:not([data-theme="light"]) a:focus-visible,
:root:not([data-theme="light"]) button:focus-visible,
:root:not([data-theme="light"]) input:focus-visible,
:root:not([data-theme="light"]) select:focus-visible,
:root:not([data-theme="light"]) textarea:focus-visible,
:root:not([data-theme="light"]) summary:focus-visible,
:root:not([data-theme="light"]) [tabindex]:not([tabindex="-1"]):focus-visible,
:root:not([data-theme="light"]) [role="button"]:focus-visible,
:root:not([data-theme="light"]) [role="tab"]:focus-visible {
  outline-color: #7CB6F0 !important;
}
.kmenu :focus-visible {
  outline-color: #7CB6F0 !important;
}
.atla {
  position: absolute;
  left: -9999px;
  top: 0;
}
.atla:focus {
  left: 12px;
  top: 12px;
  z-index: 2147483000;
  background: #0E4A87;
  color: #fff;
  padding: 10px 16px;
  border-radius: 8px;
  font: 700 14px/1.2 system-ui, sans-serif;
  text-decoration: none;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.35);
}
[role="button"] {
  cursor: pointer;
}
html.ig-serit .landing-nav {
  top: var(--serit-h, 0px);
}
html.ig-serit .v1-topbar,
html.ig-serit .topbar {
  scroll-margin-top: var(--serit-h, 0px);
}

/* Erisilebilirlik duzeltmeleri (olcum sonrasi): v1 (yalniz acik tema) odak halkasi ve atla baglantisi */
body.v1 a:focus-visible, body.v1 button:focus-visible, body.v1 input:focus-visible, body.v1 select:focus-visible,
body.v1 textarea:focus-visible, body.v1 [tabindex]:focus-visible, body.v1 [role="button"]:focus-visible { outline-color: #135EAA !important; }
body.v1 .v1-ray :focus-visible, body.v1 .v1-sidebar :focus-visible { outline-color: #FFFFFF !important; }
.atla, .atla:link, .atla:visited, body.v1 a.atla:not([class*="-btn"]) { color: #FFFFFF !important; }
main:focus, [role="main"]:focus, #icerik-ana:focus { outline: none !important; }

/* "Ucretsiz donem" bilgi kutusu (.ucretsiz-bant: index, fiyatlar vb.). Stil daha once yalniz js/mobil.js seridi kurunca
   enjekte ediliyordu: kutu once stilsiz boyanip sonra bicimleniyor (CLS 0,2-0,4) ve serit kapaliyken hic bicimlenmiyordu. */
.ucretsiz-bant{background:linear-gradient(135deg,#0E4A87,#135EAA);color:#fff;border-radius:16px;padding:22px 26px;margin:18px 0;text-align:left}
.ucretsiz-bant h3{margin:0 0 6px;font:800 22px/1.25 'Plus Jakarta Sans',Inter,sans-serif;color:#fff}
.ucretsiz-bant p{margin:0 0 12px;font-size:15px;line-height:1.6;color:rgba(255,255,255,.92)}
.ucretsiz-bant ul{margin:0 0 14px;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:8px 18px}
.ucretsiz-bant li{font-size:14px;color:#fff;padding:0}
.ucretsiz-bant li:before{content:'\2713 ';font-weight:800}
.ucretsiz-bant .ub-btn{display:inline-block;background:#fff;color:#0E4A87;font-weight:800;padding:11px 22px;border-radius:10px;text-decoration:none}
