/* Layout only. Bricks/site styles own colors, typography, controls and decoration.
 * Low specificity and a separate layer let the site's design system win.
 */
@layer wsd-layout {
  :where(.wsd) { width:min(100%,1100px); min-width:0; margin-inline:auto; padding:clamp(1rem,3vw,30px); }
  :where(.wsd-shell) { padding:clamp(1rem,4vw,40px); width:100%; }
  :where(.wsd *) { box-sizing:border-box; }
  :where(.wsd [aria-current]) { text-decoration:underline; text-underline-offset:.2em; }
  :where(.wsd-filters) { display:flex; flex-wrap:wrap; align-items:flex-end; gap:1em; margin-block:1.5em; }
  :where(.wsd-filters .form-group) { flex:1 1 10em; min-width:0; }
  :where(.wsd-filters .wsd-search) { flex:2 1 15em; }
  :where(.wsd-filters label) { display:flex; flex-direction:column; gap:.5em; }
  :where(.wsd-filters input,.wsd-filters select) { width:100%; min-width:0; }
  :where(.wsd-results) { display:flex; flex-wrap:wrap; justify-content:space-between; gap:1em; margin-block:1em; }
  :where(.wsd-grid) { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:2em; }
  :where(.wsd-card) { display:flex; flex-direction:column; min-width:0; }
  :where(.wsd-card>p,.wsd-panel) { overflow-wrap:anywhere; }
  :where(.wsd-tags) { display:flex; flex-wrap:wrap; gap:.5em; margin-block-start:auto; }
  :where(.wsd-card-actions) { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:1em; margin-block-start:1em; }
  :where(.wsd-download-small) { white-space:nowrap; }
  :where(.wsd-empty) { margin-block:2em; }
  :where(.wsd-pagination) { display:flex; flex-wrap:wrap; gap:1em; margin-block-start:1.5em; }
  :where(.wsd-back) { display:inline-block; margin-block-end:1.5em; }
  :where(.wsd-detail-hero) { margin-block-end:2em; }
  :where(.wsd-detail-grid) { display:grid; grid-template-columns:minmax(0,2fr) minmax(0,1fr); gap:2em; }
  :where(.wsd-panel) { min-width:0; margin-block-end:1.5em; }
  :where(.wsd-panel pre) { white-space:pre-wrap; max-height:40em; overflow:auto; }
  :where(.wsd-card h3,.wsd-panel h3) { margin-block:0 .65em; }
  :where(.wsd-card>p) { margin-block:0 1em; }
  :where(.wsd-detail-hero h2) { margin-block:0 .5em; }
  :where(.wsd-detail-hero p) { margin-block:0 1.25em; }
  :where(.wsd-panel dl) { margin:0 0 1em; }
  :where(.wsd-panel dt) { margin-block-start:.8em; }
  :where(.wsd-panel dd) { margin:0; }
  :where(.wsd-panel ul) { padding-inline-start:1.25em; }
  :where(.wsd summary) { cursor:pointer; }
  :where(.wsd-hash) { display:block; overflow-wrap:anywhere; margin-block-start:.5em; }
  @media(max-width:900px) { :where(.wsd-grid) { grid-template-columns:repeat(2,minmax(0,1fr)); } }
  @media(max-width:600px) {
    :where(.wsd-grid,.wsd-detail-grid) { grid-template-columns:1fr; }
    :where(.wsd-filters .form-group,.wsd-filters .wsd-search) { flex-basis:100%; }
  }
}
/* Keep Bricks container width, while content uses its own grid instead of a flex column. */
.wsd.brxe-container { display:block; max-width:100%; }
