/* Repeated content shares one surface. The parent owns every outer edge.
 * Add content-group to a list, or content-group--grid to a responsive grid.
 * Do not give individual rows margins, outlines, shadows or rounded corners.
 */
:root {
  --content-group-radius: 10px;
  --content-group-line: var(--line, #e0e4e9);
  --content-group-hover: #f5f8fd;
}
.content-group {
  display: block;
  width: 100%;
  max-width: none;
  min-width: 0;
  box-sizing: border-box;
  gap: 0;
  padding: 0;
  border: 1px solid var(--content-group-line);
  border-radius: var(--content-group-radius);
  background: var(--panel, #fff);
  overflow: hidden;
  isolation: isolate;
  box-shadow: none;
}
.content-group:empty { display: none; }
.content-group > :is(a, article, section, .empty-state, .load-status, .tax-overview-empty) {
  min-width: 0;
  width: 100%;
  max-width: none;
  box-sizing: border-box;
  margin: 0;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  background: var(--panel, #fff);
}
.content-group:not(.content-group--grid) > :is(a, article, section, .load-status) + :is(a, article, section, .load-status) {
  border-block-start: 1px solid var(--content-group-line);
}
.content-group > a:hover,
.content-group > a.keyboard-selected {
  background: var(--content-group-hover);
}
/* Keep keyboard focus inside the clipped surface; never hide the focus state. */
.content-group > a:focus-visible {
  outline: 2px solid var(--blue-dark, #255cb4);
  outline-offset: -3px;
}
/* Grid gaps draw single interior dividers. The full parent border, not the
 * cells, draws all four outer edges, including incomplete final rows. */
.content-group.content-group--grid {
  display: grid;
  gap: 1px;
  background: var(--content-group-line);
}
@media (max-width: 760px) {
  .entry-grid.content-group--grid { grid-template-columns: minmax(0, 1fr); }
}

/* A list row owns its whole hit/hover area; text flexes, arrow stays at the end. */
.content-group:not(.content-group--grid) > .entry-card > .entry-copy { flex:1;min-width:0; }
.content-group:not(.content-group--grid) > .entry-card > .entry-arrow { margin-inline-start:auto;flex-shrink:0; }
