.bu-structured-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr));
  gap: 1.5rem;
  margin-block: 1.5rem;
}

.bu-structured-list[data-layout="two"] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.bu-structured-list[data-layout="three"] { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.bu-structured-list[data-layout="four"] { grid-template-columns: repeat(4, minmax(0, 1fr)); }

.bu-structured-list__panel {
  min-width: 0;
  padding: 1.25rem;
  border: 1px solid currentColor;
  border-radius: .25rem;
}
.bu-structured-list__panel > :first-child { margin-block-start: 0; }
.bu-structured-list__panel h3,
.bu-structured-list__panel h4,
.bu-structured-list__entry { overflow-wrap: anywhere; }
.bu-structured-list__scroll { max-block-size: 24rem; overflow-y: auto; overscroll-behavior: contain; }
.bu-structured-list__scroll:focus-visible { outline: 3px solid currentColor; outline-offset: 3px; }
.bu-structured-list__scroll ul { margin: 0; padding-inline-start: 1.4rem; }
.bu-structured-list__scroll li + li { margin-block-start: .4rem; }
.bu-structured-list__marker { inline-size: 1em; block-size: 1em; margin-inline-start: .35em; vertical-align: baseline; }
.bu-structured-list__empty { margin-block-end: 0; }
.bu-structured-list__visually-hidden {
  position: absolute;
  inline-size: 1px;
  block-size: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

@media (max-width: 70rem) {
  .bu-structured-list[data-layout="four"] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 55rem) {
  .bu-structured-list[data-layout="three"] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 40rem) {
  .bu-structured-list { grid-template-columns: minmax(0, 1fr) !important; }
  .bu-structured-list__scroll { max-block-size: none; overflow: visible; }
}
