/* The Continuing Education course list ([ppcadi_cce_courses], ppcadi-courses.php), as in the approved design. */
.pp-cce {
  display: flex;
  flex-direction: column;
  gap: 28px;
  font-size: 18px;
  line-height: 1.55;
  color: #1F1F1F;
}
.pp-cce *, .pp-cce *::before, .pp-cce *::after { box-sizing: border-box; }
.pp-cce-filters { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.pp-cce-filters-label { font-size: 15px; color: #5E5654; padding-right: 6px; }
body .pp-cce .pp-cce-filter {
  font: inherit;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.55;
  padding: 10px 18px;
  border-radius: 999px;
  border: 2px solid #1F5F5A;
  background: #FFFFFF;
  color: #1F1F1F;
  cursor: pointer;
}
body .pp-cce .pp-cce-filter:hover { background: #EAF8F6; color: #1F1F1F; }
body .pp-cce .pp-cce-filter[aria-pressed="true"] { border-color: #B84A40; background: #B84A40; color: #FFFFFF; }
body .pp-cce .pp-cce-filter:focus-visible { outline: 3px solid #1F5F5A; outline-offset: 2px; }
.pp-cce-card { display: flex; flex-wrap: wrap; border: 1px solid #EADFDD; border-radius: 16px; overflow: hidden; background: #FFFFFF; }
.pp-cce-card[hidden] { display: none; }
.pp-cce-tile {
  flex: 1 1 280px;
  min-width: 0;
  padding: 28px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 32px;
  min-height: 220px;
}
.pp-cce-tile-coral { background: linear-gradient(140deg, #D4144F, #B84A40); color: #FFFFFF; }
.pp-cce-tile-aqua { background: #D7F3F1; color: #1F1F1F; }
.pp-cce-tile-blush { background: #FBE3E0; color: #1F1F1F; }
.pp-cce-credit { font-size: 14px; font-weight: 800; letter-spacing: 0.1em; }
.pp-cce-tile-aqua .pp-cce-credit { color: #1F5F5A; }
.pp-cce-tile-blush .pp-cce-credit { color: #8F3830; }
.pp-cce-name { font-size: 32px; font-weight: 700; line-height: 1.08; }
.pp-cce-body { flex: 2 1 480px; min-width: 0; padding: 28px; display: flex; flex-direction: column; gap: 16px; }
.pp-cce-teaser { margin: 0; }
.pp-cce-facts { display: flex; flex-wrap: wrap; gap: 8px 20px; font-size: 15px; color: #5E5654; }
.pp-cce-foot { display: flex; flex-wrap: wrap; gap: 16px; align-items: center; justify-content: space-between; padding-top: 4px; }
.pp-cce-price { font-size: 30px; font-weight: 700; }
.pp-cce-actions { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
body .pp-cce a.pp-cce-more { font-weight: 700; font-size: 16px; color: #B84A40; text-decoration: underline; }
body .pp-cce a.pp-cce-more:hover { color: #8F3830; }
body .pp-cce-empty a.pp-cce-register,
body .pp-cce a.pp-cce-register {
  display: inline-block;
  background: #B84A40;
  color: #FFFFFF;
  font-weight: 800;
  text-decoration: none;
  padding: 13px 26px;
  border-radius: 999px;
  font-size: 17px;
  line-height: 1.55;
}
body .pp-cce-empty a.pp-cce-register:hover,
body .pp-cce a.pp-cce-register:hover,
body .pp-cce a.pp-cce-register:focus-visible { background: #8F3830; color: #FFFFFF; }
.pp-cce-empty {
  background: #F7F1F0;
  border-radius: 16px;
  padding: 28px;
  display: flex;
  flex-wrap: wrap;
  gap: 12px 20px;
  align-items: center;
  font-size: 18px;
  color: #3D3735;
}
.pp-cce-empty strong { font-size: 22px; color: #1F1F1F; width: 100%; }
@media (max-width: 767px) {
  .pp-cce-tile { min-height: 0; gap: 20px; padding: 24px; }
  .pp-cce-name { font-size: 26px; }
  .pp-cce-body { padding: 24px; }
  .pp-cce-price { font-size: 26px; }
}
