/* ==========================================================================
   Readybet.co — Racing page
   Desktop frame 1440 (content 1312), mobile frame 390.
   Figma "INSIDE" strokes are rendered with outline/outline-offset so that
   paddings stay exactly as in the design.
   ========================================================================== */

.page-racing { --line-3: #eadcc9; }

.eyebrow { font: 800 13px/17px var(--f-body); letter-spacing: 1.5px; color: var(--orange); }
.section-title { font: 700 32px/43px var(--f-head); color: var(--ink); }
.rule { height: 0; border: 0; border-top: 1px solid var(--line); margin: 0 0 -1px; }

/* Masthead ----------------------------------------------------------------- */
.masthead { display: flex; align-items: center; gap: 64px; padding: 40px var(--gutter); }
.masthead__text { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 20px; }
.masthead__title { font: 700 72px/68px var(--f-head); letter-spacing: -2px; color: var(--ink); }
.masthead__lead { font: 400 16px/26px var(--f-body); color: var(--muted); }
.masthead__img { position: relative; flex: 0 0 512px; width: 512px; height: 340px; border-radius: 24px; overflow: hidden; background: var(--sand); }
.masthead__img img { width: 100%; height: 100%; object-fit: cover; }
.masthead__caption { display: none; }

/* Next to jump ------------------------------------------------------------- */
.ntj { display: flex; flex-direction: column; gap: 24px; padding: 32px var(--gutter) 40px; }
.ntj__head { display: grid; grid-template-columns: auto auto minmax(0, 1fr); grid-template-areas: "title live all"; column-gap: 12px; align-items: center; }
.ntj__title { grid-area: title; font: 700 28px/38px var(--f-head); color: var(--ink); }
.ntj__live { grid-area: live; background: var(--ink); color: var(--yellow); border-radius: 4px; padding: 4px 10px; font: 700 11px/14px var(--f-body); white-space: nowrap; }
.ntj__sub { display: none; grid-area: sub; font: 400 11px/14px var(--f-body); color: var(--muted); }
.ntj__all { grid-area: all; justify-self: end; font: 700 13px/17px var(--f-body); color: var(--orange); white-space: nowrap; }
.ntj__rail { position: relative; padding: 8px 0; }
.ntj__rail::before { content: ""; position: absolute; left: 0; right: 0; top: 52px; height: 4px; border-radius: 2px; background: var(--line); }
.ntj__list { position: relative; display: flex; gap: 16px; }
.ntj__item { flex: 1 1 0; min-width: 0; display: flex; }
.ntj-card {
  flex: 1 1 auto; min-width: 0; height: 147px; display: flex; flex-direction: column; gap: 10px; padding: 20px;
  background: var(--white); border-radius: 16px; outline: 1px solid var(--line); outline-offset: -1px;
  transition: box-shadow .15s ease;
}
.ntj-card:hover { box-shadow: 0 8px 16px rgba(28, 20, 14, .06); }
.ntj-card.is-active { background: var(--yellow); outline: 2px solid var(--orange); outline-offset: -2px; box-shadow: 0 8px 16px rgba(242, 92, 5, .13); }
.ntj-card__head { display: flex; justify-content: space-between; align-items: center; height: 54px; }
.ntj-card__time { font: 700 40px/54px var(--f-head); color: var(--orange); white-space: nowrap; }
.ntj-card.is-active .ntj-card__time, .ntj-card--ink .ntj-card__time { color: var(--ink); }
.ntj-card__type { background: var(--sand); color: var(--ink); border-radius: 3px; padding: 2px 6px; font: 900 9px/12px var(--f-body); white-space: nowrap; }
.ntj-card.is-active .ntj-card__type { background: var(--orange); color: var(--white); }
.ntj-card__body { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.ntj-card__name { font: 700 18px/24px var(--f-head); color: var(--ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ntj-card__race { font: 400 13px/17px var(--f-body); color: var(--muted); }
.ntj-card.is-active .ntj-card__race { color: var(--ink); opacity: .8; }

/* Sportsbook layout -------------------------------------------------------- */
.book { display: grid; grid-template-columns: minmax(0, 1fr) 411px; gap: 24px; align-items: start; padding: 16px calc(var(--gutter) + 13px) 64px var(--gutter); }
.book__main { display: flex; flex-direction: column; gap: 24px; min-width: 0; }

/* Selected race card */
.race { display: flex; flex-direction: column; gap: 20px; padding: 24px; background: var(--white); border-radius: 16px; outline: 1px solid var(--line); outline-offset: -1px; }
.race__details { display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "title badge" "meta badge"; row-gap: 4px; column-gap: 16px; align-items: center; }
.race__title { grid-area: title; font: 700 28px/38px var(--f-head); color: var(--ink); }
.race__meta { grid-area: meta; font: 400 13px/17px var(--f-body); color: var(--muted); }
.race__prize { grid-area: badge; align-self: center; background: var(--sky); color: var(--ink); border-radius: 4px; padding: 6px 12px; font: 800 12px/16px var(--f-body); white-space: nowrap; }
.race__tabs-row { display: flex; align-items: center; gap: 16px; }
.race__tabs-label { font: 700 14px/19px var(--f-head); letter-spacing: 1px; text-transform: uppercase; color: var(--muted); white-space: nowrap; }
.race__tabs { flex: 1 1 auto; min-width: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.race-pill { background: var(--sand); color: var(--ink); border-radius: 8px; padding: 8px 16px; font: 700 13px/17px var(--f-body); transition: background-color .15s ease, color .15s ease; }
.race-pill:hover { background: var(--cream); }
.race-pill.is-active { background: var(--orange); color: var(--white); }
.market-tabs { display: flex; gap: 8px; }
.market-tab { padding: 8px 16px; font: 700 13px/17px var(--f-body); color: var(--muted); box-shadow: inset 0 -3px 0 transparent; transition: color .15s ease, box-shadow .15s ease; }
.market-tab:hover { color: var(--ink); }
.market-tab.is-active { color: var(--orange); box-shadow: inset 0 -3px 0 var(--orange); }

/* Runners table */
.runners { background: var(--white); border-radius: 16px; overflow: hidden; outline: 1px solid var(--line); outline-offset: -1px; }
.runners__head {
  display: grid; grid-template-columns: 30px minmax(0, 1fr) 80px 60px 60px 110px 110px; gap: 12px; align-items: center;
  height: 42px; padding: 14px 20px; background: var(--sand); box-shadow: inset 0 -1px 0 var(--line);
  font: 700 11px/14px var(--f-body); color: var(--ink);
}
.runners__c { text-align: center; }
.runner {
  display: grid; grid-template-columns: minmax(0, 1fr) 80px 60px 60px 110px 110px; gap: 12px; align-items: center;
  height: 70px; padding: 16px; background: var(--paper); box-shadow: inset 0 -1px 0 var(--line);
}
.runner:nth-child(odd) { background: var(--white); }
.runner__info { display: flex; align-items: center; gap: 12px; min-width: 0; }
.runner__no { flex: 0 0 24px; width: 24px; height: 24px; border-radius: 50%; background: var(--ink); color: var(--white); display: inline-flex; align-items: center; justify-content: center; font: 800 10px/13px var(--f-body); }
.runner.is-picked .runner__no { background: var(--orange); }
.runner__names { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.runner__name { font: 700 14px/18px var(--f-body); color: var(--ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.runner__jockey { font: 400 11px/14px var(--f-body); color: var(--muted); white-space: nowrap; }
.runner__selected { display: none; }
.runner__stats, .runner__odds { display: contents; }
.runner__form, .runner__weight { font: 400 13px/17px var(--f-body); color: var(--muted); white-space: nowrap; }
.runner__barrier { font: 400 13px/17px var(--f-body); color: var(--ink); text-align: center; }
.runner__lbl { display: none; }
.runner__stats b { font-weight: 400; color: inherit; }
.runner .odds-btn { height: 38px; padding: 10px; gap: 4px; justify-content: center; border-radius: 8px; background: var(--paper); border-color: var(--line); }
.runner .odds-btn:hover { border-color: var(--orange); }
.runner .odds-btn__lbl { display: none; }
.runner .odds-btn__price { font: 800 14px/18px var(--f-body); color: var(--orange); }
.runner .odds-btn--place .odds-btn__price { color: var(--ink); }
.runner .odds-btn__check { display: none; width: 12px; height: 12px; color: var(--white); flex: 0 0 12px; }
.runner .odds-btn.is-selected { background: var(--orange); border-color: var(--orange); }
.runner .odds-btn.is-selected .odds-btn__price { color: var(--white); }
.runner .odds-btn.is-selected .odds-btn__check { display: block; }

/* Bet slip */
.slip { position: relative; overflow: hidden; display: flex; flex-direction: column; gap: 20px; padding: 24px; background: var(--sand); border-radius: 16px; outline: 1px solid var(--line); outline-offset: -1px; }
.slip__mark { position: absolute; top: 16px; right: 20px; font: 700 120px/162px var(--f-head); color: var(--line); opacity: .5; pointer-events: none; user-select: none; }
.slip__head { position: relative; display: flex; justify-content: space-between; align-items: center; }
.slip__title { font: 700 22px/30px var(--f-head); color: var(--ink); }
.slip__count { background: var(--orange); color: var(--white); border-radius: 4px; padding: 4px 8px; font: 900 11px/14px var(--f-body); white-space: nowrap; }
.slip__body { display: contents; }
.slip__list { position: relative; display: flex; flex-direction: column; gap: 12px; }
.slip-item { display: flex; flex-direction: column; gap: 12px; padding: 15px; background: var(--white); border: 1px solid var(--line); border-radius: 8px; }
.slip-item__top { display: flex; justify-content: space-between; align-items: center; }
.slip-item__badges { display: flex; align-items: center; gap: 8px; min-width: 0; }
.slip-item__sport { background: var(--orange); color: var(--white); border-radius: 3px; padding: 2px 6px; font: 900 10px/13px var(--f-body); text-transform: uppercase; white-space: nowrap; }
.slip-item__event { font: 400 12px/16px var(--f-body); color: var(--muted); white-space: nowrap; }
.slip-item__remove { font: 700 12px/16px var(--f-body); color: var(--muted); white-space: nowrap; }
.slip-item__remove:hover { color: var(--ink); }
.slip-item__details { display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "market market" "name odds"; row-gap: 4px; column-gap: 12px; align-items: center; }
.slip-item__market { grid-area: market; font: 400 13px/17px var(--f-body); color: var(--muted); }
.slip-item__name { grid-area: name; font: 700 16px/21px var(--f-body); color: var(--ink); }
.slip-item__odds { grid-area: odds; font: 800 16px/21px var(--f-body); color: var(--orange); }
.slip__empty { position: relative; font: 400 13px/17px var(--f-body); color: var(--muted); }
.slip__stake { position: relative; display: flex; flex-direction: column; gap: 8px; }
.slip__stake-label { font: 700 12px/16px var(--f-body); color: var(--muted); }
.slip__input { display: flex; justify-content: space-between; align-items: center; gap: 8px; height: 51px; padding: 0 14px; background: var(--white); border: 1px solid var(--line); border-radius: 8px; font: 700 18px/23px var(--f-body); color: var(--ink); }
.slip__input:focus-within { border-color: var(--orange); }
.slip__input input { flex: 1 1 auto; min-width: 0; text-align: right; font: inherit; color: inherit; }
.slip__rule { position: relative; height: 0; border: 0; border-top: 1px solid var(--line); margin: 0 0 -1px; }
.slip__returns { position: relative; display: flex; justify-content: space-between; align-items: center; }
.slip__returns-label { font: 400 13px/17px var(--f-body); color: var(--muted); }
.slip__returns-value { font: 800 20px/26px var(--f-body); color: var(--ink); }
.slip__place { position: relative; height: 52px; border-radius: 600px; background: var(--ink); color: var(--white); display: flex; align-items: center; justify-content: center; font: 700 15px/20px var(--f-body); transition: filter .15s ease; }
.slip__place:hover { filter: brightness(1.25); }
.slip__place:disabled { cursor: default; background: var(--orange); }
.slip__status { position: relative; font: 400 12px/16px var(--f-body); color: var(--orange); }
.slip__note { position: relative; display: flex; flex-direction: column; gap: 4px; }
.slip__note-text { font: 400 11px/14px var(--f-body); color: var(--muted); }
.slip__note-link { font: 700 11px/14px var(--f-body); color: var(--orange); }

/* Coming up ---------------------------------------------------------------- */
.upcoming { display: flex; flex-direction: column; gap: 32px; padding: 64px var(--gutter); }
.upcoming__head { display: flex; flex-direction: column; gap: 4px; }
.upcoming__list { display: flex; flex-direction: column; gap: 12px; }
.up { display: grid; grid-template-columns: 80px 200px 150px minmax(0, 1fr) 120px; gap: 20px; align-items: center; height: 54px; padding: 15px; background: var(--white); border: 1px solid var(--line); border-radius: 12px; }
.up__a, .up__b { display: contents; }
.up__time { order: 1; font: 800 16px/21px var(--f-body); color: var(--ink); }
.up__name { order: 2; font: 700 16px/22px var(--f-head); color: var(--ink); }
.up__cat { order: 3; font: 600 13px/17px var(--f-body); color: var(--muted); }
.up__starts { order: 4; font: 600 13px/17px var(--f-body); color: var(--orange); }
.up__view { order: 5; font: 700 13px/17px var(--f-body); color: var(--orange); text-align: right; }

/* Editorial moment --------------------------------------------------------- */
.moment-wrap { padding: 0 var(--gutter) 64px; }
.moment { display: flex; height: 310px; background: var(--ink); border-radius: 24px; overflow: hidden; }
.moment__text { flex: 0 0 640px; display: flex; flex-direction: column; justify-content: center; gap: 16px; padding: 64px; }
.moment__title { font: 700 48px/50px var(--f-head); color: var(--white); }
.moment__lead { font: 400 14px/22px var(--f-body); color: var(--line); opacity: .8; }
.moment__img { flex: 1 1 auto; min-width: 0; }
.moment__img img { width: 100%; height: 100%; object-fit: cover; }

/* Responsible gambling hub (shared base + page tweaks) ---------------------- */
.page-racing .rg-hub__title { line-height: 43px; }
.page-racing .rg-hub__sub { line-height: 20px; }
.page-racing .rg-hub__grid { gap: 24px; }
.page-racing .rg-card { padding: 23px; }
.page-racing .rg-card__text { line-height: 20px; }
.page-racing .rg-card__link { line-height: 17px; }
.rg-hub__mark { font: 700 40px/54px var(--f-head); color: var(--ink); opacity: .15; }

/* ==========================================================================
   Mobile (390 frame)
   ========================================================================== */
@media (max-width: 767px) {
  .eyebrow { font: 700 12px/16px var(--f-body); letter-spacing: 1px; }
  .section-title { font: 700 26px/35px var(--f-head); }
  .rule { display: none; }

  /* Masthead */
  .masthead { flex-direction: column; align-items: stretch; gap: 12px; padding: 16px var(--mobile-gutter); }
  .masthead__text { gap: 12px; }
  .masthead__title { font: 700 40px/38px var(--f-head); letter-spacing: 0; }
  .masthead__lead { font: 400 13px/18px var(--f-body); }
  .masthead__img { flex: none; width: auto; height: 200px; border-radius: 12px; }
  .masthead__caption { display: block; position: absolute; left: 16px; top: 16px; white-space: nowrap; font: 700 22px/30px var(--f-head); color: var(--paper); }

  /* Next to jump */
  .ntj { gap: 16px; padding: 20px 0 24px; }
  .ntj__head { grid-template-columns: auto auto minmax(0, 1fr); grid-template-areas: "title title all" "live sub sub"; column-gap: 6px; row-gap: 6px; padding: 0 var(--mobile-gutter); }
  .ntj__title { font: 700 22px/30px var(--f-head); }
  .ntj__live { justify-self: start; padding: 2px 6px; font: 700 10px/13px var(--f-head); }
  .ntj__sub { display: block; justify-self: start; }
  .ntj__all { font: 700 12px/16px var(--f-body); }
  .ntj__rail { padding: 0; }
  .ntj__rail::before { display: none; }
  .ntj__list { gap: 10px; padding: 0 var(--mobile-gutter); overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
  .ntj__list::-webkit-scrollbar { display: none; }
  .ntj__item { flex: 0 0 130px; }
  .ntj-card { height: 120px; gap: 6px; padding: 12px; border-radius: 8px; }
  .ntj__item:nth-child(n+4) .ntj-card { background: var(--paper); }
  .ntj-card.is-active { outline: 1.5px solid var(--orange); outline-offset: -1.5px; }
  .ntj-card__head { flex-direction: column; align-items: flex-start; gap: 6px; height: auto; }
  .ntj-card__time { font: 700 24px/32px var(--f-head); }
  .ntj-card--ink .ntj-card__time { color: var(--orange); }
  .ntj-card.is-active .ntj-card__time { color: var(--ink); }
  .ntj-card__type, .ntj-card.is-active .ntj-card__type { background: none; padding: 0; border-radius: 0; font: 700 10px/13px var(--f-body); color: var(--ink); }
  .ntj-card__body { gap: 6px; }
  .ntj-card__name { font: 700 14px/19px var(--f-head); }
  .ntj-card__race { font: 400 11px/14px var(--f-body); }
  .ntj-card.is-active .ntj-card__race { color: var(--muted); opacity: 1; }

  /* Sportsbook: stacked */
  .book { display: flex; flex-direction: column; align-items: stretch; gap: 0; padding: 0; }
  .book__main { gap: 0; }

  .race { gap: 0; padding: 0; background: none; border-radius: 0; outline: 0; }
  .race__details { grid-template-areas: "title badge" "meta meta"; row-gap: 8px; column-gap: 8px; padding: 16px; background: var(--paper); outline: 1px solid var(--line-3); outline-offset: -1px; }
  .race__title { font: 700 24px/32px var(--f-head); }
  .race__prize { font: 700 11px/15px var(--f-head); padding: 4px 8px; }
  .race__tabs-row { gap: 12px; padding: 12px var(--mobile-gutter); }
  .race__tabs-label { color: var(--ink); letter-spacing: 0; }
  .race__tabs { flex-wrap: nowrap; gap: 6px; overflow-x: auto; scrollbar-width: none; }
  .race__tabs::-webkit-scrollbar { display: none; }
  .race-pill { flex: 0 0 36px; width: 36px; height: 36px; padding: 0; border-radius: 18px; display: inline-flex; align-items: center; justify-content: center; background: var(--white); outline: 1px solid var(--line-3); outline-offset: -1px; font: 700 12px/16px var(--f-head); }
  .race-pill.is-active { background: var(--orange); outline-color: var(--orange); }
  .market-tabs { gap: 8px; padding: 0 var(--mobile-gutter) 8px; }
  .market-tab { flex: 1 1 0; height: 40px; padding: 0; display: inline-flex; align-items: center; justify-content: center; border-radius: 6px; background: var(--white); outline: 1px solid var(--line-3); outline-offset: -1px; box-shadow: none; font: 700 13px/18px var(--f-head); letter-spacing: .5px; }
  .market-tab.is-active { background: var(--ink); color: var(--white); outline: 0; box-shadow: none; }

  /* Runners as cards */
  .runners { display: flex; flex-direction: column; gap: 8px; padding: 16px; background: none; border-radius: 0; outline: 0; overflow: visible; }
  .runners__head { display: none; }
  .runner, .runner:nth-child(odd) { display: flex; flex-direction: column; align-items: stretch; gap: 10px; height: 140px; padding: 12px; background: var(--paper); border-radius: 12px; outline: 1px solid var(--line-3); outline-offset: -1px; box-shadow: none; }
  .runner.is-picked { outline: 2px solid var(--orange); outline-offset: -2px; }
  .runner__info { gap: 8px; }
  .runner__no { font: 700 12px/16px var(--f-head); }
  .runner__name { font: 700 15px/20px var(--f-head); }
  .runner__selected { margin-left: auto; background: rgba(242, 92, 5, .1); color: var(--orange); border-radius: 4px; padding: 2px 6px; font: 600 10px/13px var(--f-body); white-space: nowrap; }
  .runner.is-picked .runner__selected { display: inline-block; }
  .runner__stats { display: flex; justify-content: space-between; align-items: flex-start; padding: 4px 0; }
  .runner__form, .runner__barrier, .runner__weight { font: 400 11px/14px var(--f-body); color: var(--muted); text-align: left; }
  .runner__lbl { display: inline; }
  .runner__stats b { font-weight: 600; color: var(--ink); }
  .runner__odds { display: flex; gap: 8px; }
  .runner .odds-btn { flex: 1 1 0; height: 38px; padding: 0; gap: 6px; border-radius: 6px; background: var(--white); border-color: var(--line-3); }
  .runner .odds-btn__lbl { display: inline; font: 500 12px/16px var(--f-body); color: var(--muted); }
  .runner .odds-btn--place .odds-btn__lbl { font-weight: 400; }
  .runner .odds-btn__price, .runner .odds-btn--place .odds-btn__price { font: 700 14px/19px var(--f-head); color: var(--ink); }
  .runner .odds-btn.is-selected .odds-btn__lbl { color: var(--white); font-weight: 700; }

  /* Bet slip */
  .slip { gap: 12px; padding: 16px; border-radius: 0; outline: 0; }
  .slip__mark { display: none; }
  .slip__count { padding: 4px 8px; font: 700 11px/15px var(--f-head); }
  .slip__body { display: flex; flex-direction: column; gap: 12px; padding: 12px; background: var(--paper); border-radius: 12px; outline: 1px solid var(--line-3); outline-offset: -1px; }
  .slip-item { gap: 12px; padding: 0 0 12px; background: none; border: 0; border-radius: 0; box-shadow: 0 1px 0 var(--line-3); }
  .slip-item__top { padding-bottom: 12px; box-shadow: 0 1px 0 var(--line-3); }
  .slip-item__badges { gap: 6px; }
  .slip-item__sport { background: var(--ink); border-radius: 3px; padding: 2px 4px; font: 700 10px/13px var(--f-head); }
  .slip-item__remove { font: 600 11px/14px var(--f-body); }
  .slip-item__details { grid-template-areas: "market odds" "name odds"; row-gap: 2px; }
  .slip-item__market { font: 400 11px/14px var(--f-body); }
  .slip-item__name { font: 700 15px/20px var(--f-head); }
  .slip-item__odds { align-self: center; font: 700 18px/24px var(--f-head); }
  .slip__stake { flex-direction: row; justify-content: space-between; align-items: center; height: 32px; }
  .slip__stake-label { font: 700 11px/14px var(--f-body); color: var(--ink); }
  .slip__input { width: 100px; height: 32px; padding: 0 8px; gap: 4px; justify-content: flex-end; border-color: var(--line-3); border-radius: 6px; font: 700 14px/19px var(--f-head); }
  .slip__input input { flex: 0 1 auto; width: 36px; }
  .slip__returns { height: 31px; padding-top: 4px; }
  .slip__returns-label { font: 400 12px/16px var(--f-body); }
  .slip__returns-value { font: 700 20px/27px var(--f-head); }
  .slip__note { flex-direction: row; justify-content: center; align-items: flex-start; gap: 4px; padding-top: 4px; }
  .slip__note-link { font-weight: 600; }

  /* Coming up */
  .upcoming { gap: 12px; padding: 16px; }
  .upcoming__head { gap: 12px; }
  .upcoming__list { gap: 8px; }
  .up { display: flex; flex-direction: column; align-items: stretch; gap: 8px; height: 68px; padding: 12px; border: 0; outline: 1px solid var(--line-3); outline-offset: -1px; }
  .up__a, .up__b { display: flex; align-items: center; gap: 8px; }
  .up__a { height: 22px; }
  .up__b { height: 14px; justify-content: space-between; }
  .up__time { font: 700 16px/22px var(--f-head); }
  .up__name { margin-right: auto; font: 700 14px/19px var(--f-head); }
  .up__starts { font: 700 11px/14px var(--f-body); white-space: nowrap; }
  .up__cat { font: 400 11px/14px var(--f-body); }
  .up__view { font: 600 11px/14px var(--f-body); }

  /* Editorial moment */
  .moment-wrap { padding: 16px; }
  .moment { flex-direction: column; height: auto; gap: 16px; padding: 20px; border-radius: 16px; }
  .moment__text { flex: none; gap: 16px; padding: 0; }
  .moment__title { font: 700 36px/34px var(--f-head); color: var(--paper); }
  .moment__lead { font: 400 13px/18px var(--f-body); color: var(--paper); }
  .moment__img { flex: none; height: 100px; border-radius: 8px; overflow: hidden; }

  /* Responsible gambling hub */
  .page-racing .rg-hub { gap: 16px; padding: 16px; }
  .page-racing .rg-hub__head { gap: 4px; }
  .page-racing .rg-hub__title { font: 700 22px/30px var(--f-head); text-transform: none; }
  .page-racing .rg-hub__sub { font: 400 14px/20px var(--f-body); color: var(--ink); opacity: 1; }
  .page-racing .rg-hub__grid { gap: 10px; }
  .page-racing .rg-card { gap: 8px; padding: 11px; background: var(--paper); border: 1px solid #e5e1d8; border-radius: 12px; }
  .page-racing .rg-card__title { font: 700 14px/19px var(--f-head); text-transform: none; }
  .page-racing .rg-card__text { font: 400 12px/16px var(--f-body); }
  .page-racing .rg-card__link { display: block; font: 700 12px/16px var(--f-body); text-transform: none; }
  .rg-hub__mark { padding: 12px 0 4px; text-align: center; font: 700 20px/27px var(--f-head); letter-spacing: 1.5px; }
}
