/* AcademyCrew R27 QA11 · carousel geometry final closeout
   This file MUST load last. It removes the footer from the carousel stage's
   positioning context and gives every catalog card the same bounded geometry,
   so an off-screen card can never increase the scroll row height and push the
   visible pagination away from the cards. */
.qa09-public .qa12-carousel-stage{
  position:relative!important;
  display:block!important;
  box-sizing:border-box!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  margin:0!important;
  padding:0 10px!important;
  overflow:visible!important;
}
.qa09-public .qa09-carousel,
.qa09-public #courseCatalog{
  display:flex!important;
  align-items:flex-start!important;
  box-sizing:border-box!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  margin:0!important;
  padding:3px 0 6px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
}
/* Equal, compact card geometry. The image keeps a common aspect ratio and the
   text block has a fixed bounded height; title/description are clamped. */
.qa09-public #courseCatalog .qa08-course-card{
  display:flex!important;
  flex-direction:column!important;
  align-self:flex-start!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
}
.qa09-public #courseCatalog .qa08-card-media{
  flex:0 0 auto!important;
  aspect-ratio:16/8.8!important;
}
.qa09-public #courseCatalog .qa08-card-copy{
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr) auto!important;
  flex:0 0 178px!important;
  height:178px!important;
  min-height:178px!important;
  max-height:178px!important;
  padding:14px 16px 15px!important;
  overflow:hidden!important;
}
.qa09-public #courseCatalog .qa08-card-copy h3{
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:2!important;
  overflow:hidden!important;
  min-height:0!important;
  max-height:2.45em!important;
  margin:0 0 6px!important;
}
.qa09-public #courseCatalog .qa08-card-copy p{
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:3!important;
  overflow:hidden!important;
  min-height:0!important;
  max-height:4.35em!important;
  margin:0!important;
}
.qa09-public #courseCatalog .qa08-card-copy>button{
  align-self:end!important;
  margin:10px 0 0!important;
}
/* Footer is now a sibling of the stage, not a child. Force normal flow after
   every legacy absolute-position rule. */
.qa09-public .qa12-carousel-footer{
  position:static!important;
  inset:auto!important;
  left:auto!important;
  right:auto!important;
  top:auto!important;
  bottom:auto!important;
  transform:none!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:max-content!important;
  max-width:100%!important;
  height:18px!important;
  min-height:18px!important;
  max-height:18px!important;
  margin:5px auto 0!important;
  padding:0!important;
  gap:8px!important;
}
.qa09-public .qa12-carousel-footer .qa12-carousel-dots,
.qa09-public #courseCarouselDots{
  position:static!important;
  inset:auto!important;
  transform:none!important;
  display:flex!important;
  align-items:center!important;
  margin:0!important;
  padding:0!important;
  gap:6px!important;
}
.qa09-public #courseCarouselDots button{
  width:7px!important;
  height:7px!important;
}
.qa09-public #courseCarouselDots button.is-active{width:24px!important}
.qa09-public .qa12-carousel-count{font-size:.68rem!important;line-height:18px!important}
.qa09-public .qa09-catalog{
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  padding-bottom:24px!important;
}
@media(max-width:720px){
  .qa09-public .qa12-carousel-stage{padding-inline:3px!important}
  .qa09-public #courseCatalog .qa08-card-copy{
    flex-basis:184px!important;
    height:184px!important;
    min-height:184px!important;
    max-height:184px!important;
  }
  .qa09-public .qa12-carousel-footer{margin-top:5px!important}
  .qa09-public .qa09-catalog{padding-bottom:20px!important}
}
