/* YENİ DİL — vitrin sayfalarının dış kenarı. Tek ortak kural.
   docs/mobil/YENI-DIL.md §7 (vitrin sayfaları) ve §1.1 (kırılım metinleri).

   NEDEN BURADA: sayfanın dış kenarını `.wrap` kurar, `.au-page` değil. Scoped CSS
   (`*.razor.css`) kapsam özniteliğini seçicinin SON öğesine eklediği için
   `.wrap:has(...)` oradan yazılamaz — kural `.wrap[b-xxxx]` olur ve hiçbir şeye
   uymaz. Bugüne dek her sayfa bunun için wwwroot/css altına kendi dosyasını açtı
   (org-birimleri-vitrin.css:2, abonelik-planlari-vitrin.css:2 …). Yeni dile geçen
   sayfa artık kök öğesine `data-vitrin` koyar ve ölçüyü buradan alır.

   KULLANIM: sayfanın kök öğesi  <div class="au-page xx-vitrin" data-vitrin>  olur.
   Başka hiçbir şey gerekmez; dosya açılmaz, App.razor'a satır eklenmez.

   KAPSAM: yalnız `data-vitrin` işaretini taşıyan sayfalar. Kendi `.wrap:has(...)`
   kuralı olan sayfalar (analiz-vitrin, org-birimleri-vitrin, katalog-vitrin …) bu
   işareti taşımadıkça etkilenmez — /analiz/genel onaylı referans olarak
   analiz-vitrin.css'teki kurallarıyla (özgüllük 0,3,0) aynen kalır.
   Plan durumu mevcut `.yp-vitrin` sınıfıyla da kapsama girer; açık Blazor
   oturumlarında kök özniteliği yenilenmeden önce de dış boşluk uygulanır. */

body.edulive-cihaz .wrap:has(.au-page:is([data-vitrin], .yp-vitrin)) {
  max-width: none;
  /* 20 px üst · 24 px yatay · 44 px alt (referans: org-birimleri-vitrin.css:2). */
  padding: 20px var(--ust-yan-masaustu, 24px) 44px;
  /* Gezinme ile kapak arasındaki tek, kısa boşluk (analiz-vitrin.css:3043 emsali). */
  --akn-alt-bosluk: 12px;
}

body.edulive-cihaz .wrap:has(.au-page:is([data-vitrin], .yp-vitrin)) .au-page:is([data-vitrin], .yp-vitrin) {
  max-width: none;
  padding-inline: 0;
}

/* Akademik Yapı'nın liste/form/detay kökleri data-vitrin="akademik" kullanır.
   Üst/alt boşluğu da yalnız dış kabuk verir; eski sayfa dolguları birikmez.
   Kart ve form içi dolgular kendi sayfa stillerinde kalır. */
body.edulive-cihaz .wrap:has(.au-page[data-vitrin="akademik"]) {
  /* Ana Akademik Yapı ekranının mevcut 12 px üst aralığını koru. */
  padding-top: 12px;
}

body.edulive-cihaz .wrap:has(.au-page[data-vitrin="akademik"]) .au-page[data-vitrin="akademik"] {
  padding-block: 0;
}

/* Eski cihaz kart-listesi kuralı grid-scroll'ü overflow:visible yapıyordu.
   Geniş akademik tablolar sayfa kenarını büyütmeden kendi kabında kayar. */
body.edulive-cihaz .au-page[data-vitrin="akademik"] .grid-scroll {
  overflow: auto;
  overscroll-behavior: contain;
}

/* Analiz ve Ölçme: dış kenar ve gezinme aynı ölçüyü paylaşır. Optik ve
   eski sayfa dolguları kapağın üstüne/yana ikinci bir boşluk eklemez.
   /analiz/genel işaret taşımaz; onaylı referansın ölçüleri korunur. */
body.edulive-cihaz .wrap:has(.au-page[data-vitrin="analiz"]) {
  --az-yan: var(--ust-yan-masaustu, 24px);
  --akn-yan-dolgu: var(--az-yan);
  --akn-ust-cekme: -20px;
}

body.edulive-cihaz .wrap:has(.au-page[data-vitrin="analiz"]) .au-page[data-vitrin="analiz"] {
  padding-block: 0;
}

body.edulive-cihaz .wrap:has(.au-page[data-vitrin="analiz"]) :is(.akn, .akn-oyuk) {
  margin-inline: calc(-1 * var(--az-yan));
}

/* CİHAZ (YENI-DIL §1.1) */
@media (max-width: 1023px),
       (min-width: 1024px) and (max-width: 1279px) and (hover: none) and (pointer: coarse) {
  body.edulive-cihaz .wrap:has(.au-page:is([data-vitrin], .yp-vitrin)) { padding: 12px 16px 44px; }
  body.edulive-cihaz .wrap:has(.au-page[data-vitrin="analiz"]) {
    --az-yan: 16px;
    --akn-ust-cekme: -12px;
  }
}

/* TELEFON (YENI-DIL §1.1) */
@media (max-width: 640px) {
  body.edulive-cihaz .wrap:has(.au-page:is([data-vitrin], .yp-vitrin)) { padding-inline: 12px; }
  body.edulive-cihaz .wrap:has(.au-page[data-vitrin="analiz"]) { --az-yan: 12px; }
}
