/* Shared catalog geometry: complete titles and descriptions, uniform cards. */
#courseGrid,
#schoolCourseGrid .course-grid,
#courses .catalog-pathway > .grid {
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:24px!important;
  align-items:stretch;
}
html body .catalog-course-card {
  box-sizing:border-box!important;
  display:flex!important;
  flex-direction:column!important;
  gap:14px!important;
  min-width:0!important;
  min-height:var(--catalog-card-height,0px)!important;
  padding:20px!important;
  margin:0!important;
  border:1px solid var(--border,var(--learn-border,#46505d));
  border-radius:8px;
}
html body .catalog-course-card .catalog-cover {
  display:block!important;
  flex:none!important;
  width:min(100%,220px)!important;
  height:auto!important;
  aspect-ratio:2/3;
  margin:0 auto!important;
  padding:0!important;
  overflow:hidden;
  background:#111;
  border-radius:5px;
  text-decoration:none;
}
html body .catalog-course-card .catalog-cover-paper {background:#f3f0e5}
html body .catalog-course-card .catalog-cover img {
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  min-height:0!important;
  object-fit:contain!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
}
html body .catalog-course-card .catalog-card-title {
  flex:none!important;
  min-height:var(--catalog-title-height,0px)!important;
  margin:0!important;
  font-size:20px!important;
  line-height:1.3!important;
  overflow-wrap:anywhere;
}
html body .catalog-course-card .catalog-card-author {
  min-height:var(--catalog-author-height,0px)!important;
  margin:0!important;
  font-size:14px!important;
  line-height:1.5!important;
}
html body .catalog-course-card .catalog-card-description {
  min-height:var(--catalog-description-height,0px)!important;
  margin:0!important;
  font-size:14px!important;
  line-height:1.6!important;
}
html body .catalog-course-card .catalog-card-label {
  min-height:var(--catalog-label-height,0px)!important;
  margin:0!important;
  font-size:11px!important;
  line-height:1.4!important;
}
html body .catalog-course-card .catalog-card-label:empty {display:none}
html body.catalog-has-labels .catalog-course-card .catalog-card-label:empty {display:block}
html body .catalog-course-card .catalog-card-actions {
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  justify-content:flex-start;
  gap:10px!important;
  margin:0!important;
  padding:0!important;
  min-height:var(--catalog-actions-height,0px)!important;
}
html body .catalog-course-card .catalog-card-actions > * {margin:0!important}
html body .catalog-course-card .catalog-card-actions > a,
html body .catalog-course-card .catalog-card-actions > button {
  box-sizing:border-box;
  display:block;
  width:100%;
  white-space:normal;
  overflow-wrap:anywhere;
  text-align:center;
  line-height:1.4;
}
@media(max-width:1000px){
  #courseGrid,#schoolCourseGrid .course-grid,#courses .catalog-pathway > .grid {grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:640px){
  #courseGrid,#schoolCourseGrid .course-grid,#courses .catalog-pathway > .grid {grid-template-columns:minmax(0,1fr)!important}
}
