/* Roll of Honour: the board members read, and the Winner / Runner-up label the administrator's
   entries list shares with it. docs/roll-of-honour-design.md §3. Uses the site.css tokens. */

/* Jump links to the categories */
.honour-nav { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: 1.5rem; }
.honour-nav a { display: inline-flex; align-items: center; gap: .45rem; min-height: 44px; padding: .45rem .95rem; color: #26364a; background: #fff; border: 1px solid var(--club-line); border-radius: 999px; font-size: .92rem; font-weight: 700; text-decoration: none; }
.honour-nav a:hover { color: var(--club-main-dark); border-color: var(--club-main-line); background: var(--club-main-soft); }
.honour-nav__count { color: var(--club-muted); font-weight: 650; font-variant-numeric: tabular-nums; }

/* One category */
.honour-section { margin-bottom: 2.25rem; scroll-margin-top: 1rem; }
.honour-section__head { display: flex; align-items: baseline; justify-content: space-between; gap: .75rem; margin-bottom: .9rem; padding-bottom: .5rem; border-bottom: 2px solid var(--club-gold); }
.honour-section__head h2 { margin: 0; font-size: 1.45rem; font-weight: 800; }
.honour-section__head span { color: var(--club-muted); font-size: .88rem; font-weight: 650; }

.honour-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; align-items: start; }
.honour-grid--teams { grid-template-columns: repeat(2, minmax(0, 1fr)); }

/* One title: a board with the newest year at the top */
.honour-board { min-width: 0; background: #fff; border: 1px solid var(--club-line); border-radius: var(--club-radius); box-shadow: 0 5px 20px rgba(21, 37, 52, .07); overflow: hidden; }
.honour-board__title { margin: 0; padding: .7rem 1rem; color: #fff; background: var(--club-main-dark); border-bottom: 3px solid var(--club-gold); font-size: 1.02rem; font-weight: 800; }
.honour-board__list { margin: 0; padding: 0; list-style: none; }

.honour-row { display: grid; grid-template-columns: 4.6rem minmax(0, 1fr); gap: .75rem; padding: .6rem 1rem; border-bottom: 1px solid var(--club-line); }
.honour-board__list > .honour-row:last-child { border-bottom: 0; }
.honour-row--latest { background: #fdf8ea; }
.honour-row__year { color: var(--club-main-dark); font-weight: 800; font-variant-numeric: tabular-nums; }
.honour-row__period { display: block; color: var(--club-muted); font-size: .8rem; font-weight: 650; }
.honour-row__name { display: block; font-weight: 750; overflow-wrap: anywhere; }
.honour-row__detail { display: block; margin-top: .15rem; color: var(--club-muted); font-size: .86rem; font-weight: 600; line-height: 1.4; }
.honour-row__top { display: flex; flex-wrap: wrap; align-items: center; gap: .35rem .6rem; }

/* Winner or runner-up. The words come from the vocabulary class, never from the view. */
.honour-result { display: inline-flex; align-items: center; padding: .1rem .55rem; border-radius: 999px; font-size: .76rem; font-weight: 800; letter-spacing: .02em; white-space: nowrap; }
.honour-result--winner { color: #4a3300; background: #fbe3a8; }
.honour-result--runner-up { color: #33414f; background: #e6ecf2; }

/* Earlier years, closed until asked for */
.honour-more { border-top: 1px solid var(--club-line); }
.honour-more > summary { display: flex; align-items: center; min-height: 44px; padding: .5rem 1rem; color: var(--club-main-dark); font-size: .9rem; font-weight: 700; cursor: pointer; }
.honour-more > summary:hover { background: var(--club-main-soft); }
.honour-more[open] > summary { border-bottom: 1px solid var(--club-line); }

@media (max-width: 991.98px) {
    .honour-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 767.98px) {
    .honour-grid, .honour-grid--teams { grid-template-columns: minmax(0, 1fr); }
    .honour-section__head { flex-direction: column; gap: .15rem; }
}
