/* Grandes Prêmios — GP Bento Gonçalves feature (panorama + card fields), filter tabs, grouped cards. */

.gp-feat { padding-block: clamp(3rem, 6vw, 5rem) clamp(1rem, 3vw, 2rem); }
.gp-feat__head { display: flex; justify-content: space-between; align-items: flex-end; gap: var(--space-5); flex-wrap: wrap; padding-bottom: var(--space-6); }
.gp-feat .h2 { font-size: var(--fs-h2); line-height: 1; margin-top: var(--space-4); }
.gp-feat__st { font-family: var(--font-display); font-size: var(--fs-value); }
.gp-feat__grid { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: clamp(2rem, 6vw, 6rem); margin-top: var(--space-7); align-items: start; }
.gp-feat__text p { color: var(--color-ink-2); max-width: 56ch; }
.gp-feat__text p + p { margin-top: var(--space-4); }
.gp-prep { margin-top: var(--space-6); padding-top: var(--space-4); border-top: 1px solid var(--color-ink); }
.gp-prep p { margin-top: 0 !important; color: var(--color-ink); font-size: .9375rem; }
.gp-prep b { font-weight: 600; }
.gp-prep .tlink { margin-top: var(--space-2); }

/* field list (card fields as hairline rows) */
.gp-dl { border-top: 1px solid var(--color-line); margin-top: var(--space-3); }
.gp-dl > div { display: flex; justify-content: space-between; gap: var(--space-4); padding: .45rem 0; border-bottom: 1px solid var(--color-line); font-size: var(--fs-small); }
.gp-dl dt { color: var(--color-ink-2); flex: none; }
.gp-dl dd { margin: 0; text-align: right; }
.gp-dl--feat { border-top-color: var(--color-ink); margin-top: 0; }
.gp-dl--feat > div { padding: var(--space-3) 0; font-size: .9375rem; }
.gp-dl--feat dd { font-weight: 500; }
.gp-src { display: block; font: 400 var(--fs-micro)/1.3 var(--font-mono); color: var(--color-ink-2); }
.gp-dl--win { border-top-color: var(--color-ink); margin-top: var(--space-4); }
.gp-win { font-weight: 600; }

.gp-tabs { margin: var(--space-6) 0 var(--space-2); }
.gp-group { margin-top: clamp(3rem, 5vw, 4.5rem); }
.gp-series + .gp-series { margin-top: var(--space-7); }
.gp-series__t { display: flex; flex-wrap: wrap; gap: .25rem var(--space-3); align-items: baseline; margin-bottom: var(--space-3); }
.gp-series__t b { font-weight: 600; }
.gp-series__t span { font: 400 var(--fs-micro)/1.3 var(--font-mono); color: var(--color-ink-2); }
.gp-card .card__k .status { white-space: nowrap; }
.gp-card--done .card__t { color: var(--color-ink); }
.gp-res { margin-top: auto; }
.gp-nodata { margin-top: var(--space-3); padding: var(--space-3) var(--space-4); background: var(--color-surface); border-left: 2px solid var(--color-line-strong); }
.gp-empty { margin-top: var(--space-6); }

@media (max-width: 1080px) {
  .gp-feat__grid { grid-template-columns: 1fr; }
}

/* groups hold 1–8 cards: 4 → 2 → 1 columns never leave a lone card in the last row */
.gp-group .cards { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 1200px) { .gp-group .cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .gp-group .cards { grid-template-columns: 1fr; } }
