/* Public desktop surfaces share one bounded content rail. The table's measured
   normalized values fit this width without making wide screens feel empty. */
@media (min-width: 60.01rem) {
  body > main.roster-page,
  body > main.public-page,
  body > main.record-page {
    width: min(72vw, 74rem);
    max-width: 74rem;
    margin-inline: auto;
  }

  .app-header-public {
    padding-inline: max(14vw, calc((100vw - 74rem) / 2));
  }

  .record-page .page-heading {
    max-width: none;
  }
}

@media (max-width: 60rem) {
  body > main.record-page {
    width: calc(100vw - 1.5rem);
    margin-inline: .75rem;
  }
}

.detail-grid,
.next-event-grid {
  align-items: start;
}

.detail-item {
  display: grid;
  align-content: start;
  gap: .2rem;
  min-width: 0;
}

.detail-item dt,
.detail-item dd {
  margin: 0;
}

.map-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .55rem;
}

.map-actions .map-link {
  min-height: 2.75rem;
  padding: .55rem .75rem;
  border: 1px solid #8093a2;
  border-radius: .45rem;
  background: var(--surface);
  color: var(--brand);
  text-decoration: none;
}

@media (min-width: 60.01rem) {
  .record-page .detail-grid,
  .record-page .next-event-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
