@import '_variables';
@import '_mixins';

.search-result {
  padding: 40px;

  .results-header {
    font-size: 16px;
    padding-bottom: 20px;
    margin-bottom: 30px;
    border-bottom: 1px solid #DADADA;

    .first-line {
      display: flex;
      flex-direction: row;

      .results-counter {
        flex-grow: 1;

        .search-value {
          font-weight: $font-semibold;
        }
      }

      .results-filter-button {
        cursor: pointer;

        .icon.icon-filter {
          @include icon(20px);

          position: relative;
          top: -1px;
          margin-right: 5px;
          background-image: url('../../assets/images/feather/filter.svg');
        }
      }
    }
  }

  .entry {
    display: flex;
    min-height: 130px;
    padding-bottom: 20px;
    margin-bottom: 20px;

    &.video-channel {
      img {
        $image-size: 130px;
        $margin-size: ($video-thumbnail-width - $image-size) / 2; // So we have the same width than the video miniature

        @include avatar($image-size);

        margin: 0 ($margin-size + 10) 0 $margin-size;
      }

      .video-channel-info {
        flex-grow: 1;
        width: fit-content;

        .video-channel-names {
          @include disable-default-a-behaviour;

          display: flex;
          align-items: baseline;
          color: pvar(--mainForegroundColor);
          width: fit-content;

          .video-channel-display-name {
            font-weight: $font-semibold;
            font-size: 18px;
          }

          .video-channel-name {
            font-size: 14px;
            color: $grey-actor-name;
            margin-left: 5px;
          }
        }
      }
    }
  }
}

@media screen and (min-width: $small-view) and (max-width: breakpoint(xl)) {
  .video-channel-info .video-channel-names {
    flex-direction: column !important;

    .video-channel-name {
      @include ellipsis; // Ellipsis and max-width on channel-name to not break screen

      max-width: 250px;
      margin-left: 0 !important;
    }
  }

  :host-context(.main-col:not(.expanded)) {
    // Override the min-width: 500px to not break screen
    ::ng-deep .video-miniature-information {
      min-width: 300px !important;
    }
  }
}

@media screen and (min-width: $small-view) and (max-width: breakpoint(lg)) {
  :host-context(.main-col:not(.expanded)) {
    .video-channel-info .video-channel-names {
      .video-channel-name {
        max-width: 160px;
      }
    }

    // Override the min-width: 500px to not break screen
    ::ng-deep .video-miniature-information {
      min-width: $video-thumbnail-width !important;
    }
  }

  :host-context(.expanded) {
    // Override the min-width: 500px to not break screen
    ::ng-deep .video-miniature-information {
      min-width: 300px !important;
    }
  }
}

@media screen and (max-width: $small-view) {
  .search-result {
    .entry.video-channel,
    .entry.video {
      flex-direction: column;
      height: auto;
      justify-content: center;
      align-items: center;
      text-align: center;

      img {
        margin: 0;
      }

      img {
        margin: 0;
      }

      .video-channel-info .video-channel-names {
        align-items: center;
        flex-direction: column !important;

        .video-channel-name {
          margin-left: 0 !important;
        }
      }

      my-subscribe-button {
        margin-top: 5px;
      }
    }
  }
}

@media screen and (max-width: $mobile-view) {
  .search-result {
    padding: 20px 10px;

    .results-header {
      font-size: 15px !important;
    }

    .entry {
      &.video {
        .video-info-name,
        .video-info-account {
          margin: auto;
        }

        my-video-thumbnail {
          margin-right: 0 !important;

          ::ng-deep .video-thumbnail {
            width: 100%;
            height: auto;

            img {
              width: 100%;
              height: auto;
            }
          }
        }
      }
    }
  }
}
