.spr-card {
  position: relative;
  display: flex;
  overflow: hidden;
  flex-direction: row;
  transition: all 0.2s ease;
  background-color: var(--color-white);

  &.is-horizontal {
    @media (min-width: 768px) {
      flex-direction: row;
      border: 0;
      border-radius: calc(var(--card-border-radius) / 2);
    }
  }

  &:hover {
    cursor: pointer;
    background-color: var(--card-color-hover);
  }

  @media (min-width: 768px) {
    flex-direction: column;
    border: 0.0625rem solid var(--card-border-color);
    border-radius: var(--card-border-radius);
  }
}

.spr-card__media {
  position: relative;
  overflow: hidden;
  flex: none;
  width: 4.875rem;
  height: 4.875rem;
  border-radius: calc(var(--card-border-radius) / 2);

  .is-horizontal & {
    @media (min-width: 768px) {
      width: 13.1875rem;
      height: auto;
      border-radius: calc(var(--card-border-radius) / 2);
    }
  }

  @media (min-width: 768px) {
    width: 100%;
    height: auto;
    border-radius: 0;
  }
}

.spr-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  aspect-ratio: 1 / 1;

  .is-horizontal & {
    @media (min-width: 768px) {
      aspect-ratio: 211 / 130;
    }
  }

  @media (min-width: 768px) {
    aspect-ratio: 437 / 200;
  }
}

.spr-card__type {
  position: absolute;
  z-index: 1;
  bottom: 0.1875rem;
  left: 0.1875rem;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.875rem;
  height: 1.875rem;
  pointer-events: none;
  color: var(--color-white);
  border: 0.09375rem solid var(--color-white);
  border-radius: 50%;
  background-color: rgba(0, 0, 0, 0.3);

  .is-horizontal & {
    @media (min-width: 768px) {
      bottom: 0.1875rem;
      left: 0.1875rem;
      width: 1.875rem;
      height: 1.875rem;
    }
  }

  @media (min-width: 768px) {
    bottom: var(--space-small);
    left: var(--space-small);
    width: 4.375rem;
    height: 4.375rem;
  }
}

.spr-card--news .spr-card__type .spr-icon--24 {
  width: 0.6875rem;
  height: 0.625rem;

  .is-horizontal & {
    @media (min-width: 768px) {
      width: 0.6875rem;
      height: 0.625rem;
    }
  }

  @media (min-width: 768px) {
    width: 1.5rem;
    height: 1.5rem;
  }
}

.spr-card--photo .spr-card__type .spr-icon--24 {
  width: 0.9375rem;
  height: 0.6875rem;

  .is-horizontal & {
    @media (min-width: 768px) {
      width: 0.9375rem;
      height: 0.6875rem;
    }
  }

  @media (min-width: 768px) {
    width: 2.125rem;
    height: 1.5rem;
  }
}

.spr-card--video .spr-card__type .spr-icon--24 {
  width: 0.75rem;
  height: 0.75rem;
  transform: translateX(2px);

  .is-horizontal & {
    @media (min-width: 768px) {
      width: 0.75rem;
      height: 0.75rem;
      transform: translateX(2px);
    }
  }

  @media (min-width: 768px) {
    width: 2.125rem;
    height: 1.5rem;
  }
}

.spr-card--video .field--name-field-remote-video {
  img + img {
    display: none;
  }
}

.spr-card--silhouette .spr-card__type .spr-icon--24,
.spr-card--cup .spr-card__type .spr-icon--24,
.spr-card--chart .spr-card__type .spr-icon--24,
.spr-card--percent .spr-card__type .spr-icon--24 {
  width: 1rem;
  height: 1rem;

  @media (min-width: 768px) {
    width: 2.25rem;
    height: 2.25rem;
  }
}

.spr-card__content h3 {
  letter-spacing: 0;
  font-size: var(--font-size-xxs);
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height-text);

  @media (min-width: 768px) {
    font-size: var(--font-size-xs);
    line-height: var(--line-height-heading-5);
  }
}

.spr-card__content {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  width: 100%;
  height: 100%;
  padding-inline: var(--space-small);

  .is-horizontal & {
    @media (min-width: 768px) {
      padding-inline: 1rem var(--card-padding);
      padding-block: 0 1rem;
    }
  }

  @media (max-width: 767px) {
    padding-block-end: 1rem;
  }

  @media (min-width: 768px) {
    padding: var(--card-padding);
  }
}

.spr-card__actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-block: var(--space-x-small) 0;

  @media (min-width: 768px) {
    padding-block: var(--space-small) 0;
  }
}

.spr-card__actions time {
  font-size: 0.875rem;
  line-height: 1.5rem;

  .is-horizontal & {
    @media (min-width: 768px) {
      font-size: 0.875rem;
      line-height: 1.5rem;
    }
  }

  @media (min-width: 768px) {
    font-size: 1.25rem;
    line-height: 1.5rem;
  }
}

.spr-card__readmore {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3.125rem;
  height: 1.5rem;
  transition: all 0.2s ease;
  color: var(--color-black);
  border: 0.0625rem solid transparent;
  border-radius: 50%;

  .spr-card:hover & {
    border-color: var(--card-color-hover);

    @media (min-width: 768px) {
      border-color: var(--color-black);
    }
  }

  .is-horizontal & {
    .spr-card:hover & {
      border-color: var(--card-color-hover);
    }
    @media (min-width: 768px) {
      height: 1.5rem;
    }
  }

  @media (min-width: 768px) {
    width: 3.125rem;
    height: 3.125rem;
  }
}

.spr-card__readmore::after {
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  content: "";
  inset: 0;
}
