/* Minimal overrides to integrate with theme classes (.babillard / .uqam_babillard-*) */

.babillard.widget .cpcw-carousel .uqam_babillard-wrapper.cpcw-cols-2 {
  grid-template-columns: 1fr 1fr;
}

.babillard.widget .cpcw-carousel .uqam_babillard-wrapper.cpcw-cols-3 {
  grid-template-columns: 1fr 1fr 1fr;
}

.babillard.widget .cpcw-parent-title.cpcw-title-no-link::before,
.babillard.widget .cpcw-parent-title.cpcw-title-no-link::after,
.babillard.widget .cpcw-parent-title.cpcw-title-no-link .cpcw-title-text::before,
.babillard.widget .cpcw-parent-title.cpcw-title-no-link .cpcw-title-text::after {
  content: none !important;
  display: none !important;
}

/* Force same visual height for all thumbnails in a slide. */
.babillard.widget .cpcw-carousel .uqam_babillard-image.cpcw-image-link {
  position: relative;
  display: block;
  overflow: hidden;
  margin-bottom: 0.625rem;
}

.babillard.widget .cpcw-carousel .uqam_babillard-image.cpcw-image-link::before {
  content: '';
  display: block;
  padding-top: 56.25%;
}

.babillard.widget .cpcw-carousel .uqam_babillard-image.cpcw-image-link > img {
  position: absolute;
  inset: 0;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  object-position: center;
}

@media (max-width: 767.98px) {
  .babillard.widget .cpcw-carousel .uqam_babillard-wrapper.cpcw-cols-2,
  .babillard.widget .cpcw-carousel .uqam_babillard-wrapper.cpcw-cols-3 {
    display: block;
  }
}

/* Keep arrows centered on image area (not on full slide content). */
.babillard.widget .cpcw-carousel .carousel-control-prev,
.babillard.widget .cpcw-carousel .carousel-control-next {
  top: 28%;
  bottom: auto;
  transform: translateY(-50%);
  width: 2.5rem;
  height: 2.5rem;
  opacity: 1;
}

.babillard.widget .cpcw-carousel .carousel-control-prev {
  left: 0.5rem;
}

.babillard.widget .cpcw-carousel .carousel-control-next {
  right: 0.5rem;
}

.babillard.widget .cpcw-carousel .carousel-control-prev-icon,
.babillard.widget .cpcw-carousel .carousel-control-next-icon {
  position: relative;
  width: 2.25rem;
  height: 2.25rem;
  background-color: rgba(255, 255, 255, 0.9);
  border: 1px solid rgba(0, 0, 0, 0.75);
  border-radius: 999px;
  background-image: none;
}

.babillard.widget .cpcw-carousel .carousel-control-prev-icon::after,
.babillard.widget .cpcw-carousel .carousel-control-next-icon::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0.55rem;
  height: 0.55rem;
  border-right: 2px solid rgba(20, 20, 20, 0.95);
  border-bottom: 2px solid rgba(20, 20, 20, 0.95);
}

.babillard.widget .cpcw-carousel .carousel-control-prev-icon::after {
  transform: translate(-35%, -50%) rotate(135deg);
}

.babillard.widget .cpcw-carousel .carousel-control-next-icon::after {
  transform: translate(-65%, -50%) rotate(-45deg);
}
