/* Heading-adjacent tags share a row with the heading, outside its semantics. */
.md-typeset .q-module-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: baseline;
  column-gap: .75rem;
  clear: right;
}
.md-typeset .q-module-heading-tags {
  display: flex;
  align-items: center;
  gap: .25rem;
}
.md-typeset .q-module-heading-tags :is(.q-module-requirement, .q-module-legend) {
  float: none;
  clear: none;
  margin: 0;
}
/* Feature-local markers without a heading stay beside their own content.
   This is also the fallback when JavaScript is unavailable. */
.md-typeset :is(.q-module-requirement, .q-module-legend) {
  float: right;
  clear: right;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .25rem;
  margin: 0 0 .4rem .75rem;
  font-size: .6rem;
  line-height: 1.5;
  color: var(--md-default-fg-color--light);
}
.md-typeset :is(.q-module-requirement, .q-module-legend)[hidden] { display: none; }
/* The action stays in source metadata and each link's accessible name. */
.md-typeset :is(.q-module-requirement, .q-module-legend) > span { display: none; }
.md-typeset :is(.q-module-requirement, .q-module-legend) a {
  border: 1px solid color-mix(in srgb, var(--q-module-accent, var(--q-border)) 32%, var(--q-surface));
  background-color: color-mix(in srgb, var(--q-module-accent, var(--q-border)) 18%, var(--q-surface));
  border-radius: .2rem;
  padding: .1rem .35rem;
  font-weight: 400;
  text-decoration: none;
  color: var(--q-fg-muted);
}
/* Match each link so combined requirements retain each module's color.
   The code and accessible name carry meaning independently of color. */
.md-typeset :is(.q-module-requirement, .q-module-legend) a[href$="#dq"] { --q-module-accent: var(--q-secondary); }
.md-typeset :is(.q-module-requirement, .q-module-legend) a[href$="#do"] { --q-module-accent: var(--q-tertiary); }
.md-typeset :is(.q-module-requirement, .q-module-legend) a[href$="#dc"] { --q-module-accent: var(--q-adm-example); }
.md-typeset :is(.q-module-requirement, .q-module-legend) a[href$="#mdm"] { --q-module-accent: var(--q-primary); }
.md-typeset :is(.q-module-requirement, .q-module-legend) a:hover {
  color: var(--q-fg);
  text-decoration: underline;
}
.md-typeset :is(.q-module-requirement, .q-module-legend) a:focus-visible {
  outline: 2px solid var(--md-accent-fg-color);
  outline-offset: 3px;
}
/* A badge must not drift into the next section when its content is short. */
.md-typeset :is(h1, h2, h3, h4, h5, h6) { clear: right; }
@media print {
  .md-typeset :is(.q-module-requirement, .q-module-legend) { color: #222; }
}
