/* ===================================================================
   Profil sahifasi.

   BITTA USTUN, uch qatlam: kim ekanligi → bo'limlar tasmasi →
   tanlangan bo'lim.

   ===================================================================
   NEGA RAMKA YO'Q
   ===================================================================
   Ilgari sahifada uchta ramka bir-birining ichida turardi: muqova
   kartochkasi, uning ichida chiplar, yonida "ishonchlilik" kartochkasi,
   ostida yana "tez o'tish" kartochkasi — har biri o'z chegarasi, o'z
   soyasi bilan. Ko'z qayerga qarashni bilmasdi.

   Endi ajratish CHIZIQ bilan: `--line-soft` ingichka chiziq va fon
   kontrasti. Sahifada YAGONA haqiqiy kartochka bor — "Tez o'tish",
   chunki u yagona bosiladigan taklif va ajralib turishi kerak.

   ===================================================================
   AKSENT — UCH JOYDA, BOSHQA HECH QAYERDA
   ===================================================================
     1. "Tasdiqlangan" belgisi;
     2. "Tahrirlash" tugmasi (sahifadagi asosiy amal);
     3. "Tez o'tish" kartochkasidagi ikonka.
   Qolgan hamma narsa neytral: oq/kulrang yozuv, tinch fon. Oltin bu
   sahifada ISHLATILMAYDI — rol oddiy yozuv bo'lib qoldi.

   O'lcham ritmi (uchtadan ortiq o'lcham yo'q):
     · ism             — var(--fs-xl);
     · bo'lim sarlavhasi va yordamchi yozuv — var(--fs-sm);
     · qiymat          — var(--fs-base);
     · eng mayda izoh  — var(--fs-xs).
   =================================================================== */
.profile-page {
  display: flex;
  flex-direction: column;
  gap: var(--sp-10);
  /* Bitta ustun, lekin 920 px — 720 px emas.
     720 px da "Obuna va Premium" bo'limidagi uchta tarif kartochkasi
     bir qatorga SIG'MASDI: `.price-grid` — `minmax(270px, 1fr)`, ya'ni
     720 px ga ikkitasi kirib, uchinchisi pastga tushardi. 920 px da
     har bir kartochkaga 296 px to'g'ri keladi. */
  max-width: 920px;
  margin-inline: auto;
}

/* Sarlavhalar bu sahifada SANS bilan yoziladi.
   Fraunges (serif) — brend sarlavhasi uchun: bosh sahifa, joy nomi,
   e'lon. Profil esa o'qiladigan emas, KO'RILADIGAN ekran: bir oilada
   turgan yozuv tinch ko'rinadi va ism yonidagi yorliq bilan bir xil
   o'qiladi.

   `_reset.css` dagi `h1, h2, h3...` qoidasi ham, `.display` sinfi ham
   serifni majburlaydi — shuning uchun ikkalasi ham qayta yoziladi. */
.profile-page h1,
.profile-page h2,
.profile-page h3,
.profile-page .display {
  font-family: var(--font-body);
  letter-spacing: -.02em;
}

/* ===================================================================
   1-qatlam: kim ekanligi — IJTIMOIY TARMOQ TARTIBI
   ===================================================================
   Chapda doira rasm, o'ngda uch qavat:
     1. username va yonida kichik "Tahrirlash" tabletkasi;
     2. raqamlar qatori — ramkasiz, fonsiz;
     3. "bio" qatori: to'liq ism, rol, tasdiq belgisi.
   Eng ostida — sust matn havolalari (rasm, chiqish).

   Muqova kartochka EMAS: fonsiz, ramkasiz, soyasiz.
   =================================================================== */
.profile-id {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: var(--sp-4);
  /* Menyu tugmasi uchun o'ng chetda joy: uzun username uning ostiga
     kirib ketmasligi kerak. */
  padding-right: var(--ctl-h);
}

.pid-main {
  display: flex;
  align-items: center;
  gap: var(--sp-10);
}

.pid-avatar {
  flex: none;
  display: inline-flex;
}

/* DOIRA. Oltin halqa (`.avatar-ring`) ishlatilmaydi: u rasm atrofida
   qalin metall chekka bo'lib, e'tiborni odam emas, ramka o'ziga
   tortardi. Fon ham aksent emas — neytral yuza. */
.pid-avatar .avatar {
  width: 104px;
  height: 104px;
  font-size: 32px;
  font-weight: 600;
  background: linear-gradient(155deg, var(--surface-2) 0%, var(--surface) 100%);
  color: var(--ink-soft);
  box-shadow: var(--shadow);
}

/* `min-width: 0` bo'lmasa uzun username blokni cho'zib yuboradi. */
.pid-body {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--sp-4);
}

.pid-name {
  margin: 0;
  font-size: var(--fs-xl);
  font-weight: 600;
  line-height: 1.2;
  min-width: 0;
  /* Uzun username qatorni buzmasin. */
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* Uch chiziqli menyu — O'NG YUQORI BURCHAKDA.

   Nega burchakda: u muqovaning bir qismi emas, butun SAHIFAning
   boshqaruvi. Username yonida turganda u ismning davomiday ko'rinib,
   ko'z avval unga tushardi. Instagram ham shu yo'ldan boradi va odam
   uni izlab topishi shart emas — burchakdagi uch chiziq allaqachon
   "qolgani shu yerda" degan ma'noni bildiradi. */
.pid-menu {
  position: absolute;
  top: 0;
  right: 0;
  display: inline-grid;
  place-items: center;
  width: var(--ctl-h-sm);
  height: var(--ctl-h-sm);
  border-radius: var(--radius-pill);
  color: var(--ink-soft);
  transition: color var(--transition), background var(--transition);
}
.pid-menu:hover { color: var(--ink); background: var(--surface-2); }
.pid-menu:focus-visible { outline: 2px solid var(--theme-accent); outline-offset: 2px; }

/* --- bio qatori --- */

.pid-bio {
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 2px var(--sp-3);
  font-size: var(--fs-sm);
  color: var(--ink-soft);
}
.pid-bio b {
  font-size: var(--fs-base);
  font-weight: 600;
  color: var(--ink);
}

/* Tasdiqlangan — aksentning bir joyi. */
.pid-verify {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-weight: 600;
  color: var(--theme-accent);
}
.pid-verify svg { width: 14px; height: 14px; }
/* Tasdiqlanmagan — ogohlantirish, lekin baqirmaydi. */
.pid-verify.is-off { color: var(--warn); }

/* ===================================================================
   2-qatlam: bo'limlar tasmasi
   =================================================================== */
/* Instagram'dagi "grid / tagged" almashtirgichi kabi: yuqorida
   ajratuvchi chiziq, bandlar MARKAZDA, faol bandning chizig'i esa
   USTIDA turadi.

   Nega ustida: chiziq shu bilan tasmaning o'z chizig'ini "davom
   ettiradi" — ya'ni faol band tasmaga osilib turgandek ko'rinadi.
   Ostiga chizilsa u oddiy havolalar qatoriga o'xshab qolardi. */
.profile-tabs {
  display: flex;
  justify-content: center;
  gap: var(--sp-10);
  border-top: 1px solid var(--line-soft);
  /* Tor ekranda tasma suriladi — bandlar siqilib, yozuvi kesilmaydi. */
  overflow-x: auto;
  scrollbar-width: none;
}
.profile-tabs::-webkit-scrollbar { display: none; }
.profile-tabs:empty { display: none; }

.profile-tab {
  display: inline-flex;
  align-items: center;
  gap: var(--sp-2);
  padding: var(--sp-4) 0 var(--sp-3);
  white-space: nowrap;
  font-size: var(--fs-sm);
  font-weight: 600;
  color: var(--ink-faint);
  /* Chiziq `box-shadow` bilan: `border-top` qo'yilsa faol bo'lmagan
     bandlar 1 px ga pastroq turib qolardi. */
  box-shadow: inset 0 1px 0 transparent;
  transition: color var(--transition), box-shadow var(--transition);
}
.profile-tab:hover { color: var(--ink-soft); }
.profile-tab.is-active {
  color: var(--ink);
  box-shadow: inset 0 1px 0 var(--ink);
}

/* ===================================================================
   3-qatlam: bo'lim tarkibi
   =================================================================== */
/* Yon ustun YO'Q — bitta ustun.
   Ilgari o'ngda "ishonchlilik" kartochkasi turardi va uning ostida
   yarim ekran bo'sh maydon qolardi. Ishonchlilik endi ma'lumot
   qatorlarining biri: u ham oddiy ko'rsatkich, alohida ramka talab
   qilmaydi. */
.profile-stack {
  display: flex;
  flex-direction: column;
  gap: var(--sp-10);
}

/* --- tarif kartochkalari ---
   "Obuna va Premium" bo'limida HAR DOIM uchta ustun: bepul sinov,
   restoran obunasi, to'yxona obunasi. Boshqa sahifalarda `.price-grid`
   `auto-fit` bilan ishlaydi va kenglikka qarab moslashadi — bu yerda
   esa kartochkalar soni QAT'IY uchta (bitta sinov + ikkita biznes
   turi), shuning uchun ustunlar ham qat'iy.

   `minmax(0, 1fr)` — `1fr` emas: `1fr` ning eng kichik o'lchami
   `auto`, ya'ni uzun tarif nomi ustunni kengaytirib, uchtasini teng
   bo'lmagan holga keltirardi. */
.profile-page .price-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

/* --- ma'lumot qatorlari --- */
.info-block {
  display: flex;
  flex-direction: column;
  gap: var(--sp-3);
}

/* Bo'lim sarlavhasi — kichik va sust.
   U yo'l ko'rsatkichi, sarlavha emas: ostidagi ma'lumot undan KATTA
   va to'qroq bo'lishi kerak. */
.block-title {
  margin: 0;
  font-size: var(--fs-sm);
  font-weight: 500;
  color: var(--ink-faint);
}

.info-rows {
  margin: 0;
  display: flex;
  flex-direction: column;
}
/* Chapda nomi, o'ngda qiymati. Nom ustuni QAT'IY kenglikda — shunda
   barcha qiymatlar bitta vertikal chiziqdan boshlanadi va ko'z pastga
   tushib o'qiydi, chapdan o'ngga sakramaydi. */
.info-row {
  display: grid;
  grid-template-columns: 170px minmax(0, 1fr);
  gap: var(--sp-4);
  padding: var(--sp-3) 0;
  border-bottom: 1px solid var(--line-soft);
}
.info-row:last-child { border-bottom: 0; }

/* KATTA HARF YO'Q. Ilgari yorliqlar "TO'LIQ ISM" ko'rinishida, harflar
   orasi kengaytirilgan holda yozilardi — mayda yozuv bo'lsa ham u
   qiymatdan ko'proq joy egallab, e'tiborni o'ziga tortardi. */
.info-row dt {
  margin: 0;
  font-size: var(--fs-sm);
  color: var(--ink-faint);
}
.info-row dd {
  margin: 0;
  font-size: var(--fs-base);
  color: var(--ink);
  overflow-wrap: break-word;
}
/* Raqam va username o'rtasidan BO'LINMAYDI: telefon raqami ikkiga
   bo'linsa uni o'qib bo'lmaydi. */
.info-row dd.num {
  font-variant-numeric: tabular-nums;
  overflow-wrap: normal;
  word-break: keep-all;
}
.info-row dd.is-empty { color: var(--ink-faint); }

.info-hint {
  margin: var(--sp-2) 0 0;
  font-size: var(--fs-xs);
  line-height: 1.6;
  color: var(--ink-faint);
}

/* --- tez o'tish ---
   Sahifadagi YAGONA kartochka. Fon, chegara va burchak aynan shu yerga
   sarflanadi: bu bosiladigan taklif va u taklifdek ko'rinishi kerak. */
.profile-quick {
  display: flex;
  flex-direction: column;
  gap: var(--sp-3);
}
.link-tiles {
  display: flex;
  flex-direction: column;
  gap: var(--sp-3);
}
.link-tile {
  display: flex;
  align-items: center;
  gap: var(--sp-4);
  padding: var(--sp-4) var(--sp-5);
  border: 1px solid var(--line-soft);
  border-radius: var(--radius-l);
  background: var(--surface);
  color: var(--ink);
  transition: border-color var(--transition), background var(--transition);
}
.link-tile:hover {
  border-color: var(--line);
  background: var(--surface-2);
}
/* Ikonka — aksentning UCHINCHI joyi. */
.lt-ic {
  display: inline-grid;
  place-items: center;
  flex: none;
  width: 44px;
  height: 44px;
  border-radius: var(--radius-m);
  background: var(--theme-accent-dim);
  color: var(--on-accent-dim);
}
.lt-text {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.lt-text b { font-size: var(--fs-base); font-weight: 600; }
.lt-text span {
  font-size: var(--fs-sm);
  color: var(--ink-soft);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.lt-go { margin-left: auto; color: var(--ink-faint); flex: none; }

/* ===================================================================
   Telefon
   =================================================================== */
@media (max-width: 720px) {
  .profile-page { gap: var(--sp-8); }
  .profile-stack { gap: var(--sp-8); }

  /* Rasm va username YONMA-YON qoladi — ustunga tushirilsa muqova
     behuda uzayib ketardi. Avatar esa kichrayadi. */
  .pid-main { gap: var(--sp-4); align-items: center; }
  .pid-avatar .avatar { width: 76px; height: 76px; font-size: 24px; }
  .pid-body { gap: 2px; }
  /* Menyu burchakda — telefonda avatarning tepasi bilan bir chiziqda. */
  .profile-id { padding-right: var(--ctl-h-sm); }
  .pid-name { font-size: var(--fs-lg); }

  /* ---------------- TARIFLAR: TELEFONDA HAM UCHTA USTUN ----------------
     Har bir ustunga ~110 px to'g'ri keladi, shuning uchun kartochka
     ichidan QAROR uchun kerak bo'lmagan hamma narsa olib tashlanadi:

       · tushuntirish jumlasi — uchalasida deyarli bir xil;
       · imkoniyatlar ro'yxati — kartochkadan tashqariga, uchalasi
         uchun bitta umumiy ro'yxat bo'lib pastga tushadi;
       · tejash belgisi (`.cut`) — muddat tugmasiga sig'maydi.

     Qoladigani: nomi, narxi va tugmasi. Ya'ni "qaysi biri qancha
     turadi" degan savolga javob bir qarashda ko'rinadi, tafsilot esa
     pastda kutib turadi. */
  .profile-page .price-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
    /* `.price-grid` ning o'zi `align-items: start` — kartochkalar
       mazmuniga qarab har xil balandlikda tugardi. Yonma-yon turgan
       uchta tarifda bu "biri tugamagan" degan taassurot berardi. */
    align-items: stretch;
  }
  .profile-page .price-card { border-radius: var(--radius-m); }
  /* Kartochka salgina UZUNROQ: ilgari ichki bo'shliq juda kichik edi
     va uchta kartochka kvadratga yaqin, siqilgan ko'rinardi. Tik
     shakl esa "tarif" degan tushunchaga tanishroq. */
  .profile-page .price-card-body {
    padding: var(--sp-4) var(--sp-2) var(--sp-3);
    gap: var(--sp-3);
  }
  .profile-page .price-card h3 { font-size: var(--fs-xs); line-height: 1.25; }
  .profile-page .price-card .price-card-body > .small,
  .profile-page .price-card .plan-variant > .small,
  .profile-page .price-card .price-save,
  .profile-page .price-card .plan-toggle .cut,
  .profile-page .price-card .price-features { display: none; }

  .profile-page .price-amount { gap: 0; }
  .profile-page .price-amount b { font-size: var(--fs-base); }
  .profile-page .price-amount span { font-size: 9px; }

  /* Muddat almashtirgichi — ikkita tugma ustma-ust. Yonma-yon
     turganda ikkalasiga 50 px dan qolib, yozuvi kesilardi. */
  .profile-page .plan-toggle { flex-direction: column; gap: 2px; padding: 2px; }
  .profile-page .plan-toggle button {
    width: 100%;
    min-height: 24px;
    padding: 0 var(--sp-1);
    font-size: 10px;
  }

  .profile-page .price-card .btn {
    min-height: 32px;
    padding: 0 var(--sp-1);
    font-size: 10.5px;
    white-space: normal;
    line-height: 1.15;
  }
  .profile-page .price-ribbon { font-size: 8.5px; padding: 2px var(--sp-2); }
  .profile-page .price-state { font-size: 10px; }

  /* Umumiy ro'yxat — kartochkalar ostida, bitta marta. */
  .profile-page .price-shared-features {
    display: block;
    border: 1px solid var(--line-soft);
    border-radius: var(--radius-m);
    background: var(--surface);
  }

  .profile-tabs { gap: var(--sp-6); }

  /* Nom va qiymat ustma-ust va ZICH: 170 px li ustun tor ekranda
     qiymatga joy qoldirmasdi, keng bo'shliq esa yetti qatorni butun
     ekranga cho'zib yuborardi. */
  .info-row {
    grid-template-columns: 1fr;
    gap: 0;
    padding: var(--sp-2) 0;
  }
  .info-row dt { font-size: var(--fs-xs); }
  .info-row dd { font-size: var(--fs-sm); }

  .link-tile { padding: var(--sp-4); }
  /* Telefonda izoh BIR QATORGA sig'maydi va uch nuqta bilan kesilardi
     ("holati, de…") — ya'ni jumla umuman o'qilmasdi. Tor ekranda u
     o'raladi va ikki qatorgacha ko'rinadi. */
  .lt-text span {
    white-space: normal;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
  }
}
