.gra-card {
  display: flex;
  width: 100%;
  min-width: 20rem;
  flex-direction: column;
  margin-bottom: $space;
  border: 1px solid $color-border;
  border-radius: $border-radius;
  @include moder($modes) {
    background-color: mode("colorCardBg");
    border-color: mode("transparentColor");
  }

  &.gra-card-horizontal {
    flex-direction: row;
  }

  &-title {
    border-bottom: 1px solid $color-border;
    font-weight: $font-bold;
    line-height: 1;
    padding-block: $content-padding-block;
    padding-inline: $content-padding-inline;
    @include moder($modes) {
      border-color: mode("colorBorder");
    }
  }

  &-media-wrapper {
    overflow: hidden;
    flex: 1;
    margin-top: -1px;
    margin-right: -1px;
    margin-left: -1px;
    border-top-left-radius: $border-radius;
    border-top-right-radius: $border-radius;

    * {
      display: block;
    }
  }

  &-media-bottom {
    .gra-card-media-wrapper {
      margin-top: 0;
      margin-bottom: -1px;
      border-bottom-left-radius: $border-radius;
      border-bottom-right-radius: $border-radius;
      border-top-left-radius: 0;
      border-top-right-radius: 0;
    }

    &.gra-card {
      flex-direction: column-reverse;
    }
  }

  &-media-left {
    .gra-card-media-wrapper {
      margin-right: 0;
      margin-bottom: -1px;
      border-bottom-left-radius: $border-radius;
      border-bottom-right-radius: 0;
      border-top-left-radius: $border-radius;
      border-top-right-radius: 0;
    }
  }

  &-media-right {
    .gra-card-media-wrapper {
      margin-bottom: -1px;
      margin-left: 0;
      border-bottom-right-radius: $border-radius;
      border-top-left-radius: 0;
      border-top-right-radius: $border-radius;
    }

    &.gra-card {
      flex-direction: row-reverse;
    }
  }

  &-content {
    flex: 1;
  }

  &-body {
    padding-block: $content-padding-block;
    padding-inline: $content-padding-inline;
  }

  p {
    margin-bottom: 0;
  }
}
