/*
 * PAKET CD20-2 — MOBİLDE INPUT ODAĞINDA YAKINLAŞMAYI DURDURAN TEK KAYNAK.
 *
 * ═══ KÖK NEDEN (canlı kanıt: iPhone/Safari, /admin-v2 yolcu bilgileri) ═══
 * Müşteri ID kutusuna dokununca sayfa yakınlaşıyor, başlıklar taşıyor,
 * düzen bozuluyor.
 *
 * iOS Safari, odaklanılan form alanının yazı boyutu 16px'İN ALTINDAysa
 * sayfayı OTOMATİK yakınlaştırır. Bu bir hata değil, belgelenmiş davranıştır
 * ve tek çözümü alanın 16px olmasıdır.
 *
 * ⚠️ `user-scalable=no` / `maximum-scale=1` ÇÖZÜM DEĞİLDİR:
 *   · iOS 10'dan beri Safari bu iki değeri YOK SAYAR → yakınlaşma yine olur
 *   · iki parmakla yakınlaştırmayı öldürür → erişilebilirlik ihlali
 * CD20-2'de b2b-v2 kabuğundan tam olarak bu ikili kaldırıldı.
 *
 * ═══ NEDEN !important ═══
 * Alanların boyutu üç ayrı yerden geliyor: portal.css sınıfları (.78rem),
 * Tailwind yardımcıları (text-[13px]) ve satır içi stiller. Kural bunların
 * HEPSİNİ yenmek zorunda; yenemezse tek bir ekranda bile kaçak kalır ve
 * kullanıcı yine yakınlaşmayla karşılaşır.
 *
 * ═══ NEDEN YALNIZ MOBİLDE ═══
 * 1024px üstünde masaüstü yoğunluğu KORUNUR (mevcut tasarım değişmez).
 * Sınır `max-width: 1024px` — tablet dâhil, çünkü iPad Safari de aynı
 * davranışı gösterir.
 */

@media (max-width: 1024px) {
    input,
    select,
    textarea,
    /* Bazı ekranlar contenteditable kullanıyor — o da odakta yakınlaştırır. */
    [contenteditable="true"] {
        /* 16px = iOS'un yakınlaştırma eşiği. 15.9px bile yakınlaştırır. */
        font-size: 16px !important;
        /* Boyut büyüdüğü için kutu taşmasın: yükseklik içerikle büyüsün. */
        max-width: 100%;
    }

    /*
     * Onay kutusu / radyo bir METİN alanı değildir; font-size onların
     * çizimini bozar ve zaten odakta yakınlaştırma yapmazlar.
     */
    input[type="checkbox"],
    input[type="radio"],
    input[type="range"],
    input[type="color"],
    input[type="file"] {
        font-size: inherit !important;
    }

    /*
     * 16px'e çıkan alanlar sabit yükseklikli kutularda dikey taşabiliyor
     * (portal.css'te height:2.3rem sabitleri var). Yüksekliği tabana
     * çekiyoruz — DEĞER GİZLENMEZ, kutu büyür.
     */
    .b2bv2-reservations-toolbar-search-input,
    .b2bv2-reservations-toolbar-date,
    .b2bv2-reservations-toolbar-select,
    .b2bv2-select {
        height: auto !important;
        min-height: 2.75rem;
        padding-top: .5rem;
        padding-bottom: .5rem;
    }

    /*
     * Yatay taşma kalkanı: 16px'e çıkan alanlar dar ekranda kutuyu
     * genişletip sayfayı yatay kaydırılabilir yapabiliyordu.
     */
    input,
    select,
    textarea {
        box-sizing: border-box;
    }
}

/*
 * PAKET CD21-9 — DOKUNMA HEDEFİ (mobil denetim turu bulgusu).
 *
 * ═══ ÖLÇÜLEN KUSUR ═══
 * Ekranlardaki ikon düğmelerinin ÇİZİM boyutu dokunma boyutu sanılıyordu:
 *   konfirme CopyButton  → w-6 h-6  = 24×24 px
 *   TicketsList CopyBtn  → w-4 h-4  = 16×16 px  (bilet no kopyalama!)
 *   PnrBadge kopyala     → w-7 h-7  = 28×28 px
 *   günlük liste telefon/check-in/manifest rozetleri ≈ 22 px yükseklik
 * Parmakla 16 px'lik hedefi vurmak pratikte kumar; yanlış dokunuş satırın
 * kendisini açıyor.
 *
 * ═══ ÇÖZÜM: DÜZENİ BOZMADAN ═══
 * Görsel boyut AYNEN kalır (masaüstü yoğunluğu korunur, mobilde de düğme
 * büyümez); yalnız dokunulabilir alan pseudo-element ile 44 px'e genişler.
 * Pseudo-element düğmenin ÇOCUĞUDUR — ona gelen dokunuş düğmeye sayılır.
 * 44 px: WCAG 2.5.5 hedef boyutu.
 *
 * Yalnız ≤1024px: masaüstünde fare zaten hassastır ve komşu düğmelerin
 * hedefleri üst üste binmemelidir.
 */
@media (max-width: 1024px) {
    .dokunma-hedefi { position: relative; }

    .dokunma-hedefi::after {
        content: '';
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: 44px;
        height: 44px;
        /* Görünmez: yalnız dokunma alanıdır. */
        background: transparent;
    }
}
