/* Results — A3 tiles; tables become cards on mobile. */
.res-list { display: grid; gap: 10px; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); }
.res-list [hidden] { display: none; }
/* set by results.js when the last row would hold one card */
.res-list > .is-wide { grid-column: 1 / -1; }
section:has(> .res-list) { container-type: inline-size; }
/* only where three 300px columns fit, so a stale class can never squeeze a phone */
@container (min-width: 920px) {
  .res-list.is-balanced { grid-template-columns: repeat(var(--cols), minmax(0, 1fr)); }
  .res-list.is-balanced > * { grid-column: span 2; }
  .res-list.is-balanced > .is-half { grid-column: span 3; }
}
.res { padding: 14px; display: grid; gap: 10px; align-content: start; }
.res__head { display: flex; gap: 10px; align-items: flex-start; }
.res__head a { flex: 1; min-width: 0; text-decoration: none; }
.res__head a:hover b { color: var(--brand-ink); }
.res__head b { display: block; }
.res__head small { color: var(--ink-2); font-size: 12px; }
.res__places { display: grid; gap: 4px; font-size: 14px; }
.res__places li { display: flex; gap: 8px; align-items: center; }
.pos { display: inline-grid; place-items: center; width: 24px; height: 24px; border-radius: 7px; background: var(--ink); color: #fff; font-size: 12px; font-weight: 800; flex: none; }
.pos--1 { background: var(--accent); color: var(--accent-ink); }
.sres th:first-child, .sres td:first-child { padding-left: 16px; }
.sres__m { display: flex; gap: 10px; align-items: center; }
.sres__score { font-size: 18px; font-weight: 800; }
/* the cancel reason goes under its badge, not wrapped around it */
.sres td[data-c="st"] small { display: block; margin-top: 4px; }
@media (max-width: 767px) {
  .sres thead, .sres thead * { position: absolute; width: 1px; height: 1px; padding: 0 !important; margin: -1px; border: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
  .sres, .sres tbody, .sres tr, .sres td { display: block; }
  .sres tr { display: grid !important; grid-template-columns: 1fr auto; gap: 4px 10px; padding: 12px 14px; border-bottom: 1px solid var(--line); }
  .sres td { padding: 0 !important; border: 0 !important; }
  .sres td[data-c="m"] { grid-column: 1 / -1; }
  .sres td[data-c="c"] { grid-column: 1; color: var(--ink-2); font-size: 12px; }
  .sres td[data-c="t"] { display: none; }
  .sres td[data-c="s"] { grid-column: 2; grid-row: 2 / 4; align-self: center; }
  .sres td[data-c="st"] { grid-column: 1; }
}
