.racing-section {
  margin: 1.25rem 0;
  padding: 1.2rem;
  background: #fff;
  border: 1px solid #dce4ee;
  border-radius: 1rem;
  box-shadow: 0 8px 24px #173d6c0d;
}
.racing-section-title {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1rem;
  padding-bottom: .8rem;
  border-bottom: 2px solid #e7edf4;
}
.racing-section-title h2,.racing-section-title p { margin: 0; }
.racing-section-title span {
  display: block;
  margin-bottom: .2rem;
  color: #9a6c00;
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.racing-section-title p { color: #69788a; font-size: .85rem; }
.racing-forecast { border-top: 5px solid #d7a62a; }
.forecast-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .65rem; }
.forecast-card {
  display: grid;
  grid-template-columns: auto minmax(0,1fr) auto;
  align-items: center;
  gap: .75rem;
  padding: .8rem;
  background: #fbf8ef;
  border: 1px solid #eadcae;
  border-radius: .75rem;
}
.forecast-rank { position: relative; display: flex; align-items: center; justify-content: center; width: 3rem; height: 3rem; color: #fff; background: #153d73; border-radius: 50%; }
.forecast-rank small { position: absolute; top: -.35rem; left: -.35rem; display: grid; place-items: center; width: 1.25rem; height: 1.25rem; color: #153d73; background: #f3c94e; border-radius: 50%; font-weight: 950; }
.forecast-rank strong { font-size: 1.2rem; }
.forecast-horse small { display: block; margin-top: .15rem; color: #69788a; }
.forecast-data { display: flex; gap: .7rem; }
.forecast-data span { display: flex; flex-direction: column; color: #69788a; font-size: .68rem; text-align: center; }
.forecast-data b { color: #153d73; font-size: .9rem; }
.forecast-card>p { grid-column: 2/-1; margin: 0; padding-top: .45rem; border-top: 1px solid #eadcae; color: #48596c; font-size: .78rem; line-height: 1.4; }
.racing-layout { margin-top: 1.25rem; }
.runners-section { margin-top: 0; }
@media (max-width:900px) {
  .forecast-grid { grid-template-columns: 1fr; }
  .racing-section-title { align-items: start; flex-direction: column; }
}
@media (max-width:560px) {
  .forecast-card { grid-template-columns: auto 1fr; }
  .forecast-data { grid-column: 2; }
  .forecast-card>p { grid-column: 1/-1; }
}
