/* Liste publique des campus uniquement. La grille PC en subgrid reste intacte. */
.inst-campus-list .inst-child-site-icon { display: none; }
@media (max-width: 720px) {
  .inst-campus-list { grid-template-columns: minmax(0, 1fr); }
  .inst-campus-list > li {
    grid-template-columns: 28px 9px minmax(0, 1fr);
    grid-auto-flow: row;
    gap: 2px 8px;
    min-width: 0;
    padding: 6px 8px;
  }
  .inst-campus-list > .inst-campus-has-site { grid-template-columns: 28px 9px minmax(0, 1fr) 44px; }
  /* Même retrait sur les lignes blanches et les lignes alternées. */
  .inst-campus-list > li:nth-child(even) { padding: 6px 8px; }
  .inst-campus-list > li > .inst-logo-child { grid-column: 1; grid-row: 1; }
  .inst-campus-list > li > .dot { grid-column: 2; grid-row: 1; }
  .inst-campus-list .inst-child-name {
    grid-column: 3; grid-row: 1;
    display: flex; align-items: center;
    min-width: 0; min-height: 44px;
    overflow-wrap: anywhere; line-height: 1.45;
  }
  .inst-campus-list .inst-child-city {
    grid-column: 3 / -1; grid-row: 2;
    min-width: 0; overflow-wrap: anywhere; line-height: 1.5;
  }
  .inst-campus-list .inst-child-city:empty { display: none; }
  .inst-campus-list .inst-child-site {
    grid-column: 4; grid-row: 1;
    justify-self: end;
    width: 44px; min-width: 44px; min-height: 44px; height: 44px;
    padding: 0; border-radius: 50%; line-height: 1;
  }
  .inst-campus-list .inst-child-site-icon { display: inline; font-size: 22px; color: var(--ring, #087f83); }
  .inst-campus-list .inst-child-site-label {
    position: absolute; width: 1px; height: 1px; padding: 0;
    overflow: hidden; clip-path: inset(50%); white-space: nowrap;
  }
  .inst-campus-list :is(a, button):focus-visible {
    outline: 3px solid #087f83; outline-offset: 3px;
  }
}
