/* ------------------------------------------------------------------------------------------------
   Event hub: the editorial layer under an activated event page.

   Composition only. The card row (.rfi-hub-row) is declared beside .rfi-feed in templates/listing.css
   and shared with the topic hub, so a case card here is exactly as wide as one there; nothing in this
   file redeclares it.

   THE PARTNER ROW reads --rfi-partner-tint / --rfi-partner-line, the same pair the Partner news block
   on the homepage uses (.rfi-stack--partner, components/hero.css). One tint means one thing across
   the site, so a reader learns the mark once.

   THE TINT BLEEDS TO THE FEED'S EDGES, NOT THE SECTION'S, and that is a correction to the prototype
   rather than a preference. There, each block is a white card with 32px of padding and the partner
   row bleeds to the card's edges. Here .rfi-section is not a card at all: base.css:56 gives it
   `display:flex; flex-direction:column` and NO padding, so it sits flush in main.rfi-span3 and a
   negative margin at that level would have pushed the tint out into the grid gap beside the rail.
   The white plate is therefore .rfi-evfeed itself, and the partner row's negative margin is exactly
   the padding that plate carries, expressed with the same token in both places so the two cannot
   drift apart. The result is the prototype's band, contained.
   ------------------------------------------------------------------------------------------------ */

/* --- Counters. Rendered from two non-empty positions; see event-hub-counters.php. --- */
.rfi-evcount {
  display: flex;
  border: 1px solid var(--rfi-border);
  border-radius: var(--rfi-radius);
  background: var(--rfi-surface);
  overflow: hidden;
}

.rfi-evcount__cell {
  flex: 1 1 0;
  min-width: 0;
  padding: 14px 18px;
  border-right: 1px solid var(--rfi-border-soft);
}

.rfi-evcount__cell:last-child { border-right: 0; }

.rfi-evcount__fig {
  display: block;
  font-family: var(--rfi-font-ui);
  font-size: 22px;
  font-weight: 650;
  line-height: 1.2;
  color: var(--rfi-text);
}

.rfi-evcount__lab {
  display: block;
  margin-top: 3px;
  font-family: var(--rfi-font-ui);
  font-size: var(--rfi-meta);
  color: var(--rfi-text-3);
}

/* --- The feed. A compact inventory, deliberately not cards; see event-hub-feed.php. --- */
.rfi-evfeed {
  list-style: none;
  margin: 0;
  padding: 0 var(--rfi-pad-panel);
  background: var(--rfi-surface);
  border: 1px solid var(--rfi-border);
  border-radius: var(--rfi-radius);
}

.rfi-evfeed__row {
  padding: 14px 0;
  border-bottom: 1px solid var(--rfi-border-soft);
}

.rfi-evfeed__row:last-child { border-bottom: 0; }

/* The tint runs the full width of the feed's inner column. The horizontal padding is restored
   inside the row so the partner title stays aligned with every other title: an indented row would
   read as a nested item rather than a marked one. */
.rfi-evfeed__row--partner {
  background: var(--rfi-partner-tint);
  box-shadow: 0 0 0 1px var(--rfi-partner-line) inset;
  border-radius: var(--rfi-radius-sm);
  padding: 14px var(--rfi-pad-panel);
  margin: 0 calc(var(--rfi-pad-panel) * -1);
  border-bottom-color: transparent;
}

.rfi-evfeed__tt {
  display: block;
  margin-bottom: 4px;
  font-family: var(--rfi-font-ui);
  font-size: var(--rfi-card-title);
  font-weight: 600;
  line-height: 1.35;
  color: var(--rfi-text);
}

.rfi-evfeed__tt:hover { color: var(--rfi-teal); }

.rfi-evfeed__m {
  display: block;
  font-family: var(--rfi-font-ui);
  font-size: var(--rfi-meta);
  color: var(--rfi-text-3);
}

/* The separator is drawn between spans rather than typed into the markup, so an absent company name
   cannot leave a stray dot behind. */
.rfi-evfeed__m > * + *::before {
  content: '\00b7';
  margin: 0 7px;
  color: var(--rfi-text-3);
}

.rfi-evfeed__lab { font-weight: 600; color: var(--rfi-text-2); }
.rfi-evfeed__lab--ins,
.rfi-evfeed__lab--par { color: var(--rfi-partner-accent); }
.rfi-evfeed__co { font-weight: 600; color: var(--rfi-partner-accent); }

@media (max-width: 768px) {
  .rfi-evcount { flex-wrap: wrap; }

  .rfi-evcount__cell {
    flex: 1 1 50%;
    border-bottom: 1px solid var(--rfi-border-soft);
  }

  .rfi-evfeed { padding: 0 var(--rfi-pad-card); }

  /* Same identity as above at the narrow padding: the row cancels exactly what the plate adds. */
  .rfi-evfeed__row--partner {
    padding-left: var(--rfi-pad-card);
    padding-right: var(--rfi-pad-card);
    margin-left: calc(var(--rfi-pad-card) * -1);
    margin-right: calc(var(--rfi-pad-card) * -1);
  }
}
