/*
 * KolayPOS ortak PWA uyumluluk katmanı.
 *
 * Bu dosya sayfaların kendi tasarımını değiştirmez. Özellikle .card, .panel,
 * .content, başlıklar, butonlar ve grid yapıları burada biçimlendirilmez.
 * Böylece dashboard, satış, ürün, kasa, cari ve ayar ekranlarının kilitli
 * masaüstü/mobil kuralları PWA desteği tarafından ezilmez.
 */

html {
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
}

body {
    -webkit-tap-highlight-color: transparent;
}

button,
a,
input,
select,
textarea {
    touch-action: manipulation;
}

/*
 * iPhone tarayıcılarının form alanına odaklanırken sayfayı otomatik
 * yakınlaştırmasını önler. Genişlik, yükseklik, renk ve yerleşim sayfanın
 * kendi CSS'ine bırakılır.
 */
@media (max-width: 768px) {
    input:not([type="checkbox"]):not([type="radio"]),
    select,
    textarea {
        font-size: max(16px, 1em);
    }
}

/*
 * Yalnız açıkça bu sınıfları kullanan yeni ekranlarda güvenli alan desteği
 * sağlar; mevcut sayfalara genel padding veya genişlik zorlamaz.
 */
.kp-safe-top {
    padding-top: env(safe-area-inset-top);
}

.kp-safe-bottom {
    padding-bottom: env(safe-area-inset-bottom);
}

.kp-safe-x {
    padding-left: env(safe-area-inset-left);
    padding-right: env(safe-area-inset-right);
}

.kp-pwa-only {
    display: none;
}

@media all and (display-mode: standalone) {
    .kp-pwa-only {
        display: revert;
    }
}


/* KOLAYPOS PWA MOBIL RUNTIME V2 - iOS safe-area / dvh / touch feedback */
:root { --kp-visual-vh: 1vh; }
@supports (height: 100dvh) { :root { --kp-app-height: 100dvh; } }
@supports not (height: 100dvh) { :root { --kp-app-height: calc(var(--kp-visual-vh, 1vh) * 100); } }
.kp-dvh-screen { min-height: var(--kp-app-height, 100vh); }
.kp-fixed-safe-bottom { padding-bottom: max(10px, env(safe-area-inset-bottom, 0px)); }
.kp-fixed-safe-top { padding-top: max(0px, env(safe-area-inset-top, 0px)); }
@media (hover:none) and (pointer:coarse) {
  button:active, a.btn:active, .btn:active, [role=button]:active { transform:scale(.985); opacity:.9; }
}
@media (max-width:760px) {
  .kp-pwa-standalone .kp-mobile-drawer,
  .kp-pwa-standalone .kp-mobile-dock { padding-bottom: env(safe-area-inset-bottom, 0px); }
}
@media (prefers-reduced-motion:reduce) {
  *, *::before, *::after { scroll-behavior:auto!important; animation-duration:.001ms!important; animation-iteration-count:1!important; transition-duration:.001ms!important; }
}


/* 3S1 PWA PREMIUM FAZ 1 - ORTAK MOBIL TEMEL */
:root{
  --kp-mobile-edge:10px;
  --kp-mobile-radius:18px;
  --kp-mobile-border:#e7ebf0;
  --kp-mobile-shadow:0 8px 24px rgba(15,23,42,.08);
  --kp-mobile-dock-h:68px;
}
@media (max-width:760px){
  html{background:#f6f8fb;overscroll-behavior-x:none}
  body{background:#f6f8fb;-webkit-font-smoothing:antialiased;overflow-x:hidden}
  body:has(.kp-mobile-dock){padding-bottom:calc(var(--kp-mobile-dock-h) + 20px + env(safe-area-inset-bottom,0px))!important}
  button,a,summary{touch-action:manipulation}
  .kp-pwa-standalone body{min-height:100dvh}
}
@media all and (display-mode:standalone) and (max-width:760px){
  body{padding-top:0!important}
}
/* /3S1 PWA PREMIUM FAZ 1 */

/* =========================================================
   3S1 PWA PREMIUM FAZ 2+3 SAFE R2
   FAZ 1.1 davranışlarını değiştirmez. Bottom-sheet, drawer,
   kart yerleşimi ve tıklama akışlarına müdahale etmez.
   ========================================================= */
@media (max-width:760px){
  html{-webkit-tap-highlight-color:transparent}
  a,button,summary,[role="button"],input[type="button"],input[type="submit"]{touch-action:manipulation}
  .kp-btn,.kp-label-btn,.kp-mobile-dock a,.kp-mobile-dock button,.kp-mobile-menu-toggle,.kp-mobile-drawer-close{
    -webkit-user-select:none;user-select:none
  }
  .kp-btn:active,.kp-label-btn:active,.kp-mobile-dock a:active,.kp-mobile-dock button:active,.kp-mobile-menu-toggle:active,.kp-mobile-drawer-close:active{
    transform:scale(.985);opacity:.88
  }
  body.kp-pwa-page-ready{animation:kp-pwa-safe-enter .12s ease-out both}
  @keyframes kp-pwa-safe-enter{from{opacity:.92}to{opacity:1}}
  #kpPwaUpdateNotice{max-width:720px;margin-left:auto;margin-right:auto}
}
@media (prefers-reduced-motion:reduce){
  body.kp-pwa-page-ready{animation:none!important}
  .kp-btn,.kp-label-btn,.kp-mobile-dock a,.kp-mobile-dock button,.kp-mobile-menu-toggle,.kp-mobile-drawer-close{transition:none!important}
}
/* /3S1 PWA PREMIUM FAZ 2+3 SAFE R2 */
