/* Lennon Music V8.4.1 - vertical alignment for Font Awesome icons.
   Font Awesome's svg-with-js theme lowers SVGs by -.125em for text baseline.
   Its 'nest' conversion puts an SVG INSIDE the original i; treat those two
   pieces as a single inline-flex glyph, while preserving intrinsic viewBox
   aspect ratios and established per-control icon sizes. */

/* All FontAwesome glyphs: center their SVG within the inherited text box.
   Do not touch unrelated <i> used for visual ornaments, waves, or animation. */
i[data-fa-i2svg],
i.fa-solid, i.fa-regular, i.fa-brands {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  vertical-align: middle;
  line-height: 1;
}
i[data-fa-i2svg] > svg.svg-inline--fa,
svg.svg-inline--fa {
  vertical-align: middle !important;
}
i[data-fa-i2svg] > svg.svg-inline--fa {
  display: block;
  margin-block: 0;
  flex: none;
}

/* Search: a 38px box, with its glyph centered in both axes. */
.header-search .lm-search-go,
.header-search .lm-search-lens {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0;
}
.header-search .lm-search-go > :is(i, svg),
.header-search .lm-search-lens > :is(i, svg) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  margin: 0;
}
.header-search .lm-search-go > i > svg,
.header-search .lm-search-lens > i > svg { display: block; }

/* Album actions and other shared action buttons: center the icon and copy
   as a single row, not by shifting the icon from its natural center. */
.lm827-record-actions > :is(.lm-action-primary, .lm-small-action),
.lm-record-actions > :is(.lm-action-primary, .lm-small-action),
.detail-actions > :is(.btn, .lm-small-action),
.lm-action-secondary, .lm-action-primary, .lm-small-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.lm827-record-actions > :is(.lm-action-primary, .lm-small-action) > i,
.lm-record-actions > :is(.lm-action-primary, .lm-small-action) > i {
  flex-shrink: 0;
}

/* Comment heading badge and other square glyph containers. */
.lm-compose-icon,
.lm-compose-icon > i,
.lm-compose-icon > svg {
  align-items: center;
  justify-content: center;
}
.lm-compose-icon > i {
  display: inline-flex;
  height: 1em;
  line-height: 1;
}
.lm-compose-icon > i > svg { display: block; }

/* Preserve all icon dimensions in cards, sidebars and player controls; only
   the baseline positioning is normalized. */
@media (prefers-reduced-motion: reduce) {
  /* No transforms or animation are used for alignment. */
}
