/* --- Container / Slick fixes --- */
.cpdps-theme .slick-list { margin: 0 -8px; }
.cpdps-theme .slick-slide { padding: 8px; box-sizing: border-box; height: auto; }
.cpdps-theme .slick-track { display: flex; align-items: stretch; }

/* --- Card --- */
.cpdps-card {
  display: flex;
  flex-direction: column;
  background: #fff;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 2px 10px rgba(0,0,0,.06);
  text-decoration: none;
  height: 100%;
}
.cpdps-card:hover { box-shadow: 0 4px 14px rgba(0,0,0,.10); text-decoration: none; }

/* --- Image area (consistent height via aspect-ratio) --- */
.cpdps-media {
  position: relative;
  width: 100%;
  aspect-ratio: 4 / 3;          /* <-- force same image height */
  background: #f3f6f9;
  overflow: hidden;
}
.cpdps-media img {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
}

/* --- Title bar (equalised via CSS var set in JS) --- */
.cpdps-title {
  background: #094b77;
  color: #fff;
  font-weight: 700;
  text-align: center;
  padding: 10px 12px;
  font-size: 20px;
  line-height: 1.25;
  display: flex;                /* center text vertically */
  align-items: center;
  justify-content: center;
  min-height: var(--cpdps-title-h, 64px); /* <-- set by JS to tallest */
  border-radius: 0 0 14px 14px;
}

/* --- Arrows --- */
.cpdps-theme .slick-prev:before,
.cpdps-theme .slick-next:before { font-size: 28px; color: #094b77; opacity: 1; }
.cpdps-theme .slick-prev { left: -35px; }
.cpdps-theme .slick-next { right: -30px; }
.cpdps-theme .slick-disabled.slick-prev:before,
.cpdps-theme .slick-disabled.slick-next:before { opacity: 0.3; }
.cpdps-theme .slick-prev:hover:before,
.cpdps-theme .slick-next:hover:before { opacity: 0.8; }


.gb-shape-232df352 {
  pointer-events: none;;
}