.cdm-project-grid .cdm-project-card__expanded {
  display: none;
  opacity: 0;
}

.cdm-project-grid .cdm-project-card__image--collapsed-mobile,
.cdm-project-grid .cdm-project-card__image--expanded-mobile {
  display: none;
}

.cdm-project-grid .cdm-project-card:not(.is-expanded) {
  cursor: pointer;
}

.cdm-project-grid .cdm-project-card.is-expanded .cdm-project-card__collapsed {
  display: none;
}

.cdm-project-grid .cdm-project-card.is-expanded .cdm-project-card__expanded {
  display: flex;
  min-height: var(--cdm-project-expanded-min-height, 0);
  opacity: 1;
  animation: cdm-project-card-reveal 240ms ease-out;
}

.cdm-project-grid .elementor-loop-container > .e-loop-item.is-expanded {
  grid-column: 1 / -1;
  height: auto;
  align-self: start;
}

.cdm-project-grid .elementor-loop-container > .e-loop-item.is-expanded > .elementor-element {
  height: auto;
  min-height: 0;
}

.cdm-project-grid .cdm-project-card__toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--cdm-project-toggle-icon-gap, 0.5em);
  cursor: pointer;
}

.cdm-project-grid .cdm-project-card__toggle-content {
  min-width: 0;
  flex: 1 1 auto;
}

.cdm-project-grid .cdm-project-card__toggle-icon {
  flex: 0 0 auto;
}

@keyframes cdm-project-card-reveal {
  from { opacity: 0; }
  to { opacity: 1; }
}

@media (max-width: 767px) {
  .cdm-project-grid .cdm-project-card__image--collapsed-desktop,
  .cdm-project-grid .cdm-project-card__image--expanded-desktop {
    display: none;
  }

  .cdm-project-grid .cdm-project-card__image--collapsed-mobile,
  .cdm-project-grid .cdm-project-card__image--expanded-mobile {
    display: block;
  }
}

@media (prefers-reduced-motion: reduce) {
  .cdm-project-grid .cdm-project-card.is-expanded .cdm-project-card__expanded {
    animation: none;
  }

  .cdm-project-grid .cdm-project-card__toggle {
    scroll-behavior: auto;
    transition: none;
  }
}
