.theme-item-container {
  width: 100%;
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0.5em;

  & .theme-thumb-container {
    height: 100px;
    position: relative;
    overflow: hidden;
    border-radius: 6px;

    & .theme-selected {
      width: 100%;
      height: 100%;
      box-sizing: border-box;
      position: absolute;
      top: 0;
      left: 0;
      bottom: 0;
      right: 0;
      border-radius: 6px;
      border: 4px solid var(--primaryColor);
    }

    & .theme-thumb {
      position: absolute;
      top: 0;
      left: 0;
      bottom: 0;
      right: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
    }

    & .theme-options-mask {
      position: absolute;
      top: 0;
      left: 0;
      bottom: 0;
      right: 0;
      width: 100%;
      height: 100%;
      transition: all 300ms ease-in-out;
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      gap: 8px;
      opacity: 0;

      &[data-show="true"] {
        opacity: 1;
        background-color: rgba($color: #000, $alpha: 0.8);
      }

      & .theme-downloading {
        transform: scale(0.7);
      }

      & .theme-option-button {
        border-radius: 4px;
        border: 1px solid currentColor;
        font-size: 0.9rem;
        padding: 4px 10px;
        width: fit-content;
        opacity: 0.8;
        user-select: none;
        color: white;

        &:hover {
          opacity: 1;
        }
      }
    }
  }

  & .theme-name {
    font-size: 1rem;
    font-weight: 600;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    user-select: none;
    cursor: pointer;

    &:hover {
      color: var(--primaryColor);
    }
  }

  & .theme-author {
    font-size: 0.9rem;
    opacity: 0.7;
    user-select: none;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
}
