/* ══ ERİŞİLEBİLİRLİK (a11y) — vitrin + admin ══ */

/* Atlama bağlantısı (klavye kullanıcıları için) */
.skip-link{
  position:absolute;left:12px;top:-60px;z-index:10000;
  background:var(--a-accent,#146b4c);color:#fff;padding:10px 16px;border-radius:0 0 10px 10px;
  font:600 13px var(--font);text-decoration:none;transition:top .16s ease;
}
.skip-link:focus{top:0}
body:not(.admin) .skip-link{background:#146b4c}

/* Görünür odak: yeşil halka yerine arama çubuğundaki gibi ince kenarlık */
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{
  outline:0;
  transition:border-color .25s ease,background .25s ease;
}
body:not(.admin) :where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{
  outline:0;
}
/* Kendi kenarlığı/zemini olan alanlar: sadece kenarlık rengi değişir */
body:not(.admin) :where(input,textarea,select):focus-visible{
  border-color:#04b457 !important;
}
/* Kenarlığı olmayan öğelerde ince halka (gölge ile, kutu taşmaz) */
body:not(.admin) :where(a,button,summary,[tabindex]):focus-visible{
  box-shadow:0 0 0 1px #04b457;
}
body:not(.admin) :where(.crt-item,.crt-qty):focus-within{
  outline:0;border-color:#04b457 !important;
}

/* Sadece ekran okuyucu için */
.sr-only{
  position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0,0,0,0);white-space:nowrap;border:0;
}

/* Düşük hareket tercihi */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
}

/* Dokunma hedefleri (44px önerisi) */
body:not(.admin) .icon-btn,
body:not(.admin) .btn,
body:not(.admin) button,
body:not(.admin) .pbtn{min-height:40px}
body:not(.admin) .icon-btn{min-width:40px;display:inline-flex;align-items:center;justify-content:center}
body:not(.admin) .pager a,body:not(.admin) .pager span{min-width:40px;min-height:40px;display:inline-flex;align-items:center;justify-content:center}

/* Uzun metinlerde taşma */
body:not(.admin) p,body:not(.admin) li{overflow-wrap:anywhere}

/* Tablo başlıkları kapsam */
body:not(.admin) th{text-align:left}

/* Görseller için temel */
body:not(.admin) img{max-width:100%;height:auto}

/* Form hata/yardım metni */
body:not(.admin) .field small,body:not(.admin) .muted{line-height:1.5}
