/* Each tile is one record; box grouping changes without changing that unit. */
.lscape { display:flex; flex-wrap:wrap; align-items:flex-start; gap:var(--sp-4); }

.lscape__group { flex:0 0 auto; width:21rem; max-width:100%;
  border:var(--stroke-1) solid var(--color-border); border-radius:var(--radius-sm);
  background:var(--surface-bg); overflow:hidden; }
.lscape__head { margin:0; font-size:var(--fs-sm); }
.lscape__toggle { display:flex; align-items:center; gap:var(--sp-2); width:100%;
  padding:var(--sp-2-5) var(--sp-3); border:0; background:var(--color-secondary-50);
  font:inherit; font-weight:var(--fw-bold); color:var(--color-text); text-align:left; cursor:pointer; }
.lscape__toggle:hover { background:var(--color-secondary-100); }
.lscape__toggle:focus-visible { outline:var(--stroke-2) solid var(--color-focus-ring);
  outline-offset:calc(-1 * var(--stroke-2)); }
.lscape__chev { flex:none; transition:transform var(--duration-fast); color:var(--color-text-light); }
.lscape__toggle[aria-expanded="true"] .lscape__chev { transform:rotate(90deg); }
.lscape__n { font-weight:var(--fw-regular); color:var(--color-text-light); }
.lscape__n::before { content:"("; }
.lscape__n::after { content:")"; }
.lscape__note { margin-left:auto; font-weight:var(--fw-regular); color:var(--color-text-light); }

/* The caller selects a fixed column count so box height remains comparable. */
.lscape__tiles { display:grid; grid-template-columns:repeat(var(--lscape-cols, 2), minmax(0, 1fr));
  gap:var(--sp-2); list-style:none; margin:0; padding:var(--sp-3); }
.lscape__tile { display:flex; align-items:center; min-height:var(--target-min);
  padding:var(--sp-2) var(--sp-2-5); border:var(--stroke-1) solid transparent;
  border-radius:var(--radius-sm); background:var(--color-secondary-500);
  font-size:var(--fs-sm); color:var(--color-text-negative); text-decoration:none;
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.lscape__tile:hover { background:var(--color-secondary-600);
  color:var(--color-text-negative); text-decoration:none; }
.lscape__tile:focus-visible { outline:var(--stroke-2) solid var(--color-focus-ring); outline-offset:var(--stroke-2); }
/* Keep selection distinguishable without relying on colour alone. */
.lscape__tile.is-active { border-color:var(--color-primary-600);
  box-shadow:inset 0 0 0 var(--stroke-1) var(--color-primary-600); }
.lscape__empty { padding:var(--sp-3); margin:0; color:var(--color-text-light); font-size:var(--fs-sm); }

@media (max-width:40rem) {
  .lscape__group { width:100%; }
  .lscape__tiles { grid-template-columns:minmax(0,1fr); }
  .lscape__tile { white-space:normal; overflow-wrap:anywhere; }
}

.mc-tools { display:flex; flex-wrap:wrap; align-items:center; gap:var(--sp-2);
  min-height:var(--target-min); }
.mc-tools > .action-menu { border-left:0; padding-left:0; margin-left:0; }

@media print {
  .pf-sidebar, .active-filters, .catbar,
  .lscape__toggle .lscape__chev, .table__group-chev { display:none !important; }
  .pf-layout { display:block !important; }
  /* Print every box open because fold controls are unavailable on paper. */
  .lscape { display:block !important; }
  .lscape__group { width:auto !important; break-inside:avoid; margin-bottom:var(--sp-3); }
  .lscape__tile { background:transparent !important; color:var(--color-print) !important;
    border-color:var(--color-gray-400) !important; }
}

/* Weight supplements the search highlight colour. */
.mc-pane mark {
  background:var(--color-secondary-100); color:inherit;
  font-weight:var(--fw-bold); border-radius:var(--radius-xs); padding:0 .1em;
}

/* Shared full-width detail anatomy for catalogue-style record pages. */
.mc-detail { display:grid; width:100%; min-width:0; gap:var(--sp-6); }
.mc-detail__description > p { max-width:75ch; }
.mc-detail__facts { display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr));
  gap:var(--sp-6) var(--sp-8); align-items:start; }
.mc-detail > .detail-section,
.mc-detail__facts > .detail-section { min-width:0; margin-top:0; }
.mc-detail__facts > .detail-section { container-type:inline-size; }
.mc-detail__wide { min-width:0; }
.mc-detail .detail-section__title { margin-bottom:var(--sp-2);
  font-size:var(--fs-base); line-height:var(--lh-tight); }
.mc-detail .kv { font-size:var(--fs-sm); }
.mc-detail .kv dt, .mc-detail .kv dd { padding-block:var(--sp-1-5); }
.mc-detail .detail-section > p { font-size:var(--fs-sm); }

/* Metadata follows the federal information-block anatomy: sections form one
   reading stream, while each semantic term/value pair owns the responsive grid. */
.mc-detail--metadata .mc-detail__facts { grid-template-columns:minmax(0,1fr); gap:var(--sp-6); }
.mc-detail--metadata .mc-detail__facts > .detail-section {
  width:100%; container-type:normal;
}
.mc-detail--metadata .mc-detail__list { display:block; margin:0; }
.mc-detail--metadata .mc-detail__fact { display:grid; grid-template-columns:minmax(0,1fr);
  gap:var(--sp-4); min-width:0; padding-block:var(--sp-4);
  border-top:var(--stroke-1) solid var(--color-secondary-200); }
.mc-detail--metadata .mc-detail__fact > dt,
.mc-detail--metadata .mc-detail__fact > dd { min-width:0; margin:0; padding:0; border:0; overflow-wrap:break-word; }
.mc-detail--metadata .mc-detail__fact > dt { color:var(--color-text); font-weight:var(--fw-bold); }
.mc-detail--metadata .mc-detail__fact code,
.mc-detail--metadata .mc-detail__fact a { overflow-wrap:anywhere; }

/* Metadata detail DOM is main-first. Grid areas put the same nodes beside a
   left-hand rail on desktop without changing accessibility or focus order. */
.mc-layout--detail { grid-template-areas:"main" "sidebar"; }
.mc-layout--detail > .pf-main { grid-area:main; order:initial; }
.mc-layout--detail > .pf-sidebar { grid-area:sidebar; }

@media (min-width:768px){
  .mc-detail--metadata .mc-detail__fact {
    grid-template-columns:minmax(0,1fr) minmax(0,1fr); column-gap:var(--sp-4); row-gap:0;
  }
}
@media (min-width:1024px){
  .mc-detail--metadata .mc-detail__fact {
    grid-template-columns:minmax(0,1fr) minmax(0,2fr); padding-block:var(--sp-6);
  }
  .mc-layout--detail { grid-template-areas:"sidebar main"; }
}

.mc-pane .stats { gap:var(--sp-4); }
.mc-pane .stats .card__body { padding:var(--sp-4); }
.mc-pane .stats .card__description { margin-bottom:0; font-size:var(--fs-sm); }
