.card-image-bottom-wrapper p {
  margin-bottom: 0;
}

/* Ensure columns in the row display as flex and match parent height */
.card-image-bottom-wrapper .row > div[class^="col-"] {
  display: flex;
}

.card-image-bottom-wrapper .card-image-bottom-item {
  display: flex;
  flex-direction: column;
  gap: 5px;
  height: 100%;
  width: 100%;
  padding: 5px;
  text-decoration: none;
}

.card-image-bottom-wrapper .card-image-bottom-item .card-img-bottom-title {
  color: var(--blue-color-santen);
  font-size: 26px;
  font-weight: 700;
  margin-bottom: 8px;
}

.card-image-bottom-wrapper .card-image-bottom-item .card-img-bottom-description {
  color: var(--deep-blue-color-santen);
  margin-bottom: 10px;
}

/* Image wrapper pushed to the bottom of the card */
.card-image-bottom-wrapper .card-image-bottom-item .card-img-bottom-img {
  margin-top: auto;
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  border-radius: 12px;
  cursor: pointer;
}

.card-image-bottom-wrapper .card-image-bottom-item .card-img-bottom-img a {
  display: block;
  width: 100%;
  height: 100%;
}

/* Enforce same width/height for image without resolution distortion */
.card-image-bottom-wrapper .card-image-bottom-item .card-img-bottom-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

/* Ensure intermediate Drupal wrappers also span full dimensions */
.card-image-bottom-wrapper .card-image-bottom-item .card-img-bottom-img .field,
.card-image-bottom-wrapper .card-image-bottom-item .card-img-bottom-img .field__items,
.card-image-bottom-wrapper .card-image-bottom-item .card-img-bottom-img .field__item {
  width: 100%;
  height: 100%;
}

/* SVG icon absolutely positioned over the image */
.card-image-bottom-wrapper .card-image-bottom-item .card-img-bottom-img svg {
  position: absolute;
  bottom: 15px;
  right: 15px;
  z-index: 2;
  transition: transform 0.3s ease;
  cursor: pointer;
}

.card-image-bottom-wrapper .card-image-bottom-item .card-img-bottom-img svg circle {
  fill: var(--blue-color-santen);
}

/* Hover effect on SVG icon */
.card-image-bottom-wrapper .card-image-bottom-item:hover .card-img-bottom-img svg {
  transform: scale(1.1);
}
@media screen and (max-width: 991px) {
  .card-image-bottom-wrapper .card-image-bottom-item {
    padding: 0;
  }
}
