/* Restoranlar / to'yxonalar ro'yxati */
.catalog-head { display: flex; align-items: flex-end; justify-content: space-between; gap: var(--sp-4); flex-wrap: wrap; margin-bottom: var(--sp-6); }
.biz-card .card-body { gap: var(--sp-1); }
.biz-card .name { font-family: var(--font-display); font-size: var(--fs-md); font-weight: 600; }
.biz-card .meta { display: flex; align-items: center; gap: var(--sp-2); flex-wrap: wrap; font-size: var(--fs-sm); color: var(--ink-soft); }
.biz-card .foot { display: flex; align-items: center; justify-content: space-between; gap: var(--sp-2); margin-top: var(--sp-2); }

/* O'RIN nishoni — sharhlardagi yulduzlar yig'indisi bo'yicha tartib.

   Oltin rang ataylab: bu joyning yutug'i, oddiy ma'lumot emas.
   Raqam monoshriftda — ikki xonali o'rin ("12-o'rin") bir xonalisi
   bilan bir xil kenglikda tursin va kartochkalar qatorida sakramasin. */
.rank-tag {
  display: inline-flex; align-items: center; gap: 2px;
  padding: var(--sp-1) var(--sp-3); border-radius: var(--radius-pill);
  /* `--theme-accent-dark` emas: tungi rejimda to'q aksent qorong'i
     fonda 2.6 kontrast berardi va o'rin nishoni ko'rinmay qolardi. */
  background: var(--theme-accent-dim); color: var(--on-accent-dim);
  font-size: var(--fs-xs); font-weight: 800;
  font-variant-numeric: tabular-nums; white-space: nowrap;
}

/* To'yxona kartochkasidagi ikkita raqam: sig'im va bir kunlik ijara.
   Ular reyting qatoridan PASTDA — kartochkaning asosiy yozuvi nom va
   o'rin bo'lib qolishi kerak. */
.biz-card .facts {
  margin-top: var(--sp-1); font-size: var(--fs-xs); color: var(--ink-soft);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.biz-card-media { position: relative; }
/* Nishonning foni HAR DOIM oq (u rasm ustida turadi), shuning uchun
   matni ham har doim to'q bo'lishi kerak. Ilgari rang ko'rsatilmagan edi
   va mavzudan meros olardi: tungi rejimda oq fon ustida oq raqam chiqib,
   reyting umuman ko'rinmay qolardi. */
.biz-card-media .rating-badge {
  position: absolute; top: var(--sp-3); right: var(--sp-3);
  display: inline-flex; align-items: center; gap: var(--sp-1);
  background: rgba(255,255,255,.94); color: var(--ink-on-light);
  border-radius: var(--radius-pill);
  padding: var(--sp-1) var(--sp-3); font-size: var(--fs-xs); font-weight: 800;
  box-shadow: 0 1px 4px rgba(0,0,0,.18);
}
.biz-card-media .rating-badge .star,
.biz-card-media .rating-badge .ico { color: var(--gold-ink); }
.biz-card-media .distance-badge {
  position: absolute; bottom: var(--sp-3); left: var(--sp-3);
  background: rgba(11,59,46,.85); color: var(--white);
  border-radius: var(--radius-pill); padding: var(--sp-1) var(--sp-3);
  font-size: var(--fs-xs); font-weight: 700;
}
