/* ═══════════════════════════════════════════════════════════════
   YaqinJoy — PLANSHET QATLAMI (v114)

   QOIDA: bu faylning HAMMASI ikkita shart ichida:
     1) ekran eni 560–1023px
     2) qurilma BARMOQ bilan ishlatiladi
        (`hover: none` va `pointer: coarse`)

   TELEFON (390–767px) va KOMPYUTER (1024px+) ko'rinishiga bir piksel
   ham tegmaydi. Muammo chiqsa index.html dagi bitta qatorni o'chirish
   kifoya.

   ─── NEGA "BARMOQ" SHARTI KERAK (v118) ─────────────────────────
   TOPILGAN XATO: ega kompyuter brauzerida masshtabni 150% qildi.
   Chrome buni bajarganda oyna eni 1200px dan 800px ga TUSHADI —
   ya'ni sayt uchun ekran "planshet" bo'lib qoladi. Natijada sayt
   ustidan yana 1.75 marta kattalashtirardi: kattalashtirish IKKI
   MARTA bo'lib, "butun joyni yopdi".

   Faqat ENGA qarab qaror qilish shuning uchun yetarli emas.
   Endi qurilma turiga ham qaraladi:
     · barmoq bilan ishlatiladigan qurilma (iPad, planshet) → kattalashadi
     · sichqoncha bor (kompyuter, hatto masshtab 150% bo'lsa ham)
       → hech qanday avtomatik kattalashtirish YO'Q

   `hover: none` va `pointer: coarse` — CSS ning standart shartlari,
   Safari, Chrome va Firefox da 2015-yildan beri ishlaydi.

   ─── ASOSIY QOIDA ──────────────────────────────────────────────
   Planshet = KATTALASHTIRILGAN TELEFON.

   Ega shunday dedi: "planshetdagi ko'rinish ham teldagiday bo'lsin,
   o'zgarilmagan — faqat kattalashib kengaytirilgan bo'lsa bo'ldi",
   "ipaddagilar esa telfondagiday".

   Shuning uchun bu yerda HECH QANDAY yangi maket yo'q: kartalar
   bitta ustunda, kategoriyalar o'sha suriladigan qatorda, biznes
   sahifasi bitta ustunda — foydalanuvchi telefonda o'rgangan
   narsasini planshetda AYNAN topadi.

   ─── KOEFFITSIENT QANDAY TANLANGAN (v117) ──────────────────────
  Telefonda kontent 390–430px lik maydonda teriladi — kartadagi nom,
  masofa va yulduzning joylashuvi aynan shu kenglikka mo'ljallangan.

  v114–v116 da koeffitsient 1.3 edi. 800px li planshetda bu ichkarida
  615px lik maydon qoldirardi — telefonnikidan 1.5 barobar keng.
  Natijada kartaning o'rtasi bo'm-bo'sh qolib, "oxirigacha to'lmagan"
  ko'rinardi (ega aynan shuni sezdi: yonboshlatganda zo'r, tikka
  tutganda to'lmaydi).

  Endi koeffitsient shunday tanlanadi-ki, ICHKARIDAGI maydon telefon
  o'lchamiga (≈450–500px) tushsin. Ekran to'la egallanadi, tartib esa
  aynan telefondagidek zich qoladi:

      560–639px  → 1.30   (ichkarida 431–492px)
      640–719px  → 1.45   (ichkarida 441–496px)
      720–799px  → 1.60   (ichkarida 450–499px)
      800–879px  → 1.75   (ichkarida 457–502px)
      880–959px  → 1.90   (ichkarida 463–505px)
      960–1023px → 2.05   (ichkarida 468–499px)

  ─── NEGA 560px DAN BOSHLANADI (v120) ──────────────────────────
  TOPILGAN XATO: qatlam avval 768px dan boshlanardi — "planshet"
  degan odatiy chegara. Ega o'z planshetining suratini yubordi va
  o'lchov shuni ko'rsatdi: uning brauzer maydoni **718px**, ya'ni
  768 dan PAST. Qatlam bu qurilmaga umuman tegmagan — sayt 520px
  lik ustunda qolib, ekranning atigi 72% ini egallagan.

  To'g'ri chegara "planshet" so'zidan emas, SAYTNING O'ZIDAN kelib
  chiqadi: telefon maketi 520px da to'xtaydi, demak undan keng har
  qanday ekranda chetlarda bo'sh joy paydo bo'ladi. Boshlanish —
  560px.

  Ya'ni ichkaridagi maydon KATTA TELEFON eniga teng bo'ladi. Shunda
  kartadagi nom, masofa va yulduz aynan telefondagidek zich turadi —
  o'rtasida bo'sh joy qolmaydi.

  ─── QANDAY QILINGAN ───────────────────────────────────────────
   `zoom` orqali. Ya'ni brauzerning o'zi butun sahifani `--k` marta
   kattalashtirib chizadi.

   NEGA aynan `zoom` (har bir sinfni qo'lda kattalashtirish emas):
   saytda 50 dan ortiq joyda o'lcham to'g'ridan-to'g'ri HTML ichida
   (`style="font-size:13px"`) yozilgan. Ularni CSS orqali tutib
   bo'lmaydi — natijada sahifaning yarmi kattalashib, yarmi
   kichkina qolib ketardi. `zoom` esa hech nimani o'tkazib
   yubormaydi: rasm, matn, tugma, oraliq — hammasi bir vaqtda va
   bir xil nisbatda o'sadi. Yangi funksiya qo'shilsa ham u
   avtomatik ravishda to'g'ri kattalikda chiqadi.

   `zoom` — `transform: scale()` emas: brauzer maketni YANGI
   o'lchamda qaytadan teradi, shuning uchun matn cho'zilmaydi va
   loyqalashmaydi — harflar o'sha tiniqligicha qoladi.

   ─── IKKI OGOHLANTIRISH ────────────────────────────────────────
   1) XARITA. Leaflet o'lchamni ikki xil usulda o'qiydi
      (`clientWidth` — zoom'siz, `getBoundingClientRect` — zoom'li).
      Zoom ostida ular farq qilib, xaritada bosilgan nuqta surilib
      ketardi. Shuning uchun xarita sahifasida (`body.map-mode`,
      core.js qo'yadi) zoom O'CHIRILADI va xarita tugmalari
      alohida kattalashtiriladi (7-bo'lim).
   2) `100dvh` va `vw`. Zoom ostida bu o'lchovlar avval ekrandan
      o'qiladi, keyin `--k` ga ko'paytiriladi — ya'ni sahifa
      `--k` barobar uzun bo'lib ketardi. Ular `--k` ga bo'linadi.
   ═══════════════════════════════════════════════════════════════ */

/* ─── KOEFFITSIENT ──────────────────────────────────────────────
   `--k` = ekran koeffitsienti × foydalanuvchi tanlagan matn kattaligi
   (`--ts`, kattalik.css). U `min-height`, `--nav-h` va xarita
   qoidalarida ishlatiladi — bularning hammasi `calc()` ni bemalol
   qabul qiladi.

   `zoom` esa ALOHIDA, TAYYOR FOIZ bilan yoziladi (quyida, 1-bo'limda).
   NEGA: `zoom` — eski, standartlashmagan xususiyat. Chrome uni
   `calc(1.3 * 1)` ko'rinishida ham qabul qiladi, lekin Safari'ning
   (iPhone/iPad) tahlilchisi bunday qiymatni RAD ETISHI mumkin —
   o'shanda planshetda hech narsa kattalashmaydi va sayt telefon
   ko'rinishida qolib ketadi. Foiz (`130%`) — `zoom` uchun eng eski va
   eng keng qo'llab-quvvatlanadigan shakl.

   DIQQAT: ikkita ro'yxat (bu yerdagi `--k` va 1-bo'limdagi `zoom`)
   BIR-BIRIGA MOS bo'lishi shart. Koeffitsient o'zgarsa — ikkalasi ham. */
@media (min-width: 560px) and (max-width: 639.98px)  and (hover: none) and (pointer: coarse) { :root { --k: calc(1.30 * var(--ts)); } }
@media (min-width: 640px) and (max-width: 719.98px)  and (hover: none) and (pointer: coarse) { :root { --k: calc(1.45 * var(--ts)); } }
@media (min-width: 720px) and (max-width: 799.98px)  and (hover: none) and (pointer: coarse) { :root { --k: calc(1.60 * var(--ts)); } }
@media (min-width: 800px) and (max-width: 879.98px)  and (hover: none) and (pointer: coarse) { :root { --k: calc(1.75 * var(--ts)); } }
@media (min-width: 880px) and (max-width: 959.98px)  and (hover: none) and (pointer: coarse) { :root { --k: calc(1.90 * var(--ts)); } }
@media (min-width: 960px) and (max-width: 1023.98px) and (hover: none) and (pointer: coarse) { :root { --k: calc(2.05 * var(--ts)); } }
/* Yonboshlatilgan telefon: eni 932px (planshet oralig'i), bo'yi esa
   atigi 430px. U yerda 1.4 koeffitsient bilan sarlavha va qidiruv
   butun ekranni yeb qo'yardi — birinchi karta ko'rinmasdi. */
@media (min-width: 560px) and (max-width: 1023.98px) and (max-height: 560px) and (hover: none) and (pointer: coarse) {
  :root { --k: calc(1.06 * var(--ts)); }
}

@media (min-width: 560px) and (max-width: 1023.98px) and (hover: none) and (pointer: coarse) {

  /* ═══ 1. KATTALASHTIRISH ════════════════════════════════════
     Tayyor foiz — `calc()` ham, `var()` ham yo'q (yuqoridagi izoh).
     1.3 × matn kattaligi (Oddiy 1 / Kattaroq 1.15 / Eng katta 1.3). */
  body:not(.map-mode) { zoom: 130%; --zoom-want: 1.3; }
  html[data-tsize="2"] body:not(.map-mode) { zoom: 149.5%; --zoom-want: 1.495; }
  html[data-tsize="3"] body:not(.map-mode) { zoom: 169%; --zoom-want: 1.69; }

  /* Zoom ostida `100dvh` ekran balandligini oladi va keyin `--k`
     ga ko'payadi — sahifa `--k` barobar uzun bo'lib qolardi. */
  body:not(.map-mode) #app,
  body:not(.map-mode) #app > .page,
  body:not(.map-mode) .page,
  body:not(.map-mode) .wiz-page,
  body:not(.map-mode) .cab-app,
  body:not(.map-mode) .adm-app { min-height: calc(100dvh / var(--k)); }
  body:not(.map-mode) .adm-side { height: calc(100dvh / var(--k)); }
  /* Bildirishnoma va oynalar ekrandan chiqib ketmasin */
  body:not(.map-mode) #toast-wrap { width: min(calc(92vw / var(--k)), 480px); }
  body:not(.map-mode) .sheet-scroll,
  body:not(.map-mode) .hrs-box { max-height: calc(60vh / var(--k)); }

  /* ═══ 2. KENGAYTIRISH ═══════════════════════════════════════
     Telefonda kontent 520px lik ustunda turadi. Planshetda u
     ekran bo'ylab kengayadi — "kattalashib KENGAYTIRILGAN".
     Kenglik `--k` hisobidan chegaralanadi: 820px ekranda zoom
     1.3 bo'lsa, ichkarida 630px lik maydon qoladi. */
  body:not(.cab-mode):not(.adm-mode) #app {
    max-width: none;
    /* base.css 560px dan boshlab #app ga 60px loyqa soya beradi —
       u telefon maketini "qurilma" qilib ko'rsatish uchun edi.
       Planshetda bu shunchaki kulrang tuman: oq kartalar
       xiralashib, ranglar "o'lgan" ko'rinardi. */
    box-shadow: none;
  }
  /* alive.css 900–1023px da sahifaga "varaq ramkasi" (1px halqa +
     28px/90px tushuvchi soya) beradi — u kompyuter uchun o'ylangan
     va bu yerda ekranni kesib turadigan quti bo'lib qolardi. */
  body:not(.cab-mode):not(.adm-mode) #app > .page { box-shadow: none; }

  /* Chetlardagi joy o'lik tekis bo'lib qolmasin — nozik brend
     nafasi (alive.css buni faqat 900px dan berardi). */
  body:not(.cab-mode):not(.adm-mode) {
    background:
      radial-gradient(560px 380px at 4% 8%, rgba(37, 99, 235, 0.05), transparent 62%),
      radial-gradient(660px 460px at 96% 92%, rgba(37, 99, 235, 0.06), transparent 62%),
      var(--bg);
  }

  /* Kategoriya qatori yonga suriladi (telefondagidek). Keng ekranda
     uning o'ng cheti kartaning qirrasida TO'SATDAN kesilib, "sahifa
     to'lmagan / buzuq" taassurot berardi. Yumshoq so'nish qo'shiladi —
     "yana bor, suring" degan ishora. */
  .home-cats > .cat-grid {
    -webkit-mask-image: linear-gradient(to right, #000 calc(100% - 28px), transparent);
    mask-image: linear-gradient(to right, #000 calc(100% - 28px), transparent);
  }

  /* ═══ 3. TELEFON TARTIBINI SAQLASH ══════════════════════════
     Quyidagi qoidalar planshetga BEGONA maket berib qo'yadigan
     eski media-query'larni bekor qiladi. Ular ekran ENI bo'yicha
     ishga tushadi (768px dan katta), lekin zoom ichida maydon
     aslida telefonnikidek tor — natijada siqilib qolardi. */

  /* components.css 760px dan kategoriya qatorini 6 ustunli to'rga
     aylantirardi. Telefondagi suriladigan qator qaytariladi. */
  .cat-grid {
    grid-auto-flow: column; grid-template-rows: repeat(2, auto);
    grid-template-columns: none; overflow-x: auto;
  }
  /* pages.css 900px dan kabinetga ikki ustunli maket berardi —
     zoom ichida u juda tor bo'lib qolardi. */
  .cab-grid { grid-template-columns: minmax(0, 1fr); }
  .cab-main { max-width: none; }
  .cab-hero-v { font-size: 34px; }

  /* ═══ 4. TINIQLIK — SOYA ════════════════════════════════════
     Telefonda bir ekranda 2–3 ta karta turadi va keng yumshoq soya
     chiroyli chiqadi. Planshetda 6–8 ta karta bo'ladi va ularning
     soyalari qo'shilib butun sahifani kulrang tumanga o'raydi — oq
     kartalar "o'chib", ranglar xiralashib ko'rinadi. Aynan shu
     narsa "sifatsiz" taassurot beradi. Katta ekranda soya TOR va
     ANIQ bo'lishi kerak: karta qirrasi ko'rinsin, tuman ko'rinmasin. */
  :root {
    --shadow-card: 0 1px 1px rgba(15, 23, 42, .05), 0 2px 7px rgba(15, 23, 42, .06);
    --shadow-float: 0 2px 6px rgba(15, 23, 42, .10), 0 10px 26px rgba(15, 23, 42, .15);
  }
  [data-theme="dark"], .force-dark {
    --shadow-card: 0 1px 1px rgba(0, 0, 0, .30), 0 2px 9px rgba(0, 0, 0, .32);
    --shadow-float: 0 3px 10px rgba(0, 0, 0, .44), 0 12px 30px rgba(0, 0, 0, .48);
  }

  /* ═══ 5. XARITA — zoom'siz, qo'lda kattalashtiriladi ════════
     Xarita sahifasida zoom o'chirilgan (yuqoridagi izohga qarang),
     shuning uchun uning ustidagi boshqaruv elementlari shu yerda
     bittalab kattalashtiriladi. Xaritaning O'ZI to'liq ekranni
     egallaydi — u allaqachon shunday. */
  .map-mode .map-ui-top.slim {
    padding: calc(8px * var(--k)) calc(12px * var(--k)) calc(4px * var(--k)); }
  .map-mode .map-ui-top.slim .map-search {
    padding: calc(7px * var(--k)) calc(5px * var(--k))
             calc(7px * var(--k)) calc(13px * var(--k)); }
  .map-mode .map-search input { font-size: calc(14px * var(--k)); }
  .map-mode .map-filter-inline { width: calc(30px * var(--k)); height: calc(30px * var(--k));
    margin: calc(-4px * var(--k)) calc(-8px * var(--k)) calc(-4px * var(--k)) 0; }
  .map-mode .map-filter-inline svg { width: calc(17px * var(--k)); height: calc(17px * var(--k)); }
  .map-mode .chip { padding: calc(6px * var(--k)) calc(13px * var(--k));
    font-size: calc(12.5px * var(--k)); gap: calc(5px * var(--k)); }
  .map-mode .icon-btn { width: calc(36px * var(--k)); height: calc(36px * var(--k)); }
  .map-mode .ic { width: calc(22px * var(--k)); height: calc(22px * var(--k)); }
  .map-mode .ic-sm { width: calc(17px * var(--k)); height: calc(17px * var(--k)); }
  .map-mode .search-area-btn { top: calc(94px * var(--k)); font-size: calc(11px * var(--k));
    padding: calc(7px * var(--k)) calc(13px * var(--k)); }
  .map-mode .uz-total { top: calc(130px * var(--k)); font-size: calc(11px * var(--k)); }
  .map-mode .map-fabs { bottom: calc(var(--nav-h) + 52px * var(--k)); gap: calc(8px * var(--k)); }
  .map-mode .map-fabs .icon-btn { width: calc(36px * var(--k)); height: calc(36px * var(--k)); }
  .map-mode .map-sheet { transform: translateY(calc(100% - 40px * var(--k))); }
  .map-mode .map-sheet.open { transform: translateY(0); }
  .map-mode .sheet-head { height: calc(40px * var(--k)); }
  .map-mode .sheet-grip2 { top: calc(5px * var(--k)); width: calc(34px * var(--k)); }
  .map-mode .sheet-title { font-size: calc(12.5px * var(--k)); margin-top: calc(5px * var(--k)); }
  .map-mode .sheet-title b { font-size: calc(13.5px * var(--k)); }
  .map-mode .pop-card { width: calc(144px * var(--k)); border-radius: calc(15px * var(--k)); }
  .map-mode .pop-img { height: calc(88px * var(--k)); }
  .map-mode .pop-body { padding: calc(8px * var(--k)) calc(10px * var(--k)) calc(10px * var(--k)); }
  /* DIQQAT: bu uchta o'lcham HTML ichida (`style="font-size:..."`)
     yozilgan — oddiy CSS qoidasi ularni bosa olmaydi. */
  .map-mode .pop-body .bc-name,
  .map-mode .pop-body .bc-name span { font-size: calc(14.5px * var(--k)) !important; }
  .map-mode .pop-body .bc-meta { font-size: calc(12px * var(--k)) !important; }
  .map-mode .pop-body .stars { font-size: calc(11.5px * var(--k)) !important; }
  .map-mode .pop-logo { width: calc(30px * var(--k)); height: calc(30px * var(--k));
    font-size: calc(9.5px * var(--k)); }
  .map-mode .pop-heart { width: calc(26px * var(--k)); height: calc(26px * var(--k)); }
  .map-mode .pop-hours, .map-mode .pop-status { font-size: calc(11px * var(--k)); }
  .map-mode .picked-card { padding: calc(8px * var(--k)) calc(10px * var(--k));
    bottom: calc(var(--nav-h) + 48px * var(--k)); border-radius: calc(15px * var(--k));
    gap: calc(8px * var(--k)); }
  .map-mode .route-card { padding: calc(8px * var(--k)) calc(10px * var(--k));
    top: calc(96px * var(--k)); }
  .map-mode .bn-item { font-size: calc(9.5px * var(--k)); }
  .map-mode .bn-item .ic { width: calc(20px * var(--k)); height: calc(20px * var(--k)); }
  .map-mode .bn-fab { width: calc(46px * var(--k)); height: calc(46px * var(--k));
    margin-top: calc(-16px * var(--k)); }
  .map-mode .bn-fab .ic { width: calc(20px * var(--k)); height: calc(20px * var(--k)); }
  .map-mode { --nav-h: calc(56px * var(--k)); }
}

/* ═══ POG'ONALAR — har biri "ichkarida ≈450–500px" ga sozlangan ═ */
@media (min-width: 640px) and (max-width: 719.98px) and (hover: none) and (pointer: coarse) {
  body:not(.map-mode) { zoom: 145%; --zoom-want: 1.45; }
  html[data-tsize="2"] body:not(.map-mode) { zoom: 166.8%; --zoom-want: 1.668; }
  html[data-tsize="3"] body:not(.map-mode) { zoom: 188.5%; --zoom-want: 1.885; }
}
@media (min-width: 720px) and (max-width: 799.98px) and (hover: none) and (pointer: coarse) {
  body:not(.map-mode) { zoom: 160%; --zoom-want: 1.6; }
  html[data-tsize="2"] body:not(.map-mode) { zoom: 184%; --zoom-want: 1.84; }
  html[data-tsize="3"] body:not(.map-mode) { zoom: 208%; --zoom-want: 2.08; }
}
@media (min-width: 800px) and (max-width: 879.98px) and (hover: none) and (pointer: coarse) {
  body:not(.map-mode) { zoom: 175%; --zoom-want: 1.75; }
  html[data-tsize="2"] body:not(.map-mode) { zoom: 201.3%; --zoom-want: 2.013; }
  html[data-tsize="3"] body:not(.map-mode) { zoom: 227.5%; --zoom-want: 2.275; }
}
@media (min-width: 880px) and (max-width: 959.98px) and (hover: none) and (pointer: coarse) {
  body:not(.map-mode) { zoom: 190%; --zoom-want: 1.9; }
  html[data-tsize="2"] body:not(.map-mode) { zoom: 218.5%; --zoom-want: 2.185; }
  html[data-tsize="3"] body:not(.map-mode) { zoom: 247%; --zoom-want: 2.47; }
}
@media (min-width: 960px) and (max-width: 1023.98px) and (hover: none) and (pointer: coarse) {
  body:not(.map-mode) { zoom: 205%; --zoom-want: 2.05; }
  html[data-tsize="2"] body:not(.map-mode) { zoom: 235.8%; --zoom-want: 2.358; }
  html[data-tsize="3"] body:not(.map-mode) { zoom: 266.5%; --zoom-want: 2.665; }
}

/* ═══ YONBOSHLATILGAN TELEFON: 1.06 × matn kattaligi ════════════ */
@media (min-width: 560px) and (max-width: 1023.98px) and (max-height: 560px) and (hover: none) and (pointer: coarse) {
  body:not(.map-mode) { zoom: 106%; --zoom-want: 1.06; }
  html[data-tsize="2"] body:not(.map-mode) { zoom: 121.9%; --zoom-want: 1.219; }
  html[data-tsize="3"] body:not(.map-mode) { zoom: 137.8%; --zoom-want: 1.378; }
}

/* ═══════════════════════════════════════════════════════════════
   KOMPYUTER, TOR OYNA (600–1023px, sichqonchali) — v118

   Bu holat qachon bo'ladi:
     · brauzer masshtabi oshirilgan (150% → 1200px oyna 800px bo'ladi)
     · oyna qo'lda toraytirilgan
     · kichik noutbuk

   Bu yerda HECH NARSA KATTALASHTIRILMAYDI — foydalanuvchi masshtabni
   o'zi oshirgan, ustidan yana kattalashtirish "ikki marta" bo'lardi.
   Uning o'rniga kontent maydonni O'ZI TO'LDIRADI: 520px lik ustun
   o'rniga butun kenglik, kartalar esa ikki ustunga bo'linadi —
   xuddi ekran yonboshlatilgandagidek.

   Ega aytgan edi: "u o'zi avtomatik kattalashib emas, o'zi to'lishi
   kerak edi" — bu blok aynan shuni qiladi.
   ═══════════════════════════════════════════════════════════════ */
@media (min-width: 600px) and (max-width: 1023.98px) and (pointer: fine) {
  /* Telefon "qurilma ramkasi" — tor oynada keraksiz kulrang tuman */
  body:not(.cab-mode):not(.adm-mode) #app { max-width: none; box-shadow: none; }
  body:not(.cab-mode):not(.adm-mode) #app > .page { box-shadow: none; }

  /* Kontent maydoni: chetlarda doim 28px nafas.
     Mobil bloklarning o'z chekkasi 14px — sahifaga faqat
     yetishmagani (14px) qo'shiladi. */
  body:not(.cab-mode):not(.adm-mode) .page {
    max-width: 1000px; margin: 0 auto;
    padding-left: 14px; padding-right: 14px;
  }
  body:not(.cab-mode):not(.adm-mode) .page > .px {
    padding-left: 14px; padding-right: 14px;
  }

  /* Kartalar: bitta ustun → ikkita. Karta KATTALASHMAYDI — ko'payadi.
     600–699px da bitta ustun qoladi: 2 ustun u yerda juda tor. */
  .home-list { display: grid; gap: 10px; align-items: start; }
  .home-list > * { min-width: 0; }
  .home-list > .empty-state,
  .home-list > .auth-need,
  .home-list > .q-note,
  .home-list > .ln-more { grid-column: 1 / -1; }
  body:not(.cab-mode):not(.adm-mode) .empty-state { max-width: 520px; margin: 0 auto; }

  .prof-list { display: grid; gap: 10px; align-content: start; }
  .prof-list > .prof-item, .prof-list > .prof-biz { margin-bottom: 0; }
  .prof-list > .prof-biz,
  .prof-list > .prof-item:first-child { grid-column: 1 / -1; }

  /* Uzun qatorlar cho'zilib ketmasin */
  body:not(.cab-mode):not(.adm-mode) .search-bar,
  body:not(.cab-mode):not(.adm-mode) .tp-search { max-width: 620px; }
  .hero > div { max-width: 560px; }
  .loc-prompt { display: flex; align-items: center; gap: 18px; }
  .loc-prompt .lp-txt { flex: 1; }
  .loc-prompt .lp-btns { margin-top: 0; flex: none; width: 220px; }
  body:not(.cab-mode):not(.adm-mode) .page.auth-page { max-width: 520px; }
  .wiz-page > .topbar, .wiz-page > .wiz-progress,
  .wiz-page > .wiz-body, .wiz-page > .wiz-footer {
    width: 100%; max-width: 640px; margin-left: auto; margin-right: auto;
    left: auto; right: auto;
  }
  body:not(.cab-mode):not(.adm-mode) .sheet { max-width: 560px; }
  .bottom-nav { max-width: 600px; }

  /* Xarita to'liq enga yoyiladi */
  body:not(.cab-mode):not(.adm-mode) .page.map-page { max-width: none; padding: 0; }
  .map-search { max-width: 460px; }
}

/* Ikki ustun faqat 700px dan (sichqonchali tor oyna) */
@media (min-width: 700px) and (max-width: 1023.98px) and (pointer: fine) {
  .home-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .prof-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
