.wp-component-card {
  --card-content-padding: var(--spacing-xs) var(--spacing-s) var(--spacing-m);
  --card-background: var(--colour-white);
  --heading-colour: var(--colour-1);
  display: flex;
  flex-direction: column;
  border-radius: var(--border-radius-default);
  overflow: hidden;
  box-shadow: var(--box-shadow-default);
  max-width: var(--card-max-width, 324px);
  color: var(--colour-text-dark);
}

.wp-component-card__image {
  overflow: hidden;
}

.wp-component-card__image img {
  transition: var(--transition-all);
  width: 100%;
}

.wp-component-card__content {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  flex: 1;
  padding: var(--card-content-padding);
  background: var(--card-background);
}

.wp-component-card__content::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(307deg, var(--colour-4) -24.94%, var(--colour-white) 59.3%);
  opacity: 0;
  transition: var(--transition-all);
}

.wp-component-card__step {
  position: absolute;
  left: 20px;
  top: 15px;
  font-size: 70px;
  font-weight: 700;
  line-height: 100%;
  color: var(--colour-2);
}

@media (min-width: 768px) {
  .wp-component-card__step {
    left: 35px;
    font-size: 90px;
  }
}
.wp-component-card__step-svg {
  position: absolute;
  bottom: 40px;
  right: 40px;
}

.wp-component-card__title, .wp-component-card__description, .wp-component-card__date, .wp-component-card__contact-info, .wp-component-card__button {
  position: relative;
  z-index: 1;
}

.wp-component-card__title {
  font-size: 22px;
  line-height: 150%;
  font-weight: 700;
  text-transform: capitalize;
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  gap: var(--spacing-xxxxs);
  margin-bottom: var(--spacing-xxxxs);
  color: var(--heading-colour);
}

.wp-component-card__title svg {
  opacity: 0;
  transition: var(--transition-all);
  flex: 0 0 20px;
}

.wp-component-card__title path {
  fill: var(--colour-1);
}

.wp-component-card__date {
  margin-top: auto;
}

.wp-component-card__contact-info {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-xxxs);
  margin-top: var(--spacing-xxxs);
}

.wp-component-card__button-wrapper {
  margin-top: auto;
}

.wp-component-card__button {
  margin-top: var(--spacing-xs);
}

.wp-component-card:has(.wp-component-card__contact-info) .wp-component-card__title svg {
  opacity: 1;
}

.wp-component-card:is(a):hover .wp-component-card__image img, .wp-component-card:has(.btn:hover) .wp-component-card__image img, .wp-component-card:has(.wp-component-card__title:is(a):hover) .wp-component-card__image img {
  scale: var(--scale-default);
}

.wp-component-card:is(a):hover .wp-component-card__content::after, .wp-component-card:has(.btn:hover) .wp-component-card__content::after, .wp-component-card:has(.wp-component-card__title:is(a):hover) .wp-component-card__content::after {
  opacity: 1;
}

.wp-component-card:is(a):hover .wp-component-card__title svg, .wp-component-card:has(.btn:hover) .wp-component-card__title svg, .wp-component-card:has(.wp-component-card__title:is(a):hover) .wp-component-card__title svg {
  opacity: 1;
}

.wp-component-card--inline {
  flex-direction: row;
}

.wp-component-card--inline .wp-component-card__content {
  justify-content: center;
}

.wp-component-card--inline .wp-component-card__description {
  margin: 0 !important;
}

.wp-component-card--inline .wp-component-card__image {
  flex: 0 0 150px;
}

.wp-component-card--inline .wp-component-card__image img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

@media (min-width: 768px) {
  .wp-component-card--large {
    --card-max-width: 448px;
  }
}
.wp-component-card--small-content {
  --card-content-padding: var(--spacing-xxxs) var(--spacing-xs);
}

.wp-component-card--small-content .wp-component-card__title {
  font-size: 22px;
  line-height: 150%;
  font-weight: 700;
  text-transform: capitalize;
}

@media (max-width: 1499.98px) {
  .wp-component-card--small-content .wp-component-card__description {
    font-size: 14px;
    line-height: 150%;
  }
}
.wp-component-card--step .wp-component-card__content {
  background: var(--background-light-gradient-bottom-right);
  padding-left: 80px;
}

@media (min-width: 768px) {
  .wp-component-card--step .wp-component-card__content {
    padding-left: 120px;
    padding-bottom: 75px;
  }
}
