/* Home page — frame homepage[1:2] / mobile-homepage[56:4].
 * The hero lives in components.css: every page draws the same one. */


/* ── next to jump (homepage[3:178]) ───────────────────────────────────── */
.jump__inner { display: flex; gap: var(--space-32); align-items: flex-start; }
.jump__left { flex: 1 1 760px; min-width: 0; display: flex; flex-direction: column; gap: var(--space-24); }
.jump__photo { flex: 0 1 528px; min-width: 0; border-radius: var(--radius-sm); overflow: hidden; }
.jump__photo img { width: 100%; height: 515px; object-fit: cover; }

.schedule {
  border-radius: var(--radius-sm);
  box-shadow: inset 0 0 0 1px var(--color-border);
}
.schedule > li + li { border-top: 1px solid var(--color-border); }
.race { display: flex; align-items: center; gap: var(--space-16); padding: var(--space-20); }
.race__no {
  flex: none; width: 56px; height: 56px; border-radius: var(--radius-sm);
  background: var(--color-lime); color: var(--color-ink);
  display: grid; place-items: center;
  font-size: var(--fs-title); line-height: 28px; font-weight: 800;
}
.race__meta { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: var(--space-2); }
/* 3:188 «R4 • Thoroughbred» в макете 0.7 */
.race__type { font-size: var(--fs-2xs); line-height: 15.12px; opacity: .7; }
.race__track { font-size: var(--fs-body); line-height: 20px; font-weight: 800; }
.race__side { flex: none; display: flex; flex-direction: column; align-items: flex-end; gap: var(--space-6); }
.race__time { font-size: var(--fs-small); line-height: 18px; font-weight: 800; }
.race__link { font-size: var(--fs-xs); line-height: 16.38px; color: var(--color-violet); }
@media (max-width: 1199px) {
  /* 56:197: на мобильном ссылка короче — «View →», 11/14 */
  .race__link-word { display: none; }
  .race__link { font-size: var(--fs-3xs); line-height: 14px; }
}

/* ── sports directory (homepage[3:224]) ───────────────────────────────── */
.directory__inner { display: flex; flex-direction: column; gap: var(--space-32); }
.directory__grid {
  display: grid; grid-template-columns: repeat(2, 1fr);
  gap: var(--space-16) var(--space-20);
}
.cat {
  display: flex; align-items: center; gap: var(--space-16);
  padding: var(--space-24); border-radius: var(--radius-sm);
  text-decoration: none; min-height: 98px;
  background: var(--color-bg); color: var(--color-ink);
  box-shadow: inset 0 0 0 1px var(--color-border);
}
.cat__num { flex: none; font-size: var(--fs-h4); line-height: 50.4px; font-weight: 800; }
.cat__body { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: var(--space-4); }
.cat__name { font-size: var(--fs-subtitle); line-height: 25px; font-weight: 800; }
.cat__note { font-size: var(--fs-xs); line-height: 16.38px; }
.cat__arrow { flex: none; width: 20px; text-align: center; font-weight: 800; }
.cat--violet { background: var(--color-violet); color: #fff; box-shadow: none; }
.cat--lime { background: var(--color-lime); box-shadow: none; }
.cat--dark { background: var(--color-ink); color: #fff; box-shadow: none; }
.cat:hover { translate: 0 -2px; box-shadow: var(--shadow-card); }
.cat:hover .cat__arrow { translate: 4px 0; }

@media (max-width: 1199px) {
  .markets__inner, .directory__inner { gap: var(--space-24); }
  .markets__body { flex-direction: column; gap: var(--space-24); }
  .markets__body .board, .markets__body .slip { width: 100%; flex: 1 1 auto; }

  .jump__inner { flex-direction: column; gap: var(--space-24); }
  .jump__left, .jump__photo { width: 100%; flex: 1 1 auto; }
  .jump__photo img { height: 240px; }
  .race { padding: var(--space-12); gap: var(--space-10); }
  .race__no { width: 44px; height: 44px; font-size: var(--fs-lg); line-height: 23px; }
  .race__track { font-size: var(--fs-body-sm); line-height: 19px; }

  .directory__grid { grid-template-columns: 1fr; gap: var(--space-10); }
  .directory__inner { gap: var(--space-24); }
  /* mobile-homepage[56:237]: card 67 high — 16 padding, 22/28 numeral,
     name 16/20 over note 12/15 with a 2px gap, row gap 12, list gap 10 */
  .cat { padding: var(--space-16); min-height: 0; gap: var(--space-12); }
  .cat__num { font-size: var(--fs-title); line-height: 28px; }
  .cat__body { gap: var(--space-2); }
  .cat__name { font-size: var(--fs-body-sm); line-height: 19px; }
  .cat__note { font-size: var(--fs-3xs); line-height: 14px; }
}

/* ── the home frame belongs to the OTHER mobile group ─────────────────────
 * The mockup draws the shared blocks in two variants. The shared CSS follows
 * the majority (10 frames of 14): strip 51/44, RG band 837, footer 1035 with
 * the payments block above the copyright. mobile-homepage[56:295] is drawn the
 * other way — strip 49, RG band 716, footer 934, copyright above payments —
 * so the home page restores its own numbers here.
 */
@media (max-width: 1199px) {
  /* utility strip 49: gap 6, warning 11/14.3, links 10/13 (mobile-homepage[56:5]) */
  .u-strip { font-size: var(--fs-3xs); line-height: 14.3px; }
  .u-strip__inner { gap: var(--space-6); }
  .u-strip__links { font-size: var(--fs-micro); line-height: 13px; gap: var(--space-8); }

  /* RG band 716 (mobile-homepage[56:273]): pad 40, header gap 6, card pad 16 */
  .rg-band { padding-block: var(--section-y-m); }
  .rg-band__intro { gap: var(--space-6); max-width: none; }
  .rg-band__title { gap: var(--space-6); }
  .rg-cards { gap: var(--space-12); }
  .rg-card { padding: var(--space-16); }
  .rg-card__num { font-size: var(--fs-title); line-height: 28px; }
  .rg-card__title { font-size: var(--fs-body-sm); line-height: 19px; }
  .rg-card__link { font-size: var(--fs-2xs); line-height: 15.12px; }

  /* footer 934 (mobile-homepage[56:295]): pad 40, copyright above payments */
  .site-footer { padding-block: var(--space-40); }
  .footer-brand { gap: var(--space-10); }
  .footer-divider--mobile { display: none; }
  .footer-bottom { order: 1; }
  .footer-pay { order: 2; }
}
