/* Championships results -- /results-2026 and /rbsta2/Results-audit.
   Scoped under .rs so nothing here leaks into the rest of the site. The look is the one the
   office approved on the design concept: black rules, red labels, one column width. */
.rs { --ink:#222222; --black:#111111; --red:#c2272c; --rule:#d6d6d6; --muted:#c9c9c9; --dim:#666666; --panel:#f7f7f7;
      color:var(--ink); font-size:16px; line-height:1.6; }
.rs *, .rs *::before, .rs *::after { box-sizing:border-box; }
.rs a { color:inherit; }
.rs h2 { text-transform:uppercase; letter-spacing:.02em; font-weight:800; font-size:clamp(1.5rem, 3vw, 2.2rem); margin:0; }
.rs .sec-h { margin:2.4rem 0 1.2rem; }
.rs .sec-h::after { content:""; display:block; width:56px; height:3px; background:var(--red); margin-top:.6rem; }
.rs .tbl-note { font-size:.85rem; color:var(--dim); margin:0 0 .6rem; }

/* key */
.rs .key { display:flex; flex-wrap:wrap; align-items:center; gap:.6rem 2rem; padding:.9rem 0; border-top:2px solid var(--black); border-bottom:1px solid var(--rule); font-size:.9rem; margin:1.5rem 0; }
.rs .key-k { text-transform:uppercase; letter-spacing:.16em; font-size:.66rem; font-weight:700; color:var(--red); }
.rs .key-i { color:var(--dim); }
.rs .key-plain { color:var(--ink); font-weight:600; }

/* day headings + division cards */
.rs .day { text-transform:uppercase; letter-spacing:.16em; font-size:.7rem; font-weight:700; color:var(--red); margin:1.6rem 0 .6rem; }
.rs .day:first-of-type { margin-top:0; }
.rs .res-grid { display:grid; grid-template-columns:repeat(2, 1fr); gap:1rem; }
.rs .res { display:flex; justify-content:space-between; align-items:center; gap:1rem; width:100%; text-align:left; text-decoration:none;
           background:#fff; color:var(--ink); font:inherit; font-weight:700; text-transform:uppercase; letter-spacing:.06em;
           border:1px solid var(--rule); border-left:4px solid var(--black); padding:1.1rem 1.3rem; cursor:pointer; transition:border-color .15s ease; }
.rs .res:hover { border-left-color:var(--red); }
.rs .res.on { border-left-color:var(--red); background:var(--panel); }
.rs .res-l { font-size:.68rem; letter-spacing:.16em; color:var(--dim); white-space:nowrap; }
.rs .res.on .res-l { color:var(--red); }
.rs .res.on .res-l::after { content:" \2193"; }
.rs .res-panel { scroll-margin-top:110px; }
.rs .res-panel > * + * { margin-top:1.25rem; }

/* the table */
.rs .tbl { overflow-x:auto; margin:1rem 0 1.5rem; border-top:2px solid var(--black); }
.rs table.results { width:100%; border-collapse:collapse; font-size:.88rem; background:#fff; }
.rs .results th { text-align:left; text-transform:uppercase; letter-spacing:.14em; font-size:.68rem; color:var(--red); padding:.8rem .9rem .6rem 0; border-bottom:1px solid var(--rule); white-space:nowrap; }
.rs .results td { padding:.75rem .9rem .75rem 0; border-bottom:1px solid var(--rule); vertical-align:middle; }
.rs .results td.num { font-weight:700; white-space:nowrap; font-variant-numeric:tabular-nums; }
.rs .results td.hx { font-weight:600; }
.rs .results td[data-f], .rs .results td.edit { min-width:7.5rem; }
.rs .results td[data-f]:empty::before { content:"\2014"; color:var(--muted); }
.rs .rp .home { display:block; font-size:.8rem; font-style:italic; color:var(--dim); margin-top:.1rem; }
/* a sire that is one of Riata's own stallions */
.rs .ped-l { color:var(--red); font-weight:600; text-decoration:none; border-bottom:1px solid transparent; }
.rs .ped-l:hover { border-bottom-color:var(--red); }
.rs .key-i .ped-l { border-bottom-color:var(--red); }
.rs .cell.riata { color:var(--red); font-weight:700; }

/* buttons */
.rs .btn-r { display:inline-flex; align-items:center; gap:.5rem; background:var(--red); color:#fff; border:1px solid var(--red); text-decoration:none; font:inherit; font-weight:700; text-transform:uppercase; letter-spacing:.14em; font-size:.78rem; padding:.9rem 1.6rem; min-height:48px; cursor:pointer; margin:.2rem .4rem .2rem 0; transition:background .15s ease; }
.rs .btn-r:hover { background:var(--black); border-color:var(--black); color:#fff; }
.rs .btn-r.ghost { background:transparent; color:var(--black); border-color:var(--black); }
.rs .btn-r.ghost:hover { background:var(--black); color:#fff; }
.rs .btn-r:disabled { opacity:.45; cursor:default; }
.rs .btn-r.done { background:#2d6a2d; border-color:#2d6a2d; color:#fff; }
.rs .actions { display:flex; flex-wrap:wrap; align-items:center; gap:.8rem; }
.rs .pub-msg { font-size:.9rem; color:#2d6a2d; font-weight:600; }
.rs .empty { color:var(--dim); font-style:italic; padding:1rem 0; }

/* audit page only */
.rs .audit-bar { display:flex; flex-wrap:wrap; gap:2.5rem; border-top:2px solid var(--black); border-bottom:1px solid var(--rule); padding:1.2rem 0; }
.rs .audit-k { display:block; text-transform:uppercase; letter-spacing:.16em; font-size:.66rem; color:var(--red); font-weight:700; margin-bottom:.3rem; }
.rs .audit-v { font-weight:700; }
.rs .audit-bar-act { margin-left:auto; align-self:center; }
.rs .imp { border:1px dashed var(--rule); border-left:3px solid var(--black); padding:1.3rem 1.5rem; background:var(--panel); }
.rs .imp-t { text-transform:uppercase; letter-spacing:.16em; font-size:.66rem; color:var(--red); font-weight:700; margin-bottom:.5rem; }
.rs .imp-h { margin:0; font-size:.9rem; color:var(--dim); }
.rs .imp-h input[type=file] { font:inherit; font-size:.85rem; }
.rs .imp-s { margin:.7rem 0 0; font-size:.85rem; font-weight:600; }
.rs .imp-s.good { color:#2d6a2d; }
.rs .imp-s.bad { color:var(--red); }
.rs .lk { font:inherit; font-size:.66rem; font-weight:700; text-transform:uppercase; letter-spacing:.14em; padding:.45rem .8rem; background:var(--black); color:#fff; border:0; cursor:pointer; white-space:nowrap; }
.rs .lk:hover { background:var(--red); }
.rs .lk:disabled { background:var(--dim); cursor:wait; }
.rs .lk-c { white-space:nowrap; min-width:9rem; }
.rs .lk-note { display:block; font-size:.74rem; color:var(--red); font-style:italic; margin-top:.35rem; white-space:normal; }
.rs tr.lk-busy td { color:var(--dim); }
.rs .pill { display:inline-block; font-size:.62rem; font-weight:700; text-transform:uppercase; letter-spacing:.12em; padding:.3rem .6rem; white-space:nowrap; }
.rs .pill.ok { background:#eaf3ea; color:#2d6a2d; }
.rs .pill.dup, .rs .pill.nomatch, .rs .pill.error { background:#fdeaea; color:var(--red); }
.rs .pill.edited { background:#fff1c8; color:#7a5a00; }
.rs .cell { display:block; min-width:7.5rem; min-height:1.4em; padding:.2rem .4rem; margin:-.2rem -.4rem; border-bottom:1px dashed transparent; outline:0; }
.rs .cell:empty::before { content:"\2014"; color:var(--muted); }
.rs .cell:hover, .rs .cell:focus { border-bottom-color:var(--red); background:#fff8f0; }
.rs .cell[data-empty]:empty::before { content:"type it in"; color:var(--red); font-style:italic; }
.rs .cell[data-empty][data-f=sire]:empty::before { content:"type the sire"; }
.rs .cell[data-empty][data-f=dam]:empty::before { content:"type the dam"; }
.rs .cell[data-empty][data-f=breeder]:empty::before { content:"type the breeder"; }
.rs .cell[data-empty][data-f=owner]:empty::before { content:"type the owner"; }
.rs .cell.filled { animation:rs-filled .9s ease; }
.rs .cell.saving { opacity:.6; }
@keyframes rs-filled { from { background:#fff1c8; } to { background:transparent; } }
.rs .cands { display:flex; flex-direction:column; gap:.3rem; margin-top:.4rem; }
.rs .cand { font:inherit; font-size:.72rem; text-align:left; padding:.35rem .6rem; background:#fff; border:1px solid var(--rule); border-left:3px solid var(--red); cursor:pointer; white-space:normal; }
.rs .cand:hover { background:var(--panel); }
.rs .alert-r { background:#fdeaea; color:var(--red); padding:.8rem 1rem; font-size:.9rem; margin:1rem 0; }

@media (max-width:760px) {
  .rs .res-grid { grid-template-columns:1fr; }
  .rs .audit-bar { gap:1.2rem; }
  .rs .audit-bar-act { margin-left:0; }
}

/* social graphics gallery (audit page) */
.rs .soc { margin-top:1.5rem; border-top:2px solid var(--black); padding-top:1rem; }
.rs .soc-h { display:flex; flex-wrap:wrap; gap:.4rem 1.2rem; align-items:baseline; margin-bottom:1rem; }
.rs .soc-n { font-size:.85rem; color:var(--dim); }
.rs .soc-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(240px, 1fr)); gap:1.2rem; }
.rs .soc-card img { width:100%; height:auto; display:block; border:1px solid var(--rule); background:#111; }
.rs .soc-cap { display:flex; flex-wrap:wrap; gap:.2rem .8rem; align-items:baseline; font-size:.8rem; margin-top:.5rem; }
.rs .soc-cap b { font-weight:700; }
.rs .soc-cap span { color:var(--dim); }
.rs .soc-dl { color:var(--red); font-weight:700; text-decoration:none; border-bottom:1px solid var(--red); margin-left:auto; }
