/* Phone spacing: keep existing controls and media geometry; remove spacing
   left over from the former raised learning-state tabs. */
@media (max-width:600px) {
 body.library-layout .library-frame > #main,
 body.library-layout .library-about-frame > .library-about { padding:16px; }
 body.library-layout.is-program .library-sidebar { margin-bottom:16px; }
 body.library-layout:not(.search-lab) .provider-view .program-intro { margin-bottom:24px; }
 body.library-layout .provider-view #program-gallery-heading.edition-heading { margin-bottom:24px; }
 body.library-layout .program-grid { row-gap:24px; }
 body.library-layout .provider-view #article-grid,
 body.library-layout .lp-gallery { padding-top:0!important;row-gap:24px!important; }
 body.library-layout .ls-grid { gap:32px; }
 body.library-layout .ls-series-cards { padding-top:24px; }
 body.library-layout .ls-series-cards > h2 { margin-bottom:8px; }
 body.library-layout .ls-series-cards > .ls-series-edition { margin-bottom:0; }
 body.library-layout .lp-sequence-list { margin:16px 0 0!important;padding:0!important;gap:24px!important; }
 body.library-layout .library-frame:not(.library-about-frame) { margin-bottom:32px; }
}

/* Sequence controls are siblings of the list, outside its grid gap. Keep a
   separate touch-friendly gap in both collapsed and expanded states. */
@media (max-width:600px) {
 body.library-layout .lp-sequence > .lp-earlier,
 body.library-layout .lp-sequence > .lp-later { margin-block-start:16px; }
}

/* Reserve the fixed phone navigation once, inside the painted footer.
   --mn-bar-height already includes the device's bottom safe-area inset. */
@media (max-width:767px) {
 html body.library-layout.has-mn-bar { padding-bottom:0; }
 html body.library-layout.has-mn-bar footer.lp-footer {
  padding-bottom:calc(27px + var(--mn-bar-height,calc(60px + env(safe-area-inset-bottom,0px))))!important;
 }
}
