/* Layout */
.race-dir { display:grid; grid-template-columns:320px 1fr; gap:28px; }
@media (max-width: 900px){ .race-dir { grid-template-columns:1fr; } }

/* Sidebar */
.race-dir__filters { position:sticky; top:16px; align-self:start; height:fit-content; }
@media (min-width:783px){ body.admin-bar .race-dir__filters{ top:48px; } }
@media (max-width:900px){ .race-dir__filters{ position:static; } }

.rdf-head{ margin-bottom:10px; }
.rdf-head strong{ font-size:18px; }
.rdf-sub{ font-size:12px; color:#64748b; }
.rdf-form{ display:flex; flex-direction:column; gap:12px; }

.rdf-group{ display:flex; flex-direction:column; gap:6px; }
.rdf-group.small{ max-width:150px; }
.rdf-label{
  background:#f97316; color:#fff; font-weight:800; letter-spacing:.5px;
  padding:10px 12px; border-radius:10px;
  text-transform:uppercase; font-size:12px;
}
.rdf-input,.rdf-select{
  width:100%; padding:12px 12px; border:1px solid #e5e7eb; border-radius:10px; background:#f8fafc;
}
.rdf-row2{ display:flex; gap:12px; flex-wrap:wrap; }
.rdf-submit{
  background:#f97316; color:#fff; border:0; padding:12px; border-radius:12px;
  font-weight:800; cursor:pointer; width: fit-content;
}
.rdf-submit:hover{ filter:brightness(.95); }

/* List rows */
.race-dir__list{ display:flex; flex-direction:column; gap:14px; }
.race-row{
  display:grid; grid-template-columns:64px 1fr 28px; gap:12px; align-items:center;
  padding:14px; border:1px solid #eef1f5; background:#fff; border-radius:12px;
  box-shadow:0 2px 8px rgba(0,0,0,.04);
}
.rr-date{ width:64px; height:64px; border:1px solid #e5e7eb; border-radius:10px; background:#f8fafc;
  display:flex; flex-direction:column; align-items:center; justify-content:center; }
.rr-day{ font-size:22px; font-weight:800; line-height:1; }
.rr-mon{ margin-top:4px; font-size:10px; font-weight:800; padding:2px 5px; background:#0f172a; color:#fff; border-radius:6px; }
.rr-title{ margin:0 0 4px; font-size:18px; margin-bottom: 0 !important; line-height: 27px !important; font-size: 25px !important; }
.rr-title a{ color:#0f172a; text-decoration:none; font-size:25px !important; line-height: 27px !important; }
.rr-title a:hover{ text-decoration:underline; }
.rr-meta{ display:flex; gap:16px; color:#475569; font-size:14px; flex-wrap:wrap; }
.rr-loc::before{ content:"📍 "; }
.rr-price::before{ content:"⚡ "; }
.rr-go a{ font-size:28px; text-decoration:none; color:#f97316; }

.race-pager{ margin-top:14px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; color:#475569; }
.rp-btn{ display:inline-block; padding:8px 12px; border:1px solid #dbe3f0; border-radius:10px; text-decoration:none; }


/* === Single Race (builds on your list styles) === */

.race-single { max-width: 1000px; margin: 50px auto; padding: 0 16px; }
h1.main-page-title {
    font-size: 45px;
    line-height: 50px;
}
.race-card {
  margin-bottom: 18px;
}
.race-card__row{
  display:grid;
  grid-template-columns:64px 1fr auto;
  gap:12px;
  align-items:center;
  padding:14px;
  border:1px solid #eef1f5;
  background:#fff;
  border-radius:12px;
  box-shadow:0 2px 8px rgba(0,0,0,.04);
}
@media (max-width: 720px){
  .race-card__row{
    grid-template-columns:64px 1fr;
  }
  .race-card__cta{ grid-column: 1 / -1; }
}
.race-card__main .rr-title{ margin:0 0 6px; font-size:22px; }
.race-card__main .rr-meta{ display:flex; gap:16px; color:#475569; font-size:14px; flex-wrap:wrap; }
.rr-addr::before{ content:"🧭 "; }
.rr-web{
  background:#0b5fff; color:#fff; text-decoration:none;
  padding:4px 10px; border-radius:8px; font-weight:700;
}
.btn-primary{
  display:inline-block; background:#f97316; color:#fff; text-decoration:none;
  padding:10px 14px; border-radius:12px; font-weight:800;
}
.btn-primary:hover{ filter:brightness(.95); }

.race-body{
  display:grid; grid-template-columns:1fr; gap:16px;
}
.race-content{
  padding:14px; border:1px solid #eef1f5; background:#fff; border-radius:12px;
  box-shadow:0 2px 8px rgba(0,0,0,.04);
}
.race-section-title{
  margin:0 0 10px; font-size:24px; text-transform:uppercase;
  color:#111011; font-weight:800; letter-spacing:.5px;
  padding:10px 12px; display:inline-block; font-family: 'Teko',sans-serif;
}

/* Distances table – follows your minimalist table look */
.race-table{
  width:100%; border-collapse:collapse; background:#fff;
  border:1px solid #eef1f5; border-radius:12px; overflow:hidden;
  box-shadow:0 2px 8px rgba(0,0,0,.04);
}
.race-table th, .race-table td{
  padding:12px; border-bottom:1px solid #eef1f5; text-align:left;
}
.race-table thead th{
  background:#f8fafc; font-weight:800; color:#0f172a;
}
.race-table tr:last-child td{ border-bottom:0; }

.home-races .race-pager{
  display: none;
}
a.website-button {
    background: #e74e12;
    color: #ffffff;
    padding: 5px 20px;
    margin-top: 30px;
    display: inline-block;
    font-size: 18px;
    font-weight: 500;
    border-radius: 10px;
}
.rdf-actions { display:flex; gap:.75rem; align-items:center; margin-top:.75rem; }
.rdf-reset {
 border: 0;
  padding: 5px 20px;
  border-radius: 12px;
  font-weight: 500;
  cursor: pointer;
  width: fit-content;background:#f9fafb;   
}
.rdf-reset:hover { background:#f3f4f6; }