/* g#111 Dokunmatik katmanı — ORTAK (Market / Restoran / Hesap / deefter.com). Genel kurallar sisteme özgü seçici içermez; en alttaki "geçersiz kılma" bloğu bileşenlerin kendi sınıflarını anar (başka sistemde o sınıf yoksa etkisiz).
   Hepsi <html data-dk> altında (js/dokunmatik.js: birincil işaretçi dokunmatikse ya da fareli cihazda ilk dokunuştan sonra) → fareli masaüstünde hiçbir şey değişmez.
   Hedef: tıklanabilir her öğe ≥ 44 × 44 CSS px, çift dokunma yakınlaştırması yok (kıstırarak yakınlaştırma serbest), dokunma geri bildirimi, uzun basma ipucu balonu. */

/* ---- genel: çift dokunma yakınlaştırması kapalı (kıstırma + kaydırma serbest → erişilebilirlik); sıfır özgüllük: açıkça touch-action veren kural (tuval, tutamaç) kazanır */
:where(html[data-dk] *) { touch-action: manipulation; }
html[data-dk] { -webkit-tap-highlight-color: transparent; -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }

/* ---- dokunma hedefleri ≥ 44 px — g#111c: alt sınır SIFIR ÖZGÜLLÜK ve !important'sız (TÜM seçici :where içinde: :is() içindeki en özgül seçiciyi taşırdı). Bileşenin kendi min-height / min-width'i (ör. 52 / 64 px büyük düğme)
   kazanır → katman hiçbir öğeyi katmansız hâlinden küçültmez. Bileşenin kendi 36 / 38 / 40 px alt sınırı varsa aşağıdaki "geçersiz kılma" bloğu (aynı özgüllük + aynı @media, sonra yüklenir) 44'e çıkarır; -lg büyük varyantlar hariç (başka sistemin büyük girdisini 44'e indirmesin); denetim: g111c/bul.py + klon.py. */
:where(html[data-dk] :is(button, [role="button"], [role="tab"], summary, select, a[href], .btn, .btn-icon, .form-control, .form-select, .input-group-text,
  .dropdown-item, .nav-link, .page-link, .list-group-item-action, .accordion-button, .btn-close,
  input:not([type]), input[type="text"], input[type="search"], input[type="tel"], input[type="email"], input[type="url"], input[type="number"],
  input[type="password"], input[type="date"], input[type="time"], input[type="datetime-local"], input[type="month"])) { min-height: 44px; }
:where(html[data-dk] :is(button, [role="button"], [role="tab"], .btn, .btn-icon, .sm-top-geri, .btn-close):not(.dropdown-toggle-split)) { min-width: 44px; }
:where(html[data-dk] :is(input:not([type]), input[type="text"], input[type="search"], input[type="tel"], input[type="email"], input[type="number"], input[type="password"])) { min-width: 3.5rem; }
:where(html[data-dk] .form-control-color) { min-width: 56px; }
:where(html[data-dk] .btn-close) { box-sizing: border-box; background-position: center; }
/* menü / sekme / sayfalama satırları: 44 px'lik satırda metin dikey ortalı */
html[data-dk] :is(.dropdown-item, .page-link, .list-group-item-action, .nav-link) { display: flex; align-items: center; }
html[data-dk] :is(.nav-tabs, .nav-pills) .nav-link { display: inline-flex; }
html[data-dk] .sm-top-tm { display: inline-flex; align-items: center; }
/* tek başına duran küçük bağlantılar ("Tümü", "Tümünü gör") */
html[data-dk] a[href].small:not(.btn) { display: inline-flex; align-items: center; }

/* onay kutusu / seçenek düğmesi: görsel 1.4 rem, görünmez genişletilmiş dokunma alanı; etiketle birlikte tek 44 px satır */
html[data-dk] .form-check-input { position: relative; }
:where(html[data-dk] .form-check-input) { min-width: 1.4rem; min-height: 1.4rem; }
:where(html[data-dk] .form-switch > .form-check-input) { min-width: 2.7rem; min-height: 1.45rem; }
html[data-dk] .form-check-input::after { content: ""; position: absolute; inset: -.8rem; }
html[data-dk] .form-check { display: flex; align-items: center; gap: .6rem; padding-left: 0; }
:where(html[data-dk] .form-check) { min-height: 44px; }
html[data-dk] .form-check > .form-check-input { float: none; margin: 0; flex: 0 0 auto; }
html[data-dk] .form-check > .form-check-label { flex: 1 1 auto; align-self: stretch; display: flex; align-items: center; padding-block: .35rem; }
html[data-dk] .form-check-inline { display: inline-flex; margin-right: 1rem; }
:where(html[data-dk] :is(input[type="checkbox"], input[type="radio"]):not(.form-check-input)) { min-width: 1.4rem; min-height: 1.4rem; }
html[data-dk] label:has(> input[type="checkbox"]), html[data-dk] label:has(> input[type="radio"]) { display: inline-flex; align-items: center; gap: .5rem; }
:where(html[data-dk] label:has(> input[type="checkbox"]), html[data-dk] label:has(> input[type="radio"])) { min-height: 44px; }

/* ---- kaydırma: iç listeler / pencereler kaydırma sonunda sayfayı (ya da çubuğu) oynatmasın */
html[data-dk] :is(.modal, .modal-body, .modal-dialog-scrollable .modal-content, .offcanvas, .offcanvas-body, .dropdown-menu, .table-responsive, .nav-pills, .nav-tabs, .sm-nav, .sm-content, .sm-side) { overscroll-behavior: contain; }

/* ---- dokunma geri bildirimi (bastığın an belli olsun): fare :hover'ı olmayan cihazda tek geri bildirim */
html[data-dk] :is(button, [role="button"], a[href], summary, label, .btn, .dropdown-item, .nav-link, .page-link):not(:disabled, [disabled], .disabled):active { filter: brightness(.9); }
html[data-dk] :is(button, [role="button"], summary, .btn, .dropdown-item, .nav-link, .page-link) { -webkit-user-select: none; user-select: none; -webkit-touch-callout: none; }

/* ---- uzun basma ipucu balonu (js/dokunmatik.js) */
.dk-ipucu { position: fixed; left: 0; top: 0; z-index: 3000; max-width: min(80vw, 320px); padding: .45rem .75rem; border-radius: 10px; font: 600 .82rem/1.3 inherit;
  color: #fff; background: rgba(17, 22, 34, .96); box-shadow: 0 10px 26px -10px rgba(0, 0, 0, .6); pointer-events: none; opacity: 0; transform: translateY(4px); transition: opacity .12s, transform .12s; }
.dk-ipucu.acik { opacity: 1; transform: none; }
[data-bs-theme="dark"] .dk-ipucu { color: #11151e; background: rgba(240, 242, 247, .97); }
@media (prefers-reduced-motion: reduce) { .dk-ipucu { transition: none; } }
@media print { .dk-ipucu { display: none !important; } }

/* === GEÇERSİZ KILMA (g#111c) — bileşenlerin kendi 44 px altı min-height / min-width kuralları (özgüllük korunur: :where(html[data-dk]) + aynı seçici; bu dosya en sonda yüklenir) === */
:where(html[data-dk]) .form-check { min-height: 44px; }
:where(html[data-dk]) .form-control-sm { min-height: max(44px, calc(1.5em + .5rem + calc(var(--bs-border-width) * 2))); }
:where(html[data-dk]) .page-head .btn { min-height: 44px; }
:where(html[data-dk]) .ue3-dugme { min-height: 44px; }
:where(html[data-dk]) .ue3-kat-satir { min-height: 44px; }
:where(html[data-dk]) .ue3-siki .ue3-kat-satir { min-height: 44px; }
:where(html[data-dk]) .urn-islem button { min-width: 44px; }
@media (max-width: 575.98px) {
  :where(html[data-dk]) .page-head .btn:not(.btn-primary):has(> i:first-child) { min-width: 44px; }
}
@media (max-width: 767.98px) {
  :where(html[data-dk]) .tsr-arac .btn { min-height: 44px; }
  :where(html[data-dk]) .tsr-gal-islem .btn { min-height: 44px; }
  :where(html[data-dk]) .tsr-ust .btn { min-height: 44px; min-width: 44px; }
}
@media (max-width: 991.98px) {
  :where(html[data-dk]) .ue3-cip { min-height: 44px; }
}
@media (pointer: coarse) {
  :where(html[data-dk]) .tumu { min-height: 44px; }
}
@media (pointer: coarse) and (min-width: 992px) {
  :where(html[data-dk]) .ue3-kat-satir { min-height: 44px; }
}
@media (pointer: coarse), (max-width: 767.98px) {
  :where(html[data-dk]) .btn.btn-link { min-height: 44px; }
  :where(html[data-dk]) .btn:not(.btn-close) { min-width: 44px; }
  :where(html[data-dk]) .btn:not(.btn-link):not(.btn-close):where(:not(.btn-lg)) { min-height: 44px; }
  :where(html[data-dk]) .form-control:not(textarea):where(:not(.form-control-lg)) { min-height: 44px; }
  :where(html[data-dk]) .form-select:where(:not(.form-select-lg)) { min-height: 44px; }
  :where(html[data-dk]) .hub-liste header a { min-height: 44px; }
  :where(html[data-dk]) .kat2-sayi { min-height: 44px; }
  :where(html[data-dk]) .mx-seg button { min-height: 44px; }
  :where(html[data-dk]) .pn-filtre button { min-height: 44px; }
  :where(html[data-dk]) .sm-brand { min-height: 44px; }
  :where(html[data-dk]) .tsr-katman-satir { min-height: 44px; }
  :where(html[data-dk]) .tsr-sag .nav-link { min-height: 44px; }
  :where(html[data-dk]) .ul-cip { min-height: 44px; }
  :where(html[data-dk]) .ul-durumlar a { min-height: 44px; }
}
/* sayfaya özgü stil dosyası (yonetim.css) bu dosyadan SONRA yüklenir → bir basamak özgüllük */
html[data-dk] .y-sayfalar .btn { min-width: 44px; }
