/* Public Moodle course catalogue only; leave the LMS theme unchanged. */
#cp-courses { font-family: Arial, sans-serif; text-align: left; }
#cp-courses .cp-courses-grid { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
#cp-courses .cp-course-card { min-width: 0; }
#cp-courses .cp-cc-level-badge { max-width: calc(100% - 24px); white-space: normal; overflow-wrap: break-word; }
#cp-courses .cp-cc-enroll-btn, #cp-courses .cp-cc-program-btn { min-height: 44px; }
#cp-courses [data-cilt-description], #cp-courses [data-cilt-audience] { font-size: 15px; line-height: 1.45; }
#cp-courses [data-cilt-audience] { font-size: 13px; }
#cp-courses [data-cilt-price] { font-size: 15px; font-weight: 700; }
#cp-courses [data-cilt-course="procurement"] .cp-cc-bullet span { white-space: nowrap; }
/* Shared tracks align each text role and each of the four topic rows.
   Subgrid sizes to real content, so long text is never clipped. */
@supports (grid-template-rows: subgrid) {
  #cp-courses .cp-courses-grid { gap: 0 20px !important; }
  #cp-courses .cp-course-card {
    display: grid !important;
    grid-template-rows: subgrid;
    grid-row: span 12;
    row-gap: 0;
    margin-bottom: 20px;
  }
  #cp-courses .cp-cc-body {
    display: grid !important;
    grid-template-rows: subgrid;
    grid-row: span 10;
    row-gap: 0;
  }
  #cp-courses .cp-cc-title { min-height: 0 !important; margin: 0 0 12px !important; }
  #cp-courses [data-cilt-description], #cp-courses [data-cilt-audience] { margin: 0 0 12px !important; }
  #cp-courses .cp-cc-bullets {
    display: grid !important;
    grid-template-rows: subgrid;
    grid-row: span 4;
    row-gap: 0;
    margin: 0 0 14px !important;
  }
  #cp-courses .cp-cc-bullet { align-items: flex-start; padding-bottom: 4px; }
  #cp-courses [data-cilt-price] { margin: 0 0 16px !important; }
  #cp-courses .cp-cc-footer {
    display: grid !important;
    grid-template-rows: subgrid;
    grid-row: span 2;
    row-gap: 0;
  }
  #cp-courses .cp-cc-enroll-btn { margin: 0 0 8px !important; }
  #cp-courses .cp-cc-program-btn { margin: 0 !important; }
}
@media (max-width: 1199px) {
  #cp-courses .cp-courses-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 767px) {
  #cp-courses .cp-courses-grid { grid-template-columns: minmax(0, 1fr) !important; }
}
