@layer components {
  .community-race-section .card-header {
    background-color: var(--bs-secondary-bg);
    border-bottom: 1px solid var(--bs-border-color);
  }

  .community-race-grid {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
  }

  .community-race-card {
    border-color: var(--bs-border-color);
    background-color: var(--bs-body-bg);
  }

  .community-race-card .card-title {
    position: relative;
    z-index: 2;
  }

  .community-race-card-badges {
    position: relative;
    z-index: 2;
  }

  .community-race-card-meta {
    position: relative;
    z-index: 1;
  }

  .community-race-card .badge-community,
  .community-race-server-badge {
    font-weight: 500;
    white-space: normal;
    text-align: left;
    line-height: 1.3;
  }

  .community-race-disclaimer {
    font-size: 0.875rem;
    line-height: 1.4;
  }

  .community-race-detail-alert {
    border-left: 4px solid var(--bs-warning);
  }

  .community-race-session-block {
    position: relative;
    z-index: 2;
    margin-top: 0.5rem;
    padding-top: 0.5rem;
    border-top: 1px dashed var(--bs-border-color);
  }

  .community-race-session-title {
    line-height: 1.3;
  }

  .community-race-session-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem 0.35rem;
    align-items: baseline;
    line-height: 1.35;
  }

  .community-race-session-label {
    flex-shrink: 0;
    font-weight: 500;
  }

  .community-race-car-tags {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 0.2rem;
  }

  .community-race-car-tag {
    font-weight: 500;
    white-space: normal;
    text-align: left;
    line-height: 1.25;
  }
}
